From 66c0784c6348830aac04ab2ea7be919ae7ed1e43 Mon Sep 17 00:00:00 2001 From: Cai Hui Date: Mon, 12 Nov 2018 02:39:04 -0500 Subject: [PATCH] Add integration test cases for freezerclient.action Add freezer action-create/freezer action-show/freezer action-delete integration test cases. Change-Id: I7533432b95b4aa8300f8e1f7f15013d5651b5f8f --- .../tests/freezerclient/base.py | 2 +- .../freezerclient/test_freezer_cmd_action.py | 52 ++++++++++++++++++- 2 files changed, 52 insertions(+), 2 deletions(-) diff --git a/freezer_tempest_plugin/tests/freezerclient/base.py b/freezer_tempest_plugin/tests/freezerclient/base.py index 8dc96d7..5cacfbb 100644 --- a/freezer_tempest_plugin/tests/freezerclient/base.py +++ b/freezer_tempest_plugin/tests/freezerclient/base.py @@ -75,7 +75,7 @@ class BaseFreezerTest(test.BaseTestCase): self.assertEqual(0, proc.returncode, fail_message + " Output: {0}. " "Error: {1}".format(out, err)) - # self.assertEqual('', err, # fail_message + " Output: {0}. " # "Error: {1}".format(out, err)) + return out, err diff --git a/freezer_tempest_plugin/tests/freezerclient/test_freezer_cmd_action.py b/freezer_tempest_plugin/tests/freezerclient/test_freezer_cmd_action.py index 2404921..9262fd7 100644 --- a/freezer_tempest_plugin/tests/freezerclient/test_freezer_cmd_action.py +++ b/freezer_tempest_plugin/tests/freezerclient/test_freezer_cmd_action.py @@ -11,9 +11,11 @@ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. -from freezer_tempest_plugin.tests.freezerclient import base +import os from tempest.lib import decorators +from freezer_tempest_plugin.tests.freezerclient import base + class TestFreezerCmdAction(base.BaseFreezerTest): def __init__(self, *args, **kwargs): @@ -21,13 +23,61 @@ class TestFreezerCmdAction(base.BaseFreezerTest): def setUp(self): super(TestFreezerCmdAction, self).setUp() + test_action_id = '{\ + "freezer_action":\ + {\ + "action": "backup",\ + "mode": "fs",\ + "src_file": "/tmp/source",\ + "backup_name": "my-first-backup",\ + "container": "/tmp/backup/",\ + "storage": "local"\ + },\ + "max_retries": 3,\ + "max_retries_interval": 60\ + }' self.environ = super(TestFreezerCmdAction, self).get_environ() + self.filename = '/tmp/test_action.json' + if os.path.exists(self.filename): + os.remove(self.filename) + os.mknod(self.filename) + fp = open(self.filename, 'w') + fp.write(test_action_id) def tearDown(self): super(TestFreezerCmdAction, self).tearDown() + @decorators.attr(type="gate") + def test_freezer_cmd_actioncreate(self): + args = ['freezer', 'action-create', '--file', + self.filename] + + self.run_subprocess(args, "Create a new action") + @decorators.attr(type="gate") def test_freezer_cmd_actionlist(self): args = ['freezer', 'action-list'] self.run_subprocess(args, "List all actions") + + @decorators.attr(type="gate") + def test_freezer_cmd_actionshow(self): + args = ['freezer', 'action-create', '--file', + self.filename] + out, err = self.run_subprocess(args, "Create a new action") + action_id = err.split(' ')[1] + + args = ['freezer', 'action-show', action_id] + + self.run_subprocess(args, "show a action") + + @decorators.attr(type="gate") + def test_freezer_cmd_actiondelete(self): + args = ['freezer', 'action-create', '--file', + self.filename] + out, err = self.run_subprocess(args, "Create a new action") + action_id = err.split(' ')[1] + + args = ['freezer', 'action-delete', action_id] + + self.run_subprocess(args, "delete a action")