def test_queryset_create(): class Dummy(object): def __init__(self, **kwargs): self.__dict__ = kwargs queryset = MemoryQuerySet(Dummy, data=[]) assert len(queryset.all()) == 0 model = queryset.create(id=1, name="Name 1", age=20) assert isinstance(model, Dummy) assert len(queryset.all()) == 1 assert queryset.get(age=20).name == "Name 1" model = queryset.create(id=2, name="Name 2", age=25) assert isinstance(model, Dummy) assert len(queryset.all()) == 2 assert queryset.get(age=20).name == "Name 1" assert queryset.get(age=25).name == "Name 2" queryset2 = MemoryQuerySet(Dummy, data=[]) MemoryQuerySet.fetch_from_repo = True assert len(queryset2.all()) == 2 assert queryset2.get(age=20).name == "Name 1" assert queryset2.get(age=25).name == "Name 2"
def test_queryset_get(): from datetime import date person1 = type_and_instance_attr_eq('Person', name="Name 1", nickname="Nickname 1", birthday=date(2011, 6, 20), age=30, memory=True) person2 = type_and_instance_attr_eq('Person', name="Name 2", nickname="Nickname 2", birthday=date(2011, 6, 22), age=57, memory=True) person3 = type_and_instance_attr_eq('Person', name="Name 3", nickname="Nickname 3", birthday=date(2011, 4, 20), age=30, memory=True) person4 = type_and_instance_attr_eq('Person', name="Name 4", nickname="Nickname 2", birthday=date(2010, 6, 20), age=30, memory=True) data = [person1, person2, person3, person4] queryset = MemoryQuerySet(person1.__class__, data=data) MemoryQuerySet.fetch_from_repo = False assert queryset.get(name="Name 1") == person1 assert queryset.get(name="Name 1").name == person1.name with pytest.raises(ObjectDoesNotExist): queryset.get(name="Nobody") with pytest.raises(MultipleObjectsReturned): queryset.get(nickname="Nickname 2")