Esempio n. 1
0
 def test_foreign_key(self):
     """Should be able to use one key for all the foreigns"""
     populator = DjangoFaker.get_populator()
     populator.add_entity(Key, 1)
     populator.add_entity(Foreign, 5)
     populator.execute()
     self.assertEqual(5, len(Key.objects.all()[0].foreigns.all()))
Esempio n. 2
0
 def test_many_to_many_existing(self):
     """Should be able to use existing db values if none added to populator"""
     populator = DjangoFaker.get_populator()
     to_many = ToMany(thing='stuff')
     to_many.save()
     populator.add_entity(Many, 1)
     populator.execute()
     self.assertEqual(1, len(Many.objects.all()))
Esempio n. 3
0
 def test_many_to_many_fail(self):
     """Non-null many-to-many fields will raise exceptions if there aren't available objects"""
     try:
         populator = DjangoFaker.get_populator()
         populator.add_entity(Many, 1)
         populator.execute()
         self.fail("All Many's require at least one ToMany to exist")
     except InvalidConstraint:
         pass
Esempio n. 4
0
 def test_many_to_many(self):
     """Each many-to-many field assigns 1 or more object if they exist.
     many-to-many fields won't error out if there are no available objects"""
     populator = DjangoFaker.get_populator()
     populator.add_entity(ToMany, 5)
     populator.add_entity(Many, 5)
     populator.execute()
     for many in Many.objects.all():
         self.assertTrue(len(many.to_many.all()) > 0)
Esempio n. 5
0
 def test_one_to_one(self):
     """Should preserve the one-to-one constraint (each one should have a different to one)"""
     populator = DjangoFaker.get_populator()
     populator.add_entity(ToOne, 5)
     populator.add_entity(One, 5)
     populator.execute()
     to_ones = ToOne.objects.all()
     for one in One.objects.all():
         to_ones = to_ones.exclude(one=one)
     self.assertEqual(0, len(to_ones))
Esempio n. 6
0
 def test_one_to_one_existing(self):
     """Should be able to use a mix of existing db and new entities"""
     populator = DjangoFaker.get_populator()
     to_one = ToOne(thing='stuff')
     to_one.save()
     populator.add_entity(ToOne, 1)
     populator.add_entity(One, 2)
     populator.execute()
     to_ones = ToOne.objects.all()
     for one in One.objects.all():
         to_ones = to_ones.exclude(one=one)
     self.assertEqual(0, len(to_ones))
Esempio n. 7
0
 def test_one_to_one_fail(self):
     """Should throw an exception if """
     try:
         populator = DjangoFaker.get_populator()
         populator.add_entity(ToOne, 4)
         populator.add_entity(One, 5)
         populator.execute()
         self.fail(
             "each One should need an unused ToOne which should be impossible here"
         )
     except InvalidConstraint:
         pass
Esempio n. 8
0
 def test_complex(self):
     """Should be able to populate a complex set of models"""
     populator = DjangoFaker.get_populator()
     populator.add_entity(Assessment, 5)
     populator.add_entity(Question, 5)
     populator.add_entity(AnswerSubmission, 5)
     populator.add_entity(Company, 5)
     populator.add_entity(Answer, 5)
     results = populator.execute()
     self.assertEqual(len(results[Assessment]), 5)
     self.assertEqual(len(results[Question]), 5)
     self.assertEqual(len(results[AnswerSubmission]), 5)
     self.assertEqual(len(results[Company]), 5)
     self.assertEqual(len(results[Answer]), 5)
 def test_all_names(self):
     """"""
     populator = DjangoFaker.get_populator()
     populator.add_entity(NamedFields, 1)
     populator.execute()
     named = NamedFields.objects.all()[0]
     self.assertRegexpMatches(named.is_boolean, '(True)|(False)')
     self.assertRegexpMatches(named.created_at,
                              '\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}')
     self.assertRegexpMatches(named.first_name, '[A-Z][a-z]+?')
     self.assertRegexpMatches(named.last_name, '[A-Z][a-z]+?')
     self.assertRegexpMatches(named.name, '\w')
     self.assertRegexpMatches(named.login, '\w')
     self.assertRegexpMatches(named.email, '.+@.*\..*')
     self.assertRegexpMatches(named.phone_number, '[\d\-x]+')
     self.assertRegexpMatches(named.city, '([A-Z][a-z]+? ?)+')
     self.assertRegexpMatches(named.zipcode, '\d+')
     self.assertRegexpMatches(named.state, '[A-Z\']{2}')
     self.assertRegexpMatches(named.country, '([A-Z][a-z]+? ?)+')
     self.assertRegexpMatches(named.title, '[\w ]+.')
Esempio n. 10
0
 def setUp(self):
     # populator gets shared, need to reset it
     populator = DjangoFaker.get_populator()
     populator.clear()
Esempio n. 11
0
 def setUp(self):
     populator = DjangoFaker.get_populator()
     populator.clear()