From de4afff43dfbfb9c05a7b67f29288a6f46485cac Mon Sep 17 00:00:00 2001 From: thuva4 Date: Fri, 23 Mar 2018 12:35:50 +0530 Subject: Add customs CRUD in testapiclient implement interface to do CRUD operations for customs in testapiclient Tests are added Change-Id: I8a18323c2e679ab022702a607a53ad01ee60a6af Signed-off-by: thuva4 --- .../tests/unit/test_scenario_custom.py | 88 ++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 testapi/testapi-client/testapiclient/tests/unit/test_scenario_custom.py (limited to 'testapi/testapi-client/testapiclient/tests/unit') diff --git a/testapi/testapi-client/testapiclient/tests/unit/test_scenario_custom.py b/testapi/testapi-client/testapiclient/tests/unit/test_scenario_custom.py new file mode 100644 index 0000000..e3f89c0 --- /dev/null +++ b/testapi/testapi-client/testapiclient/tests/unit/test_scenario_custom.py @@ -0,0 +1,88 @@ + + +from mock import mock +from six.moves.urllib import parse + +from testapiclient.cli import scenarios +from testapiclient.tests.unit import fakes +from testapiclient.tests.unit import utils + + +class CustomTest(utils.TestCommand): + def setUp(self): + super(CustomTest, self).setUp() + self.base_url = parse.urljoin(self.api_url, 'scenarios/{}/customs') + self.scenario_name = 's1' + self.custom_input = 'custom' + self.custom_parsed = ['custom'] + + +class CustomCreateTest(CustomTest): + + def setUp(self): + super(CustomCreateTest, self).setUp() + + def test_create_success(self): + self.post_mock.return_value = fakes.FakeResponse(data=None) + custom_create = scenarios.CustomCreate(self.app, mock.Mock()) + args = [ + '--scenario-name', 's1', '--installer', 'i1', '--version', + 'v1', '--project', 'p1', self.custom_input] + verifies = [ + ('scenario_name', 's1'), + ('installer', 'i1'), + ('version', 'v1'), + ('project', 'p1'), + ('custom', self.custom_parsed)] + parsed_args = self.check_parser(custom_create, args, verifies) + custom_create.take_action(parsed_args) + self.post_mock.assert_called_once() + + +class CustomDeleteTest(CustomTest): + + def setUp(self): + super(CustomDeleteTest, self).setUp() + + def test_delete_success(self): + self.delete_mock.return_value = fakes.FakeResponse(data=None) + custom_delete = scenarios.CustomDelete(self.app, mock.Mock()) + args = [ + '--scenario-name', 's1', '--installer', 'i1', + '--version', 'v1', '--project', 'p1', 'def'] + verifies = [ + ('scenario_name', 's1'), + ('installer', 'i1'), + ('version', 'v1'), + ('project', 'p1'), + ('name', ['def'])] + parsed_args = self.check_parser(custom_delete, args, verifies) + custom_delete.take_action(parsed_args) + kall = self.delete_mock.call_args + args, kwargs = kall + self.assert_url( + args[0], + self.base_url + '?version=v1&project=p1&installer=i1') + + +class CustomPutTest(CustomTest): + + def setUp(self): + super(CustomPutTest, self).setUp() + + def test_put_success(self): + self.put_mock.return_value = fakes.FakeResponse( + data=None) + custom_put = scenarios.CustomPut(self.app, mock.Mock()) + args = [ + '--scenario-name', 's1', '--installer', 'i1', '--version', 'v1', + '--project', 'p1', self.custom_input] + verifies = [ + ('scenario_name', 's1'), + ('installer', 'i1'), + ('version', 'v1'), + ('project', 'p1'), + ('custom', self.custom_parsed)] + parsed_args = self.check_parser(custom_put, args, verifies) + custom_put.take_action(parsed_args) + self.put_mock.assert_called_once() -- cgit 1.2.3-korg