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