def getters(): connect = Connect("http", "localhost:8000", "camd", "abc123", DEBUG=True) # connect = Connect("http", "moztrap.allizom.org", "camd", "07cb6df4-3879-45f1-9764-224775fed1e6", DEBUG=True) # products = connect.get_products() # print jstr(products) # # products = connect.get_products(name="MozTrap") # print jstr(products) # # runs = connect.get_runs(productversion_id=7) # print jstr(runs) # # env = connect.get_run_environments(run_id=1) # print jstr(env) # penv = connect.get_product_environments(productversion_id=7) # print penv # pcases = connect.get_product_cases(productversion_id=7, environment_id=62) # # rcases = connect.get_run_cases(run_id=1, environment_id=22) rcases = connect.get_run_cases(run_id=47, environment_id=32) print jstr(rcases)
def test_connect_limits(self, testmoztrap): unlimited = testmoztrap.connect.get_products() limited = Connect("https", testmoztrap.url, testmoztrap.username, testmoztrap.apikey, limit=3).get_products() assert len(limited) == 3 assert len(unlimited) > len(limited)
def submit_results_ui_way(): connect = Connect("http", "localhost:8000", "camd", "abc123", DEBUG=True) runs = connect.get_runs() print jstr(runs) # here pick the run you want run_id = runs[0]["id"] envs = connect.get_run_environments(run_id=run_id) print jstr(envs) # here pick the env you want env_id = envs[22]["id"] tests = connect.get_run_cases(run_id=run_id, environment_id=env_id) print jstr(tests) results = TestResults() results.addpass( case_id=tests[0]["caseversion"]["case"]["id"], environment_id=env_id, ) results.addinvalid( case_id=tests[1]["caseversion"]["case"]["id"], environment_id=env_id, comment="why u no make sense??" ) results.addfail( case_id=tests[2]["caseversion"]["case"]["id"], environment_id=env_id, comment="why u no pass?", bug="http://www.deathvalleydogs.com", stepnumber=1, ) r = connect.submit_results(run_id=run_id, testresults=results) print r.text
def submit_results_auto_way(): connect = Connect("http", "localhost:8000", "camd", "abc123", DEBUG=True) products = connect.get_products(name="Zurago") print(jstr(products)) pv_id = products[0]["productversions"][0]["id"] envs = connect.get_product_environments(productversion_id=pv_id) print(jstr(envs)) lin_id = envs[0]["id"] win_id = envs[1]["id"] span_id = envs[2]["id"] spancases = connect.get_product_cases(productversion_id=pv_id, environment_id=span_id) wincases = connect.get_product_cases(productversion_id=pv_id, environment_id=win_id) lincases = connect.get_product_cases(productversion_id=pv_id, environment_id=lin_id) print(jstr(wincases)) results = TestResults() for caseversion in spancases: results.addinvalid(case_id=caseversion["case"]["id"], environment_id=span_id, comment="what the hellfire?") for caseversion in wincases: results.addpass( case_id=caseversion["case"]["id"], environment_id=win_id, ) for caseversion in lincases: results.addfail( case_id=caseversion["case"]["id"], environment_id=lin_id, comment="dang thing...", bug="http://www.deathvalleydogs.com", stepnumber=1, ) res = connect.submit_run( "first run: {0}".format(datetime.datetime.now()), "a description", productversion_id=pv_id, testresults=results, ) print(res.text)
def pytest_runtest_setup(item): TestSetup.username = item.config.option.test_moztrap_username TestSetup.apikey = item.config.option.test_moztrap_apikey TestSetup.url = item.config.option.test_moztrap_url TestSetup.connect = Connect( "https", TestSetup.url, TestSetup.username, TestSetup.apikey, )
def submit_results_auto_way(): connect = Connect("http", "localhost:8000", "camd", "abc123", DEBUG=True) products = connect.get_products(name="Zurago") print(jstr(products)) pv_id = products[0]["productversions"][0]["id"] envs = connect.get_product_environments(productversion_id=pv_id) print(jstr(envs)) lin_id = envs[0]["id"] win_id = envs[1]["id"] span_id = envs[2]["id"] spancases = connect.get_product_cases( productversion_id=pv_id, environment_id=span_id) wincases = connect.get_product_cases( productversion_id=pv_id, environment_id=win_id) lincases = connect.get_product_cases( productversion_id=pv_id, environment_id=lin_id) print(jstr(wincases)) results = TestResults() for caseversion in spancases: results.addinvalid( case_id=caseversion["case"]["id"], environment_id=span_id, comment="what the hellfire?" ) for caseversion in wincases: results.addpass( case_id=caseversion["case"]["id"], environment_id=win_id, ) for caseversion in lincases: results.addfail( case_id=caseversion["case"]["id"], environment_id=lin_id, comment="dang thing...", bug="http://www.deathvalleydogs.com", stepnumber=1, ) res = connect.submit_run( "first run: {0}".format(datetime.datetime.now()), "a description", productversion_id=pv_id, testresults=results, ) print(res.text)
def getters(): connect = Connect("http", "localhost:8000", "camd", "abc123", DEBUG=True) products = connect.get_products() print jstr(products) products = connect.get_products(name="MozTrap") print jstr(products) runs = connect.get_runs(productversion_id=7) print jstr(runs) env = connect.get_run_environments(run_id=1) print jstr(env) penv = connect.get_product_environments(productversion_id=7) pcases = connect.get_product_cases(productversion_id=7, environment_id=62) rcases = connect.get_run_cases(run_id=1, environment_id=22)
def main(): if len(sys.argv) == 5: suite_name = sys.argv[1] username = sys.argv[2] api_key = sys.argv[3] file_name = sys.argv[4] conn = Connect( "https", "moztrap.mozilla.org", # "http", # "localhost:8000", username, api_key, DEBUG=True, ) suite = create_suite(conn, suite_name) cases = get_cases(file_name) add_cases(conn, suite=suite, cases=cases) else: print "Usage: create_suite <suitename> <username> <api_key> <filename.csv>"
def submit_results_ui_way(): connect = Connect("http", "localhost:8000", "camd", "abc123", DEBUG=True) runs = connect.get_runs() print jstr(runs) # here pick the run you want run_id = runs[0]["id"] envs = connect.get_run_environments(run_id=run_id) print jstr(envs) # here pick the env you want env_id = envs[22]["id"] tests = connect.get_run_cases(run_id=run_id, environment_id=env_id) print jstr(tests) results = TestResults() results.addpass( case_id=tests[0]["caseversion"]["case"]["id"], environment_id=env_id, ) results.addinvalid(case_id=tests[1]["caseversion"]["case"]["id"], environment_id=env_id, comment="why u no make sense??") results.addfail( case_id=tests[2]["caseversion"]["case"]["id"], environment_id=env_id, comment="why u no pass?", bug="http://www.deathvalleydogs.com", stepnumber=1, ) r = connect.submit_results(run_id=run_id, testresults=results) print r.text
def setup(self): self.connect = Connect("https", "moztrap.allizom.org", "klrmn", "3150247f-0a62-4662-ab26-1bcb01238f5f")
class TestConnect: def setup(self): self.connect = Connect("https", "moztrap.allizom.org", "klrmn", "3150247f-0a62-4662-ab26-1bcb01238f5f") # get_products def test_get_products_no_filter(self): prods = self.connect.get_products() print "products:\n%s" % prods found = False for prod in prods: if prod['name'] == 'Macaron': found = True assert found, "product Macaron not found in %s" % prods def test_get_products_filter_by_name(self): prods = self.connect.get_products(name="Macaron") print "products:\n%s" % prods assert len(prods) == 1 assert prods[0]['id'] == '15' # get_product_environments def test_get_product_environments_by_productversion_id(self): envs = self.connect.get_product_environments(productversion_id="33") print "environments:\n%s" % envs found = False for env in envs: for element in env['elements']: if element['name'] == "OS X 10.5": found = True assert found, "OS X 10.5 was not found in %s" % envs # get_runs def test_get_runs_filter_by_product_id(self): runs = self.connect.get_runs(product_id=15) print "runs:\n%s" % runs run_names = [r['name'] for r in runs] assert "Vanilla mousse" in run_names def test_get_runs_filter_by_product_name(self): runs = self.connect.get_runs(product="Macaron") print "runs:\n%s" % runs run_names = [r['name'] for r in runs] assert "Vanilla mousse" in run_names def test_get_runs_filter_by_productversion_id(self): runs = self.connect.get_runs(productversion_id=31) print "runs:\n%s" % runs run_names = [r['name'] for r in runs] assert "Vanilla mousse" in run_names def test_get_runs_filter_by_product_and_version(self): runs = self.connect.get_runs(product="pytest_moztrap", version="0.1a", ) print "runs:\n%s" % runs run_names = [r['name'] for r in runs] assert "this_is_a_test" in run_names # get_run_environments def test_get_run_environments_by_run_id(self): runs = self.connect.get_runs(product="Macaron", version="1") print "runs:\n%s" % runs run_id = runs[0]['id'] run_envs = self.connect.get_run_environments(run_id) print "environments:\n%s" % run_envs assert run_envs[0]['elements'][0]['name'] != "" # get_run_cases def test_get_run_cases(self): runs = self.connect.get_runs(product="Macaron", version="1") print "runs:\n%s" % runs run_id = runs[0]['id'] run_envs = self.connect.get_run_environments(run_id) print "environments:\n%s" % run_envs env_id = run_envs[0]['id'] cases = self.connect.get_run_cases(run_id, env_id) print "cases:\n%s" % cases assert cases[0]['caseversion']['case']['id'] > "0" # test other stuff @pytest.mark.xfail(reason="not implemented yet") def test_submit_in_two_parts(self): """ Test that you can submit for a user/run/env the first 3 results, then submit just the second 3 results and not have it blow away the first. Existing results should be downloaded with test cases, if they already exist. """ assert False, "test not yet implemented"