def testPersisterPrefersAuthorEmailToMatchUser(self): # Create user to associate with dataset user = User(username="******") user.save() # Create user to associate with dataset user2 = User(username="******", email='*****@*****.**') user2.save() feed, entry = self._getTestEntry() p = AtomPersister() dataset = p.process(feed, entry) eq_(dataset.get_first_experiment().created_by, user2)
def _create_test_data(): user = User(username='******', first_name="Voltaire", email='*****@*****.**') user.save() return (_create_experiment(user, False), _create_experiment(user, True), user)
def testPersisterUsesAuthorNameAsUsername(self): # Create user to associate with dataset user = User(username="******") user.save() feed, entry = self._getTestEntry() p = AtomPersister() dataset = p.process(feed, entry) eq_(dataset.get_first_experiment().created_by, user)
def testPersisterHandlesSpacesInUsername(self): # Get entry and use a name with a space in it feed, entry = self._getTestEntry() entry.author_detail.name = 'Tommy Atkins' # Create user to associate with dataset user = User(username="******") user.save() p = AtomPersister() dataset = p.process(feed, entry) eq_(dataset.get_first_experiment().created_by, user)
def _create_test_data(): user = User(username='******', first_name="Voltaire", email='*****@*****.**') user.save() UserProfile(user=user).save() experiment = Experiment(title='Norwegian Blue', description='Parrot + 40kV', created_by=user) experiment.public_access = Experiment.PUBLIC_ACCESS_METADATA experiment.save() return (experiment, user)
def _get_user_from_entry(self, entry): try: if entry.author_detail.email != None: return User.objects.get(email=entry.author_detail.email) except (User.DoesNotExist, AttributeError): pass # Handle spaces in name username_ = entry.author_detail.name.strip().replace(" ", "_") try: return User.objects.get(username=username_) except User.DoesNotExist: pass user = User(username=username_) user.save() UserProfile(user=user).save() return user
def testPersisterStoresEntryMetadata(self): # Create user to associate with dataset user = User(username="******") user.save() feed, entry = self._getTestEntry() p = AtomPersister() dataset = p.process(feed, entry) parameterset = dataset.getParameterSets() \ .get(schema=AtomImportSchemas. \ get_schema(Schema.DATASET)) expect(parameterset) != None psm = ParameterSetManager(parameterset) expect(psm.get_param('EntryID').get()).to_equal(entry.id) expect(psm.get_param('Updated').name.isDateTime()).to_be_truthy() # Compare against non-timezoned update time expect(psm.get_param('Updated', True)) \ .to_equal(iso8601.parse_date(entry.updated))