diff options
author | 2019-06-09 23:22:04 +0200 | |
---|---|---|
committer | 2019-06-09 23:22:04 +0200 | |
commit | 803d96c9a7f8b2d80b3f9b10d35ceb6440fa431e (patch) | |
tree | ada556ca7e1aff5e650afe58139bc20d3d47dfc0 /tests/api | |
parent | Merge pull request #23 from python-discord/falcon (diff) | |
parent | Respond to eval with stdout, stderr, and the return code (diff) |
Merge pull request #24 from python-discord/refactor/nsjail
Improve NsJail
Diffstat (limited to 'tests/api')
-rw-r--r-- | tests/api/__init__.py | 8 | ||||
-rw-r--r-- | tests/api/test_eval.py | 7 |
2 files changed, 11 insertions, 4 deletions
diff --git a/tests/api/__init__.py b/tests/api/__init__.py index fd4679a..dcee5b5 100644 --- a/tests/api/__init__.py +++ b/tests/api/__init__.py @@ -1,3 +1,4 @@ +from subprocess import CompletedProcess from unittest import mock from falcon import testing @@ -11,7 +12,12 @@ class SnekAPITestCase(testing.TestCase): self.patcher = mock.patch("snekbox.api.resources.eval.NsJail", autospec=True) self.mock_nsjail = self.patcher.start() - self.mock_nsjail.return_value.python3.return_value = "test output" + self.mock_nsjail.return_value.python3.return_value = CompletedProcess( + args=[], + returncode=0, + stdout="output", + stderr="error" + ) self.addCleanup(self.patcher.stop) self.app = SnekAPI() diff --git a/tests/api/test_eval.py b/tests/api/test_eval.py index a5b83fd..03f0e39 100644 --- a/tests/api/test_eval.py +++ b/tests/api/test_eval.py @@ -9,8 +9,9 @@ class TestEvalResource(SnekAPITestCase): result = self.simulate_post(self.PATH, json=body) self.assertEqual(result.status_code, 200) - self.assertEqual(body["input"], result.json["input"]) - self.assertEqual("test output", result.json["output"]) + self.assertEqual("output", result.json["stdout"]) + self.assertEqual("error", result.json["stderr"]) + self.assertEqual(0, result.json["returncode"]) def test_post_invalid_schema_400(self): body = {"stuff": "foo"} @@ -26,7 +27,7 @@ class TestEvalResource(SnekAPITestCase): self.assertEqual(expected, result.json) def test_post_invalid_content_type_415(self): - body = "{\"input\": \"foo\"}" + body = "{'input': 'foo'}" headers = {"Content-Type": "application/xml"} result = self.simulate_post(self.PATH, body=body, headers=headers) |