diff --git a/test/conftest.py b/test/conftest.py index 43a73f970fde00dacc4286197d0cfbdd1a3043e7..ad7654ffe803a806969d273919309c3f93314014 100644 --- a/test/conftest.py +++ b/test/conftest.py @@ -1,27 +1,21 @@ -import binascii +import os + import pytest +TEST_DIR = os.path.dirname(__file__) + @pytest.fixture() def original_mkp_file(): - return _unhexlify(''' - 1f8b0808191c475602ff746573742d312e302e6d6b7000eddb416f9b3014c0f19cf3295cedc0650b - 8104225551a4dd76dc61d20ed31439e034a8809971da5553bffb6cdab4a44b35696ab255fbff1409 - f4fc20d806737914f55a0f8e6ceca4d369b7759e6ea3f1381e44711a4769948e27d1c047926820c6 - 8313d8b6561a215ea493fdcebd123f02b9b51b6d827311bccf7371a3b746d4b25262a38c0ade0e45 - 90ab363345630b5dfbac8fa592ad12d2254bd16beb1da0afeb52cb7cb935a53f62636d731e86eabb - ac9a528d325d8556b536ec92d745a95a97e52ee442d5d6ef7e09da4665852cc32eb4f4c9c15797fc - 28c8362abbac64dda53f9bd09ded4943aeb303d1a2be727fa5cdcd81b65adb625d64d2f7f2d0199b - ba796795eb9bb4ea50fbb55a75d15bdf5f3fb67e50ba6bee02db6ab91b84d8076c61cb2ee593df11 - 7a2d1e72af9469efa7211a8dfba15155d44ba3be6d0ba3f2bbf6789436c95e4e23b34b37a47bedb7 - 03fcc776cfd1c8ad827f67fd8fa77e7f7ffd8fa6c98cf5ff14fcd272c2f77f92cea2fe76770bece6 - dffd266efe27936472e2f9d755be34eb7a652e0e3f07bf6b7fa5ba97cdb9f8a0ca528bcfda94f9d9 - 90551100000000000000000000000000fe7d7745d7c7acfefca3facf28a5fef3247eadb43fcefccf - 92e4f9facff4e1fb8fd8dd0d6efed388facfd3787316ae8a3a5cc9763354d9468b603e9ffbdb60b1 - 5804f7917e7168407528000000000000000000000000000000000000000000000000f0627e02d592 - a66f00780000 - ''') - - -def _unhexlify(data): - return binascii.unhexlify(data.replace(' ', '').replace('\n', '')) + return _test_file('test_original.mkp') + + +@pytest.fixture() +def original_mkp_file_with_info_json(): + return _test_file('test_original_with_info_json.mkp') + + +def _test_file(filename): + path = os.path.join(TEST_DIR, filename) + with open(path, 'rb') as f: + return f.read() diff --git a/test/test_mkp.py b/test/test_mkp.py index 3ea2273f80786d6944ecb1aff66333f8137cf665..e654212c2d83f816e053a738fdd0a4d9edd73048 100644 --- a/test/test_mkp.py +++ b/test/test_mkp.py @@ -27,34 +27,6 @@ def sample_info(): 'version.min_required': '1.2.6p5', 'version.usable_until': None, } - - -def test_load_bytes(original_mkp_file): - package = mkp.load_bytes(original_mkp_file) - - assert type(package) == mkp.Package - assert package.info['title'] == 'Title of test' - - -def test_load_file(original_mkp_file, tmpdir): - tmpdir.join('test.mkp').write_binary(original_mkp_file) - - package = mkp.load_file(str(tmpdir.join('test.mkp'))) - - assert type(package) == mkp.Package - assert package.info['title'] == 'Title of test' - - -def test_extract_files(original_mkp_file, tmpdir): - package = mkp.load_bytes(original_mkp_file) - - package.extract_files(str(tmpdir)) - - assert tmpdir.join('agents', 'special', 'agent_test').exists() - assert tmpdir.join('checkman', 'test').exists() - assert tmpdir.join('checkman', 'test').open().read() == 'title: Hello World!\n' - - def test_pack_to_bytes(tmpdir): info = { 'files': {'agents': ['special/agent_test']}, diff --git a/test/test_original.mkp b/test/test_original.mkp new file mode 100644 index 0000000000000000000000000000000000000000..d649f6ebeeed769aecc39c333398c0af186771f1 Binary files /dev/null and b/test/test_original.mkp differ diff --git a/test/test_original_mkp_files.py b/test/test_original_mkp_files.py new file mode 100644 index 0000000000000000000000000000000000000000..ac713c9fd37e6982efa78df03ede4b799a5d641e --- /dev/null +++ b/test/test_original_mkp_files.py @@ -0,0 +1,36 @@ +import mkp + + +def test_load_bytes(original_mkp_file): + package = mkp.load_bytes(original_mkp_file) + + assert type(package) == mkp.Package + assert package.info['title'] == 'Title of test' + + +def test_load_file(original_mkp_file, tmpdir): + tmpdir.join('test.mkp').write_binary(original_mkp_file) + + package = mkp.load_file(str(tmpdir.join('test.mkp'))) + + assert type(package) == mkp.Package + assert package.info['title'] == 'Title of test' + assert package.json_info is None + + +def test_extract_files(original_mkp_file, tmpdir): + package = mkp.load_bytes(original_mkp_file) + + package.extract_files(str(tmpdir)) + + assert tmpdir.join('agents', 'special', 'agent_test').exists() + assert tmpdir.join('checkman', 'test').exists() + assert tmpdir.join('checkman', 'test').open().read() == 'title: Hello World!\n' + + +def test_load_bytes_with_info_json(original_mkp_file_with_info_json): + package = mkp.load_bytes(original_mkp_file_with_info_json) + + assert type(package) == mkp.Package + assert package.info['title'] == 'Title of test' + assert package.json_info['title'] == 'Title of test' diff --git a/test/test_original_with_info_json.mkp b/test/test_original_with_info_json.mkp new file mode 100644 index 0000000000000000000000000000000000000000..db3b8d5b0e187c65831c1aa5ec9eaa6debc2dd63 Binary files /dev/null and b/test/test_original_with_info_json.mkp differ