def test_e2e_ids_transform(self, config_prop, records_json): exporter = XunitExport('5_8_0_17', records_json, config_prop) complete = exporter.export() fname = 'ostriz_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_noresults(self, config_prop, records_ids): exporter = XunitExport('5_8_0_17', records_ids, config_prop, transform_func=lambda arg: None) with pytest.raises(NothingToDoException) as excinfo: exporter.export() assert 'Nothing to export' in str(excinfo.value)
def test_properties_invalid_lookup(self, config_prop, records_ids): new_config = copy.deepcopy(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)
def test_e2e_missing_results(self, config_prop): new_records = ImportedData(results=[], testrun=None) exporter = XunitExport('5_8_0_17', new_records, 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)
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( ElementTree.tostring(top_element, 'utf-8').strip()) assert top_element_str == parsed
def test_e2e_names_notransform(self, config_prop, records_names): exporter = XunitExport('5_8_0_17', records_names, config_prop, transform_func=lambda arg: arg) complete = exporter.export() fname = 'complete_notransform_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
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
def test_properties_element(self, config_prop, records_ids): exporter = XunitExport('5_8_0_17', records_ids, 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-dry-run" value="False" />' '<property name="polarion-project-id" value="RHCF3" />' '<property name="polarion-response-test" value="test" />' '<property name="polarion-testrun-status-id" value="inprogress" />' '</properties>'.strip()) properties_str = get_unicode_str( ElementTree.tostring(properties_element, 'utf-8').strip()) assert properties_str == parsed
def test_properties_lookup_config(self, config_prop, records_names): new_config = copy.deepcopy(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( ElementTree.tostring(properties_element, 'utf-8').strip()) assert '<property name="polarion-lookup-method" value="id" />' in properties_str