예제 #1
0
 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)
예제 #2
0
def _create_test_data():
    user = User(username='******',
                first_name="Voltaire",
                email='*****@*****.**')
    user.save()
    return (_create_experiment(user, False), _create_experiment(user,
                                                                True), user)
예제 #3
0
 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)
예제 #4
0
 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)
예제 #5
0
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)
예제 #6
0
 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
예제 #7
0
 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))