Exemple #1
0
class AnnouncementFactory(DjangoModelFactory):
    class Meta:
        model = Announcement

    # header = Faker('text').generate(extra_kwargs={'max_nb_chars': 50})
    header = lazy_attribute(lambda x: faker.text(max_nb_chars=50))
    # body_text = Faker('text').generate(extra_kwargs={'max_nb_chars': 500})
    body_text = lazy_attribute(lambda x: faker.text(max_nb_chars=500))
class GrabacionFactory(DjangoModelFactory):
    class Meta:
        model = Grabacion

    fecha = lazy_attribute(lambda a: timezone.now())
    tipo_llamada = lazy_attribute(lambda a: faker.random_int(1, 3))
    id_cliente = lazy_attribute(lambda a: faker.text(5))
    tel_cliente = lazy_attribute(lambda a: str(faker.random_number(7)))
    grabacion = lazy_attribute(lambda a: faker.text(max_nb_chars=5))
    agente = SubFactory(AgenteProfileFactory)
    campana = SubFactory(CampanaFactory)
    callid = lazy_attribute(lambda a: format(uuid4().int))
Exemple #3
0
class AuditoriaCalificacionFactory(DjangoModelFactory):
    class Meta:
        model = AuditoriaCalificacion

    resultado = AuditoriaCalificacion.APROBADA
    calificacion = SubFactory(CalificacionClienteFactory)
    observaciones = lazy_attribute(lambda a: faker.text(15))
Exemple #4
0
def seed_products():
    products_count = Product.objects.count()
    products_to_seed = 35

    sys.stdout.write('[+] Seeding %d products\n' % (products_to_seed - products_count))

    dir = os.path.join(os.getcwd(), 'static', 'images', 'products')

    if not os.path.exists(dir):
        os.makedirs(dir)

    for i in range(products_count, products_to_seed):
        name = faker.sentence()
        # slug = faker.slug()
        # description = faker.paragraph(nb_sentences=3, variable_nb_sentences=10)
        description = faker.text()
        tags = Tag.objects.get_random_tag()
        categories = Category.objects.gent_random_category()
        price = round(random.uniform(150, 3000), 2)
        start_date = datetime.date(year=2016, month=1, day=1)
        random_date = faker.date_between(start_date=start_date, end_date='+4y')

        publish_on = random_date
        # publish_on = faker.date_time_between('-3y', '+1y')
        product = Product.objects.create(name=name, description=description, price=price,
                                         publish_on=publish_on, stock=faker.random_int(min=0, max=400))
        product.tags.add(tags)
        product.categories.add(categories)

        file_name = "".join(random.choice(ascii_lowercase) for i in range(16))
        file_path = os.path.join(dir, file_name)
        ProductImage.objects.create(file_name=file_name, original_name='adults.png',
                                    file_length=faker.random.randint(400, 10000),
                                    product=product,
                                    file_path=file_path.replace(os.getcwd(), '').replace('\\', '/'))
Exemple #5
0
class BlackListFactory(DjangoModelFactory):
    class Meta:
        model = Blacklist

    nombre = lazy_attribute(lambda a: faker.text(15))
    fecha_alta = lazy_attribute(lambda a: timezone.now())
    nombre_archivo_importacion = Sequence(lambda n: "file_{0}.dat".format(n))
    cantidad_contactos = lazy_attribute(lambda a: faker.random_number(2))
Exemple #6
0
def issue_factory():
    return {
        "title": faker.sentence(),
        "body": faker.text(),
        "milestone": random.randint(1, 5),
        "labels": faker.words(),
        "assignees": [faker.user_name() for _ in range(3)]
    }
Exemple #7
0
class OpcionCalificacionFactory(DjangoModelFactory):
    class Meta:
        model = OpcionCalificacion

    campana = SubFactory(CampanaFactory)
    tipo = lazy_attribute(lambda a: faker.random_int(0, 1))
    nombre = lazy_attribute(lambda a: faker.text(15))
    formulario = SubFactory(FormularioFactory)
Exemple #8
0
class SitioExternoFactory(DjangoModelFactory):
    class Meta:
        model = SitioExterno

    nombre = lazy_attribute(lambda a: faker.text(15))
    url = lazy_attribute(lambda a: "http://{0}.com".format(a.nombre.replace(" ", "_")))
    disparador = SitioExterno.BOTON
    metodo = SitioExterno.GET
    formato = None
    objetivo = lazy_attribute(lambda a: faker.random_int(1, 2))
Exemple #9
0
class CalificacionClienteFactory(DjangoModelFactory):
    class Meta:
        model = CalificacionCliente

    callid = lazy_attribute(lambda a: faker.ean8())
    opcion_calificacion = SubFactory(OpcionCalificacionFactory)
    contacto = SubFactory(ContactoFactory)
    agente = SubFactory(AgenteProfileFactory)
    fecha = lazy_attribute(lambda a: timezone.now())
    observaciones = lazy_attribute(lambda a: faker.text(15))
Exemple #10
0
class AgendaContactoFactory(DjangoModelFactory):
    agente = SubFactory(AgenteProfileFactory)
    campana = SubFactory(CampanaFactory)
    contacto = SubFactory(ContactoFactory)
    observaciones = lazy_attribute(lambda a: faker.text(15))
    tipo_agenda = AgendaContacto.TYPE_PERSONAL
    fecha = lazy_attribute(lambda a: timezone.now().date())
    hora = lazy_attribute(lambda a: timezone.now().time())

    class Meta:
        model = AgendaContacto
class LlamadaLogFactory(DjangoModelFactory):
    class Meta:
        model = LlamadaLog
    time = lazy_attribute(lambda a: timezone.now())
    callid = lazy_attribute(lambda a: faker.ean8())
    campana_id = Sequence(lambda n: n)
    tipo_campana = lazy_attribute(lambda a: faker.random_int(1, 4))
    agente_id = Sequence(lambda n: n)
    event = Sequence(lambda n: "evento_{0}".format(n))
    numero_marcado = lazy_attribute(lambda a: faker.phone_number())
    contacto_id = Sequence(lambda n: n)
    bridge_wait_time = lazy_attribute(lambda a: faker.random_number(3))
    duracion_llamada = lazy_attribute(lambda a: faker.random_number(3))
    archivo_grabacion = lazy_attribute(lambda a: faker.text(15))
    def test_single_char_key_search_with_random_length_encrypted_string_breaks_properly(
            self):
        from utils import single_char_key_search
        from encryption import repeating_key_xor
        import faker

        faker = faker.Faker()

        random_base_string = faker.text().replace('\n', '')
        encrypted_base_string = repeating_key_xor(faker.word()[0],
                                                  random_base_string)

        actual_answer = single_char_key_search(
            encrypted_base_string)[0].decode()
        self.assertEqual(random_base_string, actual_answer)
Exemple #13
0
def seed_articles():
    roles = db.session.query(Role.id).filter(
        or_(Role.name == 'ROLE_ADMIN', Role.name == 'ROLE_AUTHOR')).all()
    # Not working roles = db.session.query(Role.id).filter(Role.name == v for v in ('ROLE_ADMIN', 'ROLE_AUTHOR')).all()
    roles = [role[0] for role in roles]

    articles_count = db.session.query(func.count(Article.id)).all()[0][0]
    articles_to_seed = 23
    articles_to_seed -= articles_count
    sys.stdout.write('[+] Seeding %d articles\n' % articles_to_seed)
    author_admin_ids = [
        user[0] for user in db.session.query(User.id).filter(
            User.roles.any(UserRole.role_id.in_(roles))).all()
    ]
    tag_ids = [tag[0] for tag in db.session.query(Tag.id).all()]
    category_ids = [
        category[0] for category in db.session.query(Category.id).all()
    ]

    for i in range(articles_count, articles_to_seed):
        title = faker.sentence()
        description = '\n'.join(faker.sentences(2))
        body = faker.text()
        user_id = random.choice(author_admin_ids)

        start_date = datetime.date(year=2017, month=1, day=1)
        random_date = faker.date_between(start_date=start_date, end_date='+4y')
        publish_on = random_date
        a = Article(title=title,
                    body=body,
                    description=description,
                    user_id=user_id,
                    publish_on=publish_on)

        a.tags.append(db.session.query(Tag).order_by(func.random()).first())

        for i in range(0, random.randint(1, 2)):
            a.tags.append(random.choice(tags))

        for i in range(0, random.randint(1, 2)):
            a.categories.append(random.choice(categories))

        db.session.add(a)
        db.session.commit()
Exemple #14
0
class EmailFactory(factory.django.DjangoModelFactory):
    body = factory.LazyFunction(lambda: faker.text(max_nb_chars=500))
    subject = factory.Faker("sentence", nb_words=5, variable_nb_words=True)
    to = factory.Sequence(lambda x: [faker.free_email() for _ in range(randint(1, 4))])
    cc = factory.Sequence(lambda x: [faker.free_email() for _ in range(randint(1, 4))])
    bcc = factory.Sequence(lambda x: [faker.free_email() for _ in range(randint(1, 4))])
    sender = factory.Faker('free_email')

    class Meta:
        model = Email

    @factory.post_generation
    def attachments(self, create, extracted, **kwargs):
        if not create:
            return

        attachments = extracted or [EmailAttachmentFactory(email=self)]
        for attachment in attachments:
            self.attachments.add(attachment)
Exemple #15
0
def seed_articles():
    articles_count = Article.objects.count()
    articles_to_seed = 23
    sys.stdout.write('[+] Seeding %d articles\n' %
                     (articles_to_seed - articles_count))
    for i in range(articles_count, articles_to_seed):
        title = faker.sentence()
        description = '\n'.join(faker.sentences(2))
        body = faker.text()
        user = AppUser.objects.order_by('?').first()
        tag = Tag.objects.get_random_tag()
        category = Category.objects.get_random_category()
        start_date = datetime.date(year=2017, month=1, day=1)
        random_date = faker.date_between(start_date=start_date, end_date='+4y')
        publish_on = random_date
        a = Article.objects.create(title=title,
                                   body=body,
                                   description=description,
                                   user=user,
                                   publish_on=publish_on)
        a.tags.add(tag)
        a.categories.add(category)
Exemple #16
0
class CampanaFactory(DjangoModelFactory):
    class Meta:
        model = Campana

    nombre = lazy_attribute(lambda a: "campana_{0}".format(uuid4()))
    estado = lazy_attribute(lambda a: faker.random_digit_not_null())
    fecha_inicio = lazy_attribute(lambda a: timezone.now())
    fecha_fin = lazy_attribute(lambda a: a.fecha_inicio)
    bd_contacto = SubFactory(BaseDatosContactoFactory)
    tipo_interaccion = Campana.FORMULARIO
    campaign_id_wombat = lazy_attribute(lambda a: faker.random_number(7))
    type = lazy_attribute(lambda a: faker.random_int(1, 3))
    sitio_externo = None
    reported_by = SubFactory(UserFactory)
    nombre_template = lazy_attribute(lambda a: faker.text(max_nb_chars=6))

    @post_generation
    def supervisors(self, create, extracted, **kwargs):
        if not create:
            return
        if extracted:
            for supervisor in extracted:
                self.supervisors.add(supervisor)
import faker

from .models import Category, Product

text = faker.text()


def create():

    daljer, _ = Category.objects.get_or_create(
        name='Daljer',
        description='Her er masse daljer',
        pk=2
    )
    kompendier, _ = Category.objects.get_or_create(
        name='Kompendier',
        description='Her er masse kompendier',
        pk=3
    )

    for i in range(1, 6):
        name = 'Dalje %d'
        dalje, _ = Product.objects.get_or_create(
            name=(name % i),
            category=daljer,
            pk=i,
            description=text
        )
        dalje.photo.name = 'product_photo/medal.jpg'
        dalje.save()
Exemple #18
0
 def content(obj, n):
     faker = Faker._get_faker(locale='la')
     policy_date = faker.date(
         pattern='%Y-%m-%d') if obj.from_date is None else obj.from_date
     policy_text = faker.text()
     return f"{{# {policy_date} #}}<p>Policy {n:03d}</p>\n{policy_text}"
Exemple #19
0
class NombreCalificacionFactory(DjangoModelFactory):
    class Meta:
        model = NombreCalificacion

    nombre = lazy_attribute(
        lambda a: "nombre_calificacion_{0}".format(faker.text(10)))
Exemple #20
0
        product = Product.objects.order_by('?').only('id').first()
        order = Order.objects.get_order_not_containing_product(product)
        if order is None:  # all orders have this product already
            continue
        OrderItem.objects.create(
            name=product.name,
            slug=product.slug,
            user_id=order.user_id,
            order_id=order.id,
            product=product,
            quantity=faker.random_int(min=1, max=7),
            price=min(5, product.price + (round(random.uniform(-20.0, 20.0), 2))),
            # random price near the usual product price
            # user=AppUser.objects.order_by('?').first())
        )


if __name__ == '__main__':
    seed_categories()
    seed_tags()
    seed_admin()
    seed_users()
    seed_products()
    seed_comments()

    seed_addresses()
    seed_orders()

    print("done")
article = faker.text(max_nb_chars=20)
Exemple #21
0
class GrabacionMarcaFactory(DjangoModelFactory):
    class Meta:
        model = GrabacionMarca

    callid = lazy_attribute(lambda a: format(uuid4().int))
    descripcion = lazy_attribute(lambda a: faker.text(5))