From bb4c8903e1a72a925f594207bc454d7b8a33f17e Mon Sep 17 00:00:00 2001 From: thuva4 Date: Fri, 23 Mar 2018 12:20:37 +0530 Subject: CRUD operations for scenario versions in testapiclient Test are added Change-Id: I8be5c04f4b6baed47dbf6d229c32eff5a47a8558 Signed-off-by: thuva4 --- .../testapi-client/testapiclient/cli/scenarios.py | 107 +++++++++++++++++++++ 1 file changed, 107 insertions(+) (limited to 'testapi/testapi-client/testapiclient/cli') diff --git a/testapi/testapi-client/testapiclient/cli/scenarios.py b/testapi/testapi-client/testapiclient/cli/scenarios.py index 3f70772..cb8f1f3 100644 --- a/testapi/testapi-client/testapiclient/cli/scenarios.py +++ b/testapi/testapi-client/testapiclient/cli/scenarios.py @@ -194,3 +194,110 @@ class InstallerPut(command.Command): resources_url( parsed_args.scenario_name, 'installers'), parsed_args.installer) + + +class VersionCreate(command.Command): + + def get_parser(self, prog_name): + parser = super(VersionCreate, self).get_parser(prog_name) + parser.add_argument('--scenario-name', + required=True, + help='Create version under scenario name') + parser.add_argument('--installer', + required=True, + help='Create version under scenario name') + parser.add_argument('version', + type=json.loads, + help='version create request format :\n' + '\'[{"owner":(string),' + '"version": (string),' + '"projects": (array[ScenarioProject])' + '}]\',\n') + return parser + + def take_action(self, parsed_args): + return self.app.client_manager.post( + urlparse.query_by( + resources_url(parsed_args.scenario_name, 'versions'), + 'installer', + parsed_args), parsed_args.version) + + +class VersionDelete(command.Command): + + def get_parser(self, prog_name): + parser = super(VersionDelete, self).get_parser(prog_name) + parser.add_argument('--scenario-name', + required=True, + type=str, + help='Delete version by scenario name') + parser.add_argument('--installer', + required=True, + help='Create version under scenario name') + parser.add_argument('name', + nargs='+', + help='Delete version by name') + return parser + + def take_action(self, parsed_args): + return self.app.client_manager.delete( + urlparse.query_by( + resources_url(parsed_args.scenario_name, 'versions'), + 'installer', + parsed_args), parsed_args.name) + + +class VersionPut(command.Command): + + def get_parser(self, prog_name): + parser = super(VersionPut, self).get_parser(prog_name) + parser.add_argument('--scenario-name', + type=str, + required=True, + help='Update installer by scenario name') + parser.add_argument('--installer', + required=True, + help='Update version under installer name') + parser.add_argument('version', + type=json.loads, + help='version update request format :\n' + '\'[{"owner":(string),' + '"version": (string),' + '"projects": (array[ScenarioProject])' + '}]\',\n') + return parser + + def take_action(self, parsed_args): + return self.app.client_manager.put( + urlparse.query_by( + resources_url(parsed_args.scenario_name, 'versions'), + 'installer', + parsed_args), parsed_args.version) + + +class VersionOwnerPut(command.Command): + + def get_parser(self, prog_name): + parser = super(VersionOwnerPut, self).get_parser(prog_name) + parser.add_argument('--scenario-name', + type=str, + required=True, + help='Update version by scenario name') + parser.add_argument('--installer', + required=True, + help='Update version under scenario name') + parser.add_argument('--version', + required=True, + help='Update version under scenario name') + parser.add_argument('owner', + type=json.loads, + help='Intaller create request format :\n' + '\'{"owner": ""}\',\n') + return parser + + def take_action(self, parsed_args): + return self.app.client_manager.put( + urlparse.query_by( + resources_url(parsed_args.scenario_name, 'owner'), + ['installer', 'version'], + parsed_args), parsed_args.owner) -- cgit 1.2.3-korg