diff --git a/locust/test/test_client.py b/locust/test/test_client.py index 197274aa74..e33019ebcf 100644 --- a/locust/test/test_client.py +++ b/locust/test/test_client.py @@ -68,3 +68,32 @@ def test_post_redirect(self): get_stats = global_stats.get(url, method="GET") self.assertEqual(1, post_stats.num_requests) self.assertEqual(0, get_stats.num_requests) + + def test_cookie(self): + s = HttpSession("http://127.0.0.1:%i" % self.port) + r = s.post("/set_cookie?name=testcookie&value=1337") + self.assertEqual(200, r.status_code) + r = s.get("/get_cookie?name=testcookie") + self.assertEqual('1337', r.content.decode()) + + def test_head(self): + s = HttpSession("http://127.0.0.1:%i" % self.port) + r = s.head("/request_method") + self.assertEqual(200, r.status_code) + self.assertEqual("", r.content.decode()) + + def test_delete(self): + s = HttpSession("http://127.0.0.1:%i" % self.port) + r = s.delete("/request_method") + self.assertEqual(200, r.status_code) + self.assertEqual("DELETE", r.content.decode()) + + def test_options(self): + s = HttpSession("http://127.0.0.1:%i" % self.port) + r = s.options("/request_method") + self.assertEqual(200, r.status_code) + self.assertEqual("", r.content.decode()) + self.assertEqual( + set(["OPTIONS", "DELETE", "PUT", "GET", "POST", "HEAD"]), + set(r.headers["allow"].split(", ")), + ) diff --git a/locust/test/testcases.py b/locust/test/testcases.py index 21fc6160f7..270542b9e2 100644 --- a/locust/test/testcases.py +++ b/locust/test/testcases.py @@ -113,6 +113,16 @@ def generate(): yield "" return Response(stream_with_context(generate()), mimetype="text/html") +@app.route("/set_cookie", methods=["POST"]) +def set_cookie(): + response = make_response("ok") + response.set_cookie(request.args.get("name"), request.args.get("value")) + return response + +@app.route("/get_cookie") +def get_cookie(): + return make_response(request.cookies.get(request.args.get("name"), "")) + class LocustTestCase(unittest.TestCase): """