Пример #1
0
def insert_random_client(cursor):
    global clients_counter, client_fields_counter
    clients_counter += 1

    first_name = faker.first_name()
    last_name = faker.last_name()
    phone = faker.random_number(9, fix_len=True)
    email = '{}.{}@gmail.com'.format(first_name, last_name)
    conference = faker.boolean()
    pesel = faker.random_number(11, fix_len=True)
    address = faker.address()

    cursor.execute('INSERT INTO clients '
                   '(id, first_name, last_name, phone, email, conference) '
                   'VALUES ({}, \'{}\', \'{}\', \'{}\', \'{}\', {})'.format(
                       clients_counter, first_name, last_name, phone, email,
                       conference))

    client_fields_counter += 1
    cursor.execute('INSERT INTO client_fields '
                   '(id, client_id, type, value) '
                   'VALUES ({}, {}, \'{}\', \'{}\')'.format(
                       client_fields_counter, clients_counter, 'PESEL', pesel))

    client_fields_counter += 1
    cursor.execute('INSERT INTO client_fields '
                   '(id, client_id, type, value) '
                   'VALUES ({}, {}, \'{}\', \'{}\')'.format(
                       client_fields_counter, clients_counter, 'ADDRESS',
                       address))
Пример #2
0
class AgenteEnContactoFactory(DjangoModelFactory):
    class Meta:
        model = AgenteEnContacto
    agente_id = lazy_attribute(lambda a: faker.random_number(7))
    campana_id = lazy_attribute(lambda a: faker.random_number(7))
    contacto_id = lazy_attribute(lambda a: faker.random_number(7))
    datos_contacto = lazy_attribute(lambda a: faker.random_number(10))
    telefono_contacto = lazy_attribute(lambda a: faker.random_number(10))
    estado = AgenteEnContacto.ESTADO_INICIAL
Пример #3
0
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)
Пример #4
0
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),
            str(faker.random_number(10, fix_len=True)),
            str(faker.random_number(10, fix_len=True))
        )
    )
Пример #5
0
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))
Пример #6
0
class QueueFactory(DjangoModelFactory):
    class Meta:
        model = Queue
    campana = SubFactory(CampanaFactory)
    name = lazy_attribute(lambda a: "queue_{0}".format(uuid4()))
    maxlen = lazy_attribute(lambda a: faker.random_number(5))
    wrapuptime = lazy_attribute(lambda a: faker.random_number(5))
    servicelevel = lazy_attribute(lambda a: faker.random_number(5))
    strategy = 'rrmemory'
    eventmemberstatus = True
    eventwhencalled = True
    weight = lazy_attribute(lambda a: faker.random_number(5))
    ringinuse = True
    setinterfacevar = True

    wait = lazy_attribute(lambda a: faker.random_number(5))
Пример #7
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))
Пример #8
0
class QueueMemberFactory(DjangoModelFactory):
    class Meta:
        model = QueueMember

    member = SubFactory(AgenteProfileFactory)
    queue_name = SubFactory(QueueFactory)
    membername = Sequence(lambda n: "membername_{0}.dat".format(n))
    interface = Sequence(lambda n: "interface_{0}.dat".format(n))
    penalty = lazy_attribute(lambda a: faker.random_int(0, 9))
    paused = lazy_attribute(lambda a: faker.random_number(2))
    id_campana = lazy_attribute(lambda a: "{0}_campana".format(uuid4()))
Пример #9
0
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: format(uuid4().int))
    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))
Пример #10
0
def insert_random_price(cursor, period_id, room_id):
    global prices_counter
    prices_counter += 1

    start_date, end_date = exact_period(period_id, price_duration)
    value = '{}0.00'.format(faker.random_number(3))

    cursor.execute('INSERT INTO prices '
                   '(id, start_date, end_date, value) '
                   'VALUES ({}, \'{}\', \'{}\', \'{}\')'.format(
                       prices_counter, start_date, end_date, value))

    cursor.execute('INSERT INTO rooms_prices '
                   '(price_id, room_id) '
                   'VALUES ({}, {})'.format(prices_counter, room_id))
Пример #11
0
def insert_random_discount(cursor, period_id, type_id, type):
    global discounts_counter
    discounts_counter += 1

    start_date, end_date = exact_period(period_id, discount_duration)
    percentage = faker.random_number(2) % 50

    cursor.execute('INSERT INTO discounts '
                   '(id, start_date, end_date, percentage) '
                   'VALUES ({}, \'{}\', \'{}\', {})'.format(
                       discounts_counter, start_date, end_date, percentage))

    cursor.execute('INSERT INTO {}s_discounts '
                   '(discount_id, {}_id) '
                   'VALUES ({}, {})'.format(type, type, discounts_counter,
                                            type_id))
Пример #12
0
def insert_random_hotel(cursor):
    global hotels_counter
    hotels_counter += 1

    hotel = {
        'id': hotels_counter,
        'name': faker.color_name(),
        'location': faker.country(),
        'img_path': faker.random.choice(hotel_img_paths),
        'stars_count': faker.random_number() % 5 + 1,
        'category_id': faker.random.choice(list(ids_categories.keys())),
    }

    cursor.execute(
        'INSERT INTO hotels ( id ,    name   ,    location   ,    img_path   ,  stars_count ,  category_id ) '
        'VALUES             ({id}, \'{name}\', \'{location}\', \'{img_path}\', {stars_count}, {category_id})'
        .format(**hotel))
Пример #13
0
def insert_random_room(cursor, floor, number):
    global rooms_counter
    rooms_counter += 1

    room = {
        'id': rooms_counter,
        'floor': floor,
        'number': number,
        'capacity': faker.random_number() % 5 + 1,
        'premium': faker.boolean(),
        'img_path': faker.random.choice(room_img_paths),
        'building_id': buildings_counter
    }

    cursor.execute(
        'INSERT INTO rooms ( id ,  floor ,  number ,  capacity ,  premium ,    img_path   ,  building_id ) '
        'VALUES            ({id}, {floor}, {number}, {capacity}, {premium}, \'{img_path}\', {building_id})'
        .format(**room))
Пример #14
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)
Пример #15
0
def insert_random_reservation(cursor, period_id, room_id, client_id):
    global reservations_counter
    reservations_counter += 1

    start_date, end_date = exact_period(period_id, reservation_duration)
    cost = '{}0.00'.format(faker.random_number(3) * 10)

    if start_date < end_date < datetime.today():
        state = 'FINISHED'
    elif start_date < datetime.today() < end_date:
        state = 'IN_PROGRESS'
    else:
        state = faker.random.choice(['MADE', 'PAID'])

    cursor.execute(
        'INSERT INTO reservations '
        '(id, check_in_date, check_out_date, cost, state, client_id) '
        'VALUES ({}, \'{}\', \'{}\', {}, \'{}\', {})'.format(
            reservations_counter, start_date, end_date, cost, state,
            client_id))

    cursor.execute('INSERT INTO rooms_reservations '
                   '(room_id, reservation_id) '
                   'VALUES ({}, {})'.format(room_id, reservations_counter))
Пример #16
0
class GrupoFactory(DjangoModelFactory):
    class Meta:
        model = Grupo

    nombre = Sequence(lambda n: "grupo_{0}.dat".format(n))
    auto_unpause = lazy_attribute(lambda a: faker.random_number(2))