From cf80daf3db4095b70662950b67fea657cd042607 Mon Sep 17 00:00:00 2001 From: blag Date: Thu, 19 Sep 2019 01:33:18 -0700 Subject: [PATCH 1/3] Add tests for packs dependencies --- cli/test_pack_install_dependencies.bats | 153 ++++++++++++++++++++++++ 1 file changed, 153 insertions(+) create mode 100644 cli/test_pack_install_dependencies.bats diff --git a/cli/test_pack_install_dependencies.bats b/cli/test_pack_install_dependencies.bats new file mode 100644 index 0000000..bede81b --- /dev/null +++ b/cli/test_pack_install_dependencies.bats @@ -0,0 +1,153 @@ +load '../test_helpers/bats-support/load' +load '../test_helpers/bats-assert/load' + +@test "Fail to install ms pack due to outdated excel pack" { + run st2 pack remove excel powerpoint microsoft_test mssql microsoft_parent_test microsoft_broken_test + + run eval "st2 pack list | grep -q microsoft" + assert_failure + + run eval "st2 pack list | grep -q mssql" + assert_failure + + run eval "st2 pack list | grep -q excel" + assert_failure + + run eval "st2 pack list | grep -q powerpoint" + assert_failure + + run st2 pack install excel=0.2.0 + [[ "$?" -eq 0 ]] + + run eval "st2 pack get excel --json | jq -r .version" + assert_success + + assert_output "0.2.0" + + run st2 pack install https://github.com/StackStorm/stackstorm-ms.git + assert_failure + + run eval "st2 pack get excel --json | jq -r .version" + assert_success + + assert_output "0.2.0" +} + +@test "Fail to install ms pack due to more recent powerpoint pack" { + run st2 pack remove microsoft_test mssql microsoft_parent_test microsoft_broken_test + assert_success + + run st2 pack install excel + [[ "$?" -eq 0 ]] + + run eval "st2 pack get excel --json | jq -r .version" + assert_success + + refute_output "0.2.0" + + run st2 pack install powerpoint=0.2.2 + assert_success + + run eval "st2 pack get powerpoint --json | jq -r .version" + assert_success + + assert_output "0.2.2" + + run st2 pack install https://github.com/StackStorm/stackstorm-ms.git + assert_failure + + run eval "st2 pack get excel --json | jq -r .version" + assert_success + + refute_output "0.2.0" + + run eval "st2 pack get powerpoint --json | jq -r .version" + assert_success + + assert_output "0.2.2" +} + +@test "Successfully install the ms pack (excel and powerpoint packs)" { + run st2 pack remove excel powerpoint microsoft_test mssql microsoft_parent_test microsoft_broken_test + assert_success + + run eval "st2 pack list | grep -q microsoft" + assert_failure + + run eval "st2 pack list | grep -q mssql" + assert_failure + + run eval "st2 pack list | grep -q excel" + assert_failure + + run eval "st2 pack list | grep -q powerpoint" + assert_failure + + run st2 pack install https://github.com/StackStorm/stackstorm-ms.git + assert_success + + run eval "st2 pack get excel --json | jq -r .version" + assert_success + + assert_output "0.2.4" + + run eval "st2 pack get powerpoint --json | jq -r .version" + assert_success + + assert_output "0.2.0" +} + +@test "Successfully install the parent ms pack" { + run st2 pack remove excel powerpoint microsoft_test mssql microsoft_parent_test microsoft_broken_test + assert_success + + run st2 pack install https://github.com/StackStorm/stackstorm-ms-parent.git + assert_success + + run eval "st2 pack get excel --json | jq -r .version" + assert_success + + assert_output "0.2.4" + + run eval "st2 pack get powerpoint --json | jq -r .version" + assert_success + + assert_output "0.2.0" + + run eval "st2 pack get mssql --json | jq -r .version" + assert_success + + assert_output "0.2.1" +} + +@test "Fail to install the broken ms pack" { + run st2 pack remove excel powerpoint microsoft_test mssql microsoft_parent_test microsoft_broken_test + assert_success + + run eval "st2 pack list | grep -q microsoft" + assert_failure + + run eval "st2 pack list | grep -q mssql" + assert_failure + + run eval "st2 pack list | grep -q excel" + assert_failure + + run eval "st2 pack list | grep -q powerpoint" + assert_failure + + run st2 pack install https://github.com/StackStorm/stackstorm-ms-broken.git + assert_failure + + run eval "st2 pack list | grep -q microsoft" + assert_failure + + run eval "st2 pack list | grep -q mssql" + assert_failure + + run eval "st2 pack list | grep -q excel" + assert_failure + + run eval "st2 pack list | grep -q powerpoint" + assert_failure +} From 2628efceece1ef3769c708ff99720ae1326eeff3 Mon Sep 17 00:00:00 2001 From: blag Date: Fri, 20 Sep 2019 14:17:48 -0700 Subject: [PATCH 2/3] Add test for pack install (with depedencies) idempotence --- cli/test_pack_install_dependencies.bats | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/cli/test_pack_install_dependencies.bats b/cli/test_pack_install_dependencies.bats index bede81b..3147d02 100644 --- a/cli/test_pack_install_dependencies.bats +++ b/cli/test_pack_install_dependencies.bats @@ -97,6 +97,21 @@ load '../test_helpers/bats-assert/load' assert_output "0.2.0" } +@test "Successfully install the ms pack a second time" { + run st2 pack install https://github.com/StackStorm/stackstorm-ms.git + assert_success + + run eval "st2 pack get excel --json | jq -r .version" + assert_success + + assert_output "0.2.4" + + run eval "st2 pack get powerpoint --json | jq -r .version" + assert_success + + assert_output "0.2.0" +} + @test "Successfully install the parent ms pack" { run st2 pack remove excel powerpoint microsoft_test mssql microsoft_parent_test microsoft_broken_test assert_success From 70f0efba145431f0eece59dda3e165828b1d0d0f Mon Sep 17 00:00:00 2001 From: blag Date: Fri, 20 Sep 2019 16:48:01 -0700 Subject: [PATCH 3/3] Add tests for st2 pack install --skip-dependencies --- cli/test_pack_install_dependencies.bats | 31 +++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/cli/test_pack_install_dependencies.bats b/cli/test_pack_install_dependencies.bats index 3147d02..79cb97c 100644 --- a/cli/test_pack_install_dependencies.bats +++ b/cli/test_pack_install_dependencies.bats @@ -67,6 +67,37 @@ load '../test_helpers/bats-assert/load' assert_output "0.2.2" } +@test "Successfully install the ms pack by skipping dependencies" { + run st2 pack install excel=0.2.4 + assert_success + + run eval "st2 pack get excel --json | jq -r .version" + assert_success + + assert_output "0.2.4" + + run st2 pack install powerpoint=0.2.2 + assert_success + + run eval "st2 pack get powerpoint --json | jq -r .version" + assert_success + + assert_output "0.2.2" + + run st2 pack install --skip-dependencies https://github.com/StackStorm/stackstorm-ms.git + assert_success + + run eval "st2 pack get excel --json | jq -r .version" + assert_success + + assert_output "0.2.4" + + run eval "st2 pack get powerpoint --json | jq -r .version" + assert_success + + assert_output "0.2.2" +} + @test "Successfully install the ms pack (excel and powerpoint packs)" { run st2 pack remove excel powerpoint microsoft_test mssql microsoft_parent_test microsoft_broken_test assert_success