From 5fae2a281a9d436deb386446b651ecb6f15be4c4 Mon Sep 17 00:00:00 2001 From: thuva4 Date: Sat, 5 May 2018 15:28:24 +0530 Subject: Add scenario and scenario related models to testapi client Change-Id: I9d1f7f19b030b8a7a762abed33e7b4f0efa0854f Signed-off-by: thuva4 --- .../testapi-client/testapiclient/cli/scenarios.py | 147 +++++++++++++-------- .../testapiclient/models/scenario.py | 37 ++++++ 2 files changed, 131 insertions(+), 53 deletions(-) create mode 100644 testapi/testapi-client/testapiclient/models/scenario.py diff --git a/testapi/testapi-client/testapiclient/cli/scenarios.py b/testapi/testapi-client/testapiclient/cli/scenarios.py index 507705a..197ee0c 100644 --- a/testapi/testapi-client/testapiclient/cli/scenarios.py +++ b/testapi/testapi-client/testapiclient/cli/scenarios.py @@ -2,6 +2,7 @@ import json from testapiclient.utils import command from testapiclient.utils import urlparse +from testapiclient.models import scenario def scenarios_url(): @@ -64,22 +65,37 @@ class ScenarioCreate(command.ShowOne): parser.add_argument('scenario', type=json.loads, help='Scenario create request format :\n' - '\'{ "installers": [], "name": ""}\',\n' - 'Intaller create request format :\n' - '\'{"installer": "","versions": []}\',\n' - 'Version create request format :\n' - '\'{"owner": "","version": "",' - '"projects": []}\',\n' - 'Project create request format :\n' - '\'{"project": "","customs": [],' - '"scores": [],' - '"trust_indicators": []}\',\n' - 'Custom create request format :\n' + '\'{}\''.format(json.dumps( + scenario.ScenarioCreateRequest( + ).__dict__ + )) + + '\n Intaller create request format :\n' + '\'{}\''.format(json.dumps( + scenario.ScenarioInstallerCreateRequest( + ).__dict__ + )) + + '\n Version create request format :\n' + '\'{}\''.format(json.dumps( + scenario.ScenarioVersionCreateRequest( + ).__dict__ + )) + + '\n Project create request format :\n' + '\'{}\''.format(json.dumps( + scenario.ScenarioProjectCreateRequest( + ).__dict__ + )) + + '\n Custom create request format :\n' '\'["asf","saf"]\',\n' - 'Score create request format :\n' - '\'{"date": "", "score": ""}\',\n' - 'Trust Indicators create request format :\n' - '\'{"date": "", "status": ""}\'') + '\n Score create request format :\n' + '\'{}\''.format(json.dumps( + scenario.ScenarioScoreCreateRequest( + ).__dict__ + )) + + '\nTrustIndicator create request format:\n' + '\'{}\''.format(json.dumps( + scenario.ScenarioTICreateRequest( + ).__dict__ + ))) return parser def take_action(self, parsed_args): @@ -110,23 +126,38 @@ class ScenarioPut(command.ShowOne): help='Update scenario by name') parser.add_argument('scenario', type=json.loads, - help='Scenario create request format :\n' - '\'{ "installers": [], "name": ""}\',\n' - 'Intaller create request format :\n' - '\'{"installer": "","versions": []}\',\n' - 'Version create request format :\n' - '\'{"owner": "","version": "",' - '"projects": []}\',\n' - 'Project create request format :\n' - '\'{"project": "","customs": [],' - '"scores": [],' - '"trust_indicators": []}\',\n' - 'Custom create request format :\n' + help='Scenario create request format :\n' + + '\'{}\''.format(json.dumps( + scenario.ScenarioCreateRequest( + ).__dict__ + )) + + '\n Intaller create request format :\n' + '\'{}\''.format(json.dumps( + scenario.ScenarioInstallerCreateRequest( + ).__dict__ + )) + + '\n Version create request format :\n' + '\'{}\''.format(json.dumps( + scenario.ScenarioVersionCreateRequest( + ).__dict__ + )) + + '\n Project create request format :\n' + '\'{}\''.format(json.dumps( + scenario.ScenarioProjectCreateRequest( + ).__dict__ + )) + + '\n Custom create request format :\n' '\'["asf","saf"]\',\n' - 'Score create request format :\n' - '\'{"date": "", "score": ""}\',\n' - 'Trust Indicators create request format :\n' - '\'{"date": "", "status": ""}\'') + '\n Score create request format :\n' + '\'{}\''.format(json.dumps( + scenario.ScenarioScoreCreateRequest( + ).__dict__ + )) + + '\nTrustIndicator create request format:\n' + '\'{}\''.format(json.dumps( + scenario.ScenarioTICreateRequest( + ).__dict__ + ))) return parser def take_action(self, parsed_args): @@ -145,7 +176,10 @@ class InstallerCreate(command.Command): parser.add_argument('installer', type=json.loads, help='Intaller create request format :\n' - '\'[{"installer": "","versions": []}]\',\n') + '\'{}\''.format(json.dumps( + scenario.ScenarioInstallerCreateRequest( + ).__dict__ + ))) return parser def take_action(self, parsed_args): @@ -186,7 +220,10 @@ class InstallerPut(command.Command): parser.add_argument('installer', type=json.loads, help='Intaller create request format :\n' - '\'[{"installer": "","versions": []}]\',\n') + '\'{}\''.format(json.dumps( + scenario.ScenarioInstallerCreateRequest( + ).__dict__ + ))) return parser def take_action(self, parsed_args): @@ -209,10 +246,10 @@ class VersionCreate(command.Command): parser.add_argument('version', type=json.loads, help='version create request format :\n' - '\'[{"owner":(string),' - '"version": (string),' - '"projects": (array[ScenarioProject])' - '}]\',\n') + '\'{}\''.format(json.dumps( + scenario.ScenarioVersionCreateRequest( + ).__dict__ + ))) return parser def take_action(self, parsed_args): @@ -261,10 +298,10 @@ class VersionPut(command.Command): parser.add_argument('version', type=json.loads, help='version update request format :\n' - '\'[{"owner":(string),' - '"version": (string),' - '"projects": (array[ScenarioProject])' - '}]\',\n') + '\'{}\''.format(json.dumps( + scenario.ScenarioVersionCreateRequest( + ).__dict__ + ))) return parser def take_action(self, parsed_args): @@ -320,10 +357,10 @@ class ProjectCreate(command.Command): parser.add_argument('project', type=json.loads, help='Project create request format :\n' - '\'[{ "project" (string),' - '"scores": (array[ScenarioScore]),' - '"trust_indicators": (array[ScenarioTI]),' - '"customs": (array[string]) }]\',\n') + '\'{}\''.format(json.dumps( + scenario.ScenarioProjectCreateRequest( + ).__dict__ + ))) return parser def take_action(self, parsed_args): @@ -378,10 +415,10 @@ class ProjectPut(command.Command): parser.add_argument('project', type=json.loads, help='Project update request format :\n' - '\'[{ "project" (string),' - '"scores": (array[ScenarioScore]),' - '"trust_indicators": (array[ScenarioTI]),' - '"customs": (array[string]) }]\',\n') + '\'{}\''.format(json.dumps( + scenario.ScenarioProjectCreateRequest( + ).__dict__ + ))) return parser def take_action(self, parsed_args): @@ -511,8 +548,10 @@ class TrustIndicatorCreate(command.Command): parser.add_argument('trust_indicator', type=json.loads, help='trust indicator create request format :\n' - '\'{ "date": (string, optional),' - '"status": (string, optional) }\',\n') + '\'{}\''.format(json.dumps( + scenario.ScenarioTICreateRequest( + ).__dict__ + ))) return parser def take_action(self, parsed_args): @@ -547,8 +586,10 @@ class ScoreCreate(command.Command): parser.add_argument('score', type=json.loads, help='score create request format :\n' - '\'{ "date": (string, optional),' - '"score" : (string, optional) }\',\n') + '\'{}\''.format(json.dumps( + scenario.ScenarioScoreCreateRequest( + ).__dict__ + ))) return parser def take_action(self, parsed_args): diff --git a/testapi/testapi-client/testapiclient/models/scenario.py b/testapi/testapi-client/testapiclient/models/scenario.py new file mode 100644 index 0000000..f4f0f40 --- /dev/null +++ b/testapi/testapi-client/testapiclient/models/scenario.py @@ -0,0 +1,37 @@ +class ScenarioCreateRequest: + def __init__(self, name='', installers=[]): + self.name = name + self.installers = installers + + +class ScenarioInstallerCreateRequest: + def __init__(self, installer='', versions=[]): + self.installer = installer + self.versions = versions + + +class ScenarioVersionCreateRequest: + def __init__(self, version='', owner='', projects=[]): + self.version = version + self.owner = owner + self.projects = projects + + +class ScenarioProjectCreateRequest: + def __init__(self, project='', scores=[], trust_indicators=[], customs=[]): + self.project = project + self.scores = scores + self.trust_indicators = trust_indicators + self.customs = customs + + +class ScenarioScoreCreateRequest: + def __init__(self, score='', date=''): + self.score = score + self.date = date + + +class ScenarioTICreateRequest: + def __init__(self, status='', date=''): + self.status = status + self.date = date -- cgit 1.2.3-korg