Esempio n. 1
0
 def test_sendall_double(self):
     Entry.register(Entry.GET, 'http://testme.org/', Response(status=404), Response())
     self.assertRaises(HTTPError, urlopen, 'http://testme.org/')
     response = urlopen('http://testme.org/')
     self.assertEqual(response.code, 200)
     response = urlopen('http://testme.org/')
     self.assertEqual(response.code, 200)
     self.assertEqual(len(Mocket._requests), 3)
Esempio n. 2
0
 def test_sendall_double(self):
     Entry.register(Entry.GET, 'http://testme.org/', Response(status=404),
                    Response())
     self.assertRaises(HTTPError, urlopen, 'http://testme.org/')
     response = urlopen('http://testme.org/')
     self.assertEqual(response.code, 200)
     response = urlopen('http://testme.org/')
     self.assertEqual(response.code, 200)
     self.assertEqual(len(Mocket._requests), 3)
Esempio n. 3
0
    def test_request_bodies(self):
        url = 'http://bit.ly/fakeurl/{0}'

        for e in range(5):
            u = url.format(e)
            Entry.single_register(Entry.POST, u, body=str(e))
            request_body = urlencode({'key-{0}'.format(e): 'value={0}'.format(e)})
            urlopen(u, request_body.encode('utf-8'))
            last_request = Mocket.last_request()
            assert last_request.body == request_body
Esempio n. 4
0
    def test_request_bodies(self):
        url = "http://bit.ly/fakeurl/{0}"

        for e in range(5):
            u = url.format(e)
            Entry.single_register(Entry.POST, u, body=str(e))
            request_body = urlencode({"key-{0}".format(e): "value={0}".format(e)})
            urlopen(u, request_body.encode("utf-8"))
            last_request = Mocket.last_request()
            assert last_request.body == request_body
Esempio n. 5
0
    def test_sendall_json(self):
        with mock.patch("time.gmtime") as tt:
            tt.return_value = time.struct_time((2013, 4, 30, 10, 39, 21, 1, 120, 0))
            Entry.single_register(
                Entry.GET,
                "http://testme.org/get?a=1&b=2#test",
                body='{"a": "€"}',
                headers={"content-type": "application/json"},
            )

        response = urlopen("http://testme.org/get?b=2&a=1#test", timeout=10)
        self.assertEqual(response.code, 200)
        self.assertEqual(response.read(), b'{"a": "\xe2\x82\xac"}')
        self.assertEqualHeaders(
            dict(response.headers),
            {
                "status": "200",
                "content-length": "12",
                "server": "Python/Mocket",
                "connection": "close",
                "date": "Tue, 30 Apr 2013 10:39:21 GMT",
                "content-type": "application/json",
            },
        )
        self.assertEqual(len(Mocket._requests), 1)
Esempio n. 6
0
    def test_truesendall_with_recording(self):
        url = "http://httpbin.org/ip"

        urlopen(url)
        requests.get(url)
        resp = urlopen(url)
        self.assertEqual(resp.code, 200)
        resp = requests.get(url)
        self.assertEqual(resp.status_code, 200)
        assert "origin" in resp.json()

        dump_filename = os.path.join(Mocket.get_truesocket_recording_dir(),
                                     Mocket.get_namespace() + ".json")
        with io.open(dump_filename) as f:
            responses = json.load(f)

        self.assertEqual(len(responses["httpbin.org"]["80"].keys()), 2)
Esempio n. 7
0
    def test_truesendall_with_recording(self):
        url = 'http://httpbin.org/ip'

        urlopen(url)
        requests.get(url)
        resp = urlopen(url)
        self.assertEqual(resp.code, 200)
        resp = requests.get(url)
        self.assertEqual(resp.status_code, 200)
        assert 'origin' in resp.json()

        dump_filename = os.path.join(
            Mocket.get_truesocket_recording_dir(),
            Mocket.get_namespace() + '.json',
        )
        with io.open(dump_filename) as f:
            responses = json.load(f)

        self.assertEqual(len(responses['httpbin.org']['80'].keys()), 2)
Esempio n. 8
0
def test_json(response):
    url_to_mock = 'https://testme.org/json'

    Entry.single_register(Entry.GET,
                          url_to_mock,
                          body=json.dumps(response),
                          headers={'content-type': 'application/json'})

    mocked_response = requests.get(url_to_mock).json()
    assert response == mocked_response

    mocked_response = json.loads(urlopen(url_to_mock).read().decode('utf-8'))
    assert response == mocked_response
Esempio n. 9
0
def test_json(response):
    url_to_mock = 'https://testme.org/json'

    Entry.single_register(
        Entry.GET,
        url_to_mock,
        body=json.dumps(response),
        headers={'content-type': 'application/json'})

    mocked_response = requests.get(url_to_mock).json()
    assert response == mocked_response

    mocked_response = json.loads(urlopen(url_to_mock).read().decode('utf-8'))
    assert response == mocked_response
Esempio n. 10
0
 def test_sendall(self):
     with mock.patch('time.gmtime') as tt:
         tt.return_value = time.struct_time((2013, 4, 30, 10, 39, 21, 1, 120, 0))
         Entry.single_register(Entry.GET, 'http://testme.org/get/p/?a=1&b=2', body='test_body')
     resp = urlopen('http://testme.org/get/p/?b=2&a=1', timeout=10)
     self.assertEqual(resp.code, 200)
     self.assertEqual(resp.read(), b'test_body')
     self.assertEqualHeaders(dict(resp.headers), {
         u'Status': u'200',
         u'Content-length': u'9',
         u'Server': u'Python/Mocket',
         u'Connection': u'close',
         u'Date': u'Tue, 30 Apr 2013 10:39:21 GMT',
         u'Content-type': u'text/plain; charset=utf-8'
     })
     self.assertEqual(len(Mocket._requests), 1)
Esempio n. 11
0
 def test_sendall(self):
     with mock.patch('time.gmtime') as tt:
         tt.return_value = time.struct_time(
             (2013, 4, 30, 10, 39, 21, 1, 120, 0))
         Entry.single_register(Entry.GET,
                               'http://testme.org/get/p/?a=1&b=2',
                               body='test_body')
     resp = urlopen('http://testme.org/get/p/?b=2&a=1', timeout=10)
     self.assertEqual(resp.code, 200)
     self.assertEqual(resp.read(), b'test_body')
     self.assertEqualHeaders(
         dict(resp.headers), {
             u'Status': u'200',
             u'Content-length': u'9',
             u'Server': u'Python/Mocket',
             u'Connection': u'close',
             u'Date': u'Tue, 30 Apr 2013 10:39:21 GMT',
             u'Content-type': u'text/plain; charset=utf-8'
         })
     self.assertEqual(len(Mocket._requests), 1)
Esempio n. 12
0
 def test_sendall(self):
     with mock.patch("time.gmtime") as tt:
         tt.return_value = time.struct_time((2013, 4, 30, 10, 39, 21, 1, 120, 0))
         Entry.single_register(
             Entry.GET, "http://testme.org/get/p/?a=1&b=2", body="test_body"
         )
     resp = urlopen("http://testme.org/get/p/?b=2&a=1", timeout=10)
     self.assertEqual(resp.code, 200)
     self.assertEqual(resp.read(), b"test_body")
     self.assertEqualHeaders(
         dict(resp.headers),
         {
             "Status": "200",
             "Content-length": "9",
             "Server": "Python/Mocket",
             "Connection": "close",
             "Date": "Tue, 30 Apr 2013 10:39:21 GMT",
             "Content-type": "text/plain; charset=utf-8",
         },
     )
     self.assertEqual(len(Mocket._requests), 1)
Esempio n. 13
0
    def test_sendall_json(self):
        with mock.patch('time.gmtime') as tt:
            tt.return_value = time.struct_time((2013, 4, 30, 10, 39, 21, 1, 120, 0))
            Entry.single_register(
                Entry.GET,
                'http://testme.org/get?a=1&b=2#test',
                body='{"a": "€"}',
                headers={'content-type': 'application/json'}
            )

        response = urlopen('http://testme.org/get?b=2&a=1#test', timeout=10)
        self.assertEqual(response.code, 200)
        self.assertEqual(response.read(), b'{"a": "\xe2\x82\xac"}')
        self.assertEqualHeaders(dict(response.headers), {
            u'status': u'200',
            u'content-length': u'12',
            u'server': u'Python/Mocket',
            u'connection': u'close',
            u'date': u'Tue, 30 Apr 2013 10:39:21 GMT',
            u'content-type': u'application/json',
        })
        self.assertEqual(len(Mocket._requests), 1)
Esempio n. 14
0
    def test_sendall_json(self):
        with mock.patch('time.gmtime') as tt:
            tt.return_value = time.struct_time(
                (2013, 4, 30, 10, 39, 21, 1, 120, 0))
            Entry.single_register(Entry.GET,
                                  'http://testme.org/get?a=1&b=2#test',
                                  body='{"a": "€"}',
                                  headers={'content-type': 'application/json'})

        response = urlopen('http://testme.org/get?b=2&a=1#test', timeout=10)
        self.assertEqual(response.code, 200)
        self.assertEqual(response.read(), b'{"a": "\xe2\x82\xac"}')
        self.assertEqualHeaders(
            dict(response.headers), {
                u'status': u'200',
                u'content-length': u'12',
                u'server': u'Python/Mocket',
                u'connection': u'close',
                u'date': u'Tue, 30 Apr 2013 10:39:21 GMT',
                u'content-type': u'application/json',
            })
        self.assertEqual(len(Mocket._requests), 1)
Esempio n. 15
0
 def test_wrongpath_truesendall(self):
     Entry.register(Entry.GET, "http://httpbin.org/user.agent", Response(status=404))
     response = urlopen("http://httpbin.org/ip")
     self.assertEqual(response.code, 200)
Esempio n. 16
0
 def test_truesendall(self):
     url = "http://httpbin.org/ip"
     resp = urlopen(url)
     self.assertEqual(resp.code, 200)
     resp = requests.get(url)
     self.assertEqual(resp.status_code, 200)
Esempio n. 17
0
 def test_truesendall(self):
     url = 'http://httpbin.org/ip'
     resp = urlopen(url)
     self.assertEqual(resp.code, 200)
     resp = requests.get(url)
     self.assertEqual(resp.status_code, 200)
Esempio n. 18
0
 def test_wrongpath_truesendall(self):
     Entry.register(Entry.GET, 'http://httpbin.org/user.agent', Response(status=404))
     response = urlopen('http://httpbin.org/ip')
     self.assertEqual(response.code, 200)