class WineFactory(factory.django.DjangoModelFactory): FACTORY_FOR = Wine wineType = 'w' name = u'test' # cepage = factory.SubFactory(CepageFactory) appelation = factory.SubFactory(AppelationFactory) country = factory.SubFactory(CountryFactory) producer = factory.SubFactory(ProducerFactory) region = factory.SubFactory(RegionFactory) # tag = factory.SubFactory(TagFactory) teint = factory.SubFactory(TeintFactory) # slug = u'slug-a' date = fuzzy.FuzzyDate(datetime(2005, 1, 1).date()) alcool = fuzzy.FuzzyDecimal(1, 100) price = fuzzy.FuzzyDecimal(1, 1000) year = 2009 mouth_intensity = 0.5 nose_intensity = 0.5 rating = 0.5 persistance = 0.5 aroma = factory.SubFactory(AromaFactory) taste = factory.SubFactory(TasteFactory) acidity = factory.SubFactory(AcidityFactory) tanin = factory.SubFactory(TaninFactory) code_saq = fuzzy.FuzzyInteger(0, 10000000)
class NGReportFactory(factory.django.DjangoModelFactory): FACTORY_FOR = NGReport user = factory.SubFactory(UserFactory, userprofile__initial_council=True) mentor = factory.SelfAttribute('user.userprofile.mentor') activity = factory.SubFactory(ActivityFactory) campaign = factory.SubFactory(CampaignFactory) latitude = fuzzy.FuzzyDecimal(low=-180.0, high=180.0, precision=5) longitude = fuzzy.FuzzyDecimal(low=-180.0, high=180.0, precision=5) location = 'EventLocation' is_passive = False event = factory.SubFactory(EventFactory, random_categories=True) link = 'www.example.com' report_date = fuzzy.FuzzyDate(datetime.date(2013, 01, 01), now_utc().date()) @factory.post_generation def functional_areas(self, create, extracted, **kwargs): """Add functional areas list after object generation.""" if not create: return if extracted: for area in extracted: self.functional_areas.add(area) else: # create random rand_int = randint(1, 6) for area in FunctionalArea.objects.all().order_by('?')[:rand_int]: self.functional_areas.add(area)
class TakeProfitFactory(MongoEngineFactory): amount = fuzzy.FuzzyDecimal(0.01, 5000) price = fuzzy.FuzzyDecimal(0.0001, 5000) class Meta: model = TakeProfit strategy = factory.BUILD_STRATEGY
class StopLossFactory(MongoEngineFactory): amount = fuzzy.FuzzyDecimal(0.01, 5000) price = fuzzy.FuzzyDecimal(0.0001, 5000) class Meta: model = StopLoss strategy = factory.BUILD_STRATEGY
def test_definition(self): """Tests all ways of defining a FuzzyDecimal.""" fuzz = fuzzy.FuzzyDecimal(2.0, 3.0) for _i in range(20): res = utils.evaluate_declaration(fuzz) self.assertTrue( decimal.Decimal('2.0') <= res <= decimal.Decimal('3.0'), "value %d is not between 2.0 and 3.0" % res, ) fuzz = fuzzy.FuzzyDecimal(4.0) for _i in range(20): res = utils.evaluate_declaration(fuzz) self.assertTrue( decimal.Decimal('0.0') <= res <= decimal.Decimal('4.0'), "value %d is not between 0.0 and 4.0" % res, ) fuzz = fuzzy.FuzzyDecimal(1.0, 4.0, precision=5) for _i in range(20): res = utils.evaluate_declaration(fuzz) self.assertTrue( decimal.Decimal('1.0') <= res <= decimal.Decimal('4.0'), "value %d is not between 1.0 and 4.0" % res, ) self.assertTrue(res.as_tuple().exponent, -5)
class NGReportFactory(factory.django.DjangoModelFactory): user = factory.SubFactory(UserFactory, userprofile__initial_council=True) mentor = factory.SelfAttribute('user.userprofile.mentor') activity = factory.SubFactory(ActivityFactory) latitude = fuzzy.FuzzyDecimal(low=-90.0, high=90.0, precision=5) longitude = fuzzy.FuzzyDecimal(low=-180.0, high=180.0, precision=5) location = 'Activity Location' is_passive = False link = 'www.example.com' report_date = fuzzy.FuzzyDate(datetime.date(2013, 1, 1), now().date()) class Meta: model = NGReport @factory.post_generation def functional_areas(self, create, extracted, **kwargs): """Add functional areas list after object generation.""" if not create: return if extracted: for area in extracted: self.functional_areas.add(area) else: # create random rand_int = randint(1, 6) for area in (FunctionalArea.active_objects.all().order_by('?') [:rand_int]): self.functional_areas.add(area)
class FlwTransactionModelFactory(DjangoModelFactory): """Factory for the FlwTransactionModel""" plan = factory.SubFactory(FlwPlanModelFactory) user = factory.SubFactory(UserFactory) tx_ref = factory.Faker("word") flw_ref = factory.Faker("word") device_fingerprint = factory.Faker("word") amount = fuzzy.FuzzyDecimal(low=20, high=100, precision=2) currency = fuzzy.FuzzyChoice(choices=["USD", "ZAR", "EUR"]) charged_amount = fuzzy.FuzzyDecimal(low=20, high=100, precision=2) app_fee = fuzzy.FuzzyDecimal(low=1, high=5, precision=2) merchant_fee = fuzzy.FuzzyDecimal(low=1, high=5, precision=2) processor_response = factory.Faker("word") auth_model = factory.Faker("word") ip = factory.Faker("word") narration = factory.Faker("word") status = fuzzy.FuzzyChoice(choices=["successful", "failed"]) payment_type = fuzzy.FuzzyChoice(choices=["card", "ussd"]) created_at = fuzzy.FuzzyDateTime( start_dt=datetime(2018, 8, 15, tzinfo=pytz.UTC), end_dt=datetime(2020, 8, 15, tzinfo=pytz.UTC), ) account_id = fuzzy.FuzzyInteger(low=1, high=100) class Meta: model = FlwTransactionModel
class SequenceTextElementFactory(DjangoModelFactory): class Meta: model = SequenceTextElement sequence_asset = factory.SubFactory(SequenceAssetFactory) start_time = fuzzy.FuzzyDecimal(5.0, 105.0) end_time = fuzzy.FuzzyDecimal(1000.01, 6000.0) text = fuzzy.FuzzyText()
class OrderFactory(DjangoModelFactory): """Factory for Orders""" subtotal = fuzzy.FuzzyDecimal(0, 1000.00) total_paid = fuzzy.FuzzyDecimal(0, 1000.00) purchaser = factory.SubFactory(UserFactory) class Meta: # pylint: disable=missing-docstring,no-init,too-few-public-methods,old-style-class model = Order
class SequenceMediaElementFactory(DjangoModelFactory): class Meta: model = SequenceMediaElement sequence_asset = factory.SubFactory(SequenceAssetFactory) start_time = fuzzy.FuzzyDecimal(0.0, 3.0) end_time = fuzzy.FuzzyDecimal(3.01, 6.0) media = factory.SubFactory(SherdNoteFactory)
class DailyAssetInfoFactory(DailyPricingObjectFactory): FACTORY_FOR = models.DailyAssetInfo asset_info = SubFactory(AssetInfoFactory) depreciation_rate = fuzzy.FuzzyDecimal(0, 50) is_depreciated = fuzzy.FuzzyAttribute(lambda: random.random() < 0.5) price = fuzzy.FuzzyDecimal(0, 1000) date = fuzzy.FuzzyDate(MIN_FACTORY_DATE, MAX_FACTORY_DATE)
class TotalObligationsFactory(factory.Factory): class Meta: model = stagingModels.TotalObligations total_obligations_id = None submission_id = fuzzy.FuzzyInteger(9999) total_obligations = fuzzy.FuzzyDecimal(9999) total_proc_obligations = fuzzy.FuzzyDecimal(9999) total_asst_obligations = fuzzy.FuzzyDecimal(9999)
class TeamCostFactory(DjangoModelFactory): FACTORY_FOR = models.TeamCost team = SubFactory(TeamFactory) start = datetime.date.today() end = datetime.date.today() members_count = fuzzy.FuzzyInteger(10, 30) cost = fuzzy.FuzzyDecimal(100, 1000) forecast_cost = fuzzy.FuzzyDecimal(100, 1000)
class OrderLineFactory(DjangoModelFactory): """Factory for OrderLines""" order = factory.SubFactory(OrderFactory) price_without_tax = fuzzy.FuzzyDecimal(0, 1000.00) line_total = fuzzy.FuzzyDecimal(0, 1000.00) seats = fuzzy.FuzzyInteger(2, 60) module = factory.SubFactory(ModuleFactory) class Meta: # pylint: disable=missing-docstring,no-init,too-few-public-methods,old-style-class model = OrderLine
class DataPointFactory(factory.DjangoModelFactory): class Meta: model = DataPoint plant = factory.SubFactory(PlantFactory) energy_expected = fuzzy.FuzzyDecimal(0.1111111, 80.11111111) energy_observed = fuzzy.FuzzyDecimal(0.1111111, 80.11111111) irradiation_expected = fuzzy.FuzzyDecimal(0.1111111, 80.11111111) irradiation_observed = fuzzy.FuzzyDecimal(0.1111111, 80.11111111) datetime = fuzzy.FuzzyDateTime(timezone.now() - datetime.timedelta(days=10))
class FABSFactory(factory.Factory): class Meta: model = stagingModels.FABS fabs_id = None afa_generated_unique = fuzzy.FuzzyText() submission_id = fuzzy.FuzzyInteger(9999) job_id = fuzzy.FuzzyInteger(9999) row_number = fuzzy.FuzzyInteger(9999) action_date = fuzzy.FuzzyText() action_type = fuzzy.FuzzyText() assistance_type = fuzzy.FuzzyText() award_description = fuzzy.FuzzyText() awardee_or_recipient_legal = fuzzy.FuzzyText() awardee_or_recipient_uniqu = fuzzy.FuzzyText() awarding_agency_code = fuzzy.FuzzyText() awarding_office_code = fuzzy.FuzzyText() awarding_sub_tier_agency_c = fuzzy.FuzzyText() award_modification_amendme = fuzzy.FuzzyText() business_funds_indicator = fuzzy.FuzzyText() business_types = fuzzy.FuzzyText() correction_delete_indicatr = fuzzy.FuzzyText() face_value_loan_guarantee = fuzzy.FuzzyDecimal(9999) fain = fuzzy.FuzzyText() federal_action_obligation = fuzzy.FuzzyDecimal(9999) funding_agency_code = fuzzy.FuzzyText() funding_office_code = fuzzy.FuzzyText() funding_opportunity_goals = fuzzy.FuzzyText() funding_opportunity_number = fuzzy.FuzzyText() funding_sub_tier_agency_co = fuzzy.FuzzyText() indirect_federal_sharing = fuzzy.FuzzyDecimal(9999) legal_entity_address_line1 = fuzzy.FuzzyText() legal_entity_address_line2 = fuzzy.FuzzyText() legal_entity_country_code = fuzzy.FuzzyText() legal_entity_foreign_city = fuzzy.FuzzyText() legal_entity_foreign_posta = fuzzy.FuzzyText() legal_entity_foreign_provi = fuzzy.FuzzyText() legal_entity_zip5 = fuzzy.FuzzyText() legal_entity_zip_last4 = fuzzy.FuzzyText() non_federal_funding_amount = fuzzy.FuzzyDecimal(9999) original_loan_subsidy_cost = fuzzy.FuzzyDecimal(9999) period_of_performance_curr = fuzzy.FuzzyText() period_of_performance_star = fuzzy.FuzzyText() place_of_performance_code = fuzzy.FuzzyText() place_of_performance_congr = fuzzy.FuzzyText() place_of_perform_country_c = fuzzy.FuzzyText() place_of_performance_forei = fuzzy.FuzzyText() place_of_performance_zip4a = fuzzy.FuzzyText() record_type = fuzzy.FuzzyInteger(1, 2) sai_number = fuzzy.FuzzyText() uri = fuzzy.FuzzyText() is_valid = True
class TransactionModelFactory(DjangoModelFactory): """Factory for the TransactionModel""" payment_type = factory.SubFactory(PaymentTypeModelFactory) user = factory.SubFactory(UserFactory) reference = factory.Faker("word") flutterwave_reference = factory.Faker("word") order_reference = factory.Faker("word") amount = fuzzy.FuzzyDecimal(low=20, high=100, precision=2) charged_amount = fuzzy.FuzzyDecimal(low=20, high=100, precision=2) status = fuzzy.FuzzyChoice(choices=["successful", "failed"]) class Meta: model = TransactionModel
class ExpenseFactory(factory.DjangoModelFactory): currency = factory.SubFactory(PublicsCurrencyFactory) amount = fuzzy.FuzzyDecimal(1, 10000) type = factory.SubFactory(PublicsTravelExpenseTypeFactory) class Meta: model = models.Expense
class PartnerProjectFactory(factory.django.DjangoModelFactory): title = factory.Sequence(lambda n: "partner_project_%d" % n) start_date = beginning_of_this_year end_date = today description = factory.Sequence(lambda n: "description %d" % n) additional_information = factory.Sequence( lambda n: "additional_information %d" % n) total_budget = fuzzy.FuzzyDecimal(low=10000.0, high=100000.0, precision=2) funding_source = factory.Sequence(lambda n: "funding_source %d" % n) @factory.post_generation def clusters(self, create, extracted, **kwargs): if not create: return if extracted: for cluster in extracted: self.clusters.add(cluster) @factory.post_generation def locations(self, create, extracted, **kwargs): if not create: return if extracted: for location in extracted: self.locations.add(location) class Meta: model = PartnerProject
class PaymentOrderFactory(factory.django.DjangoModelFactory): user = factory.SubFactory(UserFactory) amount = fuzzy.FuzzyDecimal(0, 10, precision=6) class Meta: abstract = False model = models.PaymentOrder
class AddonFactory(factory.DjangoModelFactory): name = FuzzyUnicode() version = fuzzy.FuzzyDecimal(0.1, 99.9, 1) ftp_url = factory.Faker('url') class Meta: model = Addon
class EarningsReportFactory(DjangoModelFactory): restaurant = SubFactory(RestaurantFactory) date = fuzzy.FuzzyDate(date(2000, 1, 1)) amount = fuzzy.FuzzyDecimal(0, 10000) class Meta: model = EarningsReport
def _fill_sc_specified_fields(self): self.engagement.total_amount_tested = random.randint(1, 22) self.engagement.total_amount_of_ineligible_expenditure = random.randint( 1, 22) self.engagement.internal_controls = fuzzy.FuzzyText(length=50).fuzz() self.engagement.exchange_rate = fuzzy.FuzzyDecimal(0.5, 400).fuzz() self.engagement.save()
class ProductFactory(DjangoModelFactory): name = fuzzy.FuzzyText() description = fuzzy.FuzzyText() price = fuzzy.FuzzyDecimal(0.00, precision=2) class Meta: model = Product
class AmountInvestedFactory(MongoEngineFactory): amount = fuzzy.FuzzyDecimal(0, 1000) currency = fuzzy.FuzzyChoice(AmountInvestedCurrenciesChoices.choices) class Meta: model = AmountInvested strategy = factory.BUILD_STRATEGY
class TransactionFactory(MongoEngineFactory): initial_pair_price = fuzzy.FuzzyDecimal(0.1, 500) amount_invested = factory.SubFactory(AmountInvestedFactory) class Meta: model = Transaction strategy = factory.BUILD_STRATEGY
class ProductListing(factory.DjangoModelFactory): dealer = DealerFactory() path = factory.Sequence(lambda n: "/path/{0}".format(n)) price = fuzzy.FuzzyDecimal(5.00, 500.00) class Meta: model = "products.ProductListing"
class ProductFactory(factory.django.DjangoModelFactory): class Meta: model = Product name = factory.Faker('license_plate') price_net = fuzzy.FuzzyDecimal( 0.0, 10**(Product._meta.get_field('price_net').max_digits - 2)) status = fuzzy.FuzzyChoice(Product.PRODUCT_STATUSES.keys())
class MoneyFactory(factory.Factory): """ Factory for `djmoney.money.Money`. We all wish we had a `MoneyFactory`. """ amount = fuzzy.FuzzyDecimal(10, high=200) currency = fuzzy.FuzzyChoice(CURRENCIES) class Meta: model = Money
class MedicineFactory(DjangoModelFactory): manufacturer = factory.Faker("word") brand_name = factory.Faker("word") generic_name = factory.Faker("word") price = fuzzy.FuzzyDecimal(1.00, high=100.00) class Meta: model = Medicine