diff --git a/SAS/TMSS/backend/test/t_tmssapp_specification_REST_API.py b/SAS/TMSS/backend/test/t_tmssapp_specification_REST_API.py index d7515c0afdd7169c391097f628cff0248a99bf1c..76f1c85550e153605820b4743f585d6094baa3c0 100755 --- a/SAS/TMSS/backend/test/t_tmssapp_specification_REST_API.py +++ b/SAS/TMSS/backend/test/t_tmssapp_specification_REST_API.py @@ -644,8 +644,9 @@ class TaskConnectorTestCase(unittest.TestCase): PUT_and_assert_expected_response(self, BASE_URL + '/task_connector_type/9876789876/', test_data_creator.TaskConnectorType(task_template_url=self.task_template_url), 404, {}) def test_task_connector_PUT(self): - tc_test_data1 = test_data_creator.TaskConnectorType(role="correlator", task_template_url=self.task_template_url) - tc_test_data2 = test_data_creator.TaskConnectorType(role="beamformer", task_template_url=self.task_template_url) + task_template_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskTemplate(), '/task_template/') + tc_test_data1 = test_data_creator.TaskConnectorType(role="correlator", task_template_url=task_template_url) + tc_test_data2 = test_data_creator.TaskConnectorType(role="beamformer", task_template_url=task_template_url) # POST new item, verify r_dict = POST_and_assert_expected_response(self, BASE_URL + '/task_connector_type/', tc_test_data1, 201, tc_test_data1) @@ -1734,8 +1735,9 @@ class TaskRelationDraftTestCase(unittest.TestCase): cls.producer_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskDraft(), '/task_draft/') cls.consumer_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskDraft(), '/task_draft/') cls.template_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskRelationSelectionTemplate(), '/task_relation_selection_template/') - cls.input_role_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskConnectorType(), '/task_connector_type/') - cls.output_role_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskConnectorType(), '/task_connector_type/') + cls.task_template_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskTemplate(), '/task_template/') + cls.input_role_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskConnectorType(iotype="input", task_template_url=cls.task_template_url), '/task_connector_type/') + cls.output_role_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskConnectorType(iotype="output", task_template_url=cls.task_template_url), '/task_connector_type/') def test_task_relation_draft_list_apiformat(self): r = requests.get(BASE_URL + '/task_relation_draft/?format=api', auth=AUTH) @@ -1746,7 +1748,7 @@ class TaskRelationDraftTestCase(unittest.TestCase): GET_and_assert_equal_expected_code(self, BASE_URL + '/task_relation_draft/1234321/', 404) def test_task_relation_draft_POST_and_GET(self): - trd_test_data = test_data_creator.TaskRelationDraft(producer_url=self.producer_url, consumer_url=self.consumer_url, template_url=self.template_url, input_role_url=self.input_role_url) + trd_test_data = test_data_creator.TaskRelationDraft(producer_url=self.producer_url, consumer_url=self.consumer_url, template_url=self.template_url) # POST and GET a new item and assert correctness r_dict = POST_and_assert_expected_response(self, BASE_URL + '/task_relation_draft/', trd_test_data, 201, trd_test_data) @@ -1758,7 +1760,9 @@ class TaskRelationDraftTestCase(unittest.TestCase): PUT_and_assert_expected_response(self, BASE_URL + '/task_relation_draft/9876789876/', trd_test_data, 404, {}) def test_task_relation_draft_PUT(self): - trd_test_data1 = test_data_creator.TaskRelationDraft(producer_url=self.producer_url, consumer_url=self.consumer_url, template_url=self.template_url, input_role_url=self.input_role_url) + task_template_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskTemplate(), '/task_template/') + input_role_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskConnectorType(iotype="input", task_template_url=task_template_url), '/task_connector_type/') + trd_test_data1 = test_data_creator.TaskRelationDraft(producer_url=self.producer_url, consumer_url=self.consumer_url, template_url=self.template_url, input_role_url=input_role_url) # POST new item, verify r_dict = POST_and_assert_expected_response(self, BASE_URL + '/task_relation_draft/', trd_test_data1, 201, trd_test_data1) @@ -1766,7 +1770,10 @@ class TaskRelationDraftTestCase(unittest.TestCase): GET_OK_and_assert_equal_expected_response(self, url, trd_test_data1) # PUT new values, verify - trd_test_data2 = test_data_creator.TaskRelationDraft(producer_url=self.producer_url, consumer_url=test_data_creator.post_data_and_get_url(test_data_creator.TaskDraft(),'/task_draft/'), template_url=self.template_url, input_role_url=self.input_role_url) + task_template_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskTemplate(), '/task_template/') + input_role_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskConnectorType(iotype="input", task_template_url=task_template_url), '/task_connector_type/') + new_consumer_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskDraft(), '/task_draft/') + trd_test_data2 = test_data_creator.TaskRelationDraft(producer_url=self.producer_url, consumer_url=new_consumer_url, template_url=self.template_url, input_role_url=input_role_url) PUT_and_assert_expected_response(self, url, trd_test_data2, 200, trd_test_data2) GET_OK_and_assert_equal_expected_response(self, url, trd_test_data2) @@ -1848,7 +1855,8 @@ class TaskRelationDraftTestCase(unittest.TestCase): GET_and_assert_equal_expected_code(self, url, 404) def test_task_relation_draft_CASCADE_behavior_on_input_deleted(self): - input_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskConnectorType(), '/task_connector_type/') + task_template_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskTemplate(), '/task_template/') + input_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskConnectorType(task_template_url=task_template_url), '/task_connector_type/') trd_test_data = test_data_creator.TaskRelationDraft(input_role_url=input_url, producer_url=self.producer_url, consumer_url=self.consumer_url, template_url=self.template_url) # POST new item @@ -1865,7 +1873,8 @@ class TaskRelationDraftTestCase(unittest.TestCase): GET_and_assert_equal_expected_code(self, url, 404) def test_task_relation_draft_CASCADE_behavior_on_output_deleted(self): - output_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskConnectorType(), '/task_connector_type/') + task_template_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskTemplate(), '/task_template/') + output_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskConnectorType(task_template_url=task_template_url), '/task_connector_type/') trd_test_data = test_data_creator.TaskRelationDraft(output_role_url=output_url, producer_url=self.producer_url, consumer_url=self.consumer_url, template_url=self.template_url, input_role_url=self.input_role_url) # POST new item with dependency @@ -2320,8 +2329,9 @@ class TaskRelationBlueprintTestCase(unittest.TestCase): cls.producer_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskBlueprint(), '/task_blueprint/') cls.consumer_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskBlueprint(), '/task_blueprint/') cls.template_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskRelationSelectionTemplate(), '/task_relation_selection_template/') - cls.input_role_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskConnectorType(), '/task_connector_type/') - cls.output_role_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskConnectorType(), '/task_connector_type/') + cls.task_template_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskTemplate(), '/task_template/') + cls.input_role_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskConnectorType(iotype="input", task_template_url=cls.task_template_url), '/task_connector_type/') + cls.output_role_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskConnectorType(iotype="output", task_template_url=cls.task_template_url), '/task_connector_type/') def test_task_relation_blueprint_list_apiformat(self): r = requests.get(BASE_URL + '/task_relation_blueprint/?format=api', auth=AUTH) @@ -2332,7 +2342,7 @@ class TaskRelationBlueprintTestCase(unittest.TestCase): GET_and_assert_equal_expected_code(self, BASE_URL + '/task_relation_blueprint/1234321/', 404) def test_task_relation_blueprint_POST_and_GET(self): - trb_test_data = test_data_creator.TaskRelationBlueprint(draft_url=self.draft_url, template_url=self.template_url, input_role_url=self.input_role_url, consumer_url=self.consumer_url, producer_url=self.producer_url) + trb_test_data = test_data_creator.TaskRelationBlueprint(draft_url=self.draft_url, producer_url=self.producer_url, consumer_url=self.consumer_url, template_url=self.template_url, input_role_url=self.input_role_url, output_role_url=self.output_role_url) # POST and GET a new item and assert correctness r_dict = POST_and_assert_expected_response(self, BASE_URL + '/task_relation_blueprint/', trb_test_data, 201, trb_test_data) @@ -2344,20 +2354,25 @@ class TaskRelationBlueprintTestCase(unittest.TestCase): PUT_and_assert_expected_response(self, BASE_URL + '/task_relation_blueprint/9876789876/', trb_test_data, 404, {}) def test_task_relation_blueprint_PUT(self): - trb_test_data1 = test_data_creator.TaskRelationBlueprint(draft_url=self.draft_url, template_url=self.template_url, input_role_url=self.input_role_url, consumer_url=self.consumer_url, producer_url=self.producer_url) + task_template_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskTemplate(), '/task_template/') + input_role_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskConnectorType(iotype="input", task_template_url=task_template_url), '/task_connector_type/') + trd_test_data1 = test_data_creator.TaskRelationBlueprint(draft_url=self.draft_url, producer_url=self.producer_url, consumer_url=self.consumer_url, template_url=self.template_url, input_role_url=input_role_url) # POST new item, verify - r_dict = POST_and_assert_expected_response(self, BASE_URL + '/task_relation_blueprint/', trb_test_data1, 201, trb_test_data1) + r_dict = POST_and_assert_expected_response(self, BASE_URL + '/task_relation_blueprint/', trd_test_data1, 201, trd_test_data1) url = r_dict['url'] - GET_OK_and_assert_equal_expected_response(self, url, trb_test_data1) + GET_OK_and_assert_equal_expected_response(self, url, trd_test_data1) # PUT new values, verify - trb_test_data2 = test_data_creator.TaskRelationBlueprint(draft_url=self.draft_url, template_url=self.template_url, input_role_url=self.input_role_url, consumer_url=test_data_creator.post_data_and_get_url(test_data_creator.TaskBlueprint(),'/task_blueprint/'), producer_url=self.producer_url) - PUT_and_assert_expected_response(self, url, trb_test_data2, 200, trb_test_data2) - GET_OK_and_assert_equal_expected_response(self, url, trb_test_data2) + task_template_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskTemplate(), '/task_template/') + input_role_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskConnectorType(iotype="input", task_template_url=task_template_url), '/task_connector_type/') + new_consumer_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskBlueprint(), '/task_blueprint/') + trd_test_data2 = test_data_creator.TaskRelationBlueprint(draft_url=self.draft_url, producer_url=self.producer_url, consumer_url=new_consumer_url, template_url=self.template_url, input_role_url=input_role_url) + PUT_and_assert_expected_response(self, url, trd_test_data2, 200, trd_test_data2) + GET_OK_and_assert_equal_expected_response(self, url, trd_test_data2) def test_task_relation_blueprint_PATCH(self): - trb_test_data = test_data_creator.TaskRelationBlueprint(draft_url=self.draft_url, template_url=self.template_url, input_role_url=self.input_role_url, consumer_url=self.consumer_url, producer_url=self.producer_url) + trb_test_data = test_data_creator.TaskRelationBlueprint(draft_url=self.draft_url, producer_url=self.producer_url, consumer_url=self.consumer_url, template_url=self.template_url) # POST new item, verify r_dict = POST_and_assert_expected_response(self, BASE_URL + '/task_relation_blueprint/', trb_test_data, 201, trb_test_data) @@ -2373,7 +2388,7 @@ class TaskRelationBlueprintTestCase(unittest.TestCase): GET_OK_and_assert_equal_expected_response(self, url, expected_data) def test_task_relation_blueprint_DELETE(self): - trb_test_data = test_data_creator.TaskRelationBlueprint(draft_url=self.draft_url, template_url=self.template_url, input_role_url=self.input_role_url, consumer_url=self.consumer_url, producer_url=self.producer_url) + trb_test_data = test_data_creator.TaskRelationBlueprint(draft_url=self.draft_url, producer_url=self.producer_url, consumer_url=self.consumer_url, template_url=self.template_url) # POST new item, verify r_dict = POST_and_assert_expected_response(self, BASE_URL + '/task_relation_blueprint/', trb_test_data, 201, trb_test_data) @@ -2451,7 +2466,7 @@ class TaskRelationBlueprintTestCase(unittest.TestCase): def test_task_relation_blueprint_CASCADE_behavior_on_task_relation_selection_template_deleted(self): template_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskRelationSelectionTemplate(), '/task_relation_selection_template/') - trb_test_data = test_data_creator.TaskRelationBlueprint(draft_url=self.draft_url, template_url=template_url, input_role_url=self.input_role_url, consumer_url=self.consumer_url, producer_url=self.producer_url) + trb_test_data = test_data_creator.TaskRelationBlueprint(draft_url=self.draft_url, template_url=template_url, producer_url=self.producer_url, consumer_url=self.consumer_url) # POST new item url = POST_and_assert_expected_response(self, BASE_URL + '/task_relation_blueprint/', trb_test_data, 201, trb_test_data)['url'] @@ -2500,8 +2515,9 @@ class TaskRelationBlueprintTestCase(unittest.TestCase): GET_and_assert_equal_expected_code(self, url, 404) def test_task_relation_blueprint_CASCADE_behavior_on_input_deleted(self): - input_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskConnectorType(), '/task_connector_type/') - trb_test_data = test_data_creator.TaskRelationBlueprint(draft_url=self.draft_url, template_url=self.template_url, input_role_url=input_url, consumer_url=self.consumer_url, producer_url=self.producer_url) + task_template_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskTemplate(), '/task_template/') + input_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskConnectorType(task_template_url=task_template_url), '/task_connector_type/') + trb_test_data = test_data_creator.TaskRelationBlueprint(draft_url=self.draft_url, input_role_url=input_url, producer_url=self.producer_url, consumer_url=self.consumer_url, template_url=self.template_url) # POST new item url = POST_and_assert_expected_response(self, BASE_URL + '/task_relation_blueprint/', @@ -2517,8 +2533,9 @@ class TaskRelationBlueprintTestCase(unittest.TestCase): GET_and_assert_equal_expected_code(self, url, 404) def test_task_relation_blueprint_CASCADE_behavior_on_output_deleted(self): - output_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskConnectorType(), '/task_connector_type/') - trb_test_data = test_data_creator.TaskRelationBlueprint(draft_url=self.draft_url, template_url=self.template_url, input_role_url=self.input_role_url, output_role_url=output_url, consumer_url=self.consumer_url, producer_url=self.producer_url) + task_template_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskTemplate(), '/task_template/') + output_url = test_data_creator.post_data_and_get_url(test_data_creator.TaskConnectorType(task_template_url=task_template_url), '/task_connector_type/') + trb_test_data = test_data_creator.TaskRelationBlueprint(draft_url=self.draft_url, output_role_url=output_url, producer_url=self.producer_url, consumer_url=self.consumer_url, template_url=self.template_url, input_role_url=self.input_role_url) # POST new item with dependency url = POST_and_assert_expected_response(self, BASE_URL + '/task_relation_blueprint/', diff --git a/SAS/TMSS/backend/test/tmss_test_data_rest.py b/SAS/TMSS/backend/test/tmss_test_data_rest.py index 4b74a99f08e150ac3dd61c17157696fb048bf5c9..b0264d53860e2ac374fc822cddaa56f3032f811b 100644 --- a/SAS/TMSS/backend/test/tmss_test_data_rest.py +++ b/SAS/TMSS/backend/test/tmss_test_data_rest.py @@ -432,11 +432,19 @@ class TMSSRESTTestDataCreator(): selection_doc = self.get_response_as_json_object(template_url+'/default') if input_role_url is None: - input_role_url = self.post_data_and_get_url(self.TaskConnectorType(iotype="input"), '/task_connector_type/') - + try: + input_role_url = self.post_data_and_get_url(self.TaskConnectorType(iotype="input"), '/task_connector_type/') + except: + # duplicate connector created... pick first random input connector + input_role_url = next(c for c in self.get_response_as_json_object(self.django_api_url+'/task_connector_type')['results'] if c['iotype_value']=='input')['url'] + if output_role_url is None: - output_role_url = self.post_data_and_get_url(self.TaskConnectorType(iotype="output"), '/task_connector_type/') - + try: + output_role_url = self.post_data_and_get_url(self.TaskConnectorType(iotype="output"), '/task_connector_type/') + except: + # duplicate connector created... pick first random output connector + output_role_url = next(c for c in self.get_response_as_json_object(self.django_api_url+'/task_connector_type')['results'] if c['iotype_value']=='output')['url'] + return {"tags": [], "selection_doc": selection_doc, "producer": producer_url, @@ -530,11 +538,19 @@ class TMSSRESTTestDataCreator(): selection_doc = self.get_response_as_json_object(template_url+'/default') if input_role_url is None: - input_role_url = self.post_data_and_get_url(self.TaskConnectorType(iotype="input"), '/task_connector_type/') - + try: + input_role_url = self.post_data_and_get_url(self.TaskConnectorType(iotype="input"), '/task_connector_type/') + except: + # duplicate connector created... pick first random input connector + input_role_url = next(c for c in self.get_response_as_json_object(self.django_api_url+'/task_connector_type')['results'] if c['iotype_value']=='input')['url'] + if output_role_url is None: - output_role_url = self.post_data_and_get_url(self.TaskConnectorType(iotype="output"), '/task_connector_type/') - + try: + output_role_url = self.post_data_and_get_url(self.TaskConnectorType(iotype="output"), '/task_connector_type/') + except: + # duplicate connector created... pick first random output connector + output_role_url = next(c for c in self.get_response_as_json_object(self.django_api_url+'/task_connector_type')['results'] if c['iotype_value']=='output')['url'] + # test data return {"tags": [], "selection_doc": selection_doc,