class RespuestaFormularioGestionFactory(DjangoModelFactory): class Meta: model = RespuestaFormularioGestion calificacion = SubFactory(CalificacionClienteFactory) metadata = lazy_attribute(lambda a: '["{0}", "{1}", "{2}", "{3}", "{4}"]'.format( faker.name(), faker.name(), faker.random_number(7), faker.phone_number(), faker.phone_number()))
class ContactoFactory(DjangoModelFactory): class Meta: model = Contacto telefono = lazy_attribute(lambda a: str(faker.random_number(10))) id_externo = None datos = lazy_attribute(lambda a: '["{0}", "{1}", "{2}", "{3}", "{4}"]'.format( faker.name(), faker.name(), faker.random_number(7), faker.phone_number(), faker.phone_number())) bd_contacto = SubFactory(BaseDatosContactoFactory)
def init_collection_data(): person_collection = test_db['person'] persons = [] for num in range(1000000): if num > 0 and num % 10000 == 0: person_collection.insert_many(persons) persons.clear() print(person_collection.count_documents({})) persons.append({ 'name': faker.name(), 'address': faker.address(), 'phone': faker.phone_number(), 'postcode': faker.postcode(), 'age': str(faker.date_of_birth(minimum_age=18, maximum_age=30)), 'company': faker.company(), 'license_plate': faker.license_plate() }) if persons: person_collection.insert_many(persons)
class ShareUserFactory(DjangoModelFactory): username = factory.Sequence(lambda x: '{}{}'.format(faker.name(), x)) source = factory.RelatedFactory('tests.factories.core.SourceFactory', 'user') class Meta: model = models.ShareUser
def create_nuban(): cust = get_random_string(10) requestId = get_time() faker = Faker() url = "{}/v2/api/vnubans/create_customer".format(base_url) payload = { "customer_reference": cust, "name": faker.name().split()[0] + " " + get_random_number(), "email": faker.email(), "mobile_number": "08123258600", "expires_on": str(datetime.date.today() + datetime.timedelta(days=1)), "callback_url": os.getenv("CALLBACK_URL"), "meta_data": { "somedatakey": "somedatavalue" }, "destination_nuban": "" } headers = { 'api_secret': api_key, 'requestId': str(requestId), 'Content-Type': 'application/json' } start_time = get_time() response = requests.request("POST", url, headers=headers, data=json.dumps(payload)) stop_time = get_time() return response.status_code, response.json(), start_time, stop_time
def get_human_data(): recent_year = datetime.date.today().year first_name, second_name = faker.name().split(' ', 1) genders = [gender for gender, _ in settings.GENDERS] return dict(first_name=first_name, second_name=second_name, age=abs(recent_year - int(faker.year())), gender=faker.random.choice(genders))
def prefill_users(clean=True, amount=1000): if clean: session.query(User).delete() for counter in range(amount): user = User(email=faker.email(), password=generate_password(), name=faker.name()) session.add(user) user = User(email="admin", password="******", name="Administrator") session.add(user) session.commit()
class SourceFactory(DjangoModelFactory): name = factory.Sequence(lambda x: '{}{}'.format(faker.name(), x)) long_title = factory.Sequence(lambda x: '{}{}'.format(faker.sentence(), x)) icon = factory.SelfAttribute('name') user = factory.SubFactory(ShareUserFactory, source=None) class Meta: model = models.Source
def exam(course, students=50): print('%s exam started...' % course) for i in range(students): name = faker.name() time_remaining = (DEADLINE - datetime.now()).total_seconds() score = '%s.%s' % (random.randint( 60, 100), str(time_remaining).replace('.', '')) r.zadd(course, name, score) print('%s: %s' % (name, score)) time.sleep(0.1)
def update(self): if len(self.created_persons) == 0: return person_id = r.choice(self.created_persons) new_person = {"name": faker.name()} person_response = self.client.put(f'/person/{person_id}', json=new_person, name="update person") if person_response.status_code != 200: raise FlowException(person_response.json())
def create(self): new_person = { 'name': faker.name(), 'email': faker.email(), 'birthday': faker.date() } person_response = self.client.post('/person', json=new_person, name="create person") if person_response.status_code != 200: raise FlowException(person_response.json()) person_id = person_response.json().get('id') self.created_persons.append(person_id)
def generate_workbook(cls): col_reference, col_name, col_address, \ col_postal_code, col_city, col_country, \ col_url = range(0, 7) columns = ((col_reference, lambda: faker.random_int(1, 500)), (col_name, lambda: 'Hospital {}'.format(faker.name())), (col_address, lambda: faker.address().replace('\n', '')), (col_postal_code, faker.postalcode), (col_city, faker.city), (col_country, lambda: country.CountryFactory().iso_code), (col_url, faker.url)) workbook = openpyxl.Workbook() worksheet = workbook.active for row in range(1, 11): for column, func in columns: worksheet.cell(row=row, column=column + 1).value = func() return workbook
from django.core.management.base import BaseCommand from core.models import Journal, Author, Category import faker import random from datetime import datetime as dt faker.Faker.seed(100) faker = faker.Faker() categories = ["Sports", "Entertainment", "Travelling", "Business", "Fashion"] author_names = [faker.name() for _ in range(1, 6)] class Command(BaseCommand): def handle(self, *args, **options): for x in range(0, 50): title = " ".join(faker.words(random.randint(2, 4))) views = random.randint(1, 100) reviewed = random.randint(0, 1) == 1 author_name = random.choice(author_names) published = faker.date_between(start_date='-7y', end_date='now') category_name = random.choice(categories) #create the author instance & save to db author = Author.objects.get_or_create(name=author_name) #create the journal instance journal = Journal(title=title,
if __name__ == '__main__': # 创建数据表 Base.metadata.create_all(engine) # 创建会话对象,用来操作数据库 Session = sessionmaker(bind=engine) session = Session() # 创建一个faker工厂对象,用来产生虚假信息 # faker = faker.Factory.create() faker = faker.Faker() # 生成10个用户 faker_users = [User( # 使用 faker 生成一个人名 username=faker.name(), # 使用 faker 生成一个单词 password=faker.word(), # 使用 faker 生成一个邮箱 email=faker.email(), ) for i in range(10)] # add_all 一次性添加多个对象 session.add_all(faker_users) # 生成 5 个分类 faker_categories = [Category(name=faker.word()) for i in range(5)] session.add_all(faker_categories) # 生成20个标签 faker_tags = [Tag(name=faker.word()) for i in range(20)] session.add_all(faker_tags)
class GameFactory(factory.django.DjangoModelFactory): class Meta: model = 'games.Game' django_get_or_create = ('name', 'short_description') name = faker.name() short_description = 'It is a platform game developed and published by Nintendo.'
Podcast.objects.all().delete() Author.object.all().delete() exit() sujets = [ 'sport', 'education', 'actualités', 'evenement', 'Science', 'art & culture', 'jeux videos', 'BD', 'politique', 'affaires' ] fake_podcasts = [] for n in range(10): podcast = {} podcast['name'] = faker.name() podcast['type'] = random.choice(sujets) podcast['editor'] = faker.company() fake_podcasts.append(podcast) podcast['public'] = faker.domain_name() podcast['duration'] = random.random() * 100 for podcast in fake_podcasts: print('in here') _, created = Podcast.objects.get_or_create(name=podcast['name'], type=podcast['type'], editor=podcast['editor'], public=podcast['public'], duration=podcast['duration'])
import pytest import allure import faker from faker import Faker from allure_commons.types import AttachmentType from pages.base_page import BasePage from pages.locators import LoginPageLocators, RegisterPageLocators from pages.login_page import LoginPage from pages.register_page import RegisterPage register_url = "https://alpha.unic-lab.by/auth/register" link = "https://alpha.unic-lab.by/" faker = Faker() email = faker.email() non_valid_email = 'asfd@' login = faker.name() password = "******" login_less_then_8 = "asdfg" login_more_then_18 = "qwerty________kleer" password_less_then_8 = "1234567" password_more_then_18 = "123456789012345678" @allure.feature("Go to Register page") @allure.severity('critical') # blocker, critical, major, minor, trivial def test_go_to_register_page(browser): page = LoginPage(browser, link) page.open() page.go_to_registration_page(register_url) page.take_a_screenshot(browser)