def test_normalizeddata(self): work = factories.AbstractCreativeWorkFactory() work.change.change_set.normalized_data.delete() assert models.Change.objects.count() == 0 assert models.ChangeSet.objects.count() == 0 assert models.AbstractCreativeWork.objects.count() == 0
def test_change_datetime_change(self, graph): tag = factories.AbstractCreativeWorkFactory() assert graph.create( IDObfuscator.encode(tag), 'tag', { 'date_updated': pendulum.fromtimestamp(0).isoformat() }).change == { 'date_updated': pendulum.fromtimestamp(0).isoformat() }
def test_no_truncate(self): cws = [factories.AbstractCreativeWorkFactory() for _ in range(10)] assert models.CreativeWork.objects.all().count() == 10 assert models.AbstractCreativeWorkVersion.objects.count() == 10 for i, cw in enumerate(cws): cw.delete() assert models.CreativeWork.objects.all().count() == 9 - i assert models.AbstractCreativeWorkVersion.objects.count() == 9 - i
def test_rawdata(self): work = factories.AbstractCreativeWorkFactory( change__change_set__normalized_data__raw=models.RawData.objects. store_data('doc_id', b'', factories.ShareUserFactory(), '')) work.change.change_set.normalized_data.delete() assert models.Change.objects.count() == 0 assert models.ChangeSet.objects.count() == 0 assert models.NormalizedData.objects.count() == 0 assert models.AbstractCreativeWork.objects.count() == 0
def test_one_version(self): cw = factories.AbstractCreativeWorkFactory(title='All About Cats') assert models.CreativeWork.objects.all().count() == 1 assert models.AbstractCreativeWorkVersion.objects.count() == 1 cw.delete() assert models.CreativeWork.objects.all().count() == 0 assert models.AbstractCreativeWorkVersion.objects.count() == 0
def test_rawdata(self, source_config): work = factories.AbstractCreativeWorkFactory( change__change_set__normalized_data__raw=models.RawDatum.objects. store_data(source_config, FetchResult('unique', 'data'))) work.change.change_set.normalized_data.delete() assert models.Change.objects.count() == 0 assert models.ChangeSet.objects.count() == 0 assert models.NormalizedData.objects.count() == 0 assert models.AbstractCreativeWork.objects.count() == 0
def test_many_versions(self): cw = factories.AbstractCreativeWorkFactory(title='All about cats') cw.administrative_change(title='All About Kets') assert models.CreativeWork.objects.all().count() == 1 assert models.AbstractCreativeWorkVersion.objects.count() == 2 assert cw.versions.count() == 2 cw.delete() assert models.CreativeWork.objects.all().count() == 0 assert models.AbstractCreativeWorkVersion.objects.count() == 0
def test_change_extra(self, graph): tag_model = factories.AbstractCreativeWorkFactory(extra=factories.ExtraDataFactory( change=factories.ChangeFactory(), data={'testing': { 'Same': 'here', 'Overwrite': 'me', 'Dont touch': 'this one', }} )) graph.namespace = 'testing' tag = graph.create(None, 'tag', {'extra': {'Same': 'here', 'Overwrite': 'you', 'New key': 'here'}}) tag.instance = tag_model assert tag.change == {'extra': { 'New key': 'here', 'Overwrite': 'you', }}
def test_one_to_one_inverse(self): work = factories.AbstractCreativeWorkFactory( extra=factories.ExtraDataFactory()) assert work.extra is not None assert work.extra_version is not None for model, (count, version_count) in { models.AbstractCreativeWork: (1, 1), models.ExtraData: (1, 1), }.items(): assert model.objects.count() == count assert model.VersionModel.objects.count() == version_count work.extra.delete() for model, (count, version_count) in { models.AbstractCreativeWork: (0, 0), models.ExtraData: (0, 0), }.items(): assert model.objects.count() == count assert model.VersionModel.objects.count() == version_count
def test_many_to_many(self): work = factories.AbstractCreativeWorkFactory() for i in range(10): factories.ThroughTagsFactory(creative_work=work, tag=factories.TagFactory(name=str(i))) for model, (count, version_count) in { models.AbstractCreativeWork: (1, 1), models.ThroughTags: (10, 10), models.Tag: (10, 10), }.items(): assert model.objects.count() == count assert model.VersionModel.objects.count() == version_count work.delete() for model, (count, version_count) in { models.AbstractCreativeWork: (0, 0), models.ThroughTags: (0, 0), models.Tag: (10, 10), }.items(): assert model.objects.count() == count assert model.VersionModel.objects.count() == version_count
def test_changeset(self): work = factories.AbstractCreativeWorkFactory() work.change.change_set.delete() assert models.Change.objects.count() == 0 assert models.AbstractCreativeWork.objects.count() == 0
def test_change_datetime_no_change(self, graph): work = factories.AbstractCreativeWorkFactory() assert graph.create(IDObfuscator.encode(work), work._meta.model_name, {'date_updated': work.date_updated.isoformat()}).change == {}
def test_change(self): work = factories.AbstractCreativeWorkFactory() work.change.delete() assert models.AbstractCreativeWork.objects.exclude( id=None).count() == 0