Files
swupd-client/test/functional/bundleremove/remove-json.bats
Castulo Martinez c796cd310c Also remove deps when bundle-remove --recursive
If the -R / --recursive flag is used, remove the specified bundles along
with their "deletable" dependencies.

In this context deletable means:
- the dependency is not os-core
- the dependency is not required by other installed bundle that is not
to be removed
- the dependency is not tracked (specifically installed by the user)

Signed-off-by: Castulo Martinez <castulo.martinez@intel.com>
2019-10-30 13:38:41 -06:00

44 lines
1.7 KiB
Bash
Executable File

#!/usr/bin/env bats
# Author: Castulo Martinez
# Email: castulo.martinez@intel.com
load "../testlib"
test_setup() {
create_test_environment "$TEST_NAME"
create_bundle -L -n test-bundle -f /file_1 "$TEST_NAME"
}
@test "REM020: Removing a bundle using machine readable output" {
# the --json-output flag can be used so all the output of the bundle-remove
# command is created as a JSON stream that can be read and parsed by other
# applications interested into knowing real time status of the command
run sudo sh -c "$SWUPD bundle-remove --json-output $SWUPD_OPTS_PROGRESS test-bundle"
assert_status_is 0
expected_output=$(cat <<-EOM
[
{ "type" : "start", "section" : "bundle-remove" },
{ "type" : "progress", "currentStep" : 1, "totalSteps" : 2, "stepCompletion" : -1, "stepDescription" : "load_manifests" },
{ "type" : "info", "msg" : " The following bundles are being removed:" },
{ "type" : "info", "msg" : " - test-bundle" },
{ "type" : "info", "msg" : " Deleting bundle files..." },
{ "type" : "progress", "currentStep" : 1, "totalSteps" : 2, "stepCompletion" : 100, "stepDescription" : "load_manifests" },
{ "type" : "progress", "currentStep" : 2, "totalSteps" : 2, "stepCompletion" : 0, "stepDescription" : "remove_files" },
{ "type" : "progress", "currentStep" : 2, "totalSteps" : 2, "stepCompletion" : 50, "stepDescription" : "remove_files" },
{ "type" : "progress", "currentStep" : 2, "totalSteps" : 2, "stepCompletion" : 100, "stepDescription" : "remove_files" },
{ "type" : "info", "msg" : "Total deleted files: 2" },
{ "type" : "info", "msg" : " Successfully removed 1 bundle" },
{ "type" : "end", "section" : "bundle-remove", "status" : 0 }
]
EOM
)
assert_is_output "$expected_output"
}