• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Python unit.patch函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中testlunr.unit.patch函数的典型用法代码示例。如果您正苦于以下问题:Python patch函数的具体用法?Python patch怎么用?Python patch使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了patch函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: test_create_from_image_no_scratch_space

    def test_create_from_image_no_scratch_space(self):

        def mock_lvcreate_v1(cmd, vg, **kwargs):
            raise ProcessError('%s %s' % (cmd, vg), '',
                               'Insufficient free extents', 5)

        def glance_conn(conf, tenant_id, glance_urls=None):
            data = 'A' * 4096
            image = MockImage(image_id, len(data), data)
            glance = MockImageGlance(image)
            return glance
        volume.get_glance_conn = glance_conn
        h = volume.VolumeHelper(self.conf)
        volume_id = uuid4()
        image_id = uuid4()
        with patch(volume, 'execute', mock_lvcreate_v1):
            self.assertRaises(ServiceUnavailable, h.create, volume_id,
                              image_id=image_id, lock=self.lock)

        def mock_lvcreate_v2(cmd, vg, **kwargs):
            raise ProcessError('%s %s' % (cmd, vg), '',
                               'insufficient free space', 5)
        with patch(volume, 'execute', mock_lvcreate_v2):
            self.assertRaises(ServiceUnavailable, h.create, volume_id,
                              image_id=image_id, lock=self.lock)
开发者ID:audip,项目名称:lunr,代码行数:25,代码来源:test_volume.py


示例2: test_chain_vhd_ovf

    def test_chain_vhd_ovf(self):
        image_id = uuid4()
        data = 'A' * 4096
        image = MockImage(image_id, len(data), data, disk_format='vhd',
                          container_format='ovf')
        glance = MockImageGlance(image)

        def mock_getsize(*args, **kwargs):
            return 1234567

        def mock_vhd_chain(path):
            return ['0.vhd', '1.vhd', '2.vhd', '3.vhd']

        def scrub_cb():
            scrub_cb.called = True
        scrub_cb.called = False
        with patch(self.helper, 'get_vhd_chain', mock_vhd_chain):
            with patch(os.path, 'getsize', mock_getsize):
                self.helper.copy_image(self.volume, image.head, glance,
                                       self.tmp_vol, scrub_cb)
        with open(self.volume['path'], 'r') as f:
            # Fake qemu-img just writes to the volume
            stuff = f.read()
            self.assertIn('qemu-img', stuff)
            self.assertIn(self.volume['path'], stuff)
        self.assertEquals(scrub_cb.called, True)
开发者ID:audip,项目名称:lunr,代码行数:26,代码来源:test_volume.py


示例3: test_make_api_request_volume_id

    def test_make_api_request_volume_id(self):
        volume_id = 'v1'
        volume_name = 'volume_name'
        cinder_host = 'node_cinder_host'

        def mock_urlopen(req, data=None):
            expected = 'http://localhost:8080/v1.0/admin/volumes/v1'
            self.assertEquals(req.get_full_url(), expected)
            mock_urlopen.called = True
        mock_urlopen.called = False

        def mock_lookup_id(id, api_server, cinder_host):
            self.assertEquals(id, volume_name)
            mock_lookup_id.called = True
            return volume_id
        mock_lookup_id.called = False

        data = {'cinder_host': cinder_host, 'foo': 'bar'}

        with patch(utils, 'urlopen', mock_urlopen):
            with patch(utils, 'lookup_id', mock_lookup_id):
                utils.make_api_request('volumes', volume_name, data=data)

        self.assertTrue(mock_urlopen.called)
        self.assertTrue(mock_lookup_id.called)
开发者ID:audip,项目名称:lunr,代码行数:25,代码来源:test_utils.py


示例4: test_create_fail_ioerror

    def test_create_fail_ioerror(self):
        h = backup.BackupHelper(self.conf)

        def callback():
            callback.ran = True
        callback.ran = False

        def error_callback():
            error_callback.ran = True
        error_callback.ran = False

        snapshot = {
            'id': 'bak1',
            'timestamp': 1.0,
        }
        snapshot['path'] = os.path.join(self.scratch, 'bak1')
        snapshot['origin'] = 'vol1'
        snapshot['size'] = 4 * 1024 * 1024
        with open(snapshot['path'], 'w') as f:
            f.write('\x00' * snapshot['size'])

        backup_id = 'backup1'

        def fake_hydrate(junk):
            raise BlockReadFailed("cant read!")

        with patch(Block, "_hydrate", fake_hydrate):
            h.create(snapshot, backup_id,
                     callback=callback, error_callback=error_callback,
                     lock=MockResourceLock())
            self.assertFalse(callback.ran)
            self.assertTrue(error_callback.ran)
        stats_path = h._stats_file('vol1')
        self.assertFalse(os.path.exists(stats_path))
开发者ID:audip,项目名称:lunr,代码行数:34,代码来源:test_backup.py


示例5: test_create_storage_node_failover

    def test_create_storage_node_failover(self):
        self.node2 = db.Session.add(
            db.models.Node('somenode2', 100000000000, volume_type=self.vtype,
                           port=8081, hostname='127.0.0.1'))
        self.node3 = db.Session.add(
            db.models.Node('somenode3', 100000000000, volume_type=self.vtype,
                           port=8082, hostname='127.0.0.1'))
        db.Session.commit()

        def fail_response(*args, **kwargs):
            raise socket.timeout("too slow!")

        def success_response(*args, **kwargs):
            data = {'status': 'ACTIVE'}
            return MockResponse(200, json.dumps(data))
        self.responses = [fail_response, fail_response, success_response]

        def mock_urlopen(*args, **kwargs):
            func = self.responses.pop(0)
            return func(*args, **kwargs)
        with patch(base, 'urlopen', mock_urlopen):
            resp = self.request("/v1.0/account/volumes/test", 'PUT',
                                {'size': 1, 'volume_type_name': 'vtype'})
        self.assertEquals(resp.code, 200)
        self.assertEquals(resp.body['status'], 'ACTIVE')
        self.assertEqual(self.responses, [])
开发者ID:corystone,项目名称:lunr,代码行数:26,代码来源:test_volume.py


示例6: test_check_reg_api_server_error_retry_success

    def test_check_reg_api_server_error_retry_success(self):
        h = base.Helper(self.conf)
        name = 'volume-%s' % uuid4()
        out = h.volumes.create(name)

        def error_validator(req):
            error_validator.called = True
            body = StringIO(dumps({'reason': 'Internal Error'}))
            raise HTTPError(req.get_full_url(), 500, 'Server Error', {}, body)
        error_validator.called = False

        def success_validator(req):
            success_validator.called = True
            return 200, {}
        success_validator.called = False
        validators = [
            # listing
            lambda *args: (200, []),
            error_validator,
            success_validator,
        ]
        self.validator_gen = iter(validators)
        with patch(base, 'sleep', lambda t: None):
            h.check_registration()
            self.assert_(error_validator.called)
            self.assert_(success_validator.called)
开发者ID:audip,项目名称:lunr,代码行数:26,代码来源:test_helper.py


示例7: test_update

    def test_update(self):
        ip = '123.456.123.456'
        initiator = 'something.long.and.ugly.with.dots'

        def node_request(*args, **kwargs):
            return {
                'sessions': [{
                    'ip': ip,
                    'initiator': initiator
                }]
            }

        url = "/v1.0/%s/volumes/%s/export" % (self.account.id, self.volume.id)
        instance_id = 'someinstanceid'
        status = 'attaching'
        params = {'instance_id': instance_id, 'status': status}
        with patch(ExportController, 'node_request', node_request):
            resp = self.request(url, 'POST', params)
        self.assertEquals(resp.code // 100, 2)
        self.assertEquals(resp.body['instance_id'], instance_id)
        self.assertEquals(resp.body['status'], status)
        self.assertEquals(resp.body['session_ip'], ip)
        self.assertEquals(resp.body['session_initiator'], initiator)
        self.db.refresh(self.export)
        self.assertEquals(self.export.session_ip, ip)
        self.assertEquals(self.export.session_initiator, initiator)
开发者ID:audip,项目名称:lunr,代码行数:26,代码来源:test_export.py


示例8: test_used

    def test_used(self):
        backup = Backup(self.volume, id='1', status='SAVING', size=1,
                        last_modified=datetime(2000, 01, 01, 1, 1, 1))

        def urlopen(request, **kwargs):
            return MockResponse(dumps({
                'in-use': True,
                'uri': 'DELETE /volumes/ed209cdd-1317-41e8-8474-b0c0f6c3369c/'
                       'backups/a30a6e5b-2a96-489c-bde1-56f9c615ea1f',
            }), 200)

        prune = PruneSuspects(self.conf, self.sess)
        with patch(suspects, 'urlopen', urlopen):
            with patch(suspects, 'log', MockLog()):
                prune.locked(backup)
                self.assertEquals(suspects.log.count, 1)
开发者ID:audip,项目名称:lunr,代码行数:16,代码来源:test_suspects.py


示例9: test_no_free_space

    def test_no_free_space(self):
        def mock_statvfs(path):
            stat = os.statvfs(path)
            kwargs = {}
            for key in [k for k in dir(stat) if k.startswith("f_")]:
                if key == "f_bfree":
                    kwargs[key] = 0
                else:
                    kwargs[key] = getattr(stat, key)
            return Struct(**kwargs)

        class MockOS(object):
            def __getattribute__(self, attr):
                if attr == "statvfs":
                    return mock_statvfs
                else:
                    return getattr(os, attr)

        with patch(disk, "os", MockOS()):
            with temp_client() as conn:
                self.assertRaises(disk.ClientException, conn.head_account)
                try:
                    conn.head_account()
                except disk.ClientException, e:
                    self.assert_("no free space" in str(e).lower())
开发者ID:pombredanne,项目名称:lunr,代码行数:25,代码来源:test_disk_client.py


示例10: test_check_reg_unable_to_contact_api

    def test_check_reg_unable_to_contact_api(self):
        h = base.Helper(self.conf)

        def exploding_validator(req):
            raise URLError('connection refused')
        self.validator_gen = itertools.cycle([exploding_validator])
        with patch(base, 'sleep', lambda t: None):
            self.assertRaises(APIError, h.check_registration)
开发者ID:audip,项目名称:lunr,代码行数:8,代码来源:test_helper.py


示例11: test_db_goes_away_recovery

    def test_db_goes_away_recovery(self):
        attempts = [0]
        original = getattr(db.Session, 'get_or_create_account')

        def raise_exc(account):
            if attempts[0] == 0:
                attempts[0] += 1
                raise OperationalError('', '', Struct(args=[2006]))
            return original(account)

        with patch(base, 'urlopen', MockUrlopen):
            with patch(server, 'sleep', lambda i: True):
                with patch(db.Session, 'get_or_create_account', raise_exc):
                    resp = self.request("/v1.0/account/volumes/thrawn", 'PUT',
                                        {'size': 1,
                                         'volume_type_name': 'vtype'})
        self.assertEquals(resp.code, 200)
开发者ID:corystone,项目名称:lunr,代码行数:17,代码来源:test_volume.py


示例12: test_make_api_request_defaults

 def test_make_api_request_defaults(self):
     def mock_urlopen(req, data=None):
         expected = 'http://localhost:8080/v1.0/admin/nodes'
         self.assertEquals(req.get_full_url(), expected)
         mock_urlopen.called = True
     with patch(utils, 'urlopen', mock_urlopen):
         utils.make_api_request('nodes')
     self.assert_(mock_urlopen.called)
开发者ID:audip,项目名称:lunr,代码行数:8,代码来源:test_utils.py


示例13: test_check_reg_api_server_error

    def test_check_reg_api_server_error(self):
        h = base.Helper(self.conf)

        def error_validator(req):
            body = StringIO(dumps({'reason': 'Internal Error'}))
            raise HTTPError(req.get_full_url(), 500, 'Server Error', {}, body)
        self.validator_gen = itertools.cycle([error_validator])
        with patch(base, 'sleep', lambda t: None):
            self.assertRaises(APIError, h.check_registration)
开发者ID:audip,项目名称:lunr,代码行数:9,代码来源:test_helper.py


示例14: test_status_client_exception

    def test_status_client_exception(self):
        h = backup.BackupHelper(self.conf)
        conn = get_conn(self.conf)

        def mock_head_account(*args, **kwargs):
            raise conn.ClientException('unable to connect')
        conn.head_account = mock_head_account
        with patch(backup, 'get_conn', lambda *args: conn):
            self.assertRaises(ServiceUnavailable, h.status)
开发者ID:audip,项目名称:lunr,代码行数:9,代码来源:test_backup.py


示例15: test_delete_node_error

    def test_delete_node_error(self):
        def raise_exc(*args, **kwargs):
            e = base.NodeError(MockRequest(), URLError("somthing bad"))
            e.code = 400
            e.status = '400 something bad'
            raise e

        url = "/v1.0/%s/volumes/%s/export" % (self.account.id, self.volume.id)
        with patch(ExportController, 'node_request', raise_exc):
            resp = self.request(url, 'DELETE')
        self.assertEquals(resp.code, 400)
开发者ID:audip,项目名称:lunr,代码行数:11,代码来源:test_export.py


示例16: test_delete_node_404

    def test_delete_node_404(self):
        def raise_exc(*args, **kwargs):
            e = base.NodeError(MockRequest(), URLError("Its gone!"))
            e.code = 404
            e.status = '404 Not Found'
            raise e

        url = "/v1.0/%s/volumes/%s/export" % (self.account.id, self.volume.id)
        with patch(ExportController, 'node_request', raise_exc):
            resp = self.request(url, 'DELETE')
        self.assertEquals(resp.code // 100, 2)
开发者ID:audip,项目名称:lunr,代码行数:11,代码来源:test_export.py


示例17: test_unhandeled_exception_in_check_registration

 def test_unhandeled_exception_in_check_registration(self):
     def mock_request(*args, **kwargs):
         mock_request.called = True
         raise Exception('Something unexpected happened')
     with patch(base, 'make_api_request', mock_request):
         cmd = LunrServeCommand('storage-server')
         cmd.run([self.config_file])
     # mock request was called
     self.assert_(mock_request.called)
     # app still started
     self.assert_(self.serve.called)
开发者ID:audip,项目名称:lunr,代码行数:11,代码来源:test_server.py


示例18: test_execute_nosudo

    def test_execute_nosudo(self):
        execute_args = []

        def mock_popen(args, **kwargs):
            execute_args.extend(args)
            return MockPopen()

        with patch(subprocess, 'Popen', mock_popen):
            utils.execute('ls', '-r', _all=None, color='auto', sudo=False)

        self.assertEqual(4, len(execute_args))
        self.assertEqual(['ls', '-r', '--all', '--color=auto'], execute_args)
开发者ID:audip,项目名称:lunr,代码行数:12,代码来源:test_utils.py


示例19: test_timeout

    def test_timeout(self):
        expected = self.create('BUILDING', datetime(2000, 01, 01, 1, 1, 1))
        self.called = False

        def urlopen_timeout(request, **kwargs):
            self.called = True
            raise socket.timeout('TIMEOUT')

        restore = RestoreSuspects(self.conf, self.db)
        with patch(suspects, 'urlopen', urlopen_timeout):
            restore.run(datetime(2000, 01, 01, 1, 1, 30))
        self.assert_(self.called)
开发者ID:audip,项目名称:lunr,代码行数:12,代码来源:test_suspects.py


示例20: test_create_storage_node_req_fail

    def test_create_storage_node_req_fail(self):
        def raise_exc(*args, **kwargs):
            raise base.NodeError(MockRequest(), URLError("something bad"))

        with patch(Controller, 'node_request', raise_exc):
            resp = self.request("/v1.0/account/volumes/test", 'PUT',
                                {'size': 1, 'volume_type_name': 'vtype'})

        self.assertEquals(resp.code, 503)
        self.assert_("something bad" in resp.body['reason'])

        resp = self.request("/v1.0/account/volumes/test")
        self.assertEquals(resp.body['status'], 'DELETED')
开发者ID:corystone,项目名称:lunr,代码行数:13,代码来源:test_volume.py



注:本文中的testlunr.unit.patch函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python base.ModelDataBase类代码示例发布时间:2022-05-27
下一篇:
Python testlink.TestLinkHelper类代码示例发布时间:2022-05-27
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap