Changeset View
Changeset View
Standalone View
Standalone View
swh/indexer/tests/test_metadata.py
Show First 20 Lines • Show All 623 Lines • ▼ Show 20 Lines | def test_compute_metadata_maven_almost_empty(self): | ||||
'@context': 'https://doi.org/10.5063/schema/codemeta-2.0', | '@context': 'https://doi.org/10.5063/schema/codemeta-2.0', | ||||
'type': 'SoftwareSourceCode', | 'type': 'SoftwareSourceCode', | ||||
}) | }) | ||||
def test_compute_metadata_maven_invalid_xml(self): | def test_compute_metadata_maven_invalid_xml(self): | ||||
expected_warning = ( | expected_warning = ( | ||||
'WARNING:swh.indexer.metadata_dictionary.MavenMapping:' | 'WARNING:swh.indexer.metadata_dictionary.MavenMapping:' | ||||
'Error parsing XML from foo') | 'Error parsing XML from foo') | ||||
raw_content = b""" | raw_content = b""" | ||||
<project>""" | <project>""" | ||||
with self.assertLogs('swh.indexer.metadata_dictionary', | with self.assertLogs('swh.indexer.metadata_dictionary', | ||||
level='WARNING') as cm: | level='WARNING') as cm: | ||||
result = MAPPINGS["MavenMapping"]('foo').translate(raw_content) | result = MAPPINGS["MavenMapping"]('foo').translate(raw_content) | ||||
self.assertEqual(cm.output, [expected_warning]) | self.assertEqual(cm.output, [expected_warning]) | ||||
self.assertEqual(result, None) | self.assertEqual(result, None) | ||||
raw_content = b""" | raw_content = b""" | ||||
""" | """ | ||||
with self.assertLogs('swh.indexer.metadata_dictionary', | with self.assertLogs('swh.indexer.metadata_dictionary', | ||||
level='WARNING') as cm: | level='WARNING') as cm: | ||||
result = MAPPINGS["MavenMapping"]('foo').translate(raw_content) | result = MAPPINGS["MavenMapping"]('foo').translate(raw_content) | ||||
self.assertEqual(cm.output, [expected_warning]) | self.assertEqual(cm.output, [expected_warning]) | ||||
self.assertEqual(result, None) | self.assertEqual(result, None) | ||||
def test_compute_metadata_maven_unknown_encoding(self): | |||||
expected_warning = ( | |||||
'WARNING:swh.indexer.metadata_dictionary.MavenMapping:' | |||||
'Error detecting XML encoding from foo') | |||||
raw_content = b"""<?xml version="1.0" encoding="foo"?> | |||||
<project> | |||||
</project>""" | |||||
with self.assertLogs('swh.indexer.metadata_dictionary', | |||||
level='WARNING') as cm: | |||||
result = MAPPINGS["MavenMapping"]('foo').translate(raw_content) | |||||
self.assertEqual(cm.output, [expected_warning]) | |||||
self.assertEqual(result, None) | |||||
raw_content = b"""<?xml version="1.0" encoding="UTF-7"?> | |||||
<project> | |||||
</project>""" | |||||
with self.assertLogs('swh.indexer.metadata_dictionary', | |||||
level='WARNING') as cm: | |||||
result = MAPPINGS["MavenMapping"]('foo').translate(raw_content) | |||||
self.assertEqual(cm.output, [expected_warning]) | |||||
self.assertEqual(result, None) | |||||
def test_compute_metadata_maven_invalid_encoding(self): | |||||
expected_warning = ( | |||||
'WARNING:swh.indexer.metadata_dictionary.MavenMapping:' | |||||
'Error unidecoding XML from foo') | |||||
raw_content = b"""<?xml version="1.0" encoding="UTF-8"?> | |||||
<foo\xe5ct> | |||||
</foo>""" | |||||
with self.assertLogs('swh.indexer.metadata_dictionary', | |||||
level='WARNING') as cm: | |||||
result = MAPPINGS["MavenMapping"]('foo').translate(raw_content) | |||||
self.assertEqual(cm.output, [expected_warning]) | |||||
self.assertEqual(result, None) | |||||
def test_compute_metadata_maven_minimal(self): | def test_compute_metadata_maven_minimal(self): | ||||
raw_content = b""" | raw_content = b""" | ||||
<project> | <project> | ||||
<name>Maven Default Project</name> | <name>Maven Default Project</name> | ||||
<modelVersion>4.0.0</modelVersion> | <modelVersion>4.0.0</modelVersion> | ||||
<groupId>com.mycompany.app</groupId> | <groupId>com.mycompany.app</groupId> | ||||
<artifactId>my-app</artifactId> | <artifactId>my-app</artifactId> | ||||
<version>1.2.3</version> | <version>1.2.3</version> | ||||
▲ Show 20 Lines • Show All 417 Lines • Show Last 20 Lines |