You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficcontrol.apache.org by "gokulakrishnansvm (via GitHub)" <gi...@apache.org> on 2023/04/12 18:50:38 UTC
[GitHub] [trafficcontrol] gokulakrishnansvm opened a new pull request, #7444: Added Api contract test case for profiles endpoint
gokulakrishnansvm opened a new pull request, #7444:
URL: https://github.com/apache/trafficcontrol/pull/7444
<!--
Thank you for contributing! Please be sure to read our contribution guidelines: https://github.com/apache/trafficcontrol/blob/master/CONTRIBUTING.md
If this closes or relates to an existing issue, please reference it using one of the following:
Closes: #ISSUE
Related: #ISSUE
If this PR fixes a security vulnerability, DO NOT submit! Instead, contact
the Apache Traffic Control Security Team at security@trafficcontrol.apache.org and follow the
guidelines at https://apache.org/security regarding vulnerability disclosure.
-->
Adding API Contract Test Case for profiles endpoint.
<!-- **^ Add meaningful description above** --><hr/>
## Which Traffic Control components are affected by this PR?
<!-- Please delete all components from this list that are NOT affected by this PR.
Feel free to add the name of a tool or script that is affected but not on the list.
-->
- Traffic Ops Test
## What is the best way to verify this PR?
Step 1 : Install requirements
pip install -r requirements.txt
Step 2 : To execute profiles API Contract Testcase , navigate to traffic_ops/testing/api_contract/v4
pytest --to-user Username --to-password Password --to-url URL --config Config Path --request-template Request template --response-template Response template test_profiles.py
Note: Config, Request template and response template paths are optional.
## PR submission checklist
- [x] This PR has tests <!-- If not, please delete this text and explain why this PR does not need tests. -->
- [x] This PR **DOES NOT FIX A SERIOUS SECURITY VULNERABILITY** (see [the Apache Software Foundation's security guidelines](https://apache.org/security) for details)
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
--
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-unsubscribe@trafficcontrol.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [trafficcontrol] shamrickus merged pull request #7444: Added Api contract test case for profiles endpoint
Posted by "shamrickus (via GitHub)" <gi...@apache.org>.
shamrickus merged PR #7444:
URL: https://github.com/apache/trafficcontrol/pull/7444
--
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-unsubscribe@trafficcontrol.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [trafficcontrol] gokulakrishnansvm commented on a diff in pull request #7444: Added Api contract test case for profiles endpoint
Posted by "gokulakrishnansvm (via GitHub)" <gi...@apache.org>.
gokulakrishnansvm commented on code in PR #7444:
URL: https://github.com/apache/trafficcontrol/pull/7444#discussion_r1165813255
##########
traffic_ops/testing/api_contract/v4/test_profiles.py:
##########
@@ -0,0 +1,109 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+"""API Contract Test Case for profiles endpoint."""
+import logging
+import pytest
+import requests
+
+from trafficops.tosession import TOSession
+
+# Create and configure logger
+logger = logging.getLogger()
+
+primitive = bool | int | float | str | None
+
+@pytest.mark.parametrize('request_template_data', ['profiles'], indirect=True)
+def test_profile_contract(
+ to_session: TOSession,
+ request_template_data: list[dict[str, object] | list[object] | primitive],
+ response_template_data: dict[str, primitive | list[primitive | dict[str, object]
+ | list[object]] | dict[object, object]],
+ profile_post_data: dict[str, object]
+) -> None:
+ """
+ Test step to validate keys, values and data types from profiles endpoint
+ response.
+ :param to_session: Fixture to get Traffic Ops session.
+ :param request_template_data: Fixture to get profile data from a prerequisites file.
Review Comment:
Update it!
--
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-unsubscribe@trafficcontrol.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [trafficcontrol] ericholguin commented on a diff in pull request #7444: Added Api contract test case for profiles endpoint
Posted by "ericholguin (via GitHub)" <gi...@apache.org>.
ericholguin commented on code in PR #7444:
URL: https://github.com/apache/trafficcontrol/pull/7444#discussion_r1165798465
##########
traffic_ops/testing/api_contract/v4/test_profiles.py:
##########
@@ -0,0 +1,109 @@
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+"""API Contract Test Case for profiles endpoint."""
+import logging
+import pytest
+import requests
+
+from trafficops.tosession import TOSession
+
+# Create and configure logger
+logger = logging.getLogger()
+
+primitive = bool | int | float | str | None
+
+@pytest.mark.parametrize('request_template_data', ['profiles'], indirect=True)
+def test_profile_contract(
+ to_session: TOSession,
+ request_template_data: list[dict[str, object] | list[object] | primitive],
+ response_template_data: dict[str, primitive | list[primitive | dict[str, object]
+ | list[object]] | dict[object, object]],
+ profile_post_data: dict[str, object]
+) -> None:
+ """
+ Test step to validate keys, values and data types from profiles endpoint
+ response.
+ :param to_session: Fixture to get Traffic Ops session.
+ :param request_template_data: Fixture to get profile data from a prerequisites file.
Review Comment:
missing response_template_data
--
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-unsubscribe@trafficcontrol.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org