def test_e2e_ids_search_transform(self, config_prop, records_json_search):
     exporter = XunitExport("5_8_0_17", records_json_search, config_prop)
     complete = exporter.export()
     fname = "ostriz_search_transform.xml"
     with io.open(os.path.join(conf.DATA_PATH, fname), encoding="utf-8") as input_xml:
         parsed = input_xml.read()
     assert complete == parsed
 def test_e2e_names_transform(self, config_cloudtp, records_names):
     exporter = XunitExport("5_8_0_17", records_names, config_cloudtp)
     complete = exporter.export()
     fname = "complete_parametrization.xml"
     with open(os.path.join(conf.DATA_PATH, fname),
               encoding="utf-8") as input_xml:
         parsed = input_xml.read()
     assert complete == parsed
示例#3
0
 def test_e2e_noresults(self, records_ids):
     exporter = XunitExport("5_8_0_17",
                            records_ids,
                            self.config_prop,
                            transform_func=lambda arg: None)
     with pytest.raises(NothingToDoException) as excinfo:
         exporter.export()
     assert "Nothing to export" in str(excinfo.value)
示例#4
0
 def test_e2e_names_transform(self, records_names):
     exporter = XunitExport("5_8_0_17", records_names, self.config_prop)
     complete = exporter.export()
     fname = "complete_transform_name.xml"
     with io.open(os.path.join(conf.DATA_PATH, fname),
                  encoding="utf-8") as input_xml:
         parsed = input_xml.read()
     assert complete == parsed
示例#5
0
 def test_properties_invalid_lookup(self, records_ids):
     new_config = copy.deepcopy(self.config_prop)
     new_config["xunit_import_properties"][
         "polarion-lookup-method"] = "invalid"
     exporter = XunitExport("5_8_0_17", records_ids, new_config)
     with pytest.raises(Dump2PolarionException) as excinfo:
         exporter.export()
     assert "Invalid value 'invalid' for the 'polarion-lookup-method'" in str(
         excinfo.value)
示例#6
0
 def test_e2e_missing_results(self):
     new_records = ImportedData(results=[], testrun=None)
     exporter = XunitExport("5_8_0_17",
                            new_records,
                            self.config_prop,
                            transform_func=lambda arg: None)
     with pytest.raises(NothingToDoException) as excinfo:
         exporter._fill_tests_results(None)
     assert "Nothing to export" in str(excinfo.value)
示例#7
0
 def test_e2e_ids_notransform(self, config_prop, records_json):
     exporter = XunitExport("5_8_0_17",
                            records_json,
                            config_prop,
                            transform_func=lambda arg: arg)
     complete = exporter.export()
     fname = "ostriz_notransform.xml"
     with open(os.path.join(conf.DATA_PATH, fname),
               encoding="utf-8") as input_xml:
         parsed = input_xml.read()
     assert complete == parsed
示例#8
0
def test_top_element(config_prop, records_ids):
    exporter = XunitExport("5_8_0_17",
                           records_ids,
                           config_prop,
                           transform_func=lambda: None)
    top_element = exporter._top_element()
    parsed = "<testsuites><!--Generated for testrun 5_8_0_17--></testsuites>".strip(
    )
    top_element_str = get_unicode_str(
        etree.tostring(top_element, encoding="utf-8").strip())
    assert top_element_str == parsed
    def test_e2e_ok(self, config_prop, tmpdir):
        input_file = os.path.join(conf.DATA_PATH, "workitems_ids.csv")
        db_file = os.path.join(str(tmpdir), "workitems_copy.sqlite3")
        args = ["-i", input_file, "-o", db_file]
        with patch("dump2polarion.csv2sqlite_cli.utils.init_log"):
            retval = csv2sqlite_cli.main(args)
        assert retval == 0

        records = dbtools.import_sqlite(db_file)
        exporter = XunitExport("5_8_0_17", records, config_prop)
        complete = exporter.export()
        fname = "complete_transform.xml"
        with io.open(os.path.join(conf.DATA_PATH, fname), encoding="utf-8") as input_xml:
            parsed = input_xml.read()
        assert complete == parsed
示例#10
0
 def test_properties_element(self, records_ids):
     exporter = XunitExport("5_8_0_17",
                            records_ids,
                            self.config_prop,
                            transform_func=lambda: None)
     top_element = exporter._top_element()
     properties_element = exporter._properties_element(top_element)
     parsed = (
         "<properties>"
         '<property name="polarion-testrun-id" value="5_8_0_17"/>'
         '<property name="polarion-project-id" value="RHCF3"/>'
         '<property name="polarion-dry-run" value="False"/>'
         '<property name="polarion-response-test" value="test"/>'
         '<property name="polarion-testrun-status-id" value="inprogress"/>'
         "</properties>".strip())
     properties_str = get_unicode_str(
         etree.tostring(properties_element, encoding="utf-8").strip())
     assert properties_str == parsed
示例#11
0
 def test_e2e_all_ignored(self, captured_log):
     new_records = ImportedData(
         results=[{
             "title": "foo",
             "id": "foo",
             "verdict": "waiting",
             "ignored": True
         }],
         testrun=None,
     )
     exporter = XunitExport("5_8_0_17",
                            new_records,
                            self.config_prop,
                            transform_func=lambda arg: arg)
     with pytest.raises(NothingToDoException) as excinfo:
         exporter.export()
     assert "Nothing to export" in str(excinfo.value)
     assert "Skipping ignored testcase" in captured_log.getvalue()
示例#12
0
 def test_properties_lookup_config(self, records_names):
     new_config = copy.deepcopy(self.config_prop)
     new_config["xunit_import_properties"]["polarion-lookup-method"] = "id"
     exporter = XunitExport("5_8_0_17",
                            records_names,
                            new_config,
                            transform_func=lambda: None)
     top_element = exporter._top_element()
     properties_element = exporter._properties_element(top_element)
     exporter._fill_lookup_prop(properties_element)
     properties_str = get_unicode_str(
         etree.tostring(properties_element, encoding="utf-8").strip())
     assert '<property name="polarion-lookup-method" value="id"/>' in properties_str