Beispiel #1
0
def test_login(actions: Actions, github_user: GitHubUser):
    """
    Logowanie

    """
    github_login_page = GitHubLogin(actions)
    github_login_page.open()
    github_login_page.goto_login_form()
    github_login_page.login(username=github_user.username,
                            password=github_user.password)
    assert github_login_page.title == 'GitHub', "Nie zalogowano, strona niepoprawna"
Beispiel #2
0
def test_merge(actions: Actions, driver: WebDriver,
               github_user_with_repo: GitHubUserWithRepo):
    """
    Merge
    """
    github_login_page = GitHubLogin(actions)
    github_login_page.open()
    github_login_page.goto_login_form()
    github_login_page.login(username=github_user_with_repo.user.username,
                            password=github_user_with_repo.user.password)
    github_merge_page = GitHubMerge(actions, github_user_with_repo)
    github_merge_page.open()
    github_merge_page.pick_pull_requests()
    github_merge_page.create()
    assert XpathExists('//span[@title="Status: Merged"]'), 'nie zrobiono merge'
Beispiel #3
0
def test_delete_repo(actions: Actions,
                     github_user_with_repo: GitHubUserWithRepo):
    """
    Usunięcie danego repozytorium

    """
    github_login_page = GitHubLogin(actions)
    github_login_page.open()
    github_login_page.goto_login_form()
    github_login_page.login(username=github_user_with_repo.user.username,
                            password=github_user_with_repo.user.password)
    github_delete_page = DeleteRepo(actions, github_user_with_repo)
    github_delete_page.open()
    github_delete_page.delete()
    github_delete_page.confirm()
    assert github_delete_page.title == 'GitHub', 'nie usunieto'
Beispiel #4
0
def test_new_repo(actions: Actions, github_user_with_repo: GitHubUserWithRepo):
    """
    Dodanie nowego repozytorium

    """
    github_login_page = GitHubLogin(actions)
    github_login_page.open()
    github_login_page.goto_login_form()
    github_login_page.login(username=github_user_with_repo.user.username,
                            password=github_user_with_repo.user.password)
    github_new_repo_form = GitHubNewRepo(actions)
    github_new_repo_form.open()
    github_new_repo_form.fill_form(public=github_user_with_repo.repo.public,
                                   reponame=github_user_with_repo.repo.name)
    github_new_repo_form.submit()
    assert github_new_repo_form.title == f'{github_user_with_repo.user.username}/{github_user_with_repo.repo.name}', \
        'repo nie powstalo'
Beispiel #5
0
def test_delete_branch(actions: Actions, driver: WebDriver,
                       github_user_with_repo: GitHubUserWithRepo,
                       branchname: str):
    """
    Usunięcie brancha

    """
    github_login_page = GitHubLogin(actions)
    github_login_page.open()
    github_login_page.goto_login_form()
    github_login_page.login(username=github_user_with_repo.user.username,
                            password=github_user_with_repo.user.password)
    github_branches_page = GitHubBranches(actions, github_user_with_repo)
    github_branches_page.open()
    github_branches_page.delete_branch(branchname=branchname)
    xpath_format = f'//li//div[contains(.,"{branchname}") and contains(.,"Deleted just now by ")]'
    assert XpathExists(xpath_format), 'Nie usunięto repo'
Beispiel #6
0
def test_create_pull_request(actions: Actions, driver: WebDriver,
                             github_user_with_repo: GitHubUserWithRepo,
                             branchname: str):
    """
    Stworzenie pull request
    """
    github_login_page = GitHubLogin(actions)
    github_login_page.open()
    github_login_page.goto_login_form()
    github_login_page.login(username=github_user_with_repo.user.username,
                            password=github_user_with_repo.user.password)
    github_new_pull_request_page = GitHubNewPullRequest(
        actions, github_user_with_repo, branchname)
    github_new_pull_request_page.open()
    github_new_pull_request_page.create()
    assert XpathExists(
        '//span[contains(.,"Create")]'), 'Nie powstał pull request'
Beispiel #7
0
def test_add_new_branch(actions: Actions, driver: WebDriver,
                        github_user_with_repo: GitHubUserWithRepo,
                        branchname: str):
    """
    Stworzenie nowego brancha

    """
    github_login_page = GitHubLogin(actions)
    github_login_page.open()
    github_login_page.goto_login_form()
    github_login_page.login(username=github_user_with_repo.user.username,
                            password=github_user_with_repo.user.password)
    github_repo_page = GitHubRepoMain(actions, github_user_with_repo)
    github_repo_page.open()
    github_repo_page.add_branch(branchname=branchname)
    xpath_format = f'//span[@class="css-truncate-target" and contains(.,"{branchname}")]'
    assert XpathExists(xpath_format), 'nie powstało nowe repo'
Beispiel #8
0
def test_add_new_commit(actions: Actions, driver: WebDriver,
                        github_user_with_repo: GitHubUserWithRepo,
                        branchname: str, filename: str):
    """
    Dodanie nowego commitu do nowego brancha
    """
    github_login_page = GitHubLogin(actions)
    github_login_page.open()
    github_login_page.goto_login_form()
    github_login_page.login(username=github_user_with_repo.user.username,
                            password=github_user_with_repo.user.password)
    github_new_commit_page = GitHubNewCommit(actions, github_user_with_repo,
                                             branchname)
    github_new_commit_page.open()
    github_new_commit_page.fill_form(filename=filename)
    github_new_commit_page.submit()
    assert github_new_commit_page.title == \
           f'https://github.com/{github_user_with_repo.user.username}/{github_user_with_repo.repo.name}/tree/{branchname}'
Beispiel #9
0
def test_add_new_issue(actions: Actions, driver: WebDriver,
                       github_user: GitHubUser, reponame: str, title: str,
                       comment: str):
    """
    Dodanie new issue

    """
    github_login_page = GitHubLogin(actions)
    github_login_page.open()
    github_login_page.goto_login_form()
    github_login_page.login(username=github_user.username,
                            password=github_user.password)
    github_add_new_issue_page = GitHubNewIssue(actions=actions,
                                               github_user=github_user,
                                               reponame=reponame)
    github_add_new_issue_page.open()
    github_add_new_issue_page.fill_form(title=title, comment=comment)
    github_add_new_issue_page.submit()
    xpath_issue_created = f'//span[contains(.,"{title}")]'
    assert XpathExists(xpath_issue_created), 'new issue nie dodane'
Beispiel #10
0
def test_delete_repos_with_prefix(actions: Actions, driver: WebDriver,
                                  github_user: GitHubUser):
    """
    Usunięcie repozytoriów z prefixem 'TEST__'

    """
    github_login_page = GitHubLogin(actions)
    github_login_page.open()
    github_login_page.goto_login_form()
    github_login_page.login(username=github_user.username,
                            password=github_user.password)
    github_repo_list_page = GitHubRepoList(actions, github_user)
    github_repo_list_page.open()
    repos_for_deletion = github_repo_list_page.get_names_with_prefix()
    for repo_name in repos_for_deletion:
        github_user_with_repo = GitHubUserWithRepo(
            user=github_user, repo=GitHubRepo(name=repo_name))
        github_delete_page = DeleteRepo(actions, github_user_with_repo)
        github_delete_page.open()
        github_delete_page.delete()
        github_delete_page.confirm()
        assert github_delete_page.title == 'GitHub', 'nie usunieto'
from framework.element_provider import BasicWebElementProvider
from pages.git_hub.login import GitHubLogin

CONFIG_PATH = '../configurationz/selenium_config.local.yml'
CFG = Config.from_file(CONFIG_PATH)


def driver(conf):
    caps = {
        "browser_name": conf.browser,
        "version": str(conf.browser_version),
        "enableVNC": True,
        "enableVideo": False,
        "acceptInsecureCerts": True
    }
    options = webdriver.ChromeOptions()
    options.headless = conf.headless
    options.add_argument('--start-maximized')
    return webdriver.Remote(command_executor=conf.wd_hub_url,
                            desired_capabilities=caps,
                            options=options)


if __name__ == '__main__':
    driver = driver(CFG)
    actions = Actions(BasicWebElementProvider(driver, CFG))
    gl = GitHubLogin(actions)
    gl.open()
    gl.goto_login_form()
    gl.live_login()