summaryrefslogtreecommitdiffstats
path: root/src/yum/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/yum/test')
-rw-r--r--src/yum/test/test_common.sh15
-rwxr-xr-xsrc/yum/test/yum_package.sh84
2 files changed, 76 insertions, 23 deletions
diff --git a/src/yum/test/test_common.sh b/src/yum/test/test_common.sh
index 25d931f..1e5cd98 100644
--- a/src/yum/test/test_common.sh
+++ b/src/yum/test/test_common.sh
@@ -6,8 +6,7 @@ if [ -z $CLASS_NAME ]; then
fi
-url="http://localhost:5988/root/cimv2"
-op="${url}:${cls}"
+url="http://localhost:5988"
fedora_release=`sed 's/Fedora release\s*\([0-9]\+\).*/\1/' \
/etc/fedora-release`
@@ -18,6 +17,18 @@ function make_nevra() {
printf "%s-%s:%s-%s.%s" $@
}
+function make_op() {
+ local class_name keys
+ read class_name keys <<< "$@"
+ [ -n "$keys" ] && keys=".$keys"
+ printf "root/cimv2:$class_name$keys"
+}
+
+computer_system_keys="CreationClassName=\"Linux_ComputerSystem\""
+computer_system_keys+=",Name=$(hostname)"
+computer_system_op=`make_op Linux_ComputerSystem "$computer_system_keys"`
+op=`make_op ${CLASS_NAME}`
+
function make_rpm_name() {
local name epoch ver rel arch;
if [ $# -ge 5 ]; then
diff --git a/src/yum/test/yum_package.sh b/src/yum/test/yum_package.sh
index c13cbe4..5d81955 100755
--- a/src/yum/test/yum_package.sh
+++ b/src/yum/test/yum_package.sh
@@ -4,6 +4,7 @@ dir=`dirname $0`
[ -z "$dir" ] && dir=.
CLASS_NAME="LMI_YumPackage"
+. $dir/test_common.sh
declare -A pkg1 pkg2
if [[ "$fedora_release" = 16 ]]; then
@@ -84,10 +85,22 @@ test_install() {
fi
local keys=`make_inst_keys ${nevra_arr[@]}`
- local url="$op.${keys}"
- echo "creating instance of $CLASS_NAME: $url"
- wbemerr ci "$url" "${keys},Release=\"$rel\""
-
+ local url="$url/$op.${keys}"
+
+ echo "trying to get instance"
+ if ! wbemerr gi "$url" |& \
+ grep -q '\<SoftwareElementState="\?1"\?'; then
+ echo "wrong SoftwareElementState"
+ exit 1
+ fi
+
+ echo "installing $CLASS_NAME: $url"
+ if ! wbemerr cm "$url" Install |& \
+ grep -q '\<Install:\s*1\s\+Installed'; then
+ echo "wrong return code"
+ exit 1
+ fi
+
if is_installed $name; then
echo "successful installation"
else
@@ -95,10 +108,19 @@ test_install() {
exit 1
fi
+ echo "checking get instance"
+ if ! wbemerr gi "$url" |& \
+ grep -q '\<SoftwareElementState="\?2"\?'; then
+ echo "wrong SoftwareElementState"
+ exit 1
+ fi
+
echo "testing installation of already installed package"
- wbemcli ci "${url}" "${keys},Release=\"rel\"" |& \
- grep -q CIM_ERR_ALREADY_EXISTS &&
- echo "success" || echo "failed"
+ if ! wbemcli cm "${url}" Install |& \
+ grep -q '\<Install:\s*0\s\+Installed'; then
+ echo "wrong return code"
+ exit 1
+ fi
}
test_update() {
@@ -126,9 +148,9 @@ test_update() {
fi
local keys=`make_inst_keys ${nevra_arr[@]}`
- local url="$op.${keys}"
- echo "intalling older package with $CLASS_NAME: $url"
- wbemerr ci "$url" "${keys},Release=\"$rel\""
+ local package_url="$url/$op.$keys"
+ echo "intalling older package with $CLASS_NAME: $package_url"
+ wbemerr cm "$package_url" Install
if is_installed $name; then
echo "successful installation"
@@ -137,9 +159,15 @@ test_update() {
exit 1
fi
- echo "updating with ${CLASS_NAME}.Update()"
- wbemerr cm "$url" "Update" | grep -q '\<Update:\s*1\s\+Installed' || \
+ echo "updating with LMI_YumInstalledPackage.Update()"
+
+ local installed_keys="Software=$op.$keys,System=$computer_system_op"
+ local installed_url="$url/`make_op LMI_YumInstalledPackage $installed_keys`"
+ if ! wbemerr cm "$installed_url" "Update" | \
+ grep -q '\<Update:\s*1\s\+Installed'; then
echo "wrong return code"
+ exit 1
+ fi
if is_installed_nevra $name $up_epoch $up_ver $up_rel $arch; then
echo "successful update"
@@ -149,13 +177,17 @@ test_update() {
fi
keys=`make_inst_keys $name $up_epoch $up_ver $up_rel $arch`
- url2="${op}.${keys}"
- echo "trying to update once more to: $url2"
- wbemerr cm "$url2" "Update" | grep -q '\<Update:\s*0\s\+Installed' || \
+ installed_keys="Software=$op.$keys,System=$computer_system_op"
+ local installed_url2="$url/`make_op LMI_YumInstalledPackage $installed_keys`"
+ echo "trying to update once more to: $installed_url2"
+ if ! wbemerr cm "$installed_url2" "Update" | \
+ grep -q '\<Update:\s*0\s\+Installed'; then
echo "wrong return code"
+ exit 1
+ fi
echo "removing updated package"
- wbemerr di "$url2"
+ wbemerr di "$installed_url2"
if is_installed $name; then
echo "failed to remove ${name}"
exit 1
@@ -167,11 +199,12 @@ test_update() {
install_pkg "$@" || exit 1
echo "trying to update to not existing version-release"
- wbemerr cm "$url" "Update.Version=\"not-existing-version\"" |&
+ wbemerr cm "$installed_url" "Update.Version=\"not-existing-version\"" |&
grep -q CIM_ERR_NOT_FOUND && echo "ok" || echo "failed"
echo "trying to update to the same version-release"
- wbemerr cm "$url" "Update.Version=\"${ver}\",Release=\"${rel}\"" | \
+ wbemerr cm "$installed_url" \
+ "Update.Version=\"${ver}\",Release=\"${rel}\"" | \
grep -q '\<Update:\s*0\s\+Installed' || \
echo "wrong return code"
@@ -183,7 +216,8 @@ test_update() {
fi
echo "trying to update to the specific version"
- wbemerr cm "$url" "Update.Version=\"${up_ver}\",Release=\"${up_rel}\"" |
+ wbemerr cm "$installed_url" \
+ "Update.Version=\"${up_ver}\",Release=\"${up_rel}\"" |
grep -q '\<Update:\s*1\s\+Installed' || \
echo "wrong return code"
@@ -210,13 +244,21 @@ test_remove() {
fi
local keys=`make_inst_keys ${nevra_arr[@]}`
- local url="$op.${keys}"
- wbemerr di "$url"
+ local installed_keys="Software=$op.$keys,System=$computer_system_op"
+ local installed_url="$url/`make_op LMI_YumInstalledPackage $installed_keys`"
+ wbemerr di "$installed_url"
if is_installed $name; then
echo "failed to remove ${name}"
+ exit 1
else
echo "success"
fi
+ local url="$url/$op.$keys"
+ if ! wbemerr gi "$url" |& \
+ grep -q '\<SoftwareElementState="\?1"\?'; then
+ echo "wrong SoftwareElementState"
+ exit 1
+ fi
}