コード例 #1
0
    def test_delay_response(self):
        self.client.stub(request(), response(delay=1))

        start = time.time()
        requests.get(MOCK_SERVER_URL)
        elapsed = time.time() - start
        self.assertGreater(elapsed, 1)
コード例 #2
0
    def test_delay_response_with_special_unit(self):
        self.client.stub(request(), response(delay=milliseconds(500)))

        start = time.time()
        requests.get(MOCK_SERVER_URL)
        elapsed = time.time() - start
        self.assertGreater(elapsed, 0.5)
 def test_time_to_live_stubbing(self):
     self.client.stub(request(), response(), time_to_live=1)
     result = requests.get(MOCK_SERVER_URL + "/path")
     self.assertEqual(result.status_code, 200)
     time.sleep(1)
     result = requests.get(MOCK_SERVER_URL + "/path")
     self.assertEqual(result.status_code, 404)
    def test_expect_never(self):
        self.client.expect(
            request(),
            response(),
            times(0)
        )

        self.client.verify_expectations()
    def test_method_stubbing(self):
        self.client.stub(request(method="POST"), response(code=200))

        result = requests.get(MOCK_SERVER_URL)
        self.assertEqual(result.status_code, 404)

        result = requests.post(MOCK_SERVER_URL)
        self.assertEqual(result.status_code, 200)
    def test_count_stubbing(self):
        self.client.stub(request(), response(), times(1))

        result = requests.get(MOCK_SERVER_URL + "/path")
        self.assertEqual(result.status_code, 200)

        result = requests.get(MOCK_SERVER_URL + "/path")
        self.assertEqual(result.status_code, 404)
    def test_body_stubbing(self):
        self.client.stub(request(body="hey there"), response(code=200))

        result = requests.post(MOCK_SERVER_URL, data="sup?")
        self.assertEqual(result.status_code, 404)

        result = requests.post(MOCK_SERVER_URL, data="hey there")
        self.assertEqual(result.status_code, 200)
    def test_default_count_for_stubs_is_unlimited(self):
        self.client.stub(request(), response())

        result = requests.get(MOCK_SERVER_URL + "/path")
        self.assertEqual(result.status_code, 200)

        result = requests.get(MOCK_SERVER_URL + "/path")
        self.assertEqual(result.status_code, 200)
    def test_path_stubbing(self):
        self.client.stub(request(path="/path"), response(code=200))

        result = requests.get(MOCK_SERVER_URL + "/whatrver")
        self.assertEqual(result.status_code, 404)

        result = requests.get(MOCK_SERVER_URL + "/path")
        self.assertEqual(result.status_code, 200)
    def test_reset_should_clear_expectations(self):
        self.client.expect(
            request(),
            response(),
            times(1)
        )

        self.client.reset()
        self.client.verify_expectations()
 def test_expect_with_ttl(self):
     self.client.expect(
         request(),
         response(),
         times(1),
         seconds(10)
     )
     result = requests.get(MOCK_SERVER_URL + "/path")
     self.assertEqual(result.status_code, 200)
    def test_expect_once_not_called_fails(self):
        self.client.expect(
            request(),
            response(),
            times(1)
        )

        with self.assertRaises(AssertionError):
            self.client.verify_expectations()
コード例 #13
0
    def test_cookies_stubbing(self):
        self.client.stub(request(cookies={"i-am-cookie": "sweet-cookie"}),
                         response(code=200))

        result = requests.get(MOCK_SERVER_URL)
        self.assertEqual(result.status_code, 404)

        result = requests.get(MOCK_SERVER_URL,
                              cookies={"i-am-cookie": "sweet-cookie"})
        self.assertEqual(result.status_code, 200)
コード例 #14
0
    def test_headers_stubbing(self):
        self.client.stub(request(headers={"i-am-special": "yeah you are"}),
                         response(code=200))

        result = requests.get(MOCK_SERVER_URL)
        self.assertEqual(result.status_code, 404)

        result = requests.get(MOCK_SERVER_URL,
                              headers={"i-am-special": "yeah you are"})
        self.assertEqual(result.status_code, 200)
コード例 #15
0
    def test_simple_body(self):
        self.client.stub(request(),
                         json_response(code=207, body={"pay": {
                             "lo": "ad"
                         }}))

        result = requests.get(MOCK_SERVER_URL)
        self.assertEqual(result.status_code, 207)
        self.assertEqual(result.json(), {"pay": {"lo": "ad"}})
        self.assertEqual(result.headers["Content-Type"], "application/json")
コード例 #16
0
    def test_content_type_header_is_added_to_specified(self):
        self.client.stub(
            request(),
            json_response(body={"pay": {
                "lo": "ad"
            }},
                          headers={"i-like": "i-like"}))

        result = requests.get(MOCK_SERVER_URL)
        self.assertEqual(result.headers["i-like"], "i-like")
        self.assertEqual(result.headers["Content-Type"], "application/json")
コード例 #17
0
    def test_querystring_stubbing(self):
        self.client.stub(request(querystring={
            "a": "b",
            "c[0]": "d"
        }), response(code=200))

        result = requests.get(MOCK_SERVER_URL + "/?e=f")
        self.assertEqual(result.status_code, 404)

        result = requests.get(MOCK_SERVER_URL + "/?a=b&c[0]=d")
        self.assertEqual(result.status_code, 200)
コード例 #18
0
    def test_form_request(self):
        self.client.stub(request(body=form({
            "a": "b",
            "c[0]": "d"
        })), response())

        result = requests.post(MOCK_SERVER_URL, data={"a": "b"})
        self.assertEqual(result.status_code, 404)

        result = requests.post(MOCK_SERVER_URL, data={"a": "b", "c[0]": "d"})
        self.assertEqual(result.status_code, 200)
    def test_expect_once_called_twice_fails(self):
        self.client.expect(
            request(),
            response(),
            times(1)
        )

        result = requests.get(MOCK_SERVER_URL + "/path")
        self.assertEqual(result.status_code, 200)

        result = requests.get(MOCK_SERVER_URL + "/path")
        self.assertEqual(result.status_code, 404)
コード例 #20
0
    def test_expect_json_contains(self):
        self.client.expect(request(body=json_contains({"key": "value"})),
                           response(), times(1))

        result = requests.get(MOCK_SERVER_URL + "/path",
                              json={"key1": "value2"})
        self.assertEquals(result.status_code, 404)

        result = requests.get(MOCK_SERVER_URL + "/path",
                              json={
                                  "key1": "value2",
                                  "key": "value"
                              })
        self.assertEquals(result.status_code, 200)
コード例 #21
0
 def test_verify_request_received_once(self):
     self.client.stub(request(), response())
     requests.get(MOCK_SERVER_URL)
     self.client.verify(request(), times(1))
コード例 #22
0
 def test_verify_request_not_received_fail(self):
     with self.assertRaises(AssertionError):
         self.client.verify(request(), times(1))
コード例 #23
0
 def test_verify_all_expectations(self):
     self.client.expect(request(), response(), times(1))
     requests.get(MOCK_SERVER_URL)
     self.client.verify_expectations()
コード例 #24
0
    def test_code_response(self):
        self.client.stub(request(), response(code=418))

        result = requests.get(MOCK_SERVER_URL)
        self.assertEqual(result.status_code, 418)
コード例 #25
0
 def test_verify_request_never_received(self):
     self.client.verify(request(), times(0))
コード例 #26
0
    def test_catch_all(self):
        self.client.stub(request(), response())

        result = requests.get(MOCK_SERVER_URL + "/whatever")
        self.assertEqual(result.status_code, 200)
コード例 #27
0
    def test_reason_phrase_response(self):
        reason_phrase = "Custom reasonPhrase"
        self.client.stub(request(), response(reason=reason_phrase))

        result = requests.get(MOCK_SERVER_URL)
        self.assertEqual(result.reason, reason_phrase)
コード例 #28
0
    def test_cookies_response(self):
        self.client.stub(request(),
                         response(cookies={"i-am-cookie": "sweet-cookie"}))

        result = requests.get(MOCK_SERVER_URL)
        self.assertEqual(result.cookies["i-am-cookie"], "sweet-cookie")
コード例 #29
0
    def test_headers_response(self):
        self.client.stub(request(), response(headers={"i-like": "i-like"}))

        result = requests.get(MOCK_SERVER_URL)
        self.assertEqual(result.headers["i-like"], "i-like")
コード例 #30
0
    def test_body_response(self):
        self.client.stub(request(), response(body="hey there"))

        result = requests.get(MOCK_SERVER_URL)
        self.assertEqual(result.content.decode(), "hey there")