Skip to content

Commit

Permalink
fix some linting tests also add a little bit more verbose output so i…
Browse files Browse the repository at this point in the history
…t's easier to find the issues... That flag can be removed if necessary
  • Loading branch information
rebrowning committed Dec 22, 2023
1 parent 012a347 commit 036f1cd
Show file tree
Hide file tree
Showing 3 changed files with 85 additions and 23 deletions.
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -377,7 +377,7 @@ black: requirements .black-check
echo "==========================================================="; \
echo "Running black on" $$component; \
echo "==========================================================="; \
. $(VIRTUALENV_DIR)/bin/activate ; black --check --config pyproject.toml $$component/ || exit 1; \
. $(VIRTUALENV_DIR)/bin/activate ; black --diff --check --config pyproject.toml $$component/ || exit 1; \
if [ -d "$$component/bin" ]; then \
. $(VIRTUALENV_DIR)/bin/activate ; black $$(grep -rl '^#!/.*python' $$component/bin) || exit 1; \
fi \
Expand All @@ -387,7 +387,7 @@ black: requirements .black-check
echo "==========================================================="; \
echo "Running black on" $$component; \
echo "==========================================================="; \
. $(VIRTUALENV_DIR)/bin/activate ; black --check --config pyproject.toml $$component/ || exit 1; \
. $(VIRTUALENV_DIR)/bin/activate ; black --diff --check --config pyproject.toml $$component/ || exit 1; \
if [ -d "$$component/bin" ]; then \
. $(VIRTUALENV_DIR)/bin/activate ; black $$(grep -rl '^#!/.*python' $$component/bin) || exit 1; \
fi \
Expand Down
95 changes: 81 additions & 14 deletions st2api/tests/unit/controllers/v1/test_executions.py
Original file line number Diff line number Diff line change
Expand Up @@ -451,7 +451,12 @@ def test_get_one_max_result_size_query_parameter(self):

# Update it with the result (this populates result and result size attributes)
data = {
"result": {"stdout": {"fooo": "a" * 1000}, "succeeded": True, "failed": False, "stderr": ""},
"result": {
"stdout": {"fooo": "a" * 1000},
"succeeded": True,
"failed": False,
"stderr": "",
},
"status": "succeeded",
}
actual_result_size = len(json_encode(data["result"]))
Expand Down Expand Up @@ -1281,16 +1286,30 @@ def test_put_status_and_result(self):
self.assertEqual(post_resp.status_int, 201)

execution_id = self._get_actionexecution_id(post_resp)
updates = {"status": "succeeded", "result": {"stdout": "foobar", "succeeded": True, "failed": False, "stderr": ""}}
updates = {
"status": "succeeded",
"result": {
"stdout": "foobar",
"succeeded": True,
"failed": False,
"stderr": "",
},
}
put_resp = self._do_put(execution_id, updates)
self.assertEqual(put_resp.status_int, 200)
self.assertEqual(put_resp.json["status"], "succeeded")
self.assertDictEqual(put_resp.json["result"], {"stdout": "foobar", "succeeded": True, "failed": False, "stderr": ""})
self.assertDictEqual(
put_resp.json["result"],
{"stdout": "foobar", "succeeded": True, "failed": False, "stderr": ""},
)

get_resp = self._do_get_one(execution_id)
self.assertEqual(get_resp.status_int, 200)
self.assertEqual(get_resp.json["status"], "succeeded")
self.assertDictEqual(get_resp.json["result"], {"stdout": "foobar", "succeeded": True, "failed": False, "stderr": ""})
self.assertDictEqual(
get_resp.json["result"],
{"stdout": "foobar", "succeeded": True, "failed": False, "stderr": ""},
)

def test_put_bad_state(self):
post_resp = self._do_post(LIVE_ACTION_1)
Expand Down Expand Up @@ -1329,11 +1348,22 @@ def test_put_status_to_completed_execution(self):
self.assertEqual(post_resp.status_int, 201)

execution_id = self._get_actionexecution_id(post_resp)
updates = {"status": "succeeded", "result": {"stdout": "foobar", "succeeded": True, "failed": False, "stderr": ""}}
updates = {
"status": "succeeded",
"result": {
"stdout": "foobar",
"succeeded": True,
"failed": False,
"stderr": "",
},
}
put_resp = self._do_put(execution_id, updates)
self.assertEqual(put_resp.status_int, 200)
self.assertEqual(put_resp.json["status"], "succeeded")
self.assertDictEqual(put_resp.json["result"], {"stdout": "foobar", "succeeded": True, "failed": False, "stderr": ""})
self.assertDictEqual(
put_resp.json["result"],
{"stdout": "foobar", "succeeded": True, "failed": False, "stderr": ""},
)

updates = {"status": "abandoned"}
put_resp = self._do_put(execution_id, updates, expect_errors=True)
Expand All @@ -1345,7 +1375,15 @@ def test_put_execution_missing_liveaction(self):
self.assertEqual(post_resp.status_int, 201)

execution_id = self._get_actionexecution_id(post_resp)
updates = {"status": "succeeded", "result": {"stdout": "foobar", "succeeded": True, "failed": False, "stderr": ""}}
updates = {
"status": "succeeded",
"result": {
"stdout": "foobar",
"succeeded": True,
"failed": False,
"stderr": "",
},
}
put_resp = self._do_put(execution_id, updates, expect_errors=True)
self.assertEqual(put_resp.status_int, 500)

Expand Down Expand Up @@ -1612,22 +1650,39 @@ def test_get_raw_result(self):
execution_id = self._get_actionexecution_id(get_resp)
updates = {
"status": "succeeded",
"result": {"stdout": "foobar", "stderr": "barfoo", "succeeded": True, "failed": False},
"result": {
"stdout": "foobar",
"stderr": "barfoo",
"succeeded": True,
"failed": False,
},
}
put_resp = self._do_put(execution_id, updates)
self.assertEqual(put_resp.status_int, 200)
self.assertEqual(put_resp.json["status"], "succeeded")
self.assertDictEqual(
put_resp.json["result"], {"stdout": "foobar", "stderr": "barfoo", "succeeded": True, "failed": False}
put_resp.json["result"],
{
"stdout": "foobar",
"stderr": "barfoo",
"succeeded": True,
"failed": False,
},
)
self.assertEqual(
put_resp.json["result_size"], len('{"stdout":"foobar","stderr":"barfoo","succeeded":true,"failed":false}')
put_resp.json["result_size"],
len(
'{"stdout":"foobar","stderr":"barfoo","succeeded":true,"failed":false}'
),
)

# 1. download=False, compress=False, pretty_format=False
get_resp = self.app.get("/v1/executions/%s/result" % (execution_id))
self.assertEqual(get_resp.headers["Content-Type"], "text/json")
self.assertEqual(get_resp.body, b'{"stdout":"foobar","stderr":"barfoo","succeeded":true,"failed":false}')
self.assertEqual(
get_resp.body,
b'{"stdout":"foobar","stderr":"barfoo","succeeded":true,"failed":false}',
)

# 2. download=False, compress=False, pretty_format=True
get_resp = self.app.get(
Expand All @@ -1647,7 +1702,10 @@ def test_get_raw_result(self):
# NOTE: webtest auto decompresses the result
get_resp = self.app.get("/v1/executions/%s/result?compress=1" % (execution_id))
self.assertEqual(get_resp.headers["Content-Type"], "application/x-gzip")
self.assertEqual(get_resp.body, b'{"stdout":"foobar","stderr":"barfoo","succeeded":true,"failed":false}')
self.assertEqual(
get_resp.body,
b'{"stdout":"foobar","stderr":"barfoo","succeeded":true,"failed":false}',
)

# 4. download=True, compress=False, pretty_format=False
get_resp = self.app.get("/v1/executions/%s/result?download=1" % (execution_id))
Expand All @@ -1656,7 +1714,10 @@ def test_get_raw_result(self):
get_resp.headers["Content-Disposition"],
"attachment; filename=execution_%s_result.json" % (execution_id),
)
self.assertEqual(get_resp.body, b'{"stdout":"foobar","stderr":"barfoo","succeeded":true,"failed":false}')
self.assertEqual(
get_resp.body,
b'{"stdout":"foobar","stderr":"barfoo","succeeded":true,"failed":false}',
)

# 5. download=True, compress=False, pretty_format=True
get_resp = self.app.get(
Expand Down Expand Up @@ -1780,7 +1841,13 @@ def test_get_single_attribute_success(self):

data = {}
data["status"] = action_constants.LIVEACTION_STATUS_SUCCEEDED
data["result"] = {"foo": "bar", "stdout": "hello world", "stderr": "", "succeeded": True, "failed": False}
data["result"] = {
"foo": "bar",
"stdout": "hello world",
"stderr": "",
"succeeded": True,
"failed": False,
}

resp = self.app.put_json("/v1/executions/%s" % (exec_id), data)
self.assertEqual(resp.status_int, 200)
Expand Down
9 changes: 2 additions & 7 deletions st2tests/st2tests/mocks/runners/runner.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,15 +50,10 @@ def run(self, action_params):
"failed": False,
"stdout": "res",
"stderr": "",
"succeeded": True
"succeeded": True,
}
if action_params.get("actionstr", "") == "dict_resp":
default_result["stdout"] = {
"key": "value",
"key2": {
"sk1": "v1"
}
}
default_result["stdout"] = {"key": "value", "key2": {"sk1": "v1"}}

default_context = {"third_party_system": {"ref_id": "1234"}}

Expand Down

0 comments on commit 036f1cd

Please sign in to comment.