Kashatlast2 commented on code in PR #7604: URL: https://github.com/apache/trafficcontrol/pull/7604#discussion_r1273911666
########## traffic_ops/testing/api_contract/v4/conftest.py: ########## @@ -1643,3 +1643,43 @@ def delivery_services_regex_data_post(to_session: TOSession, request_template_da if msg is None: logger.error("delivery_services_regex returned by Traffic Ops is missing an 'id' property") pytest.fail("Response from delete request is empty, Failing test_case") + + +@pytest.fixture(name="profile_parameters_post_data") +def profile_parameters_post_data(to_session: TOSession, request_template_data: list[JSONData], + profile_post_data:dict[str, object], parameter_post_data:dict[str, object] + ) -> dict[str, object]: + """ + PyTest Fixture to create POST data for profile parameters endpoint. + :param to_session: Fixture to get Traffic Ops session. + :param request_template_data: Fixture to get profile parameters request template from a prerequisites file. + :returns: Sample POST data and the actual API response. + """ + + profile_parameters = check_template_data(request_template_data["profile_parameters"], "profile_parameters") + + # Return new post data and post response from profile parameters POST request + profile_get_response = to_session.get_profiles() + profile_data = profile_get_response [0][0] + profile_id = profile_data.get("id") + + parameter_get_response = to_session.get_parameters() + parameter_data = parameter_get_response [0][0] + parameter_id = parameter_data.get("id") + + profile_parameters["profileId"] = profile_post_data["id"] + profile_parameters["parameterId"] = parameter_post_data["id"] + + logger.info("New profile_parameter data to hit POST method %s", profile_parameters) + + # Hitting profile parameters POST method + response: tuple[JSONData, requests.Response] = to_session.associate_paramater_to_profile(profile_id=profile_id, data=profile_parameters) + resp_obj = check_template_data(response, "profile_parameters") + yield resp_obj + profile_id = resp_obj.get("profileId") + parameter_id = resp_obj.get("parameterId") + msg = to_session.delete_profile_parameter_association_by_id(profile_id=profile_id, parameter_id=parameter_id) Review Comment: I put the output next to each print statement. How should I change it if I need to? ``profile_get_response = to_session.get_profiles() profile_data = profile_get_response [0][0] profile_id = profile_data.get("id") print(profile_id) 1 parameter_get_response = to_session.get_parameters() parameter_data = parameter_get_response [0][0] parameter_id = parameter_data.get("id") print(parameter_id) 938 profile_parameters["profileId"] = profile_post_data["id"] profile_parameters["parameterId"] = parameter_post_data["id"]` response: tuple[JSONData, requests.Response] = to_session.associate_paramater_to_profile(profile_id=profile_id, data=profile_parameters) resp_obj = check_template_data(response, "profile_parameters") yield resp_obj profile_id = resp_obj.get("profileId") parameter_id = resp_obj.get("parameterId") msg = to_session.delete_profile_parameter_association_by_id(profile_id=profile_id, parameter_id=parameter_id) logger.info("Deleting Profile Parameters data... %s", msg) print(profile_id, parameter_id) 109, 954` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@trafficcontrol.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org