Esempio n. 1
0
class PersonFactory(DjangoModelFactory):
    class Meta:
        model = Person

    # membertype = FuzzyChoice(Person.MEMBER_TYPE_CHOICES)
    name = Faker("name")
    placename = Faker("city_suffix")
    zipcode = Faker("zipcode")
    city = Faker("city")
    streetname = Faker("street_name")
    housenumber = Faker("building_number")
    floor = Faker("floor")
    door = Faker("door")
    dawa_id = Faker("uuid4")
    municipality = Faker("municipality")
    longitude = Faker("longitude")
    latitude = Faker("latitude")
    updated_dtm = Faker("date_time", tzinfo=TIMEZONE)
    email = factory.Sequence(
        lambda n: "person{0}@example.com".format(n))  # Faker("email")
    phone = Faker("phone_number")
    gender = FuzzyChoice(Person.MEMBER_GENDER_CHOICES)
    birthday = Faker("date")
    # has_certificate = Faker("date")
    family = SubFactory(FamilyFactory, email=email)
    notes = Faker("text")
    # added = Faker("date_time", tzinfo=TIMEZONE)
    # deleted_dtm = Faker("date_time", tzinfo=TIMEZONE)
    user = SubFactory(UserFactory,
                      username=SelfAttribute("..email"),
                      email=SelfAttribute("..email"))
    address_invalid = Faker("boolean")
Esempio n. 2
0
class OrderProductFactory(DjangoModelFactory):
    class Meta:
        model = "ordering.OrderProduct"

    product = SubFactory(ProductFactory)
    order = SubFactory(OrderFactory)
    amount = FuzzyInteger(low=1, high=10)
    retail_price = SelfAttribute('product.retail_price')
    base_price = SelfAttribute('product.base_price')
Esempio n. 3
0
class PaymentFactory(DjangoModelFactory):
    currency = SubFactory(CurrencyFactory)
    from_account = SubFactory(AccountFactory,
                              currency=SelfAttribute('..currency'))
    to_account = SubFactory(AccountFactory,
                            currency=SelfAttribute('..currency'))
    amount = 0

    class Meta(object):
        model = Payment
Esempio n. 4
0
 class Params:
     lop_indicator = Trait(
         lop_target=1000,
         target_frequency=IndicatorM.LOP,
         periodic_target=RelatedFactory(
             'factories.indicators_models.PeriodicTargetFactory',
             'indicator',
             target=1000,
             start_date=SelfAttribute('indicator.program.reporting_period_start'),
             end_date=SelfAttribute('indicator.program.reporting_period_end'),
         )
     )
Esempio n. 5
0
class EquipmentFactory(DjangoModelFactory):

    class Meta:
        model = Equipment
        django_get_or_create = ('owner', 'identifier',)

    owner = SubFactory(AccountFactory)
    company = SubFactory(CompanyFactory, owner=SelfAttribute('..owner'))
    type = SubFactory(EquipmentTypeFactory, owner=SelfAttribute('..owner'))
    category = NullableSubFactory(ResourceCategoryFactory, owner=SelfAttribute('..owner'))
    project = NullableSubFactory(ProjectFactory, owner=SelfAttribute('..owner'))
    location = NullableSubFactory(LocationFactory, owner=SelfAttribute('..owner'))
Esempio n. 6
0
class ConnectionFactory(BaseFactory):
    """Connection factory."""

    connection_type = 'friend'

    from_person_id = SelfAttribute('from_person.id')
    from_person = SubFactory(PersonFactory)
    to_person_id = SelfAttribute('to_person.id')
    to_person = SubFactory(PersonFactory)

    class Meta:

        model = Connection
        exclude = ('from_person', 'to_person')
Esempio n. 7
0
class ServiceFactory(DjangoModelFactory):
    class Meta:
        model = Service

    owner = Faker("user_name")
    name = Faker("slug")
    status = LazyFunction(
        lambda: choice([item.value for item in Status] + [None]))
    impact = LazyFunction(
        lambda: choice([item.value for item in Impact] + [None]))
    tier = SubFactory(TierFactory, level=LazyFunction(lambda: randint(1, 4)))
    repository = SubFactory(RepositoryFactory,
                            owner=SelfAttribute("..owner"),
                            name=SelfAttribute("..name"))
    slack_channel = LazyAttribute(lambda o: f"#{o.name}")
    docs_url = LazyAttribute(lambda o: f"https://example.com/#{o.name}")
Esempio n. 8
0
class AnswerFactory(DjangoModelFactory):
    session = SubFactory(SessionFactory)
    question = SelfAttribute('session.questionnaire.first_question')
    payload = None

    class Meta:
        model = Answer
Esempio n. 9
0
class ResourceProjectAssignmentFakeFactory(DjangoModelFactory):
    class Meta:
        model = ResourceProjectAssignment

    owner = SubFactory(AccountFakeFactory)
    project = SubFactory(ProjectFakeFactory, owner=SelfAttribute('..owner'))
    start_date = LazyAttribute(lambda obj: date.today())
    end_date = LazyAttribute(lambda obj: obj.start_date + timedelta(days=364))
Esempio n. 10
0
class TranslationMemoryFactory(DjangoModelFactory):
    source = Sequence(lambda n: f"source {n}")
    target = Sequence(lambda n: f"target {n}")
    entity = SubFactory(EntityFactory, string=SelfAttribute("..source"))
    locale = SubFactory(LocaleFactory)

    class Meta:
        model = TranslationMemoryEntry
Esempio n. 11
0
class TranslationMemoryFactory(DjangoModelFactory):
    source = Sequence(lambda n: 'source {0}'.format(n))
    target = Sequence(lambda n: 'target {0}'.format(n))
    entity = SubFactory(EntityFactory, string=SelfAttribute('..source'))
    locale = SubFactory(LocaleFactory)

    class Meta:
        model = TranslationMemoryEntry
Esempio n. 12
0
class LineFactory(DjangoModelFactory):
    """Factory for Line"""
    order = SubFactory(OrderFactory)
    price = SelfAttribute('order.total_price_paid')
    description = FuzzyText(prefix="Line ")
    course_key = FuzzyText()

    class Meta:
        model = Line
class MailLogFactory(SQLAlchemyModelFactory):
    class Meta:
        model = models.MailLog
        sqlalchemy_session = models.db.session

    to = SubFactory(ParticipantFactory)
    meeting = SelfAttribute('to.meeting')
    subject = 'Test subject'
    message = 'Test message'
class CustomFieldValueFactory(SQLAlchemyModelFactory):
    class Meta:
        model = models.CustomFieldValue
        sqlalchemy_session = models.db.session

    participant = SubFactory(ParticipantFactory)
    custom_field = SubFactory(CustomFieldFactory,
                              meeting=SelfAttribute('..participant.meeting'))
    value = 'some random text'
Esempio n. 15
0
class AddressFactory(SQLAlchemyModelFactory):
    class Meta:
        model = Address
        sqlalchemy_session = SESSION

    address_id = Sequence(lambda n: n)
    email_address = Sequence(lambda n: f'address_{n}@hogemail.com')
    user = SubFactory(UserFactory)
    user_id = SelfAttribute('user.user_id')
class ConditionFactory(SQLAlchemyModelFactory):
    class Meta:
        model = models.Condition
        sqlalchemy_session = models.db.session

    rule = SubFactory(RuleFactory)
    field = SubFactory(CustomFieldFactory,
                       meeting=SelfAttribute('..rule.meeting'),
                       field_type='country')
Esempio n. 17
0
class FoodLogFactory(DjangoModelFactory):
    user = SubFactory(UserFactory)
    time = FuzzyDateTime(start_dt=get_utc_time_relative_units_ago(years=2))
    food = SubFactory(FoodFactory, user=SelfAttribute("..user"))
    quantity = FuzzyInteger(1, 10)
    notes = FuzzyChoice(NOTES_TO_USE_WITH_EMPTY_SPACES)

    class Meta:
        model = FoodLog
        django_get_or_create = ["user", "food", "time"]
Esempio n. 18
0
class ActivityLogFactory(DjangoModelFactory):
    user = SubFactory(UserFactory)
    time = FuzzyDateTime(start_dt=get_utc_time_relative_units_ago(years=2))
    activity = SubFactory(ActivityFactory, user=SelfAttribute("..user"))
    duration_minutes = FuzzyInteger(0, 100)
    notes = FuzzyChoice(NOTES_TO_USE_WITH_EMPTY_SPACES)

    class Meta:
        model = ActivityLog
        django_get_or_create = ["user", "activity", "time"]
Esempio n. 19
0
class SiteFactory(DjangoModelFactory):
    """
    Factory class for Site model
    """
    class Meta(object):
        model = Site
        django_get_or_create = ('domain', )

    domain = Sequence('{}.testserver.fake'.format)
    name = SelfAttribute('domain')
Esempio n. 20
0
class ActivitySeriesFactory(DjangoModelFactory):
    class Meta:
        model = ActivitySeriesModel

    activity_type = SubFactory(ActivityTypeFactory,
                               group=SelfAttribute('..place.group'))
    place = SubFactory(PlaceFactory)
    start_date = LazyAttribute(lambda _: timezone.now().replace(
        second=0, microsecond=0) + relativedelta(minutes=15))
    rule = 'FREQ=WEEKLY'
Esempio n. 21
0
class UserFactory(DjangoModelFactory):
    """Factory for User"""

    username = SelfAttribute("email")
    email = FuzzyText(suffix="@example.com")
    name = Faker("name")
    is_active = True

    class Meta:
        model = User
Esempio n. 22
0
class TaggedItemsFactory(DjangoModelFactory):

    content_type = LazyAttribute(
        lambda o: ContentType.objects.get_for_model(o.content_object))
    content_object = SubFactory(ResourceFactory)
    object_id = SelfAttribute('content_object.id')
    tag = SubFactory(CustomTagFactory)

    class Meta:
        model = TaggedItems
        django_get_or_create = ["content_type", "object_id", "tag"]
class ActionFactory(SQLAlchemyModelFactory):
    class Meta:
        model = models.Action
        sqlalchemy_session = models.db.session

    rule = SubFactory(RuleFactory)
    field = SubFactory(CustomFieldFactory,
                       meeting=SelfAttribute('..rule.meeting'),
                       field_type='country')
    is_visible = False
    is_required = False
Esempio n. 24
0
class MetaProfile(Factory):
    class Meta:
        model = dict

    mastodon_profile = SelfAttribute('..name')
    mastodon_followers = fuzzy.FuzzyInteger(0, 100)

    @post_generation
    def add_social_media_profile(self, create, extracted, **kwargs):
        user_name = self['mastodon_profile'].replace(' ', '').lower()
        self['mastodon_profile'] = user_name + '@mastodon.fr'
Esempio n. 25
0
class AnswerFactory(DjangoModelFactory):
    session = SubFactory(SessionFactory)
    question = SelfAttribute('session.questionnaire.first_question')
    payload = None

    @post_generation
    def set_question_and_answer(obj, create, extracted, **kwargs):
        if not obj.payload:
            obj.payload = f'Answer to: {obj.question.short_label}.'

    class Meta:
        model = Answer
Esempio n. 26
0
class RecordFactory(DjangoModelFactory):
    class Meta:
        model = models.Record

    @post_generation
    def tags(self, create, extracted, **kwargs):
        if not create:
            return

        if extracted is None:
            tags = factories.FuzzyFactorySequence(
                TagFactory,
                f_kwargs={'owner': self.owner}
            ).fuzz()
        else:
            tags = extracted

        for tag in tags:
            self.tags.add(tag)  # pylint: disable=no-member

    created_dt = factories.FuzzyDateTime(
        datetime.datetime(2016, 1, 1, tzinfo=datetime.timezone.utc),
        datetime.datetime(2018, 1, 1, tzinfo=datetime.timezone.utc),
    )
    delta = fuzzy.FuzzyDecimal(0.01, 10000, 2)
    description = Faker('text')
    asset_from = SubFactory(AssetFactory, owner=SelfAttribute('..owner'))
    asset_to = SubFactory(AssetFactory, owner=SelfAttribute('..owner'))
    owner = SubFactory(UserFactory)

    @lazy_attribute
    def mode(self):
        if self.asset_from and self.asset_to:
            return models.Record.TRANSFER
        elif self.asset_from:
            return models.Record.EXPENSE
        elif self.asset_to:
            return models.Record.INCOME
        else:
            return None
class CustomerFactory(Factory):
    class Meta:
        model = Customer

    _start_date = '-2years'

    _state_values = 'disabled,invited,enabled,declined'.split(',')
    _opt_in_levels = 'single_opt_in,confirmed_opt_in,unknown'.split(',')

    accepts_marketing = Faker("pybool")
    accepts_marketing_updated_at = Faker("date_time_between", start_date=_start_date)
    currency = Faker("currency_code")
    created_at = Faker("date_time_between", start_date=_start_date)
    default_address = SubFactory(
        AddressFactory,
        customer_id=SelfAttribute('..id'),
        first_name=SelfAttribute('..first_name'),
        last_name=SelfAttribute('..last_name'), phone=SelfAttribute('..phone')
    )
    addresses = LazyAttribute(lambda o: [o.default_address])
    email = Faker("safe_email")
    first_name = Faker("first_name")
    id = Sequence(lambda n: n)
    last_name = Faker("last_name")
    last_order_id = Faker("random_int")
    last_order_name = ''
    orders_count = 0  # To be incremented with actual orders
    state = Faker('random_element', elements=_state_values)  # can be disabled, invited, enabled, declined
    tags = ''
    tax_exempt = Faker("pybool")
    tax_exemptions = []
    total_spent = 0.0  # To be incremented with actual orders
    updated_at = SelfAttribute('created_at')
    verified_email = True
    admin_graphql_api_id = "dfsdfd"
    marketing_opt_in_level = Faker('random_element', elements=_opt_in_levels)
    multipass_identifier = ''
    note = ''
    phone = Faker("safe_e164")
    metafield = None
class MediaParticipantFactory(SQLAlchemyModelFactory):
    class Meta:
        model = models.Participant
        sqlalchemy_session = models.db.session

    category = SubFactory(MeetingCategoryFactory)
    meeting = SelfAttribute('category.meeting')
    title = 'Ms'
    first_name = 'Jane'
    last_name = 'Doe'
    email = '*****@*****.**'
    country = 'BR'
    participant_type = models.Participant.MEDIA
Esempio n. 29
0
class ObjectFactory(BaseCloudFactory):
    """Create objects."""
    class Meta:
        model = Object
        exclude = ['_container']

    _container = SubFactory(ContainerFactory)
    container = SelfAttribute('_container.name')
    data = b'Test Data'
    name = Sequence(lambda n: 'test_object_%d.txt' % n)

    @classmethod
    def _create(cls, model_class, *args, **kwargs):
        cloud = cls._meta.cloud.connection
        return cloud.object_store.upload_object(**kwargs)
Esempio n. 30
0
class EmployeeFakeFactory(DjangoModelFactory):

    class Meta:
        model = Employee

    owner = SubFactory(AccountFakeFactory)
    identifier = Faker('ssn')
    first_name = Faker('first_name_male')
    last_name = Faker('last_name')
    gender = 'M'
    company = SubFactory(CompanyFakeFactory, owner=SelfAttribute('..owner'))
    department = SubFactory(DepartmentFakeFactory, owner=SelfAttribute('..owner'))
    position = SubFactory(PositionFakeFactory, owner=SelfAttribute('..owner'))
    category = SubFactory(ResourceCategoryFakeFactory, owner=SelfAttribute('..owner'))
    project = SubFactory(ProjectFakeFactory, owner=SelfAttribute('..owner'))
    team = SubFactory(TeamFakeFactory, owner=SelfAttribute('..owner'),
                      company=SelfAttribute('..company'))
    location = SubFactory(LocationFakeFactory, owner=SelfAttribute('..owner'))