1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
import os
from karton.android import Android
from karton.core import Task
from karton.core.test import KartonTestCase, TestResource
class AndroidMagicTestCase(KartonTestCase):
karton_class = Android
def test_android(self):
testcase = os.path.join(os.path.dirname(__file__), "testsdata", "example.apk")
with self.subTest(testcase):
with open(testcase, "rb") as f:
content = f.read()
sample = TestResource(testcase, content)
expected = Task(
{
"type": "sample",
"stage": "analyzed",
"origin": "karton.android",
},
payload={
'attributes': {
"certificate": ["61ED377E85D386A8DFEE6B864BD85B0BFAA5AF81"],
"main_activity": ["com.example.android.contactmanager..ContactManager"],
"package": ["com.example.android.contactmanager"],
"activities": ["com.example.android.contactmanager..ContactManager", "com.example.android.contactmanager.ContactAdder"],
"permissions": ["android.permission.GET_ACCOUNTS", "android.permission.READ_CONTACTS", "android.permission.WRITE_CONTACTS"],
}
},
)
task = Task(
{
"type": "sample",
"extension": "apk",
},
payload={"sample": sample},
)
results = self.run_task(task)
self.assertTasksEqual(results, [expected])
|