def test_linked_published_dataset_then_publish(driver: selenium.webdriver, *args, **kwargs):
    """
    1. create and publish a dataset
    2. create a project and link the dataset
    3. publish the project
    """
    # create a dataset
    # dataset set up
    testutils.log_in(driver)
    testutils.GuideElements(driver).remove_guide()

    ds_elements = testutils.DatasetElements(driver)
    # create and publish datset
    dataset_title_local = ds_elements.create_dataset(testutils.unique_dataset_name())
    ds_elements.publish_dataset()

    driver.get(os.environ['GIGANTUM_HOST'])
    r = testutils.prep_py3_minimal_base(driver, skip_login=True)
    username, project_name = r.username, r.project_name

    filebrowser_elts = testutils.ProjectFileBrowserElements(driver)
    filebrowser_elts.link_dataset('a', 'b')

    time.sleep(4)

    pp = testutils.PublishProjectElements(driver)
    pp.publish_project()
    time.sleep(4)
Пример #2
0
def test_init_graphql(driver, *args, **kwargs):
    # Project set up
    username = testutils.log_in(driver)
    time.sleep(1)
    testutils.GuideElements(driver).remove_guide()
    time.sleep(1)
    owner, proj_name = create_py3_minimal_project(
        testutils.unique_project_name())
    time.sleep(1)
    driver.get(
        f'{os.environ["GIGANTUM_HOST"]}/projects/{username}/{proj_name}')

    time.sleep(5)
Пример #3
0
def test_create_local_branch(driver: selenium.webdriver, *args, **kwargs):
    """
    Test the creation of a local branch.

    Args:
        driver
    """
    # Project set up
    username = testutils.log_in(driver)
    time.sleep(2)
    testutils.GuideElements(driver).remove_guide()

    owner, proj_name = graphql.create_py3_minimal_project(
        testutils.unique_project_name())
    driver.get(
        f'{os.environ["GIGANTUM_HOST"]}/projects/{username}/{proj_name}')

    time.sleep(4)

    logging.info("Creating a new branch")
    branch_elts = testutils.BranchElements(driver)
    branch_elts.create_branch_button.click()
    branch_elts.branch_name_input.send_keys("my-test-branch")
    branch_elts.create_button.click()
    time.sleep(5)
    logging.info("Checking that the new branch is local only")

    upper_left_branch_name = driver.find_element_by_css_selector(
        ".BranchMenu__dropdown-text").text
    upper_left_local_only = driver.find_element_by_css_selector(
        '.BranchMenu__dropdown-btn>div[data-tooltip="Local only"]')
    assert upper_left_branch_name == "my-test-branch", "Expected to be on my-test-branch, upper left"
    assert upper_left_local_only, "Expected my-test-branch to be local only, upper left"

    # Open manage branches
    branch_elts.manage_branches_button.click()
    time.sleep(2)

    manage_branches_branch_name = driver.find_element_by_css_selector(
        ".Branches__branchname").text
    manage_branches_local_only = driver.find_element_by_css_selector(
        '.Branches__details>div[data-tooltip="Local only"]')
    assert manage_branches_branch_name == "my-test-branch", "Expected to be on my-test-branch, manage branches"
    assert manage_branches_local_only, "Expected my-test-branch to be local only, manage branches"
Пример #4
0
def test_featured_public_projects(driver: selenium.webdriver, *args, **kwargs):
    """
    Test that featured public projects import and build successfully.

    Args:
        driver
    """
    # Project set up
    testutils.log_in(driver)
    testutils.GuideElements(driver).remove_guide()
    # Import featured public projects
    import_project_elts = testutils.ImportProjectElements(driver)
    side_bar_elts = testutils.SideBarElements(driver)
    # TO DO - add in https://gigantum.com/gigantum-examples/allen-sdk-examples
    # TO DO - add in gigantum.com/randal/baltimore-sun-data-bridge-data
    featured_public_projects = [
        "gigantum.com/meg297/military-expenditure-gdp-population",
        "gigantum.com/billvb/fsw-telecoms-study"
    ]
    for project in featured_public_projects:
        logging.info(f"Importing featured public project: {project}")
        import_project_elts.import_existing_button.click()
        time.sleep(2)
        import_project_elts.project_url_input.send_keys(project)
        time.sleep(2)
        import_project_elts.import_button.click()
        wait = selenium.webdriver.support.ui.WebDriverWait(driver, 200)
        wait.until(
            EC.visibility_of_element_located((By.CSS_SELECTOR, "#overview")))
        wait.until(
            EC.visibility_of_element_located(
                (By.CSS_SELECTOR, ".flex>.Stopped")))

        project_stopped_visible = driver.find_element_by_css_selector(
            ".flex>.Stopped").is_displayed()
        assert project_stopped_visible, "Expected stopped container status"

        logging.info(
            f"Featured public project {project} was imported successfully")
        side_bar_elts.projects_icon.click()
        time.sleep(2)
Пример #5
0
def test_dataset_file_browser(driver: selenium.webdriver, *args, **kwargs):
    """
    Test that a file can be dragged and dropped into data in a dataset.

    Args:
        driver
    """
    testutils.log_in(driver)
    testutils.GuideElements(driver).remove_guide()
    dataset_elts = testutils.DatasetElements(driver)
    dataset_title = dataset_elts.create_dataset(testutils.unique_dataset_name())
    logging.info(f"Navigating to Data for dataset: {dataset_title}")
    file_browser_elts = testutils.FileBrowserElements(driver)
    file_browser_elts.data_tab.wait().click()
    logging.info(f"Dragging and dropping file into Data for dataset: {dataset_title}")
    time.sleep(3)
    file_browser_elts.drag_drop_file_in_drop_zone()
    time.sleep(3)

    assert file_browser_elts.file_information.find().text == 'sample-upload.txt', \
        "Expected sample-upload.txt to be the first file in Data"
Пример #6
0
def test_linked_published_dataset_then_publish(driver: selenium.webdriver,
                                               *args, **kwargs):
    """
    Test that a dataset can be created, published,
    linked to a project and published with the project.
    """
    testutils.log_in(driver)
    testutils.GuideElements(driver).remove_guide()
    ds_elts = testutils.DatasetElements(driver)
    # Create and publish dataset
    ds_elts.create_dataset(testutils.unique_dataset_name())
    ds_elts.publish_dataset()
    # Create a project, link dataset, and publish project
    driver.get(os.environ['GIGANTUM_HOST'])
    r = testutils.prep_py3_minimal_base(driver, skip_login=True)
    username, project_title = r.username, r.project_name
    file_browser_elts = testutils.FileBrowserElements(driver)
    file_browser_elts.link_dataset('a', 'b')
    time.sleep(4)
    cloud_project_elts = testutils.CloudProjectElements(driver)
    cloud_project_elts.publish_private_project(project_title)
    time.sleep(4)