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")
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")
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
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
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
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
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
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
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()
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
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
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
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
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
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
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
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