class TagTests(TestCase): """tests for Tag""" def setUp(self): self.client = Client() self.fixture = AutoFixture(Tag) def tearDown(self): Tag.objects.all().delete() def populate(self, num): self.fixture.create(num) def test_save(self): tag = Tag() tag.name = 'test tag' tag.save() self.assertIsNotNone(tag.pk) self.assertIsNotNone(tag.slug) def test_unique_slug(self): self.populate(10) # TODO: test Tag duplicate names not allowed # raises TransactionError: # django.db.transaction.TransactionManagementError: # An error occurred in the current transaction. # You can't execute queries until the end of the 'atomic' block. # line 22, in tearDown # def test_duplicate_name(self): # self.populate(1) # t_db = Tag.objects.all()[0] # t = Tag(name=t_db.name) # with self.assertRaises(IntegrityError): # t.save() # t.delete() # Tag.objects.all().delete() def test_slug_immutable(self): self.populate(1) t = Tag.objects.all()[0] slug = t.slug t.name = 'mutable field' t.save() self.assertEqual(slug, t.slug) def test_str(self): self.populate(1) t = Tag.objects.all()[0] self.assertEqual(t.name, str(t)) def test_url(self): self.populate(1) t = Tag.objects.all()[0] self.assertEqual( t.get_absolute_url(), reverse( 'sitebase:tags:get', args=[t.slug])) def test_tags_url(self): self.assertIsNotNone(reverse('sitebase:tags:list'))
def setup_module(): test_user = User.objects.create_user(username='******',password='******',email='*****@*****.**') test_user.save() test_user_2 = User.objects.create_user(username='******',password='******',email='*****@*****.**') test_user_2.save() fixture = AutoFixture(Patrao, field_values={'usuario': test_user_2}) fixture.create(QTD_PATROES)
def test_no_triggers(self): """ Try to create event that would normaly launch badge earning. Ensure it's not. """ users = User.objects.all()[:10] for user in users: user.date_joined = user.date_joined - datetime.timedelta(days=370) user.save() # no pionner self.assertEqual(Badge.objects.count(), 0) for user in users: fixture = AutoFixture( Sketch, field_values={"user": user}) fixture.create(5) # no collector self.assertEqual(Badge.objects.count(), 0) for user in users: fixture = AutoFixture( Sketch, field_values={"user": user, "hit_views": 0}) sketch = fixture.create(1)[0] sketch.hit_views = 1000 sketch.save() # no star self.assertEqual(Badge.objects.count(), 0)
def test_get_pid_without_indexes(self): """ If a house and apartment are without index, then the personal account id is generated in form of the following string: 001000100100010. """ addr_city = addr_models.City(name='Львів') addr_city.save() addr_street = addr_models.Street(city=addr_city, name='Городоцька', type='Street') addr_street.save() addr_house = addr_models.House(street=addr_street, number=17) addr_house.save() addr_apartment = addr_models.Apartment(house=addr_house, number=33) addr_apartment.save() address = addr_models.Address(city=addr_city, street=addr_street, house=addr_house, apartment=addr_apartment) address.save() house_fixture = AutoFixture(House, generate_fk=True) house = house_fixture.create(1)[0] apartment = Apartment(house=house, address=address) user_fixture = AutoFixture(User, generate_fk=True) user = user_fixture.create(1)[0] account = Account(apartment=apartment, owner=user) pid = account.get_pid() self.assertEquals('001000101700330', pid)
def testSaveBill(self): fixtureProduct=AutoFixture(Product,field_values={'Price':1}) theproduct=fixtureProduct.create(1)[0] theproduct.Price=1 fixtureLocation=AutoFixture(StockLocation,generate_fk=True, field_values={'LocationCode':'1.1'}) location=fixtureLocation.create(1)[0] fixtureBill=AutoFixture(StockBill,generate_fk=True,field_values={'BillState':'applied'}) bill=fixtureBill.create(1)[0] fixtureBillDetail=AutoFixture(StockBillDetail,generate_fk=True ,field_values={'stockbill':bill,'product':theproduct,'quantity':1 ,'location':location}) detail=fixtureBillDetail.create(5) bill.save() print (bill.BillType) self.assertEqual(len(ProductStock.objects.all()),1) self.assertEqual(ProductStock.objects.all()[0].quantity,5) print ([ProductStock.objects.all()]) self.assertEqual(bill.TotalAmount,5) bill.BillType='out' bill.save() print (bill.BillType) print ([ProductStock.objects.all()]) self.assertEqual(len(ProductStock.objects.all()),1) self.assertEqual(ProductStock.objects.all()[0].quantity,0) self.assertEqual(bill.TotalAmount,5)
def create_obj(self): fixture = AutoFixture(ProductImage, field_values={'status': 0}, generate_fk=True) fixture.create(1) self.obj = ProductImage.objects.get(pk=1) return self.obj
def post_save_placement(sender, instance, created, **kwargs): if created: print("post_save_placement") ccd = AutoFixture(PlacementCompanyContactData, field_values={'placement': instance}, overwrite_defaults=True) ccd.create(1) sap = AutoFixture(StudentActivePlacement, field_values={'student': instance.student, 'placement': instance}) sap.create(1)
def handle(self, *args, **kwargs): self.stdout.write("Generating Data...") self.user_count = kwargs.get('users') self.event_count = kwargs.get('events') self.occurences_count = kwargs.get('occurrences') self.categories_count = kwargs.get('categories') # Create test users, or select them if they already exist users = [] for k, v in enumerate(range(self.user_count)): try: user = User.objects.create_user(username='******' % (v), password='******') except IntegrityError: user = User.objects.get(username='******' % (v)) users.append(user) ofixture = AutoFixture(Occurence) occurrences = ofixture.create(self.occurences_count) cfixture = AutoFixture(Category) categories = cfixture.create(self.categories_count) # Generators ensure each event has randomly chosen items values = { 'user': ChoicesGenerator(values=users), 'category': ChoicesGenerator(values=categories), 'occurrences': InstanceSelector(Occurence.objects.get_query_set(), max_count=10, min_count=1), } efixture = AutoFixture(Event, field_values=values) events = efixture.create(self.event_count) self.stdout.write("Done")
def incident_detail(business: Business, d: DateDim): v = { 'business': business, 'building': business.building, 'incident_type': 'Structural', 'occurrence': d, 'region': region, 'province': province, 'city': city } checklist = business.building.building_checklist.get( date_checked__year=d.year, business=business) if business.building.avg_fire_rating() < 2: damage_range = [5, 25] casualty_range = [0, .1] intensity_range = [1, 5] severity_range = [1, 6] duration_range = [30, 240] minor_injuries_range = [0, .1] major_injuries_range = [0, .2] elif business.building.avg_fire_rating() < 3: damage_range = [5, 60] casualty_range = [0, .15] intensity_range = [1, 7] severity_range = [1, 6] duration_range = [45, 340] minor_injuries_range = [0, .4] major_injuries_range = [0, .3] elif business.building.avg_fire_rating() < 4: damage_range = [12, 95] casualty_range = [0, .2] intensity_range = [1, 8] severity_range = [1, 8] duration_range = [60, 540] minor_injuries_range = [0, .5] major_injuries_range = [0, .4] else: damage_range = [30, 999] casualty_range = [0, .5] intensity_range = [2, 10] severity_range = [3, 10] duration_range = [60, 1940] minor_injuries_range = [0, .6] major_injuries_range = [0, .5] v['property_damage'] = random.uniform(damage_range[0], damage_range[1]) v['casualties'] = random.uniform(casualty_range[0], casualty_range[1]) v['major_injuries'] = random.uniform(major_injuries_range[0], major_injuries_range[1]) v['minor_injuries'] = random.uniform(minor_injuries_range[0], minor_injuries_range[1]) v['intensity'] = random.uniform(intensity_range[0], intensity_range[1]) v['severity'] = random.uniform(severity_range[0], severity_range[1]) v['duration'] = random.uniform(duration_range[0], duration_range[1]) fixture = AutoFixture(Incident, field_values=v) fixture.create(1) print(f"{fixture} created")
class AuthorTests(TestCase): """tests for Author""" def setUp(self): self.client = Client() self.fixture = AutoFixture(Author) def tearDown(self): Author.objects.all().delete() def populate(self, num): self.fixture.create(num) def test_save(self): author = Author() author.name = 'test Author' author.email = '*****@*****.**' author.short_bio = 'just an awesome author' author.save() self.assertIsNotNone(author.pk) self.assertIsNotNone(author.slug) def test_unique_slug(self): self.populate(10) def test_slug_immutable(self): self.populate(1) a = Author.objects.all()[0] slug = a.slug a.name = 'mutable field' a.save() self.assertEqual(slug, a.slug) def test_duplicate_names(self): self.populate(1) a_db = Author.objects.all()[0] a = Author( name=a_db.name, email='*****@*****.**', short_bio='just another author') try: a.save() except Exception as e: self.fail('Failed: {}'.format(e)) def test_str(self): self.populate(1) a = Author.objects.all()[0] self.assertEqual(a.name, str(a)) def test_url(self): self.populate(1) a = Author.objects.all()[0] self.assertEqual( a.get_absolute_url(), reverse( 'sitebase:authors:get', args=[a.slug])) def test_authors_url(self): self.assertIsNotNone(reverse('sitebase:authors:list'))
def setUp(self): self.u = self.make_user() client_fixture = AutoFixture(Client, follow_fk=True) carfixture = AutoFixture(Car, follow_fk=True) self.clients = client_fixture.create(10) self.cars = carfixture.create(1) now = timezone.now() + timedelta(days=3) PaypalAccount.objects.create(user=self.u, expire=now)
def setUp(self): ''' initialisation for tests ''' location_fixture = AutoFixture(Location) location_fixture.create(1) self.test_user_util = TestUserUtility() self.user = self.test_user_util.user
def setUp(self): ''' initialisation for tests ''' location_fixture = AutoFixture(Location) location_fixture.create(1) self.test_user_util = TestUserUtility() self.user = self.test_user_util.user
class TagTests(TestCase): """tests for Tag""" def setUp(self): self.client = Client() self.fixture = AutoFixture(Tag) def tearDown(self): Tag.objects.all().delete() def populate(self, num): self.fixture.create(num) def test_save(self): tag = Tag() tag.name = 'test tag' tag.save() self.assertIsNotNone(tag.pk) self.assertIsNotNone(tag.slug) def test_unique_slug(self): self.populate(10) # TODO: test Tag duplicate names not allowed # raises TransactionError: # django.db.transaction.TransactionManagementError: # An error occurred in the current transaction. # You can't execute queries until the end of the 'atomic' block. # line 22, in tearDown # def test_duplicate_name(self): # self.populate(1) # t_db = Tag.objects.all()[0] # t = Tag(name=t_db.name) # with self.assertRaises(IntegrityError): # t.save() # t.delete() # Tag.objects.all().delete() def test_slug_immutable(self): self.populate(1) t = Tag.objects.all()[0] slug = t.slug t.name = 'mutable field' t.save() self.assertEqual(slug, t.slug) def test_str(self): self.populate(1) t = Tag.objects.all()[0] self.assertEqual(t.name, str(t)) def test_url(self): self.populate(1) t = Tag.objects.all()[0] self.assertEqual(t.get_absolute_url(), reverse('sitebase:tags:get', args=[t.slug])) def test_tags_url(self): self.assertIsNotNone(reverse('sitebase:tags:list'))
def create_brand(self): fixture = AutoFixture(Brand, field_values={ 'slug': 'obj-slug', 'status': 0 }) fixture.create(1) self.obj = Brand.objects.get(slug='obj-slug') return self.obj
def testLocationGetChildren(self): fixtureParent=AutoFixture(StockLocation) locationParent=fixtureParent.create(1)[0] fixture=AutoFixture(StockLocation, field_values={"ParentLocation":locationParent}, generate_fk=True) locations=fixture.create(5) self.assertEqual(5,len( locationParent.GetChildren()))
def test_GenerateStockDetail(self): ft_stockbill=AutoFixture(StockBill,generate_fk=True) stockbills=ft_stockbill.create(2) ft_cbd=AutoFixture(CheckBillDetail,generate_fk=True, field_values={'quantity':1,'realquantity':4}) detail=ft_cbd.create(1)[0] #import pdb;pdb.set_trace() detail.GenerateStockDetail(stockbills[0],stockbills[1]) self.assertEqual(1,stockbills[1].billdetailbase_set.count()) self.assertEqual(3,stockbills[1].billdetailbase_set.all()[0].quantity)
class AuthorTests(TestCase): """tests for Author""" def setUp(self): self.client = Client() self.fixture = AutoFixture(Author) def tearDown(self): Author.objects.all().delete() def populate(self, num): self.fixture.create(num) def test_save(self): author = Author() author.name = 'test Author' author.email = '*****@*****.**' author.short_bio = 'just an awesome author' author.save() self.assertIsNotNone(author.pk) self.assertIsNotNone(author.slug) def test_unique_slug(self): self.populate(10) def test_slug_immutable(self): self.populate(1) a = Author.objects.all()[0] slug = a.slug a.name = 'mutable field' a.save() self.assertEqual(slug, a.slug) def test_duplicate_names(self): self.populate(1) a_db = Author.objects.all()[0] a = Author(name=a_db.name, email='*****@*****.**', short_bio='just another author') try: a.save() except Exception as e: self.fail('Failed: {}'.format(e)) def test_str(self): self.populate(1) a = Author.objects.all()[0] self.assertEqual(a.name, str(a)) def test_url(self): self.populate(1) a = Author.objects.all()[0] self.assertEqual(a.get_absolute_url(), reverse('sitebase:authors:get', args=[a.slug])) def test_authors_url(self): self.assertIsNotNone(reverse('sitebase:authors:list'))
class BlogSeriesTests(TestCase): """tests for BlogSeries""" def setUp(self): self.client = Client() self.fixture = AutoFixture(BlogSeries) def tearDown(self): BlogSeries.objects.all().delete() def populate(self, num): self.fixture.create(num) def test_save(self): series = BlogSeries() series.title = 'test BlogSeries' series.short_description = 'just some blog series' series.save() self.assertIsNotNone(series.pk) self.assertIsNotNone(series.slug) def test_unique_slug(self): self.populate(10) def test_slug_immutable(self): self.populate(1) series = BlogSeries.objects.all()[0] slug = series.slug series.title = 'mutable field' series.save() self.assertEqual(slug, series.slug) def test_duplicate_names(self): self.populate(1) series = BlogSeries.objects.all()[0] series.title='mutable field' try: series.save() except Exception as e: self.fail('Failed: {}'.format(e)) def test_str(self): self.populate(1) series = BlogSeries.objects.all()[0] self.assertEqual(series.title, str(series)) def test_url(self): self.populate(1) series = BlogSeries.objects.all()[0] self.assertEqual( series.get_absolute_url(), reverse( 'blog:series', args=[series.slug])) def test_seriess_url(self): self.assertIsNotNone(reverse('blog:series-list'))
def test_GenerateChangeDetail(self): af_checkbill=AutoFixture(CheckBill,generate_fk=True) bill=af_checkbill.create(1)[0] af_checkbilldetail=AutoFixture(CheckBillDetail, generate_fk=True,field_values={'stockbill':bill,'quantity':1,'realquantity':4}) billdetails=af_checkbilldetail.create(4) self.assertEqual(4,len(billdetails)) change_list=bill.GenerateChangeDetail() self.assertEqual(4,len(change_list)) for change in change_list: self.assertEqual(change.quantity,3)
def setup_module(): test_user = User.objects.create_user(username='******', password='******', email='*****@*****.**') test_user.save() test_user_2 = User.objects.create_user(username='******', password='******', email='*****@*****.**') test_user_2.save() fixture = AutoFixture(Patrao, field_values={'usuario': test_user_2}) fixture.create(QTD_PATROES)
def create_obj(self): fixture = AutoFixture(Product, field_values={ 'slug': 'obj-slug', 'status': 0, 'price': 100.0 }, generate_fk=True) fixture.create(1) self.obj = Product.objects.get(slug='obj-slug') return self.obj
class BlogSeriesTests(TestCase): """tests for BlogSeries""" def setUp(self): self.client = Client() self.fixture = AutoFixture(BlogSeries) def tearDown(self): BlogSeries.objects.all().delete() def populate(self, num): self.fixture.create(num) def test_save(self): series = BlogSeries() series.title = 'test BlogSeries' series.short_description = 'just some blog series' series.save() self.assertIsNotNone(series.pk) self.assertIsNotNone(series.slug) def test_unique_slug(self): self.populate(10) def test_slug_immutable(self): self.populate(1) series = BlogSeries.objects.all()[0] slug = series.slug series.title = 'mutable field' series.save() self.assertEqual(slug, series.slug) def test_duplicate_names(self): self.populate(1) series = BlogSeries.objects.all()[0] series.title = 'mutable field' try: series.save() except Exception as e: self.fail('Failed: {}'.format(e)) def test_str(self): self.populate(1) series = BlogSeries.objects.all()[0] self.assertEqual(series.title, str(series)) def test_url(self): self.populate(1) series = BlogSeries.objects.all()[0] self.assertEqual(series.get_absolute_url(), reverse('blog:series', args=[series.slug])) def test_seriess_url(self): self.assertIsNotNone(reverse('blog:series-list'))
def test_url(self): self.populate(1) b = BlogPost.objects.filter(series=None)[0] self.assertEqual(b.get_absolute_url(), reverse('blog:post', args=[b.slug])) series_fixture = AutoFixture(BlogSeries) series_fixture.create(1) b.series = BlogSeries.objects.all()[0] b.save() b = BlogPost.objects.filter(series__isnull=False)[0] self.assertEqual(b.get_absolute_url(), reverse('blog:post', args=[b.series.slug, b.slug]))
def setUp(self): super(MonitorUpdateTestCase, self).setUp() self.user = User(username='******', password='******', email='*****@*****.**') self.user.save() fixture = AutoFixture(MonitorUpdate) fixture.create(10) try: self.api_key = ApiKey.objects.get(user=self.user) except ApiKey.DoesNotExist: self.api_key = ApiKey.objects.create(user=self.user) self.auth_string = '&username={0}&api_key={1}'.format( self.user.username, self.api_key.key)
def setUp(self): ''' initialisation for tests ''' bulletin_fixture = AutoFixture(Bulletin) bulletin_fixture.create(5) bull = Bulletin.objects.get(id=1) bull.actors_role.clear() bull.save() location_fixture = AutoFixture(Location) location_fixture.create(1) self.test_user_util = TestUserUtility() self.user = self.test_user_util.user
def test_unique_slug(self): fixture = AutoFixture(Author) fixture.create(1) author_orig = Author.objects.all()[0] unique_slug = get_unique_slug( Author, author_orig, 'name', name=author_orig.name) author_new = Author(name=author_orig.name) author_new.save() self.assertNotEqual(author_new.slug, author_orig.slug) self.assertEqual(author_new.slug, unique_slug) self.assertNotEqual( author_new.slug, get_unique_slug( Author, author_orig, 'name', name=author_orig.name))
def setUp(self): ''' initialisation for tests ''' bulletin_fixture = AutoFixture(Bulletin) bulletin_fixture.create(5) bull = Bulletin.objects.get(id=1) bull.actors_role.clear() bull.save() location_fixture = AutoFixture(Location) location_fixture.create(1) self.test_user_util = TestUserUtility() self.user = self.test_user_util.user
def generateCartWithItems(self, request): fixture = AutoFixture(Category) category = fixture.create(1) fixture = AutoFixture(Product) products = fixture.create(5) # 5 products quantity = 3 # added 3 times, thus 5*3=15 products[0].title="kartofi" products[1].title="makaroni" cart = Cart(request) for product in products: cart.add(product, product.price, quantity) return cart
def test_get_cooperative(self): """ The cooperative is retrieved from the apartment. """ hc_fixture = AutoFixture(HousingCooperative) hc = hc_fixture.create(1)[0] AutoFixture(House).create(1) apartment_fixture = AutoFixture(Apartment) apartment = apartment_fixture.create(1)[0] cooperative = apartment.get_cooperative() self.assertEqual(hc.id, cooperative.id)
def create_product_caracteristic(self, product, ftype, name, value): fixture = AutoFixture(ProductCaracteristic, field_values={'name':name, 'product':product, 'ftype':ftype, 'value':value } ) fixture.create(1) obj = ProductCaracteristic.objects.get(pk=1) obj.value = value obj.type = ftype obj.save() return obj
def testLocationGetProductStock(self): fixtureProduct=AutoFixture(Product) theproduct=fixtureProduct.create(1)[0] fixturelocation=AutoFixture(StockLocation,generate_fk=True) location=fixturelocation.create(1)[0] fixturestock=AutoFixture(ProductStock,field_values={'product':theproduct},) stocks=fixturestock.create(5) for stock in stocks: stock.stocklocation=location self.assertEqual(len(location.productstock_set.all()),5)
def test_url(self): self.populate(1) b = BlogPost.objects.filter(series=None)[0] self.assertEqual( b.get_absolute_url(), reverse( 'blog:post', args=[b.slug])) series_fixture = AutoFixture(BlogSeries) series_fixture.create(1) b.series = BlogSeries.objects.all()[0] b.save() b = BlogPost.objects.filter(series__isnull=False)[0] self.assertEqual( b.get_absolute_url(), reverse( 'blog:post', args=[b.series.slug, b.slug]))
def test_get_cooperative(self): """ The cooperative is retrieved from the house. """ hc_fixture = AutoFixture(HousingCooperative) hc = hc_fixture.create(1)[0] house_fixture = AutoFixture(House, field_values={'cooperative': hc}, generate_fk=True) house = house_fixture.create(1)[0] cooperative = house.get_cooperative() self.assertEqual(hc.id, cooperative.id)
def post_save_student(sender, instance, created, **kwargs): if created: print("post_save_student") from autofixture import generators pl = AutoFixture(Placement, overwrite_defaults=True, field_values={ 'report': generators.StaticGenerator('ullmanfa/placement/report/Arbeitszeugnis_Audi.pdf'), 'presentation': generators.StaticGenerator( 'ullmanfa/placement/presentation/Arbeitszeugnis_Audi.pdf'), 'certificate': generators.StaticGenerator( 'ullmanfa/placement/certificate/Arbeitszeugnis_Audi.pdf'), 'student': instance}) pl.create(1)
def setUp(self): super(BulletinTestCase, self).setUp() self.test_user_util = TestUserUtility() self.user = self.test_user_util.user self.location = Location(name_en='test location', loc_type='Village') self.location.save() self.actor = Actor(fullname_en='Test Actor', fullname_ar='Test name ar', nickname_en='nick name', nickname_ar='nick name') self.actor.save() self.role = ActorRole(role_status='Detained', actor_id=self.actor.pk) self.role.save() self.sourceType = SourceType(source_type='test source type', description='test source description') self.sourceType.save() self.source = Source(reliability_score=0, name_en='test source', source_type_id=self.sourceType.pk) self.source.save() self.source = Source(reliability_score=0, name_en='test source 2', source_type_id=self.sourceType.pk) self.source.save() self.label = Label(name_en='test label') self.label.save() self.comment = Comment(assigned_user_id=self.user.pk, status_id=3, comments_en='test comment') self.comment.save() self.media = Media(media_type='Video', name_en='test media', media_file='') self.media.save() fixture = AutoFixture(Bulletin, generate_m2m={1, 5}) fixture.create(10) try: self.api_key = ApiKey.objects.get(user=self.user) except ApiKey.DoesNotExist: self.api_key = ApiKey.objects.create(user=self.user) self.auth_string = '&username={0}&api_key={1}'.format( self.user.username, self.api_key.key)
def setUp(self): super(TimeInfoTestCase, self).setUp() self.user = User(username='******', password='******', email='*****@*****.**') self.user.save() fixture = AutoFixture(TimeInfo) fixture.create(10) now = timezone.now() self.from_datetime = now.isoformat() self.to_datetime = now.isoformat() try: self.api_key = ApiKey.objects.get(user=self.user) except ApiKey.DoesNotExist: self.api_key = ApiKey.objects.create(user=self.user) self.auth_string = '&username={0}&api_key={1}'.format( self.user.username, self.api_key.key)
def checklists(businesses, year): schedule = DateDim.objects.get_days_between(start=f'{year}-01-01', end=f'{year}-12-31') for business in businesses: fixture = AutoFixture(Checklist, field_values={ 'business': business, 'building': business.building, 'date_checked': random.choice(schedule) }) fixture.create(1) return print('Checklists created')
def create_fixtures(self, apartment): meter_fixture = AutoFixture(Meter) self.meter = meter_fixture.create(1)[0] apartment_meter_fixture = AutoFixture(ApartmentMeter, field_values={ 'apartment': apartment, 'meter': self.meter, }) self.apartment_meter = apartment_meter_fixture.create(1)[0] self.meter_indicator_fixture = AutoFixture(ApartmentMeterIndicator, field_values={ 'meter': self.apartment_meter, }) self.meter_indicator = self.meter_indicator_fixture.create(1)[0]
def setUp(self): super(TimeInfoTestCase, self).setUp() self.user = User(username='******', password='******', email='*****@*****.**') self.user.save() fixture = AutoFixture(TimeInfo) fixture.create(10) now = timezone.now() self.from_datetime = now.isoformat() self.to_datetime = now.isoformat() try: self.api_key = ApiKey.objects.get(user=self.user) except ApiKey.DoesNotExist: self.api_key = ApiKey.objects.create(user=self.user) self.auth_string = '&username={0}&api_key={1}'.format( self.user.username, self.api_key.key)
def preload_businesses(data): for key, item in data.items(): __building = item['building'] __business = item['business'] __address = item['address'] __latitude = item['latitude'] __longitude = item['longitude'] try: building = Building.objects.get(name=__building) except Building.DoesNotExist: building = create_building(item) building = Building.objects.get(name=__building) try: business = Business.objects.get(name=__business) except Business.DoesNotExist: fixture = AutoFixture(Business, field_values={ 'name': __business, 'address': __address, 'region': region, 'province': province, 'city': city, 'building': building }) business = fixture.create(1) print(f"{business} created in {building}")
def generate_sample_from_model(model, num): """ Generate num instances of model """ fixture = AutoFixture(model) entries = fixture.create(num) return entries
def create_technican_detail(): for i in range(0, N): lat_long = generate_random_location() res = w3w.reverse(lat=lat_long[0], lng=lat_long[1])['words'] willing_to_travel = random.randint(1, 30) max_num_jobs_allowed = random.randint(1, 6) av_rating = random.uniform(0, 5) ficture3 = AutoFixture(TechnicianDetail, field_values={ 'number_jobs_active': random.randint(0, 5), 'number_of_jobs_completed': random.randint(0, 100), 'rating': [{ 'job_id': 1, 'user_rating': 3 }], 'what3words': res, 'willing_to_travel': willing_to_travel, 'max_num_jobs_allowed': max_num_jobs_allowed, 'average_rating': av_rating }) entries3 = ficture3.create(1)
def setUp(self): self.client = Client() self.url = reverse('tasks') self.user = AutoFixture(User).create(1)[0] fixture = AutoFixture(Task, field_values={'owner': self.user}) self.tasks = fixture.create(10)
def create_tournament(beginDate=None, endDate=None): beginDate = beginDate or datetime.date(2007, 4, 24) endDate = endDate or datetime.date(2010, 4, 22) fixture_tournament = AutoFixture( Tournament, generate_fk=True, field_values={"begin_date": beginDate, "end_date": endDate} ) return fixture_tournament.create(1)[0]
def test_trigger_create(self): """ Create the star trigger, check if it does it's work """ data = { "code": "star", "condition": "NEW.hit_views >= 1000 ", "name": "Star", "trigger_condition": "update", "trigger_table": "dummy_sketch", "user_field": "user_id" } create_trigger(data) self.assertEqual(Badge.objects.count(), 0) users = User.objects.all()[:10] for user in users: fixture = AutoFixture( Sketch, field_values={"user": user, "hit_views": 0}) sketch = fixture.create(1)[0] sketch.hit_views = 1000 sketch.save() self.assertEqual(Badge.objects.count(), 10)
def buildings(buildings): for building in buildings: fixture = AutoFixture(Building, field_values={ 'name': building, 'address': buildings[building]['address'], 'region': region, 'province': province, 'city': city, 'latitude': buildings[building]['latitude'], 'longitude': buildings[building]['longitude'] }) fixture.create(1) return print('Buildings created')
def test_unique_slug(self): fixture = AutoFixture(Author) fixture.create(1) author_orig = Author.objects.all()[0] unique_slug = get_unique_slug(Author, author_orig, 'name', name=author_orig.name) author_new = Author(name=author_orig.name) author_new.save() self.assertNotEqual(author_new.slug, author_orig.slug) self.assertEqual(author_new.slug, unique_slug) self.assertNotEqual( author_new.slug, get_unique_slug(Author, author_orig, 'name', name=author_orig.name))
def fake_book(count=10): fixture = AutoFixture(Book) entries = fixture.create(count, commit=False) for entry in entries: entry.currency = choice([entry.USD, entry.CAD, entry.EUR, entry.AED]) entry.save() entry.authors.add(choice(Author.objects.values_list('id', flat=True)))
def setUp(self): self.test_util = TestUserUtility() fixture = AutoFixture(VersionStatus, generate_fk=True) fixture.create(10) # we'll need to create the UserLog objects manually to ensure a valid # login and logout datetime # see line 110 #fixture = AutoFixture(UserLog, generate_fk=True) #fixture.create(10) fixture = AutoFixture(User) fixture.create(1) fixture = AutoFixture(Bulletin) fixture.create(1) fixture = AutoFixture(Incident) fixture.create(1) fixture = AutoFixture(Actor) fixture.create(1)
def test_assigned_user_perm_enforced(self): self.test_user_util.add_user_to_group('data-analyst') fixture = AutoFixture(User) fixture.create(1) precreated_incident = Incident.objects.all()[0] precreated_incident.assigned_user = User.objects.get(id=2) precreated_incident.save() url = '/api/v1/incident/{0}/?format=json{1}'.format( precreated_incident.id, self.auth_string) put_data = create_put_data(4) response = self.api_client.put(url, data=put_data) assigned_user_id = retrieve_user_id(response) self.assertEqual(assigned_user_id, 2) self.test_user_util.add_user_to_group('chief-data-analyst') response = self.api_client.put(url, data=put_data) assigned_user_id = retrieve_user_id(response) self.assertEqual(assigned_user_id, 1)
def handle(self, *args, **options): fixture = AutoFixture(User, field_values={'username': generators.StringGenerator(max_length=10),'first_name':generators.FirstNameGenerator(), 'last_name':generators.LastNameGenerator(), 'email':generators.EmailGenerator(), 'password':UNUSABLE_PASSWORD}) entries = fixture.create(50) for us in User.objects.all(): if us.username != 'alberto': us.set_password('pass') us.save() fixture = AutoFixture(auction, field_values={ 'min_price': generators.PositiveSmallIntegerGenerator(max_value=1000), 'lock':False}) entries = fixture.create(50) fixture = AutoFixture(bid, field_values={ 'amount': generators.IntegerGenerator(min_value=0), 'status':'W'}) entries = fixture.create(20) auct = auction.objects.all() for auc in auct: if (auc.deadline > timezone.make_aware(datetime.now(), timezone.get_default_timezone())): auc.lifecycle = 'A' auc.save() if (auc.deadline < timezone.make_aware(datetime.now(), timezone.get_default_timezone()) and auc.lifecycle=='A'): auc.lifecycle = 'D' auc.save() bids = bid.objects.all() for b in bids: for a in bids: if (b.auct == a.auct and a != b): if (b.status == 'W' and a.status == 'W'): if (b.amount > a.amount): a.status = 'L' a.save() else: b.status = 'L' b.save() if (b.amount < b.auct.min_price): b.amount = b.auct.min_price+1 b.save() if (b.user == b.auct.seller): b.delete()
def setUp(self): super(IncidentTestCase, self).setUp() self.test_user_util = TestUserUtility() self.user = self.test_user_util.user self.location = Location(name_en='test location', loc_type='Village') self.location.save() self.actor = Actor( fullname_en='Test Actor', fullname_ar='Test name ar', nickname_en='nick name', nickname_ar='nick name') self.actor.save() self.role = ActorRole(role_status='Detained', actor_id=self.actor.pk) self.role.save() self.statusUpdate = StatusUpdate(status_en='test status') self.statusUpdate.save() self.crimeCategory = CrimeCategory( name_en='test crime category', level=1, description_en='test source incident_details') self.crimeCategory.save() self.label = Label(name_en='test label') self.label.save() self.comment = Comment( assigned_user_id=self.user.pk, status_id=self.statusUpdate.pk, comments_en='test comment') self.comment.save() fixture = AutoFixture(Incident, generate_m2m={1, 5}) fixture.create(10) try: self.api_key = ApiKey.objects.get(user=self.user) except ApiKey.DoesNotExist: self.api_key = ApiKey.objects.create(user=self.user) self.auth_string = '&username={0}&api_key={1}'.format( self.user.username, self.api_key.key)
def create_obj(self, slug='cat1', category=None, name='carac_name', ftype='int', unit='cm'): fixture = AutoFixture(Category, field_values={'slug':'cat1'}) fixture.create(1) if category is None: category = Category.objects.get(slug=slug) fixture = AutoFixture(CategoryCaracteristic, field_values={ 'name':name, 'category':category, 'type':ftype, 'unit':unit, 'choices':choices } ) fixture.create(1) self.obj = CategoryCaracteristic.objects.get(pk=1) self.obj.type = ftype self.obj.save() self.category = category return self.obj
def get_autofixture(app_label, model_name, f_key=False, n_instances=1): app_label = get_module_name(app_label) try: model_class = get_app_model(app_label, model_name) #ContentType.objects.get(model=model_name).model_class() fixtures = AutoFixture(model_class, generate_fk=f_key) entries = fixtures.create(n_instances) except Exception as e: print e return 'Error!' return 'Created(s)!'
def handle(self, *args, **options): toto = User.objects.get(pk=1) android = Category.objects.get(pk=7) subject = Subject.objects.create(category=android, author=toto, name="Ths is a subject", nb_see=0, nb_message=0) subject.save() #subject = Subject.objects.filter(category=android, author=toto) fixture = AutoFixture(NormalMessage, field_values={'author': toto, 'subject': subject}) entries = fixture.create(100) message = "Thread created please go here for test localhost:8000/subject/" + str(subject.pk) + "/1" print(message)
def setUp(self): super(ActorTestCase, self).setUp() self.test_user_util = TestUserUtility() self.user = self.test_user_util.user fixture = AutoFixture(Actor) fixture.create(10) self.actor = Actor( fullname_en='Test Actor', fullname_ar='Test name ar', nickname_en='nick name', nickname_ar='nick name' ) self.actor.save() try: self.api_key = ApiKey.objects.get(user=self.user) except ApiKey.DoesNotExist: self.api_key = ApiKey.objects.create(user=self.user) self.auth_string = '&username={0}&api_key={1}'.format( self.user.username, self.api_key.key)