本文整理汇总了Python中savory_pie.tests.django.mock_request.mock_context函数的典型用法代码示例。如果您正苦于以下问题:Python mock_context函数的具体用法?Python mock_context怎么用?Python mock_context使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了mock_context函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test_handel_outgoing_count_attr_error
def test_handel_outgoing_count_attr_error(self, mapper):
ctx = mock_context()
target_dict = {}
mapper.get.return_value = sum
field = RelatedCountField('name')
count = Mock()
count.count.return_value = 3
query_result = Mock()
query_result.values.return_value = count
objects = Mock()
objects.filter.return_value = query_result
StubModel.objects = objects
stub_model = StubModel()
stub_model.id = 7
field.handle_outgoing(ctx, stub_model, target_dict)
self.assertEqual(
3,
target_dict['name'],
)
StubModel.objects.filter.assert_called_with(pk=7)
开发者ID:armooo,项目名称:savory-pie,代码行数:26,代码来源:test_fields.py
示例2: test_outgoing
def test_outgoing(self):
class MockResource(ModelResource):
model_class = mock_orm.Model
fields = [
AttributeField(attribute='bar', type=int),
]
field = URIListResourceField(attribute='foos', resource_class=MockResource)
source_object = mock_orm.Model()
related_manager = mock_orm.Manager()
related_manager.all = Mock(return_value=mock_orm.QuerySet(
mock_orm.Model(pk=1, bar=14),
mock_orm.Model(pk=2, bar=14)
))
source_object.foos = related_manager
ctx = mock_context()
ctx.build_resource_uri = Mock()
ctx.build_resource_uri.side_effect = ['uri://resources/1', 'uri://resources/2']
target_dict = {}
field.handle_outgoing(ctx, source_object, target_dict)
self.assertEqual(['uri://resources/1', 'uri://resources/2'], target_dict['foos'])
开发者ID:armooo,项目名称:savory-pie,代码行数:26,代码来源:test_fields.py
示例3: test_incoming_with_add
def test_incoming_with_add(self):
class MockResource(ModelResource):
key = Mock()
model_class = mock_orm.Model
fields = [
AttributeField(attribute='bar', type=int),
]
field = URIListResourceField(attribute='foos', resource_class=MockResource)
source_dict = {
'foos': ['uri://resources/1', 'uri://resources/2']
}
target_object = mock_orm.Mock()
related_manager = mock_orm.Manager()
related_manager.all = Mock(return_value=mock_orm.QuerySet())
target_object.foos = related_manager
ctx = mock_context()
foo1_model = Mock()
foo2_model = Mock()
mock_resources = Mock()
resource1 = MockResource(foo1_model)
resource1.key = 1
resource2 = MockResource(foo2_model)
resource2.key = 2
mock_resources.side_effect = [resource1, resource2]
ctx.resolve_resource_uri = mock_resources
field.handle_incoming(ctx, source_dict, target_object)
related_manager.add.assert_called_with(foo1_model, foo2_model)
开发者ID:armooo,项目名称:savory-pie,代码行数:33,代码来源:test_fields.py
示例4: test_incoming_with_resource_uri
def test_incoming_with_resource_uri(self):
del mock_orm.Model._models[:]
class MockResource(ModelResource):
model_class = mock_orm.Model
fields = [
AttributeField(attribute='bar', type=int),
]
field = RelatedManagerField(attribute='foo', resource_class=MockResource)
target_obj = mock_orm.Mock()
related_manager = mock_orm.Manager()
related_model = mock_orm.Model(pk=4, bar=10)
related_manager.all = Mock(return_value=mock_orm.QuerySet(
related_model
))
target_obj.foo = related_manager
source_dict = {
'foo': [{
'resourceUri': 'http://testsever/api/v2/bar/4',
'bar': 14
}],
}
model_index = len(mock_orm.Model._models)
ctx = mock_context()
ctx.resolve_resource_uri = Mock()
ctx.resolve_resource_uri.return_value = MockResource(related_model)
field.handle_incoming(ctx, source_dict, target_obj)
model = mock_orm.Model._models[model_index - 1]
self.assertEqual(14, model.bar)
开发者ID:armooo,项目名称:savory-pie,代码行数:34,代码来源:test_fields.py
示例5: test_incoming_no_id
def test_incoming_no_id(self):
del mock_orm.Model._models[:]
class MockResource(ModelResource):
model_class = mock_orm.Model
fields = [
AttributeField(attribute='bar', type=int),
]
field = RelatedManagerField(attribute='foo', resource_class=MockResource)
target_obj = mock_orm.Mock()
related_manager = mock_orm.Manager()
related_manager.all = Mock(return_value=mock_orm.QuerySet())
target_obj.foo = related_manager
source_dict = {
'foo': [{'bar': 4}],
}
model_index = len(mock_orm.Model._models)
field.handle_incoming(mock_context(), source_dict, target_obj)
model = mock_orm.Model._models[model_index]
self.assertEqual(4, model.bar)
related_manager.add.assert_called_with(model)
开发者ID:armooo,项目名称:savory-pie,代码行数:25,代码来源:test_fields.py
示例6: test_new_object_incoming
def test_new_object_incoming(self):
class MockResource(ModelResource):
model_class = Mock()
fields = [
AttributeField(attribute='bar', type=int),
]
field = OneToOneField(attribute='foo', resource_class=MockResource)
source_dict = {
'foo': {'bar': 20},
}
# The django ORM makes me sad that this is not a None or AttributeError
class MockFailsOnFooAccess(Mock):
def __getattr__(self, name):
if name == 'foo':
raise ObjectDoesNotExist
else:
return super(Mock, self).__getattr__(name)
target_object = MockFailsOnFooAccess()
target_object._meta.get_field().related.field.name = 'bar'
field.handle_incoming(mock_context(), source_dict, target_object)
self.assertEqual(20, target_object.foo.bar)
self.assertEqual(MockResource.model_class.return_value, target_object.foo)
target_object.foo.save.assert_called()
开发者ID:armooo,项目名称:savory-pie,代码行数:29,代码来源:test_fields.py
示例7: test_incoming_delete
def test_incoming_delete(self):
del mock_orm.Model._models[:]
class MockResource(ModelResource):
model_class = mock_orm.Model
fields = [
AttributeField(attribute='bar', type=int),
]
field = RelatedManagerField(attribute='foo', resource_class=MockResource)
target_obj = mock_orm.Mock()
related_manager = mock_orm.Manager()
related_model = mock_orm.Model(pk=4, bar=14)
related_manager.all = Mock(return_value=mock_orm.QuerySet(
related_model
))
target_obj.foo = related_manager
source_dict = {
'foo': [],
}
field.handle_incoming(mock_context(), source_dict, target_obj)
related_manager.remove.assert_called_with(related_model)
开发者ID:armooo,项目名称:savory-pie,代码行数:25,代码来源:test_fields.py
示例8: test_incoming_read_only
def test_incoming_read_only(self):
class Resource(ModelResource):
model_class = Mock()
pass
field = URIResourceField(
attribute='foo',
resource_class=Resource,
read_only=True,
)
source_dict = {
'foo': 'uri://resources/2'
}
target_object = Mock([])
related_model = mock_orm.Model(pk=2)
ctx = mock_context()
ctx.resolve_resource_uri = Mock(return_value=Resource(related_model))
field.handle_incoming(ctx, source_dict, target_object)
self.assertFalse(ctx.resolve_resource_uri.called)
self.assertFalse(hasattr(target_object, 'foo'))
开发者ID:armooo,项目名称:savory-pie,代码行数:26,代码来源:test_fields.py
示例9: test_find_existing_incoming
def test_find_existing_incoming(self):
mock_model = Mock()
class MockResource(ModelResource):
model_class = Mock()
fields = [
AttributeField(attribute='bar', type=int),
]
@classmethod
def get_by_source_dict(cls, ctx, sub_source_dict):
return cls(mock_model)
field = SubModelResourceField(attribute='foo', resource_class=MockResource)
source_dict = {
'foo': {'bar': 20},
}
# The django ORM makes me sad that this is not a None or AttributeError
class MockFailsOnFooAccess(Mock):
def __getattr__(self, name):
if name == 'foo':
raise ObjectDoesNotExist
else:
return super(Mock, self).__getattr__(name)
target_object = MockFailsOnFooAccess()
target_object._meta.get_field().related.field.name = 'bar'
field.handle_incoming(mock_context(), source_dict, target_object)
self.assertEqual(20, target_object.foo.bar)
self.assertEqual(mock_model, target_object.foo)
target_object.foo.save.assert_called()
开发者ID:armooo,项目名称:savory-pie,代码行数:35,代码来源:test_fields.py
示例10: test_find_existing_by_uri_incoming
def test_find_existing_by_uri_incoming(self):
class MockResource(ModelResource):
model_class = Mock()
fields = [
AttributeField(attribute='bar', type=int),
]
field = SubModelResourceField(attribute='foo', resource_class=MockResource)
source_dict = {
'foo': {
'resourceUri': 'http://testsever/api/v1/bar/20',
'bar': 20
},
}
target_object = Mock()
target_object._meta.get_field().related.field.name = 'bar'
ctx = mock_context()
ctx.resolve_resource_uri = Mock()
foo_20 = ctx.resolve_resource_uri.return_value = MockResource(Mock())
field.handle_incoming(ctx, source_dict, target_object)
ctx.resolve_resource_uri.assert_called_with(source_dict['foo']['resourceUri'])
target_object.foo.save.assert_called()
self.assertEqual(foo_20.model, target_object.foo)
self.assertEqual(20, target_object.foo.bar)
开发者ID:armooo,项目名称:savory-pie,代码行数:29,代码来源:test_fields.py
示例11: test_outgoing_with_resource_uri
def test_outgoing_with_resource_uri(self):
class MockResource(ModelResource):
model_class = mock_orm.Model
resource_path = 'bar'
fields = [
AttributeField(attribute='bar', type=int),
]
field = RelatedManagerField(attribute='foo', resource_class=MockResource)
source_object = mock_orm.Model()
related_manager = mock_orm.Manager()
related_manager.all = Mock(return_value=mock_orm.QuerySet(
mock_orm.Model(pk=4, bar=14)
))
source_object.foo = related_manager
target_dict = {}
field.handle_outgoing(mock_context(), source_object, target_dict)
target = target_dict['foo']
# Not testing the hash of the dictionary that is tested else were
self.assertEqual(
[{'resourceUri': 'uri://bar', 'bar': 14}],
target
)
开发者ID:armooo,项目名称:savory-pie,代码行数:27,代码来源:test_fields.py
示例12: test_add_field
def test_add_field(self):
field = AttributeField(attribute='foo', type=int)
source_dict = {'foo': 3}
filter_args = {}
field.filter_by_item(mock_context(), filter_args, source_dict)
self.assertEqual({'foo': 3}, filter_args)
开发者ID:armooo,项目名称:savory-pie,代码行数:8,代码来源:test_fields.py
示例13: test_simple_missing_incoming
def test_simple_missing_incoming(self):
source_dict = {}
target_object = Mock(name='target')
field = AttributeField(attribute='foo', type=int)
with self.assertRaises(ValidationError):
field.handle_incoming(mock_context(), source_dict, target_object)
开发者ID:armooo,项目名称:savory-pie,代码行数:8,代码来源:test_fields.py
示例14: test_prepare_with_use_prefetch
def test_prepare_with_use_prefetch(self):
field = AttributeField(attribute='foo.bar.baz', type=int, use_prefetch=True)
related = Related()
field.prepare(mock_context(), related)
self.assertEqual(related._prefetch, {
'foo__bar'
})
开发者ID:armooo,项目名称:savory-pie,代码行数:9,代码来源:test_fields.py
示例15: test_prepare
def test_prepare(self):
field = AttributeField(attribute='foo.bar.baz', type=int)
related = Related()
field.prepare(mock_context(), related)
self.assertEqual(related._select, {
'foo__bar'
})
开发者ID:armooo,项目名称:savory-pie,代码行数:9,代码来源:test_fields.py
示例16: test_simple_none_outgoing
def test_simple_none_outgoing(self):
source_object = Mock()
source_object.foo = None
target_dict = dict()
field = AttributeField(attribute='foo', type=int)
field.handle_outgoing(mock_context(), source_object, target_dict)
self.assertEqual(target_dict['foo'], None)
开发者ID:armooo,项目名称:savory-pie,代码行数:10,代码来源:test_fields.py
示例17: test_incoming_m2m_delete
def test_incoming_m2m_delete(self):
"""
Attempting to simulate the following:
Bar(Model):
pass
Foo(Model):
bars = ManyToManyField(Bar, through='FooBar')
FooBar(Model):
bar: ForeignKey(Bar)
foo: ForeignKey(Foo)
BarResource(ModelResource):
model_class = Bar
FooResource(ModelResource):
model_class = Foo
fields = [
RelatedManagerField('bars', BarResource),
]
"""
class MockResource(ModelResource):
model_class = mock_orm.Model
fields = [
AttributeField(attribute='some_attribute', type=int),
]
field = RelatedManagerField(attribute='bars', resource_class=MockResource)
bar = mock_orm.Model(pk=1)
foo = mock_orm.Model(pk=2)
foobar = mock_orm.Model(pk=3, foo=foo, bar=bar)
foobars = mock_orm.Manager()
foobars.all = Mock(return_value=mock_orm.QuerySet(foobar))
foobars.filter = foobars.all
foobar.objects = foobars
foo.bars = mock_orm.Manager()
foo.bars.source_field_name = 'foo'
foo.bars.target_field_name = 'bar'
foo.bars.all = Mock(return_value=mock_orm.QuerySet(bar))
foo.bars.through = foobar
delattr(foo.bars, 'remove')
source_dict = {
'bars': [],
}
field.handle_incoming(mock_context(), source_dict, foo)
foobar.delete.assert_called_with()
开发者ID:armooo,项目名称:savory-pie,代码行数:55,代码来源:test_fields.py
示例18: test_simple_incoming
def test_simple_incoming(self):
source_dict = {
'foo': 20
}
target_object = Mock(name='target')
field = AttributeField(attribute='foo', type=int)
field.handle_incoming(mock_context(), source_dict, target_object)
self.assertEqual(target_object.foo, 20)
开发者ID:armooo,项目名称:savory-pie,代码行数:11,代码来源:test_fields.py
示例19: test_published_property_camel_case
def test_published_property_camel_case(self):
source_object = Mock()
source_object.foo.bar = 20
field = AttributeField(attribute='foo.bar', type=int, published_property='foo_bar')
target_dict = dict()
field.handle_outgoing(mock_context(), source_object, target_dict)
self.assertEqual(target_dict['fooBar'], 20)
开发者ID:armooo,项目名称:savory-pie,代码行数:11,代码来源:test_fields.py
示例20: test_multilevel_outgoing
def test_multilevel_outgoing(self):
source_object = Mock()
source_object.foo.bar = 20
field = AttributeField(attribute='foo.bar', type=int)
target_dict = dict()
field.handle_outgoing(mock_context(), source_object, target_dict)
self.assertEqual(target_dict['bar'], 20)
开发者ID:armooo,项目名称:savory-pie,代码行数:11,代码来源:test_fields.py
注:本文中的savory_pie.tests.django.mock_request.mock_context函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论