-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtest_polyglot_level.py
31 lines (26 loc) · 1.65 KB
/
test_polyglot_level.py
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
from unittest import TestCase
from polydet import PolyglotLevel
class TestPolyglotLevel(TestCase):
def test_equal(self):
self.assertEqual(PolyglotLevel(), PolyglotLevel())
self.assertEqual(PolyglotLevel(is_valid=False,
suspicious_chunks=[(0, 100), (105, 5)],
embedded={'docx', 'jar'}),
PolyglotLevel(is_valid=False,
suspicious_chunks=[(0, 100), (105, 5)],
embedded={'docx', 'jar'}))
def test_builder(self):
self.assertEqual(PolyglotLevel(is_valid=False), PolyglotLevel().invalid())
self.assertEqual(PolyglotLevel(suspicious_chunks=[(0, 100), (105, 5)]),
PolyglotLevel()
.add_chunk(0, 100)
.add_chunk(105, 5))
self.assertEqual(PolyglotLevel(embedded={'jar'}), PolyglotLevel().embed('jar'))
def test_str(self):
self.assertEqual('PolyglotLevel()', str(PolyglotLevel()))
self.assertEqual('PolyglotLevel(is_valid=False)', str(PolyglotLevel(is_valid=False)))
self.assertEqual('PolyglotLevel(suspicious_chunks=[(0x0, 100), (0x5, 200)])',
str(PolyglotLevel(suspicious_chunks=[(0, 100), (5, 200)])))
self.assertEqual("PolyglotLevel(embedded={'docx'})", str(PolyglotLevel(embedded={'docx'})))
self.assertEqual("PolyglotLevel(is_valid=False, suspicious_chunks=[(0x0, 100), (0x5, 200)], embedded={'jar'})",
str(PolyglotLevel(is_valid=False, suspicious_chunks=[(0, 100), (5, 200)], embedded={'jar'})))