class AddressBook: ROBOT_LIBRARY_SCOPE = 'TEST SUITE' def __init__(self, config="target.json", browser="Chrome"): self.browser = browser config_file = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", config) with open(config_file) as f: self.target = json.load(f) def init_fixtures(self): web_config = self.target['web'] self.fixture = Application(browser=self.browser, base_url=web_config['baseUrl']) self.fixture.session.ensure_login(username=web_config['username'], password=web_config['password']) db_config = self.target['db'] self.dbfixture = DbFixture(host = db_config['host'], name = db_config['name'], user = db_config['user'], password = db_config['password']) def destroy_fixtures(self): self.dbfixture.destroy() self.fixture.destroy() def new_group(self, name, header, footer): return Group(name=name, header=header, footer=footer) def get_group_list(self): return self.dbfixture.get_group_list() def create_group(self, group): self.fixture.group.create(group) def delete_group(self, group): self.fixture.group.delete_group_by_id(group.id) def group_lists_should_be_equal(self, list1, list2): assert sorted(list1, key=Group.id_or_max) == sorted(list2, key=Group.id_or_max)
class AddressBook: ROBOT_LIBRARY_SCOPE = 'TEST SUITE' def __init__(self, config="target.json", browser="firefox"): self.browser = browser config_file = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", config) with open(config_file) as f: self.target = json.load(f) def init_fixtures(self): web_config = self.target['web'] self.fixture = Application(browser=self.browser, base_url=web_config['baseUrl']) self.fixture.session.ensure_login(username=web_config['username'], password=web_config['password']) db_config = self.target['db'] self.dbfixture = DbFixture(host=db_config['host'], name=db_config['name'], user=db_config['user'], password=db_config['password']) def destroy_fixtures(self): self.dbfixture.destroy() self.fixture.destroy() def new_group(self, name, header, footer): return Group(name=name, header=header, footer=footer) def get_group_list(self): return self.dbfixture.get_group_list() def create_group(self, group): self.fixture.group.create(group) def delete_group(self, group): self.fixture.group.delete_group_by_id(group.id) def modify_group(self, source_group, new_data_group): self.fixture.group.modify_group_by_id(source_group.id, new_data_group) def group_lists_should_be_equal(self, list1, list2): assert sorted(list1, key=Group.id_or_max) == sorted(list2, key=Group.id_or_max) def new_contact(self, lastname, firstname, address, home, mobile, work, phone2, email, email2, email3): return Contact(lastname=lastname, firstname=firstname, address=address, home=home, mobile=mobile, work=work, phone2=phone2, email=email, email2=email2, email3=email3) def get_contact_list(self): return self.dbfixture.get_contact_list() def add_contact(self, contact): self.fixture.contact.add(contact) def delete_contact(self, contact): self.fixture.contact.delete_contact_by_id(contact.id) self.fixture.wd.implicitly_wait(5) def modify_contact(self, source_contact, new_data_contact): self.fixture.contact.modify_contact_by_id(source_contact.id, new_data_contact) def contact_lists_should_be_equal(self, list1, list2): assert sorted(list1, key=Contact.id_or_max) == sorted(list2, key=Contact.id_or_max)
class AddressBook: ROBOT_LIBRARY_SCOPE = 'TEST SUITE' def __init__(self, config = 'target.json', browser='firefox'): self.browser = browser config_file = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', config) with open(config_file) as f: self.target = json.load(f) def init_fixtures(self): web_config = self.target["web"] self.fixture = Application(browser=self.browser, base_url=web_config['baseUrl']) self.fixture.session.ensure_login(username=web_config["username"], password=web_config["password"]) db_config = self.target["db"] self.dbfixture = DbFixture(host=db_config["host"], name=db_config["name"], user=db_config["user"], password=db_config["password"]) def destroy_fixtures(self): self.fixture.destroy() self.dbfixture.destroy() def get_group_list(self): return self.dbfixture.get_group_list() def get_contact_list(self): return self.dbfixture.get_contact_list() def new_group(self, name, header, footer): return Group(name=name, header=header, footer=footer) def new_contact(self, firstname, lastname): return Contact(firstname=firstname, lastname=lastname) def create_group(self, group): self.fixture.group.create(group) def create_contact(self, contact): self.fixture.contact.add_new(contact) def delete_group(self, group): self.fixture.group.delete_group_by_id(group.id) def delete_contact(self, contact): self.fixture.contact.delete_contact_by_id(contact.id) def change_contact_name(self, contact, new_name): edited_contact = contact edited_contact.firstname = new_name self.fixture.contact.edit_contact_by_id(edited_contact, contact.id) def group_lists_should_be_equal(self, list1, list2): assert sorted(list1, key=Group.id_or_max) == sorted(list2, key=Group.id_or_max) def contact_lists_should_be_equal(self, list1, list2): assert sorted(list1, key=Contact.id_or_max) == sorted(list2, key=Contact.id_or_max)
class AddressBook: ROBOT_LIBRARY_SCOPE = 'TEST SUITE' def __init__(self, config="target.json", browser="chrome"): self.browser = browser config_file_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", config) with open(config_file_path) as f: self.target = json.load(f) def init_fixture(self): web_config = self.target["web"] self.fixture = Application(browser=self.browser, base_url=web_config["baseUrl"]) self.fixture.session.ensure_login(username=web_config['username'], password=web_config['password']) db_config = self.target["db"] self.dbfixture = DbFixture(host=db_config["host"], name=db_config["name"], user=db_config["user"], password=db_config["password"]) def destroy_fixture(self): self.dbfixture.destroy() self.fixture.destroy() def get_group_list(self): return self.dbfixture.get_group_list() def new_group(self, name, header, footer): return Group(name=name, header=header, footer=footer) def create_group(self, group): self.fixture.group.create(group) def delete_group(self, group): self.fixture.group.delete_group_by_id(group.id) def group_lists_should_be_equal(self, list1, list2): assert sorted(list1, key=Group.id_or_max) == sorted(list2, key=Group.id_or_max)
class AddressBook: ROBOT_LIBRARY_SCOPE = 'TEST SUITE' def __init__(self, config='target.json', browser='chrome'): self.browser = browser config_file = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", config) with open(config_file) as f: self.target = json.load(f) def init_fixtures(self): web_config = self.target["web"] self.fixture = Application(browser=self.browser, base_url=web_config["baseUrl"]) self.fixture.session.ensure_login(username=web_config["username"], password=web_config["password"]) db_config = self.target["db"] self.dbfixture = DbFixture(host=db_config["host"], name=db_config["name"], user=db_config["user"], password=db_config["password"]) def destroy_fixtures(self): self.dbfixture.destroy() self.fixture.destroy() def new_group(self, name, header, footer): return Group(name=name, header=header, footer=footer) def get_group_list(self): return self.dbfixture.get_group_list() def create_group(self, group): self.fixture.group.create(group) def group_lists_should_be_equal(self, list1, list2): assert sorted(list1, key=Group.id_or_max) == sorted(list2, key=Group.id_or_max) def delete_group(self, group): self.fixture.group.delete_group_by_id(group.id) def get_contact_list(self): return self.dbfixture.get_contact_list() def new_contact(self, firstname, lastname, address, home, mobile): return Contact(firstname=firstname, lastname=lastname, address=address, home=home, mobile=mobile) def new_contact_data(self, id, firstname, lastname, address, home, mobile): return Contact(id=id, firstname=firstname, lastname=lastname, address=address, home=home, mobile=mobile) def create_contact(self, contact): self.fixture.contact.create(contact) def contact_lists_should_be_equal(self, list1, list2): assert sorted(list1, key=Contact.id_or_max) == sorted(list2, key=Contact.id_or_max) def edit_contact(self, contact, contact_data): self.fixture.contact.edit_contact_by_id(contact.id, contact_data) def delete_contact(self, contact): self.fixture.contact.delete_by_id_from_edit_form(contact.id)
class AddressBook: ROBOT_LIBRARY_SCOPE = 'TEST SUITE' def __init__(self, config="target.json", browser="chrome"): self.browser = browser config_file = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", config) with open(config_file) as f: self.target = json.load(f) def init_fixture(self): web_config = self.target['web'] self.fixture = Application(browser=self.browser, base_url=web_config['baseUrl']) self.fixture.session.ensure_login(username=web_config['username'], password=web_config['password']) db_config = self.target['db'] self.dbfixture = DbFixture(host=db_config['host'], name=db_config['database'], user=db_config['user'], password=db_config['password']) def destroy_fixture(self): self.dbfixture.destroy() self.fixture.destroy() def new_group(self, name, header, footer): return Group(name=name, header=header, footer=footer) def get_group_list(self): return self.dbfixture.get_group_list() def create_group(self, group): self.fixture.group.create(group) def delete_group(self, group): self.fixture.group.delete_group_by_id(group.id) def group_lists_should_be_equal(self, list1, list2): assert sorted(list1, key=Group.id_or_max) == sorted(list2, key=Group.id_or_max) def get_contact_list(self): return self.dbfixture.get_contact_list() def new_contact(self, firstname, middlename, lastname, nickname, title, company, address, home, mobile, work, fax, email, email2, email3, homepage, address2, phone2, notes, bday, bmonth, byear, aday, amonth, ayear): return Contact(firstname=firstname, middlename=middlename, lastname=lastname, nickname=nickname, title=title, company=company, address1=address, homephone=home, mobilephone=mobile, workphone=work, fax=fax, email1=email, email2=email2, email3=email3, homepage=homepage, bdaydate=bday, bmonth=bmonth, aday=aday, amonth=amonth, byear=byear, ayear=ayear, address2=address2, phone2=phone2, notes1=notes) def create_contact(self, contact): self.fixture.contact.add_new_contact() self.fixture.contact.fill_data(contact) self.fixture.contact.submit() def contact_lists_should_be_equal(self, list1, list2): assert sorted(list1, key=Contact.id_or_max) == sorted(list2, key=Contact.id_or_max) def delete_contact(self, contact): self.fixture.contact.delete_contact_by_id(contact.id) def edit_contact(self, contact): self.fixture.contact.edit_contact_by_id(contact.id) def edited_contact(self, firstname, middlename, lastname, nickname, title, company, address, home, mobile, work, fax, email, email2, email3, homepage, address2, phone2, notes, bday, bmonth, byear, aday, amonth, ayear): return Contact(firstname=firstname, middlename=middlename, lastname=lastname, nickname=nickname, title=title, company=company, address1=address, homephone=home, mobilephone=mobile, workphone=work, fax=fax, email1=email, email2=email2, email3=email3, homepage=homepage, bdaydate=bday, bmonth=bmonth, aday=aday, amonth=amonth, byear=byear, ayear=ayear, address2=address2, phone2=phone2, notes1=notes) def update_contact(self, contact): self.fixture.contact.fill_data(contact) self.fixture.contact.update() time.sleep(5) def update_old_list(self, old_contact, contact): for i in old_contact: if i.id == contact.id: i.firstname = contact.firstname i.lastname = contact.lastname return old_contact
class AddressBook: ROBOT_LIBRARY_SCOPE = 'TEST SUITE' def __init__(self, config="target.json", browser="chrome"): self.browser = browser config_file = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", config) with open(config_file) as f: self.target = json.load(f) def init_fixtures(self): web_config = self.target['web'] self.fixture = Application(browser=self.browser, base_url=web_config['baseUrl']) self.fixture.session.ensure_login(username=web_config['username'], password=web_config['password']) db_config = self.target['db'] self.dbfixture = DbFixture(host=db_config['host'], name=db_config['name'], user=db_config['user'], password=db_config['password']) def destroy_fixtures(self): self.fixture.destroy() self.dbfixture.destroy() def get_group_list(self): return self.dbfixture.get_group_list() def new_group(self, name, header, footer): return Group(name=name, header=header, footer=footer) def create_group(self, group): self.fixture.group.create(group) def delete_group(self, group): self.fixture.group.delete_group_by_id(group.id) def group_list_should_be_equals(self, list1, list2): def clear(group): return Group(id=group.id, name=re.sub(" +", " ", group.name).strip()) assert sorted(map(clear, list1), key=Group.id_or_max) == sorted(map(clear, list2), key=Group.id_or_max) def get_contact_list(self): return self.dbfixture.get_contact_list() def new_contact(self, firstname, middlename, lastname): return Contact(firstname=firstname, middlename=middlename, lastname=lastname) def create_contact(self, contact): self.fixture.contact.create(contact) def contact_list_should_be_equals(self, list1, list2): assert sorted(list1, key=Contact.id_or_max) == sorted(list2, key=Contact.id_or_max) def delete_contact(self, contact): self.fixture.contact.delete_contact_by_id(contact.id) def get_non_empty_contact_list(self): if len(self.dbfixture.get_contact_list()) == 0: self.fixture.contact.create( Contact(firstname="Name", middlename="Middle", lastname="Surname")) return self.dbfixture.get_contact_list() def modify_contact(self, random_contact, new_contact): self.fixture.contact.modify_contact_by_id(new_contact, random_contact.id)
class AddressBook: ROBOT_LIBRARY_SCOPE = 'TEST SUITE' def __init__(self, config="target.json", browser='firefox'): self.browser = browser config_file = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', config) with open(config_file) as f: self.target = json.load(f) def init_fixtures(self): web_config = self.target['web'] self.fixture = Application(browser=self.browser, base_url=web_config['baseUrl']) self.fixture.session.ensure_login(username=web_config["username"], password=web_config["password"]) db_config = self.target['db'] self.dbfixture = DbFixture(host=db_config['host'], name=db_config['name'], user=db_config['user'], password=db_config['password']) def destroy_fixtures(self): self.dbfixture.destroy() self.fixture.destroy() def new_group(self, name, header, footer): return Group(name=name, header=header, footer=footer) def get_group_list(self): return self.dbfixture.get_group_list() def create_group(self, group): self.fixture.group.create(group) def group_lists_should_be_equal(self, list1, list2): assert sorted(list1, key=Group.id_or_max) == sorted(list2, key=Group.id_or_max) def delete_group(self, group): self.fixture.group.delete_group_by_id(group.id) def edit_group(self, random_group, edit_group): edit_group.id = random_group.id self.fixture.group.edit_group_by_id(edit_group.id, edit_group) def replace_values_list(self, old_list, index, edit_value): old_list[index] = edit_value def get_contact_list(self): return self.dbfixture.get_contact_list() def new_contact(self, firstname='name_123', lastname='name_456', mobile='789'): return Contact(firstname=firstname, lastname=lastname, mobile=mobile) def create_contact(self, contact): self.fixture.contact.create(contact) def contact_lists_should_be_equal(self, list1, list2): assert sorted(list1, key=Contact.id_or_max) == sorted(list2, key=Contact.id_or_max) def delete_contact(self, contact): self.fixture.contact.delete_contact_by_id(contact.id) def edit_contact(self, random_contact, edit_contact): edit_contact.id = random_contact.id self.fixture.contact.edit_contact_by_id(edit_contact.id, edit_contact)
class Addressbook: ROBOT_LIBRARY_SCOPE = 'TEST SUITE' def __init__(self, config="settings.json", browser="firefox"): self.browser = browser config_file = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", config) with open(config_file) as f: self.settings = json.load(f) def init_fixture(self): web_conf = self.settings['web'] self.fixture = Generic(browser=self.browser, base_url=web_conf["base_url"]) self.fixture.session.ensure_login(username=web_conf["username"], password=web_conf["password"]) db_conf = self.settings["db"] self.dbfixture = DbFixture(host=db_conf["host"], name=db_conf["name"], user=db_conf["username"], password=db_conf["password"]) def finish_fixture(self): self.fixture.finish() self.dbfixture.finish() def get_group_list(self): return self.dbfixture.get_group_list() def new_group(self, name, header, footer): return Group(name=name, header=header, footer=footer) def create_group(self, group): self.fixture.group.create(group) def delete_group(self, group): self.fixture.group.del_by_id(group.id) def group_lists_should_be_equal(self, list1, list2): assert sorted(list1, key=Group.id_or_max) == sorted(list2, key=Group.id_or_max) def get_contact_list(self): return self.dbfixture.get_contact_list() def new_contact(self, first_name, last_name, address, home_phone): return Contact(first_name=first_name, last_name=last_name, address=address, home_phone=home_phone) def create_contact(self, contact): self.fixture.contact.create(contact) def contact_lists_should_be_equal(self, list1, list2): assert sorted(list1, key=Contact.id_or_max) == sorted(list2, key=Contact.id_or_max) def modify_contact(self, contact, modify_data): self.fixture.contact.edit_by_id(contact.id, modify_data) modify_data.id = contact.id def modify_contact_from_detail(self, contact, modify_data): self.fixture.contact.edit_from_details_by_id(contact.id, modify_data) modify_data.id = contact.id def delete_contact(self, contact): self.fixture.contact.del_by_id(contact.id) def cancel_delete_contact(self, contact): self.fixture.contact.cancel_del_by_id(contact.id) def delete_all_contacts(self): self.fixture.contact.del_by_select_all() def contact_list_should_be_empty(self, list): assert [] == list def check_contact_exist(self): if len(self.dbfixture.get_contact_list()) == 0: self.fixture.contact.create( Contact(first_name="del_contact", fax="573-092", nickname="1")) self.fixture.contact.create( Contact(first_name="del_contact", fax="573-092", nickname="2")) self.fixture.contact.create( Contact(first_name="del_contact", fax="573-092", nickname="3"))
class AddressBook: ROBOT_LIBRARY_SCOPE = 'TEST SUITE' def __init__(self, config_file="target.json", browser="firefox"): self.browser = browser config = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", config_file) with open(config_file) as config: self.target = json.load(config) def init_fixtures(self): web_config = self.target['web'] self.fixture = Application(browser=self.browser, base_url=web_config['baseUrl']) db_config = self.target['db'] self.dbfixture = DbFixture(host=db_config['host'], name=db_config['name'], user=db_config['user'], password=db_config['password']) self.fixture.session.ensure_login(username=web_config['username'], password=web_config['password']) def destroy_fixtures(self): self.fixture.destroy() self.dbfixture.destroy() def new_group(self, name, header, footer): return Group(name=name, header=header, footer=footer) # Group methods def get_group_list(self): return self.dbfixture.get_group_list() # TODO: try to implement single method which can be used # to choose both groups and contacts def choose_group_from_list(self, groups): return random.choice(groups) def create_group(self, group): self.fixture.groups.create(group) def delete_group(self, group): self.fixture.groups.delete_group_by_id(group.id) def group_lists_should_be_equal(self, list1, list2): assert sorted(list1, key=Group.id_or_maxval) == sorted(list2, key=Group.id_or_maxval) # Contact methods def get_contacts_list(self): return self.dbfixture.get_contacts_list() # TODO: try to implement single method which can be used # to choose both groups and contacts def choose_contact_from_list(self, contacts): return random.choice(contacts) def new_contact(self): return contact_with_rnd_data def create_contact(self, contact): self.fixture.contacts.create(contact) def delete_contact(self, contact): self.fixture.contacts.delete_contact_by_id(contact.id) def modify_contact(self, contact_to_modify, new_contact_data): new_contact_data.id = contact_to_modify.id # Save contact we got after entering data on edit form. # This is necessary for cases when we don't change # some of fields. return self.fixture.contacts.edit_contact_by_id(new_contact_data) def contacts_lists_should_be_equal(self, list1, list2): assert sorted(list1, key=Contact.id_or_maxval) == sorted(list2, key=Contact.id_or_maxval)
#import pymysql.cursors from fixture.db import DbFixture db = DbFixture(host="127.0.0.1", name="addressbook", user="******", password="") try: groups = db.get_group_list() for group in groups: print(group) print(len(groups)) finally: pass # db.destroy() try: users = db.get_users_list() for user in users: print(user) print(len(users)) finally: db.destroy()
class AddressBook: ROBOT_LIBRARY_SCOPE = 'TEST SUITE' def __init__(self, config="target.json", browser="chrome"): self.browser = browser config_file = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", config) with open(config_file) as f: self.target = json.load(f) def init_fixtures(self): web_config = self.target['web'] self.fixture = Application(browser=self.browser, base_URL=web_config['baseURL']) self.fixture.session.ensure_login(username=web_config["username"], password=web_config["password"]) db_config = self.target['db'] self.dbfixture = DbFixture(host=db_config['host'], name=db_config['name'], user=db_config['user'], password=db_config['password']) def destroy_fixtures(self): self.dbfixture.destroy() self.fixture.destroy() def new_group(self, name, header, footer): return Group(name=name, header=header, footer=footer) def get_group_list(self): return self.dbfixture.get_group_list() def create_group(self, group): self.fixture.group.create(group) def group_lists_should_be_equal(self, list1, list2): assert sorted(list1, key=Group.id_or_max) == sorted(list2, key=Group.id_or_max) def delete_group(self, group): self.fixture.group.delete_group_by_id(group.identifier) def get_contact_list(self): return self.dbfixture.get_contact_list() def new_contact(self, firstname1, middlename1, lastname1): return Contact(firstname=firstname1, middlename=middlename1, lastname=lastname1) def create_contact(self, contact): self.fixture.contact.create(contact) def contact_lists_should_be_equal(self, list1, list2): assert sorted(list1, key=Contact.id_or_max) == sorted(list2, key=Contact.id_or_max) print(list1, list2) def delete_contact(self, contact): self.fixture.contact.delete_contact_by_id(contact.identifier) def edit_contact(self, contact, new_contact_data): self.fixture.contact.edit_contact_by_id(contact.identifier, new_contact_data)
class AddressBook: ROBOT_LIBRARY_SCOPE = 'TEST_SUITE' def __init__(self, config='target.json', browser='chrome'): self.browser = browser config_file = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', config) with open(config_file) as f: self.target = json.load(f) def init_fixtures(self): web_config = self.target['web'] self.fixture = Application(browser=self.browser, base_url=web_config['baseUrl'], host_ip=web_config['hostip']) self.fixture.session.ensure_login(username=web_config['username'], password=web_config['password']) db_config = self.target['db'] self.dbfixture = DbFixture(host=db_config['host'], name=db_config['name'], user=db_config['user'], password=db_config['password']) def destroy_fixtures(self): self.fixture.destroy() self.dbfixture.destroy() def new_group(self, name, header, footer): return Group(name=name, header=header, footer=footer) def get_group_list(self): return self.dbfixture.get_group_list() def create_group(self, group): self.fixture.group.create(group) def delete_group(self, group): self.fixture.group.delete_group_by_id(group.id) def group_lists_should_be_equal(self, new_list, old_list): assert sorted(old_list, key=Group.id_or_max) == sorted(new_list, key=Group.id_or_max) def new_contact(self, firstname, lastname): return Contact(firstname=firstname, lastname=lastname) def get_contact_list(self): return self.dbfixture.get_contact_list() def create_contact(self, contact): self.fixture.contact.create_contact(contact) def delete_contact(self, contact): self.fixture.contact.delete_contact_by_id(contact.id) time.sleep(4) def modify_contact(self, contact): self.fixture.contact.modify_contact_by_id(contact.id, contact) def contact_lists_should_be_equal(self, new_list, old_list): assert sorted(old_list, key=Contact.id_or_max) == sorted(new_list, key=Contact.id_or_max)
class AddressBook: ROBOT_LIBRARY_SCOPE = 'TEST SUITE' def __init__(self, config="target.json", browser="chrome"): self.browser = browser config_file = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", config) with open(config_file) as f: self.target = json.load(f) def init_fixtures(self): web_config = self.target['web'] self.fixture = Application(browser=self.browser, base_url=web_config["baseUrl"]) self.fixture.session.ensure_login(username=web_config["username"], password=web_config["password"]) db_config = self.target['db'] self.dbfixture = DbFixture(host=db_config['host'], name=db_config['name'], user=db_config['user'], password=db_config['password']) def destroy_fixtures(self): self.fixture.destroy() self.dbfixture.destroy() def new_group(self, name, header, footer): return Group(name=name, header=header, footer=footer) def new_group_for_modify(self, name, header, footer, id): return Group(name=name, header=header, footer=footer, id=id) def get_group_list(self): return self.dbfixture.get_group_list() def create_group(self, group): self.fixture.group.create(group) def delete_group(self, group): self.fixture.group.delete_group_by_id(group.id) def get_group_id(self, group): return group.id def get_contact_id(self, contact): return contact.id def modify_group(self, group1, group2): self.fixture.group.modify_group_by_id(group1.id, group2) def group_lists_should_be_equal(self, list1, list2): assert sorted(list1, key=Group.id_or_max) == sorted(list2, key=Group.id_or_max) def verify_group_list_is_not_empty(self, list1): if len(list1) == 0: self.fixture.group.create(Group(name="New_group")) def get_contact_list(self): return self.dbfixture.get_contact_list() def new_contact(self, firstname, lastname, address): return Contact(firstname=firstname, lastname=lastname, address=address) def new_contact_for_modify(self, firstname, lastname, address, id): return Contact(firstname=firstname, lastname=lastname, address=address, id=id) def create_contact(self, contact): self.fixture.contact.create(contact) def verify_contact_list_is_not_empty(self, list1): if len(list1) == 0: self.fixture.contact.create( Contact(firstname="firstname4", lastname="lastname4", address="adress4")) def contact_lists_should_be_equal(self, list1, list2): assert sorted(list1, key=Contact.id_or_max) == sorted(list2, key=Contact.id_or_max) def delete_contact(self, contact): self.fixture.contact.delete_contact_by_id(contact.id) def modify_contact(self, contact1, contact2): self.fixture.contact.modify_contact_by_id(contact1.id, contact2)
class AddressBook: ROBOT_LIBRARY_SCOPE = 'TEST SUITE' def __init__(self, config="target.json", browser="chrome"): self.browser = browser config_file = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", config) with open(config_file) as f: self.target = json.load(f) def init_fixtures(self): web_config = self.target['web'] self.fixture = Application(browser=self.browser, base_url=web_config["baseUrl"]) self.fixture.session.ensure_login(username=web_config["username"], password=web_config["password"]) db_config = self.target['db'] self.dbFixture = DbFixture(host=db_config["host"], name=db_config["name"], user=db_config["user"], password=db_config["password"]) def destroy_fixtures(self): self.dbFixture.destroy() self.fixture.destroy() def new_group(self, name, header, footer): return Group(name=name, header=header, footer=footer) def get_group_list(self): return self.dbFixture.get_group_list() def create_group(self, group): self.fixture.group.create(group) def delete_group(self, group): self.fixture.group.delete_group_by_id(group.id) def group_lists_should_be_equal(self, list1, list2): assert sorted(list1, key=Group.id_or_max) == sorted(list2, key=Group.id_or_max) def new_contact(self, firstname, middlename, lastname, nickname, title, company, address, fax, mobilephone, workphone, homephone, email, email2, email3, homepage, option1, option2, byear, option3, option4, ayear, address2, secondaryphone, notes): return Contact(firstname=firstname, middlename=middlename, lastname=lastname, nickname=nickname, title=title, company=company, address=address, fax=fax, mobilephone=mobilephone, workphone=workphone, homephone=homephone, email=email, email2=email2, email3=email3, homepage=homepage, option1=option1, option2=option2, byear=byear, option3=option3, option4=option4, ayear=ayear, address2=address2, secondaryphone=secondaryphone, notes=notes) def get_contact_list(self): return self.dbFixture.get_contact_list() def create_contact(self, contact): self.fixture.contact.create(contact) def delete_contact(self, contact): self.fixture.contact.delete_contact_by_id(contact.id) def edit_contact(self, contact, new_contact): self.fixture.contact.edit_contact_by_id(contact.id, new_contact) def fix_new_contact_id(self, contact, new_contact): new_contact.id = contact.id return new_contact def contact_lists_should_be_equal(self, list1, list2): assert sorted(list1, key=Contact.id_or_max) == sorted(list2, key=Contact.id_or_max)
class AddressBook: ROBOT_LIBRARY_SCOPE = 'TEST SUITE' def __init__(self, config="target.json", browser="firefox"): self.browser = browser config_file = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", config) with open(config_file) as f: self.target = json.load(f) def init_fixtures(self): web_config = self.target['web'] self.fixture = Application(browser=self.browser, base_url=web_config["baseUrl"]) self.fixture.session.ensure_login(username=web_config["username"], password=web_config["password"]) db_config = self.target['db'] self.dbfixture = DbFixture(host=db_config["host"], name=db_config["name"], user=db_config["user"], password=db_config["password"]) def destroy_fixtures(self): self.fixture.destroy() self.dbfixture.destroy() def new_group(self, name, header, footer): return Group(name=name, header=header, footer=footer) def new_groupWithID(self, group, name, header, footer): return Group(id=group.id, name=name, header=header, footer=footer) def get_group_list(self): return self.dbfixture.get_group_list() def create_group(self, group): self.fixture.group.create(group) def group_lists_should_be_equal(self, list1, list2): assert sorted(list1, key=Group.id_or_max) == sorted(list2, key=Group.id_or_max) def delete_group(self, group): self.fixture.group.delete_group_by_id(group.id) def modify_group(self, group): self.fixture.group.change_group_by_id(group.id, group) def get_contact_list(self): return self.dbfixture.get_contact_list() def new_contact(self, lastname, firstname, address, email, email2, email3, home_phone, mobile_phone, work_phone, phone2): return Contact(lastname=lastname, firstname=firstname, address=address, email=email, email2=email2, email3=email3, home_phone=home_phone, mobile_phone=mobile_phone, work_phone=work_phone, phone2=phone2) def new_contactWithID(self, contact, lastname, firstname, address, email, email2, email3, home_phone, mobile_phone, work_phone, phone2): return Contact(id=contact.id, lastname=lastname, firstname=firstname, address=address, email=email, email2=email2, email3=email3, home_phone=home_phone, mobile_phone=mobile_phone, work_phone=work_phone, phone2=phone2) def create_contact(self, new_contact): self.fixture.contact.add_new(new_contact) def contact_lists_should_be_equal(self, list1, list2): assert sorted(list1, key=Contact.id_or_max) == sorted(list2, key=Contact.id_or_max) def delete_contact(self, contact): self.fixture.contact.delete_contact_by_id(contact.id) def modify_contact(self, contact): self.fixture.contact.change_contact_by_id(contact.id, contact)