def test_collections_version_ids(self): kwargs = { 'parent_resource': self.userprofile1 } collection = Collection( name='collection2', mnemonic='collection2', full_name='Collection Two', collection_type='Dictionary', public_access=ACCESS_TYPE_EDIT, default_locale='en', supported_locales=['en'], website='www.collection2.com', description='This is the second test collection' ) Collection.persist_new(collection, self.user1, **kwargs) source = Source( name='source', mnemonic='source', full_name='Source One', source_type='Dictionary', public_access=ACCESS_TYPE_EDIT, default_locale='en', supported_locales=['en'], website='www.source1.com', description='This is the first test source' ) kwargs = { 'parent_resource': self.org1 } Source.persist_new(source, self.user1, **kwargs) (concept1, errors) = create_concept(mnemonic='concept12', user=self.user1, source=source) (from_concept, errors) = create_concept(mnemonic='fromConcept', user=self.user1, source=source) (to_concept, errors) = create_concept(mnemonic='toConcept', user=self.user1, source=source) mapping = Mapping( map_type='Same As', from_concept=from_concept, to_concept=to_concept, external_id='mapping', ) kwargs = { 'parent_resource': source, } Mapping.persist_new(mapping, self.user1, **kwargs) mapping = Mapping.objects.filter()[1] mapping_reference = '/orgs/org1/sources/source/mappings/' + mapping.id + '/' references = [mapping_reference] collection.expressions = references collection.full_clean() collection.save() mapping_version = MappingVersion.objects.filter()[0] collection_version = CollectionVersion( name='version1', mnemonic='version1', versioned_object=collection, released=True, created_by=self.user1, updated_by=self.user1, mappings=[mapping_version.id] ) collection_version.full_clean() collection_version.save() self.assertEquals(mapping_version.collection_version_ids, [collection_version.id])
def restore_object(self, attrs, instance=None): version = CollectionVersion() version.mnemonic = attrs.get(self.Meta.lookup_field) return super(CollectionVersionCreateSerializer, self).restore_object(attrs, instance=version)
def test_delete_organization_with_sources_and_collections(self): org = Organization(mnemonic='org1', name='My Organization', created_by=self.user, updated_by=self.user) org.full_clean() org.save() org_id = org.id org = Organization.objects.get(id=org.id) user1 = UserProfile.objects.get(mnemonic=self.user.username) org.members.append(user1.id) user1.organizations.append(org.id) org.save() user1.save() source = Source(name='source1', mnemonic='source1', full_name='Source One', parent=org, created_by=self.user, updated_by=self.user) source.full_clean() source.save() source2 = Source(name='source2', mnemonic='source2', full_name='Source Two', parent=org, created_by=self.user, updated_by=self.user) source2.full_clean() source2.save() source_version = SourceVersion( name='version1', mnemonic='version1', versioned_object=source2, released=True, created_by=self.user, updated_by=self.user, ) source_version.full_clean() source_version.save() source_version2 = SourceVersion( name='version2', mnemonic='version2', versioned_object=source2, released=True, created_by=self.user, updated_by=self.user, ) source_version2.full_clean() source_version2.save() collection = Collection.objects.create(name='collection1', mnemonic='collection1', created_by=self.user, updated_by=self.user, parent=org, external_id='EXTID1') collection_version = CollectionVersion( name='version1', mnemonic='version1', versioned_object=collection, released=True, created_by='user1', updated_by='user1', ) collection_version.full_clean() collection_version.save() collection_version2 = CollectionVersion( name='version2', mnemonic='version2', versioned_object=collection, released=True, created_by=self.user, updated_by=self.user, ) collection_version2.full_clean() collection_version2.save() collection2 = Collection.objects.create(name='collection2', mnemonic='collection2', created_by=self.user, updated_by=self.user, parent=org, external_id='EXTID2') self.assertTrue(Organization.objects.filter(id=org_id).exists()) self.assertTrue(Source.objects.filter(id=source.id).exists()) self.assertTrue(Source.objects.filter(id=source2.id).exists()) self.assertTrue( SourceVersion.objects.filter(id=source_version.id).exists()) self.assertTrue( SourceVersion.objects.filter(id=source_version2.id).exists()) self.assertTrue(Collection.objects.filter(id=collection.id).exists()) self.assertTrue(Collection.objects.filter(id=collection2.id).exists()) self.assertTrue( CollectionVersion.objects.filter( id=collection_version.id).exists()) self.assertTrue( CollectionVersion.objects.filter( id=collection_version2.id).exists()) org.delete() self.assertFalse(Organization.objects.filter(id=org.id).exists()) self.assertFalse(Source.objects.filter(id=source.id).exists()) self.assertFalse(Source.objects.filter(id=source2.id).exists()) self.assertFalse( SourceVersion.objects.filter(id=source_version.id).exists()) self.assertFalse( SourceVersion.objects.filter(id=source_version2.id).exists()) self.assertFalse(Collection.objects.filter(id=collection.id).exists()) self.assertFalse(Collection.objects.filter(id=collection2.id).exists()) self.assertFalse( CollectionVersion.objects.filter( id=collection_version.id).exists()) self.assertFalse( CollectionVersion.objects.filter( id=collection_version2.id).exists()) #should not delete member user self.assertTrue( UserProfile.objects.filter(mnemonic=self.user.username).exists()) #should delete org from organizations on user self.assertFalse(org_id in UserProfile.objects.get( mnemonic=self.user.username).organizations)