test_glance.py 文件源码

python
阅读 22 收藏 0 点赞 0 评论 0

项目:os-xenapi 作者: openstack 项目源码 文件源码
def test_upload_tarball_by_url_https_failed_retry_v2(self):
        fake_conn = mock.Mock()
        mock_HTTPSConn = self.mock_patch_object(
            self.glance, '_create_connection', fake_conn)
        mock_validate_image = self.mock_patch_object(
            self.glance, 'validate_image_status_before_upload_v2')
        mock_create_tarball = self.mock_patch_object(
            self.glance.utils, 'create_tarball')
        mock_check_resp_status = self.mock_patch_object(
            self.glance, 'check_resp_status_and_retry')
        mock_update_image_meta = self.mock_patch_object(
            self.glance, '_update_image_meta_v2')
        self.glance._create_connection().getresponse = mock.Mock()
        self.glance._create_connection().getresponse().status = \
            httplib.REQUEST_TIMEOUT
        fake_extra_headers = {}
        fake_properties = {}
        fake_endpoint = 'https://fake_netloc/fake_path'
        fake_image_id = 'fake_image_id'
        expected_url = "%(glance_endpoint)s/v2/images/%(image_id)s/file" % {
            'glance_endpoint': fake_endpoint,
            'image_id': fake_image_id}
        expected_wsgi_path = '/fake_path/v2/images/%s' % fake_image_id

        expected_mgt_url = "%(glance_endpoint)s/v2/images/%(image_id)s" % {
            'glance_endpoint': fake_endpoint,
            'image_id': fake_image_id}
        expect_url_parts = urlparse(expected_url)
        fake_mgt_parts = urlparse(expected_mgt_url)
        fake_mgt_path = fake_mgt_parts[2]

        self.glance._upload_tarball_by_url_v2(
            'fake_staging_path', fake_image_id, fake_endpoint,
            fake_extra_headers, fake_properties)

        mock_update_image_meta.assert_called_with(fake_conn,
                                                  fake_extra_headers,
                                                  fake_properties,
                                                  fake_mgt_path)
        mock_HTTPSConn.assert_called_with(expect_url_parts[0],
                                          expect_url_parts[1])
        mock_validate_image.assert_called_with(fake_conn,
                                               expected_url,
                                               fake_extra_headers,
                                               expected_wsgi_path)
        self.assertTrue(mock_create_tarball.called)
        self.assertTrue(
            mock_HTTPSConn.return_value.getresponse.called)
        self.assertTrue(mock_check_resp_status.called)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号