class AlbumFactory(factory.DjangoModelFactory): FACTORY_FOR = Album remote_id = factory.LazyAttributeSequence(lambda o, n: '-%s_%s' % (o.group.remote_id, n)) thumb_id = factory.Sequence(lambda n: n) created = datetime.now() updated = datetime.now() size = 1
class PhotoFactory(factory.DjangoModelFactory): FACTORY_FOR = Photo remote_id = factory.LazyAttributeSequence(lambda o, n: '%s_%s' % (o.group.remote_id, n)) user = factory.SubFactory(UserFactory) created = datetime.now() width = 10 height = 10
class GroupFactory(factory.django.DjangoModelFactory): class Meta: model = Group class Params: name_base = factory.Faker("company") name = factory.LazyAttributeSequence(lambda o, n: f"{o.name_base} {n}") slug = factory.LazyAttribute(lambda o: slugify(o.name)) type = factory.Iterator([Group.GroupType.GROUP, Group.GroupType.COMMISSION])
class UserFactory(factory.django.DjangoModelFactory): class Meta: model = User first_name = factory.fuzzy.FuzzyChoice(['John', 'Jane']) last_name = 'Doe' email = factory.LazyAttributeSequence( lambda a, n: '{0}.{1}-{2}@example.com'.format(a.first_name.lower(), a.last_name.lower(), n)) password = factory.PostGenerationMethodCall('set_password', 'secret')
class PostFactory(factory.DjangoModelFactory): created_time = datetime.now() # owners = factory.SubFactory(UserFactory) author = factory.SubFactory(UserFactory) graph_id = factory.LazyAttributeSequence(lambda o, n: '%s_%s' % (n, n)) class Meta: model = models.Post
class UserFactory(factory.django.DjangoModelFactory): class Meta: model = User first_name = factory.LazyFunction( lambda: evaluate_faker(factory.Faker("name")).split()[0]) last_name = factory.LazyFunction( lambda: evaluate_faker(factory.Faker("name")).split()[-1]) username = factory.LazyAttributeSequence(lambda o, n: "%s_%s%d" % (o.first_name, o.last_name, n)) email = factory.LazyAttribute(lambda o: "*****@*****.**" % o.username)
class CommentFactory(DjangoModelNoCommitFactory): date = factory.LazyAttribute(lambda o: timezone.now()) owner = factory.SubFactory(UserFactory) object = factory.SubFactory(UserFactory) author = factory.SubFactory(UserFactory) remote_id = factory.LazyAttributeSequence(lambda o, n: '%s_%s' % (o.owner.remote_id, n)) class Meta: model = Comment
class UserFactory(factory.DjangoModelFactory): class Meta: model = User first_name = factory.LazyFunction( lambda: factory.Faker("name").generate({}).split()[0]) last_name = factory.LazyFunction( lambda: factory.Faker("name").generate({}).split()[-1]) username = factory.LazyAttributeSequence(lambda o, n: "%s_%s%d" % (o.first_name, o.last_name, n)) email = factory.LazyAttribute(lambda o: "*****@*****.**" % o.username)
class ProjectFactory(factory.Factory): FACTORY_FOR = Project name = factory.LazyAttributeSequence( lambda user, index: 'project-%d' % index) repository = "git://github.com/heynemann/wight.git" created_by = factory.SubFactory(UserFactory) date_modified = factory.LazyAttribute(lambda user: datetime.now()) date_created = factory.LazyAttribute(lambda user: datetime.now()) team = factory.SubFactory(UserFactory) tests = []
class UserFactory(factory.django.DjangoModelFactory): class Meta: model = "users.User" username = factory.Sequence(lambda n: f"user-{n}") first_name = factory.fuzzy.FuzzyChoice(["John", "Jane"]) last_name = "Doe" email = factory.LazyAttributeSequence( lambda a, n: "{0}.{1}-{2}@example.com".format(a.first_name.lower(), a.last_name.lower(), n)) password = factory.PostGenerationMethodCall("set_password", "secret")
class RisqueFactory(factory.django.DjangoModelFactory): class Meta: model = Risque django_get_or_create = ('nom', ) classe = factory.SubFactory(ClasseDeRisqueFactory, nom='Risques Stratégiques') nom = factory.LazyAttributeSequence(lambda o, n: f'{o.classe}-Risque-{n}') description = factory.Faker('text', max_nb_chars=500) cause = factory.Faker('text', max_nb_chars=500) consequence = factory.Faker('text', max_nb_chars=500)
class CommentFactory(factory.DjangoModelFactory): created_time = datetime.now() owner = factory.SubFactory(PostFactory) author = factory.SubFactory(UserFactory) graph_id = factory.LazyAttributeSequence(lambda o, n: '%s_%s' % (o.owner.graph_id, n)) class Meta: model = models.Comment
class ConditionFactory(DjangoModelFactory): class Meta: model = 'hosting.Condition' exclude = ('word', ) word = Faker('word') name = factory.LazyAttribute( lambda obj: '{} {}.'.format(obj.word.title(), obj.word[::-1])) abbr = factory.LazyAttributeSequence( lambda obj, n: 'p/{}/{}'.format(obj.word[:6], n)) slug = factory.LazyAttribute( lambda obj: slugify(obj.abbr, to_lower=True, separator='-'))
class UserFactory(factory.django.DjangoModelFactory): class Meta: model = User first_name = u'Joe' last_name = u'Bloggs' username = factory.LazyAttributeSequence(lambda a, n: '{0}-{1}-{2}'.format( a.first_name, a.last_name, n).lower()) email = factory.LazyAttributeSequence( lambda a, n: '{0}+{1}@example.com'.format(a.username, n).lower()) is_active = True @classmethod def _prepare(cls, create, **kwargs): password = kwargs.pop('password', "let-me-in") user = super(UserFactory, cls)._prepare(create, **kwargs) if password: user.set_password(password) if create: user.save() return user
class TestConfigurationFactory(factory.Factory): FACTORY_FOR = TestConfiguration title = factory.LazyAttributeSequence( lambda user, index: 'test-config-%d' % index) description = factory.LazyAttributeSequence( lambda user, index: 'test-config-desc-%d' % index) module = factory.LazyAttributeSequence( lambda user, index: 'module-test-%d' % index) class_name = factory.LazyAttributeSequence( lambda user, index: 'ModuleTest%d' % index) test_name = factory.LazyAttributeSequence( lambda user, index: 'test-config-name-%d' % index) target_server = factory.LazyAttributeSequence( lambda user, index: 'target-%d' % index) cycles = "[10,20,50,100]" cycle_duration = 30 test_date = factory.LazyAttribute(lambda user: datetime.now()) funkload_version = "1.0.0" sleep_time = 2 sleep_time_min = 1 sleep_time_max = 5 startup_delay = 10 apdex_default = 0.8
class GroupFactory(DjangoModelFactory): """Factory that creates a generic group""" class Meta: model = Group name = factory.Sequence(lambda n: f"Group{n}") slug = factory.Sequence(lambda n: f"Group{n}") description = factory.Faker("sentence", nb_words=100, variable_nb_words=True) contact_email = factory.LazyAttributeSequence( lambda o, n: f"{o.slug}@{n}.example.com") type = GroupType.SUBGROUP
class NetworkInterfaceFactory(factory.DjangoModelFactory): FACTORY_FOR = models.NetworkInterface machine = factory.SubFactory(VirtualMachineFactory) network = factory.SubFactory(NetworkFactory) index = factory.Sequence(lambda x: x, type=int) mac = factory.Sequence(lambda n: 'aa:{0}{0}:{0}{0}:aa:{0}{0}:{0}{0}'. format(hex(int(n) % 15)[2:3])) ipv4 = factory.LazyAttributeSequence( lambda a, n: a.network.subnet[:-4] + '{0}'.format(int(n) + 2)) state = "ACTIVE" firewall_profile =\ factory.Sequence(round_seq_first(FACTORY_FOR.FIREWALL_PROFILES))
class UserFactory(factory.DjangoModelFactory): class Meta: model = CustomUser email = factory.LazyAttributeSequence( lambda o, n: "{0}.{1}+profile{2}@codepoets.it".format( o.first_name, o.last_name, n).lower()) first_name = factory.Faker("first_name") last_name = factory.Faker("last_name") is_active = True preferences = factory.RelatedFactory(UserPreferencesFactory, factory_related_name="user") password = make_password(FACTORY_USER_PASSWORD)
class UserFactory(factory.django.DjangoModelFactory): class Meta: model = User username = factory.Sequence(lambda n: 'username %d' % n) first_name = factory.Faker('first_name') last_name = factory.Faker('last_name') email = factory.LazyAttributeSequence(lambda o, n: '*****@*****.**' % (o.first_name, o.last_name, n)) is_staff = False is_active = True date_joined = factory.LazyFunction(timezone.now) pro = None
class UserFactory(factory.DjangoModelFactory): class Meta: model = get_user_model() username = factory.Sequence(lambda n: 'Agent %03d' % n) email = factory.LazyAttributeSequence( lambda o, n: f'{o.username}{n}@example.com') password = factory.PostGenerationMethodCall('set_password') description = 'raw description' city = 'raw city' website = 'raw website' phone_number = 123456 stripe_id = 'raw stripe_id'
class VehicleFactory(factory.django.DjangoModelFactory): class Meta: model = Vehicle vehicle_category = factory.Iterator(VEHICLES_CATEGORIES, getter=lambda c: c[0]) name = factory.Sequence(lambda n: u"Vehicle %s" % n) slug = factory.LazyAttributeSequence(lambda o, n: u"%s-%d" % (slugify(o.name), n)) sign = factory.Sequence(lambda n: u"XXX-00%s" % n) date_added = datetime.now() is_avaliable = True is_active = True
class UserFactory(factory.django.DjangoModelFactory): class Meta: model = "auth.User" username = factory.LazyAttributeSequence(lambda o, n: "user_{}".format(n)) first_name = factory.LazyAttribute( lambda obj: f"{obj.username}_first_name") last_name = factory.LazyAttribute(lambda obj: f"{obj.username}_last_name") email = factory.LazyAttribute( lambda obj: f"{obj.username}@{FAKE.free_email_domain()}") password = factory.PostGenerationMethodCall("set_password", FAKE.password()) is_staff = False
class UserFactory(factory.django.DjangoModelFactory): class Meta: model = User class Params: username_base = factory.Faker('user_name') username = factory.LazyAttributeSequence( lambda o, n: f'{o.username_base}{n}') email = factory.Faker('safe_email') first_name = factory.Faker('first_name') last_name = factory.Faker('last_name') is_superuser = False
class IPv4AddressFactory(factory.DjangoModelFactory): FACTORY_FOR = models.IPAddress userid = factory.Sequence(user_seq()) network = factory.SubFactory(NetworkFactory, state="ACTIVE") subnet = factory.SubFactory(IPv4SubnetFactory, network=factory.SelfAttribute('..network')) ipversion = 4 address =\ factory.LazyAttributeSequence(lambda self, n: self.subnet.cidr[:-4] + '{0}'.format(int(n) + 2)) nic = factory.SubFactory(NetworkInterfaceFactory, userid=factory.SelfAttribute('..userid'), network=factory.SelfAttribute('..network'))
class TestCycleRequestsFactory(factory.Factory): FACTORY_FOR = TestCycleRequests apdex = random.random() successful_requests_per_second = factory.LazyAttributeSequence( lambda cycle, i: 2 * (i + 1)) maximum_successful_requests_per_second = factory.LazyAttributeSequence( lambda cycle, i: 2 * (i + 1)) successful_requests = factory.LazyAttributeSequence(lambda cycle, i: 100 * (i + 1)) failed_requests = factory.LazyAttributeSequence(lambda cycle, i: 10 * (i + 1)) total_requests = factory.LazyAttribute( lambda c: c.successful_requests + c.failed_requests) minimum = .2 average = .5 maximum = .8 p10 = .9 p50 = .8 p90 = .4 p95 = .3
class AlbumFactory(factory.DjangoModelFactory): remote_id = factory.LazyAttributeSequence(lambda o, n: '-%s_%s' % (o.group.remote_id, n)) thumb_id = factory.Sequence(lambda n: n) #group = factory.SubFactory(GroupFactory) created = factory.LazyAttribute(lambda o: datetime.now()) updated = factory.LazyAttribute(lambda o: datetime.now()) size = 1 class Meta: model = models.Album
class ItemFactory(SplitFactory): FACTORY_FOR = XModuleDescriptor display_name = factory.LazyAttributeSequence( lambda o, n: "{} {}".format(o.category, n)) # pylint: disable=unused-argument @classmethod def _create(cls, target_class, parent_location, category='chapter', user_id=ModuleStoreEnum.UserID.test, definition_locator=None, force=False, continue_version=False, **kwargs): """ passes *kwargs* as the new item's field values: :param parent_location: (required) the location of the course & possibly parent :param category: (defaults to 'chapter') :param definition_locator (optional): the DescriptorLocator for the definition this uses or branches """ modulestore = kwargs.pop('modulestore') if isinstance(parent_location, UsageKey): return modulestore.create_child( user_id, parent_location, category, defintion_locator=definition_locator, force=force, continue_version=continue_version, **kwargs) else: return modulestore.create_item( user_id, parent_location, category, defintion_locator=definition_locator, force=force, continue_version=continue_version, **kwargs) @classmethod def _build(cls, target_class, *args, **kwargs): raise NotImplementedError()
class TopicFactory(factory.DjangoModelFactory): group = factory.SubFactory(GroupFactory) remote_id = factory.LazyAttributeSequence(lambda o, n: '-%s_%s' % (o.group.remote_id, n)) created = datetime.now() comments_count = 1 created_by = factory.SubFactory(UserFactory) updated_by = factory.SubFactory(UserFactory) is_closed = random.choice((True, False)) is_fixed = random.choice((True, False)) class Meta: model = Topic
class PostFactory(DjangoModelNoCommitFactory): date = factory.LazyAttribute(lambda o: timezone.now()) owner = factory.SubFactory(UserFactory) author = factory.SubFactory(UserFactory) remote_id = factory.LazyAttributeSequence(lambda o, n: '%s_%s' % (o.owner.remote_id, n)) likes_count = factory.LazyAttribute(lambda o: random.randrange(100)) reposts_count = factory.LazyAttribute(lambda o: random.randrange(100)) comments_count = factory.LazyAttribute(lambda o: random.randrange(100)) # actions_count = factory.LazyAttribute(lambda o: random.randrange(100)) class Meta: model = Post
class CheatsheetFactory(DjangoModelFactory): """Factory that creates a generic cheatsheet""" class Meta: model = Cheatsheet id = uuid.uuid4() title = factory.Sequence(lambda n: f"Cheatsheet{n}") creator = factory.Faker("name") study = factory.Iterator(UserStudy) grade = factory.Iterator(UserClass) course = factory.Faker("word") type = factory.Iterator(CheatsheetType) official = False url = factory.LazyAttributeSequence( lambda o, n: f"http://www.{o.title}example.com")