houqp commented on a change in pull request #9273:
URL: https://github.com/apache/airflow/pull/9273#discussion_r439782251
##########
File path: tests/api_connexion/endpoints/test_variable_endpoint.py
##########
@@ -29,38 +31,141 @@ def setUpClass(cls) -> None:
def setUp(self) -> None:
self.client = self.app.test_client() # type:ignore
+ clear_db_variables()
+
+ def tearDown(self) -> None:
+ clear_db_variables()
class TestDeleteVariable(TestVariableEndpoint):
- @pytest.mark.skip(reason="Not implemented yet")
- def test_should_response_200(self):
- response = self.client.delete("/api/v1/variables/TEST_VARIABLE_KEY")
+ def test_should_response_204(self):
+ Variable.set("delete_var1", 1)
+ # make sure variable is added
+ response = self.client.get("/api/v1/variables/delete_var1")
+ assert response.status_code == 200
+
+ response = self.client.delete("/api/v1/variables/delete_var1")
assert response.status_code == 204
+ # make sure variable is deleted
+ response = self.client.get("/api/v1/variables/delete_var1")
+ assert response.status_code == 404
+
class TestGetVariable(TestVariableEndpoint):
- @pytest.mark.skip(reason="Not implemented yet")
+
def test_should_response_200(self):
+ expected_value = '{"foo": 1}'
+ Variable.set("TEST_VARIABLE_KEY", expected_value)
response = self.client.get("/api/v1/variables/TEST_VARIABLE_KEY")
assert response.status_code == 200
+ assert response.json == {"key": "TEST_VARIABLE_KEY", "value":
expected_value}
+
+ def test_should_response_404_if_not_found(self):
+ response = self.client.get("/api/v1/variables/NONEXIST_VARIABLE_KEY")
+ assert response.status_code == 404
class TestGetVariables(TestVariableEndpoint):
- @pytest.mark.skip(reason="Not implemented yet")
- def test_should_response_200(self):
+ @parameterized.expand([
+ ("/api/v1/variables?limit=2&offset=0", {
+ "variables": [
+ {"key": "var1"},
+ {"key": "var2"},
+ ],
+ "total_entries": 2,
+ }),
+ ("/api/v1/variables?limit=2&offset=1", {
+ "variables": [
+ {"key": "var3"},
+ ],
+ "total_entries": 1,
Review comment:
I see where the confusion is coming from. In the API spec, the parameter
is named as `PageOffset`, which sounds like offset is the page number, not the
absolute element count. But the description is set to `The number of items to
skip before starting to collect the result set`.
I will change it to match the description in API spec.
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]