def test_duplicate_branch_name(base_url, selenium):
    """Test adding a branch with the same name as the control branch."""
    selenium.get(base_url)
    home = Home(selenium, base_url).wait_for_page_to_load()
    experiment = home.create_experiment()
    experiment.fill_name("This is a test")
    experiment.fill_short_description("Testing in here")
    experiment.fill_bugzilla_url("http://bugzilla.com/show_bug.cgi?id=1234")
    exp_population = experiment.save_and_continue_btn()
    exp_population.fill_firefox_population_percentage()
    exp_population.select_firefox_channel()
    exp_population.select_firefox_min_version()
    exp_population.input_firefox_pref_name("robot rock")
    exp_population.select_firefox_pref_type()
    exp_population.select_firefox_pref_branch()
    control_branch = exp_population.current_branches[0]
    control_branch.set_branch_name("DUPLICATE BRANCH")
    control_branch.set_branch_description('THIS IS A TEST')
    control_branch.set_branch_value("false")
    extra_branch = exp_population.current_branches[-1]
    extra_branch.set_branch_name("DUPLICATE BRANCH")
    extra_branch.set_branch_description('THIS IS A TEST')
    extra_branch.set_branch_value("false")
    exp_population.click_continue()
    selenium.find_element_by_css_selector("#formset .invalid-feedback")
示例#2
0
def test_duplicate_branch_name(base_url, selenium):
    """Test adding a branch with the same name as the control branch."""
    selenium.get(base_url)
    home = Home(selenium, base_url).wait_for_page_to_load()
    experiment = home.create_experiment()
    experiment.name = "This is a test"
    experiment.short_description = "Testing in here"
    experiment.public_name = "Public Name"
    experiment.public_description = "Public Description"
    experiment.bugzilla_url = "http://bugzilla.com/show_bug.cgi?id=1234"
    exp_detail = experiment.save_btn()
    exp_design = exp_detail.click_edit()
    exp_design.input_firefox_pref_name("robot rock")
    exp_design.select_firefox_pref_type()
    exp_design.select_firefox_pref_branch()
    control_branch = exp_design.current_branches[0]
    control_branch.set_branch_name("DUPLICATE BRANCH")
    control_branch.set_branch_description('THIS IS A TEST')
    control_branch.set_branch_value("false")
    extra_branch = exp_design.current_branches[-1]
    extra_branch.set_branch_name("DUPLICATE BRANCH")
    extra_branch.set_branch_description('THIS IS A TEST')
    extra_branch.set_branch_value("false")
    exp_design.click_continue()
    selenium.find_element_by_css_selector("#design-form .invalid-feedback")
示例#3
0
def fill_overview(selenium, base_url, ds_issue_host, request, variables):
    """Fills overview page."""
    selenium.get(base_url)
    home = Home(selenium, base_url).wait_for_page_to_load()
    experiment = home.create_experiment()
    experiment_type = getattr(request.module, "experiment_type", None)
    experiment.experiment_type = getattr(
        request.module, "experiment_type_name", "Pref-Flip Experiment"
    )
    if request.node.get_closest_marker("use_variables"):
        experiment.name = f"{variables[experiment_type]['name']}"
        experiment.short_description = "Testing in here"
        experiment.public_name = f"{variables[experiment_type]['userFacingName']}"
        experiment.public_description = (
            f"{variables[experiment_type]['userFacingDescription']}"
        )
    else:
        experiment.name = "This is a test"
        experiment.short_description = "Testing in here"
        experiment.public_name = "Public Name"
        experiment.public_description = "Public Description"
        experiment.ds_issue_url = f"{ds_issue_host}DS-12345"
    experiment.ds_issue_url = f"{ds_issue_host}DS-12345"
    experiment.save_btn()
    # Add url to object
    url = urlparse(selenium.current_url)
    experiment.url = url.path
    return experiment
示例#4
0
def test_related_experiments_updates_correctly(base_url, selenium):
    """Test updating related experiments."""
    selenium.get(base_url)
    home = Home(selenium, base_url).wait_for_page_to_load()
    experiment = home.create_experiment()
    assert experiment.related_experiments == "Nothing selected"
    # Choose some random experiment from the list
    experiment.related_experiments = 1
示例#5
0
def test_public_description_changes_correctly(base_url, selenium):
    """Test adding a public description."""
    selenium.get(base_url)
    home = Home(selenium, base_url).wait_for_page_to_load()
    experiment = home.create_experiment()
    assert experiment.public_description == ""
    new_public_description = "THIS IS A LONG DESCRIPTION..!"
    experiment.public_description = new_public_description
    assert new_public_description in experiment.public_description
示例#6
0
def test_public_name_changes_correctly(base_url, selenium):
    """Test adding a public name."""
    selenium.get(base_url)
    home = Home(selenium, base_url).wait_for_page_to_load()
    experiment = home.create_experiment()
    assert experiment.public_name == ""
    new_public_name = "uitested exp"
    experiment.public_name = new_public_name
    assert new_public_name in experiment.public_name
示例#7
0
def test_overview_engineering_owner_changes_correctly(base_url, selenium):
    """Test changing engineering owner."""
    selenium.get(base_url)
    home = Home(selenium, base_url).wait_for_page_to_load()
    experiment = home.create_experiment()
    assert experiment.engineering_owner == ""
    new_owner = "uitester"
    experiment.engineering_owner = new_owner
    assert new_owner in experiment.engineering_owner
def test_related_work_url_changes_correctly(base_url, selenium):
    """Test adding related work urls."""
    selenium.get(base_url)
    home = Home(selenium, base_url).wait_for_page_to_load()
    experiment = home.create_experiment()
    assert experiment.related_work_urls == ""
    new_url = "http://someawesomeurl.com"
    experiment.related_work_urls = new_url
    assert new_url in experiment.related_work_urls
示例#9
0
def test_feature_bugzilla_url_changes_correctly(base_url, selenium):
    """Test adding a bugzilla url."""
    selenium.get(base_url)
    home = Home(selenium, base_url).wait_for_page_to_load()
    experiment = home.create_experiment()
    assert experiment.feature_bugzilla_url == ""
    new_url = "http://bugzilla.org/1234-new-url"
    experiment.feature_bugzilla_url = new_url
    assert new_url in experiment.feature_bugzilla_url
示例#10
0
def fill_overview(selenium, base_url):
    selenium.get(base_url)
    home = Home(selenium, base_url).wait_for_page_to_load()
    experiment = home.create_experiment()
    experiment.name = "This is a test"
    experiment.short_description = "Testing in here"
    experiment.bugzilla_url = "http://bugzilla.com/show_bug.cgi?id=1234"
    experiment.analysis_owner = "*****@*****.**"
    return experiment.save_and_continue_btn()
示例#11
0
def test_overview_type_changes_correctly(base_url, selenium):
    """Test changing experiment type."""
    selenium.get(base_url)
    home = Home(selenium, base_url).wait_for_page_to_load()
    experiment = home.create_experiment()
    assert "Pref-Flip Experiment" in experiment.experiment_type
    exp_type = "Add-On Experiment"
    experiment.experiment_type = exp_type
    assert exp_type in experiment.experiment_type
示例#12
0
def test_overview_owner_changes_correctly(base_url, selenium):
    """Test changing experiment owner."""
    selenium.get(base_url)
    home = Home(selenium, base_url).wait_for_page_to_load()
    experiment = home.create_experiment()
    assert home.header.current_user in experiment.experiment_owner
    owner = "admin"
    experiment.experiment_owner = owner
    assert owner in experiment.experiment_owner
示例#13
0
def fill_overview(selenium, base_url, ds_issue_host):
    selenium.get(base_url)
    home = Home(selenium, base_url).wait_for_page_to_load()
    experiment = home.create_experiment()
    experiment.name = "This is a test"
    experiment.short_description = "Testing in here"
    experiment.public_name = "Public Name"
    experiment.public_description = "Public Description"
    experiment.ds_issue_url = f"{ds_issue_host}DS-12345"
    return experiment
示例#14
0
def fill_overview(selenium, base_url):
    selenium.get(base_url)
    home = Home(selenium, base_url).wait_for_page_to_load()
    experiment = home.create_experiment()
    experiment.name = "This is a test"
    experiment.short_description = "Testing in here"
    experiment.public_name = "Public Name"
    experiment.public_description = "Public Description"
    experiment.bugzilla_url = "https://jira.mozilla.com/browse/DS-123"
    return experiment
示例#15
0
def fill_overview(selenium, base_url, ds_issue_host, default_data):
    """Fills overview page."""
    selenium.get(base_url)
    home = Home(selenium, base_url).wait_for_page_to_load()
    experiment = home.create_experiment()
    experiment.experiment_type = default_data.type_name
    experiment.public_name = default_data.user_facing_name
    experiment.public_description = default_data.user_facing_description
    experiment.internal_description = "Testing in here"
    experiment.ds_issue_url = f"{ds_issue_host}DS-12345"
    experiment.save_btn()
    # Add url to object
    url = urlparse(selenium.current_url)
    experiment.url = url.path
    return experiment
def test_add_branch(base_url, selenium):
    """Test adding a new branch."""
    selenium.get(base_url)
    home = Home(selenium, base_url).wait_for_page_to_load()
    experiment = home.create_experiment()
    experiment.fill_name("This is a test")
    experiment.fill_short_description("Testing in here")
    experiment.fill_bugzilla_url("http://bugzilla.com/show_bug.cgi?id=1234")
    exp_population = experiment.save_and_continue_btn()
    exp_population.select_firefox_channel()
    exp_population.select_firefox_min_version
    exp_population.input_firefox_pref_name("robot rock")
    exp_population.select_firefox_pref_type()
    exp_population.select_firefox_pref_branch()
    new_branch = exp_population.create_new_branch()
    assert "Branch 2" in new_branch.branch_number.text
def test_add_branch(base_url, selenium):
    """Test adding a new branch."""
    selenium.get(base_url)
    home = Home(selenium, base_url).wait_for_page_to_load()
    experiment = home.create_experiment()
    experiment.fill_name("This is a test")
    experiment.fill_short_description("Testing in here")
    experiment.fill_bugzilla_url("http://bugzilla.com/show_bug.cgi?id=1234")
    experiment.fill_data_science_owner("*****@*****.**")
    exp_detail = experiment.save_btn()
    exp_design = exp_detail.click_edit()
    exp_design.input_firefox_pref_name("robot rock")
    exp_design.select_firefox_pref_type()
    exp_design.select_firefox_pref_branch()
    new_branch = exp_design.create_new_branch()
    assert "Branch 2" in new_branch.branch_number.text
示例#18
0
def fill_overview(selenium, base_url, experiment_overview_info):
    """Fills overview page."""
    selenium.get(base_url)
    home = Home(selenium, base_url).wait_for_page_to_load()
    experiment = home.create_experiment()
    experiment.experiment_type = experiment_overview_info["type_name"]
    experiment.public_name = experiment_overview_info["public_name"]
    experiment.public_description = experiment_overview_info[
        "public_description"]
    experiment.internal_description = experiment_overview_info[
        "short_description"]
    experiment.ds_issue_url = experiment_overview_info["ds_issue_url"]
    experiment.save_btn()
    # Add url to object
    url = urlparse(selenium.current_url)
    experiment.url = url.path
    return experiment
示例#19
0
def test_add_branch(base_url, selenium):
    """Test adding a new branch."""
    selenium.get(base_url)
    home = Home(selenium, base_url).wait_for_page_to_load()
    experiment = home.create_experiment()
    experiment.name = "This is a test"
    experiment.short_description = "Testing in here"
    experiment.public_name = "Public Name"
    experiment.public_description = "Public Description"
    experiment.bugzilla_url = "http://bugzilla.com/show_bug.cgi?id=1234"
    exp_detail = experiment.save_btn()
    exp_design = exp_detail.click_edit()
    exp_design.input_firefox_pref_name("robot rock")
    exp_design.select_firefox_pref_type()
    exp_design.select_firefox_pref_branch()
    new_branch = exp_design.create_new_branch()
    assert "Branch 2" in new_branch.branch_number.text
def test_remove_branch(base_url, selenium):
    """Test removing a branch."""
    selenium.get(base_url)
    home = Home(selenium, base_url).wait_for_page_to_load()
    experiment = home.create_experiment()
    experiment.fill_name("This is a test")
    experiment.fill_short_description("Testing in here")
    experiment.fill_bugzilla_url("http://bugzilla.com/show_bug.cgi?id=1234")
    exp_population = experiment.save_and_continue_btn()
    exp_population.select_firefox_channel()
    exp_population.select_firefox_min_version()
    exp_population.input_firefox_pref_name("robot rock")
    exp_population.select_firefox_pref_type()
    exp_population.select_firefox_pref_branch()
    current_branch = exp_population.current_branches
    current_branch[-1].remove_branch()
    branches = exp_population.current_branches
    assert len(branches) == 1
    assert "Control Branch" in branches[-1].branch_number.text
def test_remove_branch(base_url, selenium):
    """Test removing a branch."""
    selenium.get(base_url)
    home = Home(selenium, base_url).wait_for_page_to_load()
    experiment = home.create_experiment()
    experiment.fill_name("This is a test")
    experiment.fill_short_description("Testing in here")
    experiment.fill_bugzilla_url("http://bugzilla.com/show_bug.cgi?id=1234")
    experiment.fill_data_science_owner("*****@*****.**")
    exp_detail = experiment.save_btn()
    exp_design = exp_detail.click_edit()
    exp_design.input_firefox_pref_name("robot rock")
    exp_design.select_firefox_pref_type()
    exp_design.select_firefox_pref_branch()
    current_branch = exp_design.current_branches
    current_branch[-1].remove_branch()
    branches = exp_design.current_branches
    assert len(branches) == 1
    assert "Control Branch" in branches[-1].branch_number.text
示例#22
0
def test_remove_branch(base_url, selenium):
    """Test removing a branch."""
    selenium.get(base_url)
    home = Home(selenium, base_url).wait_for_page_to_load()
    experiment = home.create_experiment()
    experiment.name = "This is a test"
    experiment.short_description = "Testing in here"
    experiment.public_name = "Public Name"
    experiment.public_description = "Public Description"
    experiment.bugzilla_url = "https://jira.mozilla.com/browse/DS-123"
    exp_detail = experiment.save_btn()
    exp_design = exp_detail.click_edit()
    exp_design.input_firefox_pref_name("robot rock")
    exp_design.select_firefox_pref_type()
    exp_design.select_firefox_pref_branch()
    current_branch = exp_design.current_branches
    current_branch[-1].remove_branch()
    branches = exp_design.current_branches
    assert len(branches) == 1
    assert "Control Branch" in branches[-1].branch_number.text