Skip to content

Commit

Permalink
Merge 8e8ae44 into bfa00de
Browse files Browse the repository at this point in the history
  • Loading branch information
JohanLorenzo committed Feb 17, 2020
2 parents bfa00de + 8e8ae44 commit 191a903
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 6 deletions.
5 changes: 5 additions & 0 deletions maven_lambda/metadata.py
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,11 @@ def _fetch_extension_from_pom_file_content(bucket_name, pom_key):

root = tree.getroot()
packaging_element = root.find('m:packaging', XML_NAMESPACES)

# Bug 1616010 - Jars don't necessarily specify a packaging `entry`
if packaging_element is None:
return 'jar'

return packaging_element.text


Expand Down
27 changes: 21 additions & 6 deletions maven_lambda/test/test_metadata.py
Original file line number Diff line number Diff line change
Expand Up @@ -281,25 +281,40 @@ def test_get_snapshots_metadata(monkeypatch):
}]


def test_fetch_extension_from_pom_file_content(monkeypatch):
@pytest.mark.parametrize('xml_data, expected_format', ((
'''<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0">
<packaging>aar</packaging>
</project>''',
'aar',
), (
'''<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0">
<packaging>jar</packaging>
</project>''',
'jar',
), (
'''<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0">
</project>''',
'jar',
)))
def test_fetch_extension_from_pom_file_content(monkeypatch, xml_data, expected_format):
s3_mock = MagicMock()
bucket_mock = MagicMock()
s3_mock.Bucket.return_value = bucket_mock

def fake_download(_, destination):
with open(destination, 'w') as f:
f.write('''<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0">
<packaging>aar</packaging>
</project>''')
f.write(xml_data)

bucket_mock.download_file.side_effect = fake_download

monkeypatch.setattr('maven_lambda.metadata.s3', s3_mock)

assert _fetch_extension_from_pom_file_content('some_bucket_name',
'maven2/org/mozilla/components/browser-domains/0.30.0-SNAPSHOT/browser-domains-0.30.0-20181030.164630-2.pom',
) == 'aar'
) == expected_format

s3_mock.Bucket.assert_called_once_with('some_bucket_name')

Expand Down

0 comments on commit 191a903

Please sign in to comment.