Skip to content
Snippets Groups Projects
Commit 3c60312d authored by Thomas Reifenberger's avatar Thomas Reifenberger
Browse files

Add test for new mkp package structure

parent 2ab519fe
No related branches found
No related tags found
No related merge requests found
import binascii import os
import pytest import pytest
TEST_DIR = os.path.dirname(__file__)
@pytest.fixture() @pytest.fixture()
def original_mkp_file(): def original_mkp_file():
return _unhexlify(''' return _test_file('test_original.mkp')
1f8b0808191c475602ff746573742d312e302e6d6b7000eddb416f9b3014c0f19cf3295cedc0650b
8104225551a4dd76dc61d20ed31439e034a8809971da5553bffb6cdab4a44b35696ab255fbff1409
f4fc20d806737914f55a0f8e6ceca4d369b7759e6ea3f1381e44711a4769948e27d1c047926820c6 @pytest.fixture()
8313d8b6561a215ea493fdcebd123f02b9b51b6d827311bccf7371a3b746d4b25262a38c0ade0e45 def original_mkp_file_with_info_json():
90ab363345630b5dfbac8fa592ad12d2254bd16beb1da0afeb52cb7cb935a53f62636d731e86eabb return _test_file('test_original_with_info_json.mkp')
ac9a528d325d8556b536ec92d745a95a97e52ee442d5d6ef7e09da4665852cc32eb4f4c9c15797fc
28c8362abbac64dda53f9bd09ded4943aeb303d1a2be727fa5cdcd81b65adb625d64d2f7f2d0199b
ba796795eb9bb4ea50fbb55a75d15bdf5f3fb67e50ba6bee02db6ab91b84d8076c61cb2ee593df11 def _test_file(filename):
7a2d1e72af9469efa7211a8dfba15155d44ba3be6d0ba3f2bbf6789436c95e4e23b34b37a47bedb7 path = os.path.join(TEST_DIR, filename)
03fcc776cfd1c8ad827f67fd8fa77e7f7ffd8fa6c98cf5ff14fcd272c2f77f92cea2fe76770bece6 with open(path, 'rb') as f:
dffd266efe27936472e2f9d755be34eb7a652e0e3f07bf6b7fa5ba97cdb9f8a0ca528bcfda94f9d9 return f.read()
90551100000000000000000000000000fe7d7745d7c7acfefca3facf28a5fef3247eadb43fcefccf
92e4f9facff4e1fb8fd8dd0d6efed388facfd3787316ae8a3a5cc9763354d9468b603e9ffbdb60b1
5804f7917e7168407528000000000000000000000000000000000000000000000000f0627e02d592
a66f00780000
''')
def _unhexlify(data):
return binascii.unhexlify(data.replace(' ', '').replace('\n', ''))
...@@ -27,34 +27,6 @@ def sample_info(): ...@@ -27,34 +27,6 @@ def sample_info():
'version.min_required': '1.2.6p5', 'version.min_required': '1.2.6p5',
'version.usable_until': None, '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): def test_pack_to_bytes(tmpdir):
info = { info = {
'files': {'agents': ['special/agent_test']}, 'files': {'agents': ['special/agent_test']},
......
File added
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'
File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment