From 3c60312d7971e9b8067f9a7c6da02861295e79eb Mon Sep 17 00:00:00 2001 From: Thomas Reifenberger <tom-mi@users.noreply.github.com> Date: Sat, 14 Nov 2020 13:49:15 +0100 Subject: [PATCH] Add test for new mkp package structure --- test/conftest.py | 38 +++++++++++--------------- test/test_mkp.py | 28 ------------------- test/test_original.mkp | Bin 0 -> 566 bytes test/test_original_mkp_files.py | 36 ++++++++++++++++++++++++ test/test_original_with_info_json.mkp | Bin 0 -> 746 bytes 5 files changed, 52 insertions(+), 50 deletions(-) create mode 100644 test/test_original.mkp create mode 100644 test/test_original_mkp_files.py create mode 100644 test/test_original_with_info_json.mkp diff --git a/test/conftest.py b/test/conftest.py index 43a73f9..ad7654f 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 3ea2273..e654212 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 GIT binary patch literal 566 zcmb2|=HQT&aSvnqUy@o}qHCyUpqHCn!0`6AWBzOdkpmy+eAbM4dmxp&kwqyqaLL`W zJBgS0E{j+`Fj>(sv+!1E@c!R9x3(<tHqFf16#DzW2<MkS3OCq_D@DFW@%QDtS#mjZ zd+EHq#UCx?TneS!GpF>aUp(MGDMR5{v+#{=VN!~5OD6w4w^zuXY3Eky+@@l|J?D!H z7jJjFvMDHOaSzu$KGzAW&5T`>xnqB?>0df&t<WV^?~B>5Wf!b}9dx>8r|DArq~zRU zxwcok*USp)HHvKw+iLb^(skFBQPZF5J#o5v?R_2REw|KGox^%tzMMQ5KK+lz2{WzT zYf|nmwV!=q?psgib(@(lF4|XAzx3?c#%)ozlVVdYegAYpa`vvu^r^3BZ+R8)duvqb z#pwI-_S@<Lc4fa~x}CLCy5$CYPU303r<3msR_V$Wt)G(lez~Gl@9%|yp;x>Y@5|+0 z{Au^MiYaC%<NTC2dz&w*e!HFd&+)SJ7f-Bhs!#vhzr3!#{%`-XlRaPmi~PA%bm)8i zq;re@m6db9d3OJ=THZhP$tgvTeqImVXY#r#Rgce}eSdcS(p}Tf?)<UfR8aT%TT_1C zoDeF=fDHcCmb+d*zUJSb#lOyLEdBRcrEcvO`*VNJPkQq6*ZD6GfA`<G%bWM_a>uXp zmn(|J)^%CMoGddAx#`xOU^oBw?SzdHEZ-;A6=pb;Y9O16%>Iy6$8>elvV4XL1_l5l CY8#mV literal 0 HcmV?d00001 diff --git a/test/test_original_mkp_files.py b/test/test_original_mkp_files.py new file mode 100644 index 0000000..ac713c9 --- /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 GIT binary patch literal 746 zcmV<G0u}uqiwFqg&#zws|8!+@bS*J1FfMItZ~*PvO>dhp7zgm2`zc&@;L`CH2vb#6 z+HI$4he<n3Q{;d%yn@ZZw5z6m_t_>iBuzW1YUw)tf0vNQ4}{l0Ihc#JoISHZTg0*b z)b>BaAdY6?JWb|loTl-7rYm7EpOIiTfv#1wA>>I8a(r;F#BY~&s*sI)O5FE(POfFw z5J4+O3f3_9<cPRAYqN&eic4X-K9!8Nj8NT7$!Kh}g1i!?r1`RIO0!0xRDJ6E>=&)- zl6je|e8pPj+vYVdS*yGBj(lfAnZ>VeTeFPQ(zm6hX?DNq<}EiXSawlSVcYL*uv^<3 z$Ypk*%EhJrDcM{f7!y+QHP5Iy%0pYMMg3MWeQZ>*L*rL$Wve&lc+I&rC&liwEp*j# zI0=y{D6UG|^4Tm9xhA*0m#k?wmm&0mamlN=ST^iu#~YUS<B_+hlbxQLW*7RDZpIg0 zP>1h!8oHLQO1A8T;^xYIl!D#N;6KK7{(C=KDPAuBgEXA)<$o9?De`}k{C8~jI68nG zol}lYFXHS(+ECQVIV=wGYrZ=so*Yx%3Cf|hk9FI4H`eWHx7oY1^?n04`s<;H(}T_? z;vDnKI#o@{ZqxjzeW{ts-Itmfw;5}OcQV$o2f2NDnTGpbUe0L8#<8i_5nWlDeHwz@ zF~Pp=9#XhJgg%8wTkFe#-Iwj#)l?sR^E!_U>fu6q`YCvs=Rb<g^4{~G1PPx1DVTeC z!vFtangrv|;TG6l|GEADAIIUu*T0Yzd#LYk<FAwr!c+2rm8B$KWK-tHNBCC+00000 z0000000000000000PyeYXXifW?9WHd|BOP+|D43#DcR3+{nI45fBxqp+MEA5kM!+= z`JWSbbL_9U@K>}gj#ySm;+~zIncLv}{M_AC#*;%`%nk(r00000000000000000000 c0000000000000000C;kL09}lbngDnJ090*!kpKVy literal 0 HcmV?d00001 -- GitLab