示例#1
0
 def test_set_image_data_http(self, mock_image_iter):
     uri = 'http://www.example.com'
     image = mock.Mock()
     mock_image_iter.return_value = test_utils.FakeHTTPResponse()
     self.assertIsNone(image_import_script.set_image_data(image,
                                                          uri,
                                                          None))
示例#2
0
    def test_http_get_not_found(self):
        not_found_resp = utils.FakeHTTPResponse(status=404,
                                                data="404 Not Found")
        FAKE_RESPONSE_STACK.append(not_found_resp)

        uri = "http://netloc/path/to/file.tar.gz"
        loc = get_location_from_uri(uri)
        self.assertRaises(exception.BadStoreUri, self.store.get, loc)
示例#3
0
    def getresponse(self):
        mapper = routes.Mapper()
        api = context.UnauthenticatedContextMiddleware(rserver.API(mapper))
        webob_res = self.req.get_response(api)

        return utils.FakeHTTPResponse(status=webob_res.status_int,
                                      headers=webob_res.headers,
                                      data=webob_res.body)
示例#4
0
    def test_http_get_redirect_invalid(self):
        redirect_headers = {"location": "http://example.com/teapot.img"}
        redirect_resp = utils.FakeHTTPResponse(status=307,
                                               headers=redirect_headers)
        FAKE_RESPONSE_STACK.append(redirect_resp)

        uri = "http://netloc/path/to/file.tar.gz"
        loc = get_location_from_uri(uri)
        self.assertRaises(exception.BadStoreUri, self.store.get, loc)
示例#5
0
    def fake_request(self, method, url, body, headers):
        req = webob.Request.blank(url.path)
        req.body = body
        req.method = method

        webob_res = req.get_response(self.api)
        return test_utils.FakeHTTPResponse(status=webob_res.status_int,
                                           headers=webob_res.headers,
                                           data=webob_res.body)
示例#6
0
    def test_http_get_max_redirects(self):
        # Add more than MAX_REDIRECTS redirects to the response stack
        redirect_headers = {"location": "http://example.com/teapot.img"}
        redirect_resp = utils.FakeHTTPResponse(status=302,
                                               headers=redirect_headers)
        for i in xrange(MAX_REDIRECTS + 2):
            FAKE_RESPONSE_STACK.append(redirect_resp)

        uri = "http://netloc/path/to/file.tar.gz"
        loc = get_location_from_uri(uri)
        self.assertRaises(exception.MaxRedirectsExceeded, self.store.get, loc)
示例#7
0
    def fake_request(self, method, url, body, headers):
        req = webob.Request.blank(url.path)
        if isinstance(body, six.text_type):
            body = body.encode('utf-8')
        req.body = body
        req.method = method

        webob_res = req.get_response(self.api)
        return test_utils.FakeHTTPResponse(status=webob_res.status_int,
                                           headers=webob_res.headers,
                                           data=webob_res.body)
示例#8
0
    def test_http_encoding_params(self, _mock_req, _mock_resp):
        # Lets fake the response
        # returned by http_client
        fake = utils.FakeHTTPResponse(data=b"Ok")
        _mock_resp.return_value = fake

        params = {"test": u'ni\xf1o'}
        resp = self.client.do_request('GET',
                                      '/v1/images/detail',
                                      params=params)
        self.assertEqual(fake, resp)
示例#9
0
    def test_http_get_redirect(self):
        # Add two layers of redirects to the response stack, which will
        # return the default 200 OK with the expected data after resolving
        # both redirects.
        redirect_headers_1 = {"location": "http://example.com/teapot.img"}
        redirect_resp_1 = utils.FakeHTTPResponse(status=302,
                                                 headers=redirect_headers_1)
        redirect_headers_2 = {"location": "http://example.com/teapot_real.img"}
        redirect_resp_2 = utils.FakeHTTPResponse(status=301,
                                                 headers=redirect_headers_2)
        FAKE_RESPONSE_STACK.append(redirect_resp_1)
        FAKE_RESPONSE_STACK.append(redirect_resp_2)

        uri = "http://netloc/path/to/file.tar.gz"
        expected_returns = ['I ', 'am', ' a', ' t', 'ea', 'po', 't,', ' s',
                            'ho', 'rt', ' a', 'nd', ' s', 'to', 'ut', '\n']
        loc = get_location_from_uri(uri)
        (image_file, image_size) = self.store.get(loc)
        self.assertEqual(image_size, 31)

        chunks = [c for c in image_file]
        self.assertEqual(chunks, expected_returns)
示例#10
0
    def getresponse(self):
        mapper = routes.Mapper()
        server = self.registry.API(mapper)
        # NOTE(markwash): we need to pass through context auth information if
        # we have it.
        if 'X-Auth-Token' in self.req.headers:
            api = utils.FakeAuthMiddleware(server)
        else:
            api = context.UnauthenticatedContextMiddleware(server)
        webob_res = self.req.get_response(api)

        return utils.FakeHTTPResponse(status=webob_res.status_int,
                                      headers=webob_res.headers,
                                      data=webob_res.body)
示例#11
0
    def test_http_encoding_params(self):
        httplib.HTTPConnection.request(mox.IgnoreArg(), mox.IgnoreArg(),
                                       mox.IgnoreArg(), mox.IgnoreArg())

        # Lets fake the response
        # returned by httplib
        fake = utils.FakeHTTPResponse(data="Ok")
        httplib.HTTPConnection.getresponse().AndReturn(fake)
        self.mock.ReplayAll()

        params = {"test": u'ni\xf1o'}
        resp = self.client.do_request('GET',
                                      '/v1/images/detail',
                                      params=params)
        self.assertEqual(resp, fake)
示例#12
0
 def getresponse(self):
     if len(FAKE_RESPONSE_STACK):
         return FAKE_RESPONSE_STACK.pop()
     return utils.FakeHTTPResponse()
 def test_delete_all_queued_images(self):
     expected_data = b'{"num_deleted": 4}'
     self.client.do_request.return_value = utils.FakeHTTPResponse(
         data=expected_data)
     self.assertEqual(4, self.client.delete_all_queued_images())
     self.client.do_request.assert_called_with("DELETE", "/queued_images")
 def test_queue_image_for_caching(self):
     self.client.do_request.return_value = utils.FakeHTTPResponse()
     self.assertTrue(self.client.queue_image_for_caching('test_id'))
     self.client.do_request.assert_called_with("PUT",
                                               "/queued_images/test_id")
 def test_get_queued_images(self):
     expected_data = b'{"queued_images": "some_images"}'
     self.client.do_request.return_value = utils.FakeHTTPResponse(
         data=expected_data)
     self.assertEqual("some_images", self.client.get_queued_images())
     self.client.do_request.assert_called_with("GET", "/queued_images")
示例#16
0
 def getresponse(self):
     return utils.FakeHTTPResponse(status=self.status)
 def test_delete_queued_image(self):
     self.client.do_request.return_value = utils.FakeHTTPResponse()
     self.assertTrue(self.client.delete_queued_image('test_id'))
     self.client.do_request.assert_called_with("DELETE",
                                               "/queued_images/test_id")
示例#18
0
 def test_get_cached_images(self):
     expected_data = '{"cached_images": "some_images"}'
     self.client.do_request.return_value = \
         utils.FakeHTTPResponse(data=expected_data)
     self.assertEqual(self.client.get_cached_images(), "some_images")
     self.client.do_request.assert_called_with("GET", "/cached_images")