def _create_license(): license_ = License(name='Creative Commons Attribution-NoDerivs 2.5 Australia', url='http://creativecommons.org/licenses/by-nd/2.5/au/', internal_description='CC BY 2.5 AU', allows_distribution=True) license_.save() return license_
def _create_test_data(): user = User(username='******', first_name='Thomas', last_name='Atkins', email='*****@*****.**') user.save() user2 = User(username='******', email='*****@*****.**') user2.save() map(lambda u: UserProfile(user=u).save(), [user, user2]) license_ = License(name='Creative Commons Attribution-NoDerivs 2.5 Australia', url='http://creativecommons.org/licenses/by-nd/2.5/au/', internal_description='CC BY 2.5 AU', allows_distribution=True) license_.save() experiment = Experiment(title='Norwegian Blue', description='Parrot + 40kV', created_by=user) experiment.public_access = Experiment.PUBLIC_ACCESS_FULL experiment.license = license_ experiment.save() acl = ExperimentACL(experiment=experiment, pluginId='django_user', entityId=str(user2.id), isOwner=True, canRead=True, canWrite=True, canDelete=True, aclOwnershipType=ExperimentACL.OWNER_OWNED) acl.save() return (user, experiment)
def _create_test_data(): user = User(username='******', first_name='Thomas', last_name='Atkins', email='*****@*****.**') user.save() license_ = License(name='Creative Commons Attribution-NoDerivs 2.5 Australia', url='http://creativecommons.org/licenses/by-nd/2.5/au/', internal_description='CC BY 2.5 AU', allows_distribution=True) license_.save() experiment = Experiment(title='Norwegian Blue', description='Parrot + 40kV', created_by=user) experiment.public_access = Experiment.PUBLIC_ACCESS_FULL experiment.license = license_ experiment.save() experiment.experimentauthor_set.create(order=0, author="John Cleese", url="http://nla.gov.au/nla.party-1") experiment.experimentauthor_set.create(order=1, author="Michael Palin", url="http://nla.gov.au/nla.party-2") acl = ObjectACL(content_object=experiment, pluginId='django_user', entityId=str(user.id), isOwner=True, canRead=True, canWrite=True, canDelete=True, aclOwnershipType=ObjectACL.OWNER_OWNED) acl.save() return user, experiment
def _create_test_data(): user = User(username='******', first_name='Thomas', last_name='Atkins', email='*****@*****.**') user.save() UserProfile(user=user).save() license_ = License( name='Creative Commons Attribution-NoDerivs 2.5 Australia', url='http://creativecommons.org/licenses/by-nd/2.5/au/', internal_description='CC BY 2.5 AU', allows_distribution=True) license_.save() experiment = Experiment(title='Norwegian Blue', description='Parrot + 40kV', created_by=user) experiment.public_access = Experiment.PUBLIC_ACCESS_FULL experiment.license = license_ experiment.save() experiment.author_experiment_set.create( order=0, author="John Cleese", url="http://nla.gov.au/nla.party-1") experiment.author_experiment_set.create( order=1, author="Michael Palin", url="http://nla.gov.au/nla.party-2") acl = ExperimentACL(experiment=experiment, pluginId='django_user', entityId=str(user.id), isOwner=True, canRead=True, canWrite=True, canDelete=True, aclOwnershipType=ExperimentACL.OWNER_OWNED) acl.save() return (user, experiment)
def _create_license(): license_ = License( name='Creative Commons Attribution-NoDerivs 2.5 Australia', url='http://creativecommons.org/licenses/by-nd/2.5/au/', internal_description='CC BY 2.5 AU', allows_distribution=True) license_.save() return license_
def _create_test_data(): """ Create Single experiment with two owners """ user1 = User(username='******', first_name='Thomas', last_name='Atkins', email='*****@*****.**') user1.save() UserProfile(user=user1).save() user2 = User(username='******', first_name='Joe', last_name='Bloggs', email='*****@*****.**') user2.save() UserProfile(user=user2).save() license_ = License(name='Creative Commons Attribution-NoDerivs ' + '2.5 Australia', url='http://creativecommons.org/licenses/by-nd/2.5/au/', internal_description='CC BY 2.5 AU', allows_distribution=True) license_.save() experiment = Experiment(title='Norwegian Blue', description='Parrot + 40kV', created_by=user1) experiment.public_access = Experiment.PUBLIC_ACCESS_FULL experiment.license = license_ experiment.save() experiment.author_experiment_set.create(order=0, author="John Cleese", url="http://nla.gov.au/nla.party-1") experiment.author_experiment_set.create(order=1, author="Michael Palin", url="http://nla.gov.au/nla.party-2") acl1 = ExperimentACL(experiment=experiment, pluginId='django_user', entityId=str(user1.id), isOwner=True, canRead=True, canWrite=True, canDelete=True, aclOwnershipType=ExperimentACL.OWNER_OWNED) acl1.save() acl2 = ExperimentACL(experiment=experiment, pluginId='django_user', entityId=str(user2.id), isOwner=True, canRead=True, canWrite=True, canDelete=True, aclOwnershipType=ExperimentACL.OWNER_OWNED) acl2.save() return (user1, user2, experiment)
def setUp(self): self.ns = { 'r': 'http://ands.org.au/standards/rif-cs/registryObjects', 'o': 'http://www.openarchives.org/OAI/2.0/' } user, client = _create_user_and_login() license_ = License( name='Creative Commons Attribution-NoDerivs 2.5 Australia', url='http://creativecommons.org/licenses/by-nd/2.5/au/', internal_description='CC BY 2.5 AU', allows_distribution=True) license_.save() experiment = Experiment(title='Norwegian Blue', description='Parrot + 40kV', created_by=user) experiment.public_access = Experiment.PUBLIC_ACCESS_FULL experiment.license = license_ experiment.save() acl = ObjectACL(content_object=experiment, pluginId='django_user', entityId=str(user.id), isOwner=False, canRead=True, canWrite=True, canDelete=False, aclOwnershipType=ObjectACL.OWNER_OWNED) acl.save() params = { 'code': '010107', 'name': 'Mathematical Logic, Set Theory, Lattices and Universal Algebra', 'uri': 'http://purl.org/asc/1297.0/2008/for/010107' } try: response = client.post(\ reverse('tardis.apps.anzsrc_codes.views.'\ +'list_or_create_for_code', args=[experiment.id]), data=json.dumps(params), content_type='application/json') except: # no internet most likely from nose.plugins.skip import SkipTest raise SkipTest # Check related info was created expect(response.status_code).to_equal(201) self.acl = acl self.client = client self.experiment = experiment self.params = params
def setUp(self): self.ns = { 'r': 'http://ands.org.au/standards/rif-cs/registryObjects', 'o': 'http://www.openarchives.org/OAI/2.0/' } user, client = _create_user_and_login() license_ = License(name='Creative Commons Attribution-NoDerivs ' '2.5 Australia', url='http://creativecommons.org/licenses/by-nd/' '2.5/au/', internal_description='CC BY 2.5 AU', allows_distribution=True) license_.save() experiment = Experiment(title='Norwegian Blue', description='Parrot + 40kV', created_by=user) experiment.public_access = Experiment.PUBLIC_ACCESS_FULL experiment.license = license_ experiment.save() acl = ObjectACL(content_object=experiment, pluginId='django_user', entityId=str(user.id), isOwner=False, canRead=True, canWrite=True, canDelete=False, aclOwnershipType=ObjectACL.OWNER_OWNED) acl.save() params = { 'type': 'website', 'identifier': 'https://www.google.com/', 'title': 'Google', 'notes': 'This is a note.' } response = client.post(\ reverse('tardis.apps.related_info.views.' + 'list_or_create_related_info', args=[experiment.id]), data=json.dumps(params), content_type='application/json') # Check related info was created self.assertEqual(response.status_code, 201) self.acl = acl self.client = client self.experiment = experiment self.params = params
def setUp(self): self.ns = {'r': 'http://ands.org.au/standards/rif-cs/registryObjects', 'o': 'http://www.openarchives.org/OAI/2.0/'} user, client = _create_user_and_login() license_ = License(name='Creative Commons Attribution-NoDerivs 2.5 Australia', url='http://creativecommons.org/licenses/by-nd/2.5/au/', internal_description='CC BY 2.5 AU', allows_distribution=True) license_.save() experiment = Experiment(title='Norwegian Blue', description='Parrot + 40kV', created_by=user) experiment.public_access = Experiment.PUBLIC_ACCESS_FULL experiment.license = license_ experiment.save() acl = ObjectACL(content_object=experiment, pluginId='django_user', entityId=str(user.id), isOwner=False, canRead=True, canWrite=True, canDelete=False, aclOwnershipType=ObjectACL.OWNER_OWNED) acl.save() params = {'code': '010107', 'name': 'Mathematical Logic, Set Theory, Lattices and Universal Algebra', 'uri': 'http://purl.org/asc/1297.0/2008/for/010107'} try: response = client.post(\ reverse('tardis.apps.anzsrc_codes.views.'\ +'list_or_create_for_code', args=[experiment.id]), data=json.dumps(params), content_type='application/json') except: # no internet most likely from nose.plugins.skip import SkipTest raise SkipTest # Check related info was created expect(response.status_code).to_equal(201) self.acl = acl self.client = client self.experiment = experiment self.params = params
def setUp(self): self.ns = {'r': 'http://ands.org.au/standards/rif-cs/registryObjects', 'o': 'http://www.openarchives.org/OAI/2.0/'} user, client = _create_user_and_login() license_ = License(name='Creative Commons Attribution-NoDerivs ' '2.5 Australia', url='http://creativecommons.org/licenses/by-nd/' '2.5/au/', internal_description='CC BY 2.5 AU', allows_distribution=True) license_.save() experiment = Experiment(title='Norwegian Blue', description='Parrot + 40kV', created_by=user) experiment.public_access = Experiment.PUBLIC_ACCESS_FULL experiment.license = license_ experiment.save() acl = ObjectACL(content_object=experiment, pluginId='django_user', entityId=str(user.id), isOwner=False, canRead=True, canWrite=True, canDelete=False, aclOwnershipType=ObjectACL.OWNER_OWNED) acl.save() params = {'type': 'website', 'identifier': 'https://www.google.com/', 'title': 'Google', 'notes': 'This is a note.'} response = client.post(\ reverse('tardis.apps.related_info.views.' + 'list_or_create_related_info', args=[experiment.id]), data=json.dumps(params), content_type='application/json') # Check related info was created self.assertEqual(response.status_code, 201) self.acl = acl self.client = client self.experiment = experiment self.params = params
class RightsFormTestCase(TestCase): def setUp(self): self.restrictiveLicense = License( name="Restrictive License", url="http://example.test/rl", internal_description="Description...", allows_distribution=False) self.restrictiveLicense.save() self.permissiveLicense = License(name="Permissive License", url="http://example.test/pl", internal_description="Description...", allows_distribution=True) self.permissiveLicense.save() self.inactiveLicense = License(name="Inactive License", url="http://example.test/ial", internal_description="Description...", allows_distribution=True, is_active=False) self.inactiveLicense.save() def test_ensures_suitable_license(self): suitableCombinations = ( (Experiment.PUBLIC_ACCESS_NONE, ''), (Experiment.PUBLIC_ACCESS_METADATA, ''), (Experiment.PUBLIC_ACCESS_NONE, self.restrictiveLicense.id), (Experiment.PUBLIC_ACCESS_METADATA, self.restrictiveLicense.id), (Experiment.PUBLIC_ACCESS_FULL, self.permissiveLicense.id), ) unsuitableCombinations = ( (Experiment.PUBLIC_ACCESS_NONE, self.permissiveLicense.id), (Experiment.PUBLIC_ACCESS_METADATA, self.permissiveLicense.id), (Experiment.PUBLIC_ACCESS_METADATA, self.inactiveLicense.id), (Experiment.PUBLIC_ACCESS_FULL, self.inactiveLicense.id), (Experiment.PUBLIC_ACCESS_FULL, ''), (Experiment.PUBLIC_ACCESS_FULL, self.restrictiveLicense.id), ) # Check we accept valid input for public_access, license_id in suitableCombinations: print "Suitable combination: %d %s" % (public_access, license_id) data = {'public_access': str(public_access), 'license': license_id} form = RightsForm(data) ensure(form.is_valid(), True, form.errors) # Check we reject invalid input for public_access, license_id in unsuitableCombinations: print "Unsuitable combination: %d %s" % (public_access, license_id) data = {'public_access': str(public_access), 'license': license_id} form = RightsForm(data) ensure(form.is_valid(), False) def test_needs_confirmation(self): suitable_data = { 'public_access': str(Experiment.PUBLIC_ACCESS_NONE), 'license': '' }
class RightsFormTestCase(TestCase): def setUp(self): self.restrictiveLicense = License(name="Restrictive License", url="http://example.test/rl", internal_description="Description...", allows_distribution=False) self.restrictiveLicense.save() self.permissiveLicense = License(name="Permissive License", url="http://example.test/pl", internal_description="Description...", allows_distribution=True) self.permissiveLicense.save() self.inactiveLicense = License(name="Inactive License", url="http://example.test/ial", internal_description="Description...", allows_distribution=True, is_active=False) self.inactiveLicense.save() def test_ensures_suitable_license(self): suitableCombinations = ( (Experiment.PUBLIC_ACCESS_NONE, ''), (Experiment.PUBLIC_ACCESS_METADATA, ''), (Experiment.PUBLIC_ACCESS_NONE, self.restrictiveLicense.id), (Experiment.PUBLIC_ACCESS_METADATA, self.restrictiveLicense.id), (Experiment.PUBLIC_ACCESS_FULL, self.permissiveLicense.id), ) unsuitableCombinations = ( (Experiment.PUBLIC_ACCESS_NONE, self.permissiveLicense.id), (Experiment.PUBLIC_ACCESS_METADATA, self.permissiveLicense.id), (Experiment.PUBLIC_ACCESS_METADATA, self.inactiveLicense.id), (Experiment.PUBLIC_ACCESS_FULL, self.inactiveLicense.id), (Experiment.PUBLIC_ACCESS_FULL, ''), (Experiment.PUBLIC_ACCESS_FULL, self.restrictiveLicense.id), ) # Check we accept valid input for public_access, license_id in suitableCombinations: print "Suitable combination: %d %s" % (public_access, license_id) data = {'public_access': str(public_access), 'license': license_id } form = RightsForm(data) ensure(form.is_valid(), True, form.errors); # Check we reject invalid input for public_access, license_id in unsuitableCombinations: print "Unsuitable combination: %d %s" % (public_access, license_id) data = {'public_access': str(public_access), 'license': license_id } form = RightsForm(data) ensure(form.is_valid(), False); def test_needs_confirmation(self): suitable_data = {'public_access': str(Experiment.PUBLIC_ACCESS_NONE), 'license': ''}
def _create_test_data(): """ Create Single experiment with two owners """ user1 = User(username='******', first_name='Thomas', last_name='Atkins', email='*****@*****.**') user1.save() UserProfile(user=user1).save() user2 = User(username='******', first_name='Joe', last_name='Bloggs', email='*****@*****.**') user2.save() UserProfile(user=user2).save() license_ = License(name='Creative Commons Attribution-' + 'NoDerivs 2.5 Australia', url='http://creativecommons.org/licenses/by-nd/2.5/au/', internal_description='CC BY 2.5 AU', allows_distribution=True) license_.save() experiment = Experiment(title='Norwegian Blue', description='Parrot + 40kV', created_by=user1) experiment.public_access = Experiment.PUBLIC_ACCESS_FULL experiment.license = license_ experiment.save() experiment.author_experiment_set.create(order=0, author="John Cleese", url="http://nla.gov.au/nla.party-1") experiment.author_experiment_set.create(order=1, author="Michael Palin", url="http://nla.gov.au/nla.party-2") acl1 = ExperimentACL(experiment=experiment, pluginId='django_user', entityId=str(user1.id), isOwner=True, canRead=True, canWrite=True, canDelete=True, aclOwnershipType=ExperimentACL.OWNER_OWNED) acl1.save() acl2 = ExperimentACL(experiment=experiment, pluginId='django_user', entityId=str(user2.id), isOwner=True, canRead=True, canWrite=True, canDelete=True, aclOwnershipType=ExperimentACL.OWNER_OWNED) acl2.save() sch, _ = Schema.objects.get_or_create(namespace=settings.KEY_NAMESPACE, name=settings.KEY_NAME, type=Schema.EXPERIMENT) pn, _ = ParameterName.objects.\ get_or_create(schema=sch, name=settings.KEY_NAME, data_type=ParameterName.STRING) return experiment