コード例 #1
0
def test_move_user_to_group(app, db, orm):
    all_users = orm.get_contact_list()
    if len(orm.get_contact_list()) == 0:
        app.contact.create_new_user(Contact(firstname="Carlos", middlename="Карлович", lastname="Sainz",
                                            title="Driver", company="McLaren F1 Team", home_phone="000-000-00",
                                            mobile_phone="random_mobile_phone", work_phone="random_work_phone",
                                            secondary_phone="random_secondary_phone", email="random_email",
                                            email2="random_email2", email3="random_email3"))

    all_groups = orm.get_group_list()
    if len(orm.get_group_list()) == 0:
        app.group.create(Group(name="Тестовая группа для проверки метода обновления данных в группе",
                               header="Задание №9", footer="Футер задания №1"))

    # выбираем случайного пользователя
    random_user = random.choice(all_users)
    user_id = random_user.user_id

    random_group = random.choice(all_groups)
    group_id = random_group.group_id

    # Добавляем пользователя в группу
    app.contact.add_contact_to_group_by_id(user_id, group_id)

    contacts_in_group = db.get_contact_in_group(user_id, group_id) # Список пользователей в группах через PyMySql
    # contacts_in_group = orm.get_contacts_in_group(Group(group_id=group_id)) # Список пользователей в группах через ORM
    assert contacts_in_group
コード例 #2
0
 def get_contact_info_from_view_page(self, index):
     wd = self.app.wd
     self.open_contact_view_by_index(index)
     text = wd.find_element_by_id("content").text
     home_phone = re.search("H: (.*)", text).group(1)
     mobile_phone = re.search("M: (.*)", text).group(1)
     work_phone = re.search("W: (.*)", text).group(1)
     secondary_phone = re.search("P: (.*)", text).group(1)
     return Contact(home_phone=home_phone, mobile_phone=mobile_phone,
                    work_phone=work_phone, secondary_phone=secondary_phone)
コード例 #3
0
 def get_contact_list(self):
     list = []
     cursor = self.connection.cursor()
     try:
         cursor.execute("select id, firstname, lastname from addressbook")
         for row in cursor:
             (user_id, firstname, lastname) = row
             list.append(Contact(user_id=str(id), firstname=firstname, lastname=lastname))
     finally:
         cursor.close()
     return list
コード例 #4
0
 def convert(contact):
     return Contact(user_id=str(contact.id),
                    firstname=contact.firstname,
                    lastname=contact.lastname,
                    home_phone=contact.home_phone,
                    work_phone=contact.work_phone,
                    mobile_phone=contact.mobile_phone,
                    secondary_phone=contact.secondary_phone,
                    email=contact.email,
                    email2=contact.email2,
                    email3=contact.email3)
コード例 #5
0
 def get_user_from_table(self):
     wd = self.app.wd
     self.home_page()
     self.users_cache = []
     for element in wd.find_elements_by_name("entry"):
         user_id = element.find_element_by_name("selected[]").get_attribute("value")
         cells = element.find_elements_by_tag_name("td")
         firstname_field = cells[2].text
         lastname_field = cells[1].text
         # all_phones = cells[5].text.splitlines()
         all_phones = cells[5].text
         all_emails = cells[4].text
         self.users_cache.append(Contact(firstname=firstname_field, lastname=lastname_field, user_id=user_id,
                                         all_phones_from_home_page=all_phones, all_emails_from_home_page=all_emails))
コード例 #6
0
def test_update_user_orm_check(app, orm, check_ui):
    # получаем список пользователей до редактирования
    old_users = orm.get_contact_list()
    if len(orm.get_contact_list()) == 0:
        app.contact.create_new_user(Contact(firstname="Carlos", middlename="Карлович", lastname="Sainz",
                                            title="Driver", company="McLaren F1 Team", home_phone="000-000-00",
                                            mobile_phone="random_mobile_phone", work_phone="random_work_phone",
                                            secondary_phone="random_secondary_phone", email="random_email",
                                            email2="random_email2", email3="random_email3"))

    # данные для редактирования
    edit_user_data = Contact(firstname="Carlos (edit)", middlename="Карлович (edit)", lastname="Sainz (edit)",
                             title="Driver", company="Ferrari F1 Team (in 2021)", home_phone="000-000-00",
                             mobile_phone="random_mobile_phone", work_phone="random_work_phone",
                             secondary_phone="random_secondary_phone", email="random_email",
                             email2="random_email2", email3="random_email3")

    # выбираем случайного пользователя
    random_user = random.choice(old_users)
    edit_user_data.user_id = random_user.user_id

    # редактируем данные пользователя
    app.contact.edit_user_by_id(edit_user_data, random_user.user_id)

    # получаем данные после редактирования
    edited_users = orm.get_contact_list()
    assert edited_users
    # присваиваем старой записи новые данные
    for item in old_users:
        if item.user_id == random_user.user_id:
            item.firstname = edit_user_data.firstname
            item.lastname = edit_user_data.lastname

    # сортировка
    a = sorted(old_users, key=Contact.user_id_or_max)
    b = sorted(edited_users, key=Contact.user_id_or_max)
    assert a == b
コード例 #7
0
def test_delete_user_orm_check(app, orm, check_ui):
    new_user = Contact(firstname="Carlos", middlename="Карлович", lastname="Sainz",
                       title="Driver", company="McLaren F1 Team", home_phone="000-000-00")
    if len(orm.get_contact_list()) == 0:
        app.contact.create_new_user(new_user)

    old_users = orm.get_contact_list()
    random_user = random.choice(old_users)
    app.contact.delete_user_by_id(random_user.user_id)
    assert len(old_users) - 1 == app.contact.count()
    new_users = orm.get_contact_list()
    old_users.remove(random_user)
    assert old_users == new_users
    if check_ui:
        assert sorted(new_users, key=Contact.user_id_or_max) == sorted(app.contact.get_contacts_list(), key=Contact.user_id_or_max)
コード例 #8
0
 def get_contact_info_from_edit_page(self, index):
     wd = self.app.wd
     self.open_contact_to_edit_by_index(index)
     user_id = wd.find_element_by_name("id").get_attribute("value")
     firstname = wd.find_element_by_name("firstname").get_attribute("value")
     middlename = wd.find_element_by_name("middlename").get_attribute("value")
     lastname = wd.find_element_by_name("lastname").get_attribute("value")
     nickname = wd.find_element_by_name("nickname").get_attribute("value")
     email = wd.find_element_by_name("email").get_attribute("value")
     email2 = wd.find_element_by_name("email2").get_attribute("value")
     email3 = wd.find_element_by_name("email3").get_attribute("value")
     homepage = wd.find_element_by_name("homepage").get_attribute("value")
     home_phone = wd.find_element_by_name("home").get_attribute("value")
     mobile_phone = wd.find_element_by_name("mobile").get_attribute("value")
     work_phone = wd.find_element_by_name("work").get_attribute("value")
     secondary_phone = wd.find_element_by_name("phone2").get_attribute("value")
     return Contact(user_id=user_id, firstname=firstname, middlename=middlename, lastname=lastname,
                    nickname=nickname, home_phone=home_phone, mobile_phone=mobile_phone,
                    work_phone=work_phone, secondary_phone=secondary_phone,
                    email=email, email2=email2, email3=email3, homepage=homepage)
コード例 #9
0
def test_delete_user_from_group(app, db, orm):
    # Проверка, что есть хотя бы один пользователь и есть группа. Если нет, то создаём. Добавляем пользователя в группу
    if len(db.get_all_users_in_all_groups()) == 0:

        all_users = orm.get_contact_list()
        if len(orm.get_contact_list()) == 0:
            app.contact.create_new_user(Contact(firstname="Carlos", middlename="Карлович", lastname="Sainz",
                                                title="Driver", company="McLaren F1 Team", home_phone="000-000-00",
                                                mobile_phone="random_mobile_phone", work_phone="random_work_phone",
                                                secondary_phone="random_secondary_phone", email="random_email",
                                                email2="random_email2", email3="random_email3"))

        all_groups = orm.get_group_list()
        if len(orm.get_group_list()) == 0:
            app.group.create(Group(name="Тестовая группа для проверки метода обновления данных в группе",
                                   header="Задание №9", footer="Футер задания №1"))

        # выбираем случайного пользователя из существующих
        random_user = random.choice(all_users)
        user_id = random_user.user_id

        random_group = random.choice(all_groups)
        group_id = random_group.group_id

        # добавляем в группу
        app.contact.add_contact_to_group_by_id(user_id, group_id)

    # Получаем user_id и group_id из таблицы address_in_groups
    all_users_in_groups = db.get_all_users_in_all_groups()
    user_id = all_users_in_groups[0].user_id
    group_id = all_users_in_groups[0].group_id

    # Удаляем пользователя из группы
    app.contact.delete_user_from_group(user_id, group_id)

    contacts_in_group = db.get_contact_in_group(user_id, group_id) # Список пользователей в группах через PyMySql
    # contacts_in_group = orm.get_contacts_in_group(Group(group_id=group_id)) # Список пользователей в группах через ORM
    assert contacts_in_group == []
コード例 #10
0
 def convert(contact):
     return Contact(user_id=str(contact.id),
                    firstname=contact.firstname,
                    lastname=contact.lastname)
コード例 #11
0
from model.contact_m import Contact

# статические тестовые данные
testdata = [
    Contact(firstname="Carlos (edit)111",
            middlename="Карлович (edit)111",
            lastname="Sainz (edit)111",
            title="Driver111",
            company="Ferrari F1 Team (in 2021)111",
            home_phone="000-000-00111",
            mobile_phone="random_mobile_phone",
            work_phone="random_work_phone",
            secondary_phone="random_secondary_phone",
            email="random_email",
            email2="random_email2",
            email3="random_email3"),
    Contact(firstname="Carlos222",
            middlename="Карлович222",
            lastname="Sainz222",
            title="Driver2",
            company="2",
            home_phone="222222",
            mobile_phone="2222222",
            work_phone="random_work_phone222",
            secondary_phone="random_secondary_phone222",
            email="random_email222",
            email2="random_email2222",
            email3="random_email3222")
]
コード例 #12
0
    if o == "-n":
        n = int(a)
    elif o == "-f":
        f = a


# фунция для создания случайной последовательности значений
def random_string(prefix, maxlen):
    symbols = string.ascii_letters + string.digits
    return prefix + "".join([random.choice(symbols) for i in range(random.randrange(maxlen))])


# форма для создания объекта (тестовые данные) на основе рандомного значения
testdata = [
    Contact(firstname=random_string("firstname", 10), middlename=random_string("middlename", 10),
            lastname=random_string("lastname", 10), title=random_string("title", 10),
            company=random_string("company", 10), home_phone=random_string("company", 10),
            mobile_phone=random_string("mobile_phone", 10), work_phone=random_string("work_phone", 10),
            secondary_phone=random_string("secondary_phone", 10), email=random_string("email", 10),
            email2=random_string("email2", 10), email3=random_string("email3", 10))
    for i in range(3)
]

# Запись данных в json файл data/contacts.json
root_path = os.path.dirname(os.path.abspath(__file__))
file = os.path.join(root_path, "..", f)

with open(file, "w") as out:
    jsonpickle.set_encoder_options("json", indent=2)
    out.write(jsonpickle.encode(testdata))