pymisp 2.5.7__py3-none-any.whl → 2.5.7.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pymisp might be problematic. Click here for more details.

Files changed (72) hide show
  1. CHANGELOG.txt +13 -0
  2. pymisp/data/misp-objects/objects/rmm/definition.json +1 -1
  3. {pymisp-2.5.7.dist-info → pymisp-2.5.7.1.dist-info}/METADATA +2 -2
  4. {pymisp-2.5.7.dist-info → pymisp-2.5.7.1.dist-info}/RECORD +6 -72
  5. tests/57c4445b-c548-4654-af0b-4be3950d210f.json +0 -1
  6. tests/__init__.py +0 -0
  7. tests/csv_testfiles/invalid_fieldnames.csv +0 -11
  8. tests/csv_testfiles/valid_fieldnames.csv +0 -4
  9. tests/email_testfiles/mail_1.eml.zip +0 -0
  10. tests/email_testfiles/mail_1.msg +0 -0
  11. tests/email_testfiles/mail_1_bom.eml +0 -858
  12. tests/email_testfiles/mail_1_headers_only.eml +0 -28
  13. tests/email_testfiles/mail_2.eml +0 -32
  14. tests/email_testfiles/mail_3.eml +0 -170
  15. tests/email_testfiles/mail_3.msg +0 -0
  16. tests/email_testfiles/mail_4.msg +0 -0
  17. tests/email_testfiles/mail_5.msg +0 -0
  18. tests/email_testfiles/mail_multiple_to.eml +0 -15
  19. tests/email_testfiles/source +0 -1
  20. tests/git-vuln-finder-quagga.json +0 -1493
  21. tests/misp_event.json +0 -76
  22. tests/mispevent_testfiles/attribute.json +0 -21
  23. tests/mispevent_testfiles/attribute_del.json +0 -23
  24. tests/mispevent_testfiles/def_param.json +0 -53
  25. tests/mispevent_testfiles/event.json +0 -8
  26. tests/mispevent_testfiles/event_obj_attr_tag.json +0 -57
  27. tests/mispevent_testfiles/event_obj_def_param.json +0 -62
  28. tests/mispevent_testfiles/event_obj_tag.json +0 -29
  29. tests/mispevent_testfiles/event_tags.json +0 -18
  30. tests/mispevent_testfiles/existing_event.json +0 -4599
  31. tests/mispevent_testfiles/existing_event_edited.json +0 -4601
  32. tests/mispevent_testfiles/galaxy.json +0 -25
  33. tests/mispevent_testfiles/malware.json +0 -19
  34. tests/mispevent_testfiles/malware_exist.json +0 -163
  35. tests/mispevent_testfiles/misp_custom_obj.json +0 -38
  36. tests/mispevent_testfiles/overwrite_file/definition.json +0 -457
  37. tests/mispevent_testfiles/proposals.json +0 -35
  38. tests/mispevent_testfiles/shadow.json +0 -148
  39. tests/mispevent_testfiles/sighting.json +0 -5
  40. tests/mispevent_testfiles/simple.json +0 -2
  41. tests/mispevent_testfiles/test_object_template/definition.json +0 -29
  42. tests/new_misp_event.json +0 -34
  43. tests/reportlab_testfiles/HTML_event.json +0 -1
  44. tests/reportlab_testfiles/galaxy_1.json +0 -1250
  45. tests/reportlab_testfiles/image_event.json +0 -2490
  46. tests/reportlab_testfiles/japanese_test.json +0 -156
  47. tests/reportlab_testfiles/japanese_test_heavy.json +0 -318
  48. tests/reportlab_testfiles/long_event.json +0 -3730
  49. tests/reportlab_testfiles/mainly_objects_1.json +0 -1092
  50. tests/reportlab_testfiles/mainly_objects_2.json +0 -977
  51. tests/reportlab_testfiles/sighting_1.json +0 -305
  52. tests/reportlab_testfiles/sighting_2.json +0 -221
  53. tests/reportlab_testfiles/to_delete1.json +0 -804
  54. tests/reportlab_testfiles/to_delete2.json +0 -1
  55. tests/reportlab_testfiles/to_delete3.json +0 -1
  56. tests/reportlab_testfiles/very_long_event.json +0 -1006
  57. tests/reportlab_testoutputs/to_delete1.json.pdf +0 -391
  58. tests/reportlab_testoutputs/to_delete2.json.pdf +0 -506
  59. tests/reportlab_testoutputs/to_delete3.json.pdf +0 -277
  60. tests/search_index_result.json +0 -69
  61. tests/sharing_groups.json +0 -98
  62. tests/stix1.xml-utf8 +0 -110
  63. tests/stix2.json +0 -1
  64. tests/test_analyst_data.py +0 -123
  65. tests/test_emailobject.py +0 -157
  66. tests/test_fileobject.py +0 -20
  67. tests/test_mispevent.py +0 -473
  68. tests/test_reportlab.py +0 -431
  69. tests/testlive_comprehensive.py +0 -3734
  70. tests/testlive_sync.py +0 -474
  71. {pymisp-2.5.7.dist-info → pymisp-2.5.7.1.dist-info}/LICENSE +0 -0
  72. {pymisp-2.5.7.dist-info → pymisp-2.5.7.1.dist-info}/WHEEL +0 -0
tests/test_reportlab.py DELETED
@@ -1,431 +0,0 @@
1
- #!/usr/bin/env python
2
-
3
- from __future__ import annotations
4
-
5
- import os
6
- import sys
7
- import time
8
- import unittest
9
-
10
- import logging
11
- logging.disable(logging.CRITICAL)
12
- manual_testing = False
13
-
14
- try:
15
- from pymisp import MISPEvent
16
- from pymisp.tools import reportlab_generator
17
- reportlab_missing = False
18
- except Exception:
19
- reportlab_missing = True
20
-
21
-
22
- class TestPDFExport(unittest.TestCase):
23
-
24
- def setUp(self):
25
- if reportlab_missing:
26
- self.skipTest('reportlab missing, skip test.')
27
- self.maxDiff = None
28
- self.mispevent = MISPEvent()
29
- if not manual_testing:
30
- self.root = "tests/"
31
- else:
32
- self.root = ""
33
- self.test_folder = self.root + "reportlab_testfiles/"
34
- self.test_batch_folder = self.root + "OSINT_output/"
35
- self.storage_folder_OSINT = self.root + "OSINT_PDF/"
36
- self.test_image_folder = self.root + "image_json/"
37
- self.storage_folder = self.root + "reportlab_testoutputs/"
38
- self.storage_image_folder = self.root + "reportlab_test_image_outputs/"
39
- self.moduleconfig = ["MISP_base_url_for_dynamic_link", "MISP_name_for_metadata", "Activate_textual_description",
40
- "Activate_galaxy_description", "Activate_related_events", "Activate_internationalization_fonts", "Custom_fonts_path"]
41
-
42
- def init_event(self):
43
- self.mispevent.info = 'This is a test'
44
- self.mispevent.distribution = 1
45
- self.mispevent.threat_level_id = 1
46
- self.mispevent.analysis = 1
47
- self.mispevent.set_date("2017-12-31") # test the set date method
48
-
49
- def check_python_2(self):
50
- if sys.version_info.major < 3:
51
- # we want Python2 test to pass
52
- return True
53
-
54
- def test_basic_event(self):
55
- if self.check_python_2():
56
- self.assertTrue(True)
57
- else:
58
- self.init_event()
59
- reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent),
60
- self.storage_folder + "basic_event.pdf")
61
-
62
- def test_event(self):
63
- if self.check_python_2():
64
- self.assertTrue(True)
65
- else:
66
- self.init_event()
67
- self.mispevent.load_file(self.test_folder + 'to_delete1.json')
68
- reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent),
69
- self.storage_folder + "normal_event.pdf")
70
-
71
- def test_HTML_json(self):
72
- if self.check_python_2():
73
- self.assertTrue(True)
74
- else:
75
- self.init_event()
76
- self.mispevent.load_file(self.test_folder + 'HTML_event.json')
77
- reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent),
78
- self.storage_folder + "HTML_event.pdf")
79
-
80
- def test_long_json(self):
81
- if self.check_python_2():
82
- self.assertTrue(True)
83
- else:
84
- self.init_event()
85
- self.mispevent.load_file(self.test_folder + 'long_event.json')
86
- reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent),
87
- self.storage_folder + "long_event.pdf")
88
- # Issue report : "We are not smart enough" : https://pairlist2.pair.net/pipermail/reportlab-users/2010-May/009529.html
89
- # Not nice but working solution exposed there: https://pairlist2.pair.net/pipermail/reportlab-users/2016-March/011525.html
90
-
91
- def test_very_long_json(self):
92
- if self.check_python_2():
93
- self.assertTrue(True)
94
- else:
95
- self.init_event()
96
- self.mispevent.load_file(self.test_folder + 'very_long_event.json')
97
- reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent),
98
- self.storage_folder + "very_long_event.pdf")
99
-
100
- def test_full_config_json(self):
101
- if self.check_python_2():
102
- self.assertTrue(True)
103
- else:
104
-
105
- config = {}
106
- config[self.moduleconfig[0]] = "http://localhost:8080"
107
- config[self.moduleconfig[1]] = "My Wonderful CERT"
108
-
109
- self.init_event()
110
- self.mispevent.load_file(self.test_folder + 'very_long_event.json')
111
- reportlab_generator.register_value_to_file(
112
- reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config),
113
- self.storage_folder + "config_complete_event.pdf")
114
-
115
- def test_partial_0_config_json(self):
116
- if self.check_python_2():
117
- self.assertTrue(True)
118
- else:
119
-
120
- config = {}
121
- config[self.moduleconfig[0]] = "http://localhost:8080"
122
-
123
- self.init_event()
124
- self.mispevent.load_file(self.test_folder + 'very_long_event.json')
125
- reportlab_generator.register_value_to_file(
126
- reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config),
127
- self.storage_folder + "config_partial_0_event.pdf")
128
-
129
- def test_partial_1_config_json(self):
130
- if self.check_python_2():
131
- self.assertTrue(True)
132
- else:
133
-
134
- config = {}
135
- config[self.moduleconfig[1]] = "My Wonderful CERT"
136
-
137
- self.init_event()
138
- self.mispevent.load_file(self.test_folder + 'very_long_event.json')
139
- reportlab_generator.register_value_to_file(
140
- reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config),
141
- self.storage_folder + "config_partial_1_event.pdf")
142
-
143
- def test_image_json(self):
144
- if self.check_python_2():
145
- self.assertTrue(True)
146
- else:
147
-
148
- config = {}
149
- config[self.moduleconfig[0]] = "http://localhost:8080"
150
- config[self.moduleconfig[1]] = "My Wonderful CERT"
151
-
152
- self.init_event()
153
- self.mispevent.load_file(self.test_folder + 'image_event.json')
154
- reportlab_generator.register_value_to_file(
155
- reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config),
156
- self.storage_folder + "image_event.pdf")
157
-
158
- def test_objects_1_json(self):
159
- if self.check_python_2():
160
- self.assertTrue(True)
161
- else:
162
-
163
- config = {}
164
- config[self.moduleconfig[0]] = "http://localhost:8080"
165
- config[self.moduleconfig[1]] = "My Wonderful CERT"
166
-
167
- self.init_event()
168
- self.mispevent.load_file(self.test_folder + 'mainly_objects_1.json')
169
- reportlab_generator.register_value_to_file(
170
- reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config),
171
- self.storage_folder + "mainly_objects_1.pdf")
172
-
173
- def test_objects_2_json(self):
174
- if self.check_python_2():
175
- self.assertTrue(True)
176
- else:
177
-
178
- config = {}
179
- config[self.moduleconfig[0]] = "http://localhost:8080"
180
- config[self.moduleconfig[1]] = "My Wonderful CERT"
181
-
182
- self.init_event()
183
- self.mispevent.load_file(self.test_folder + 'mainly_objects_2.json')
184
- reportlab_generator.register_value_to_file(
185
- reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config),
186
- self.storage_folder + "mainly_objects_2.pdf")
187
-
188
- def test_sightings_1_json(self):
189
- if self.check_python_2():
190
- self.assertTrue(True)
191
- else:
192
-
193
- config = {}
194
- config[self.moduleconfig[0]] = "http://localhost:8080"
195
- config[self.moduleconfig[1]] = "My Wonderful CERT"
196
-
197
- self.init_event()
198
- self.mispevent.load_file(self.test_folder + 'sighting_1.json')
199
- reportlab_generator.register_value_to_file(
200
- reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config),
201
- self.storage_folder + "sighting_1.pdf")
202
-
203
- def test_sightings_2_json(self):
204
- if self.check_python_2():
205
- self.assertTrue(True)
206
- else:
207
-
208
- config = {}
209
- config[self.moduleconfig[0]] = "http://localhost:8080"
210
- config[self.moduleconfig[1]] = "My Wonderful CERT"
211
-
212
- self.init_event()
213
- self.mispevent.load_file(self.test_folder + 'sighting_2.json')
214
- reportlab_generator.register_value_to_file(
215
- reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config),
216
- self.storage_folder + "sighting_2.pdf")
217
-
218
- def test_textual_json(self):
219
- if self.check_python_2():
220
- self.assertTrue(True)
221
- else:
222
-
223
- config = {}
224
- config[self.moduleconfig[0]] = "http://localhost:8080"
225
- config[self.moduleconfig[1]] = "My Wonderful CERT"
226
- config[self.moduleconfig[2]] = True
227
-
228
- self.init_event()
229
- self.mispevent.load_file(self.test_folder + 'very_long_event.json')
230
- reportlab_generator.register_value_to_file(
231
- reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config),
232
- self.storage_folder + "textual.pdf")
233
-
234
- def test_galaxy_1(self):
235
- if self.check_python_2():
236
- self.assertTrue(True)
237
- else:
238
- config = {}
239
- config[self.moduleconfig[0]] = "http://localhost:8080"
240
- config[self.moduleconfig[1]] = "My Wonderful CERT"
241
- config[self.moduleconfig[2]] = True
242
- config[self.moduleconfig[3]] = True
243
-
244
- self.init_event()
245
- self.mispevent.load_file(self.test_folder + 'galaxy_1.json')
246
- reportlab_generator.register_value_to_file(
247
- reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config),
248
- self.storage_folder + "galaxy_1.pdf")
249
-
250
- def test_related_events(self):
251
- if self.check_python_2():
252
- self.assertTrue(True)
253
- else:
254
- config = {}
255
- config[self.moduleconfig[0]] = "http://localhost:8080"
256
- config[self.moduleconfig[1]] = "My Wonderful CERT"
257
- config[self.moduleconfig[2]] = True
258
- config[self.moduleconfig[3]] = True
259
- config[self.moduleconfig[4]] = True
260
-
261
- self.init_event()
262
- self.mispevent.load_file(self.test_folder + 'galaxy_1.json')
263
- reportlab_generator.register_value_to_file(
264
- reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config),
265
- self.storage_folder + "related_events.pdf")
266
-
267
- def test_related_events_too_simple(self):
268
- if self.check_python_2():
269
- self.assertTrue(True)
270
- else:
271
- config = {}
272
- config[self.moduleconfig[0]] = "http://localhost:8080"
273
- config[self.moduleconfig[1]] = "My Wonderful CERT"
274
- config[self.moduleconfig[2]] = True
275
- config[self.moduleconfig[3]] = True
276
- config[self.moduleconfig[4]] = True
277
-
278
- self.init_event()
279
- self.mispevent.load_file(self.test_folder + 'to_delete1.json')
280
- reportlab_generator.register_value_to_file(
281
- reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config),
282
- self.storage_folder + "related_events_no_related.pdf")
283
-
284
- def test_utf(self):
285
- if self.check_python_2():
286
- self.assertTrue(True)
287
- else:
288
- config = {}
289
- config[self.moduleconfig[0]] = "http://localhost:8080"
290
- config[self.moduleconfig[1]] = "My Wonderful CERT"
291
- config[self.moduleconfig[2]] = True
292
- config[self.moduleconfig[3]] = True
293
- config[self.moduleconfig[4]] = True
294
- config[self.moduleconfig[5]] = True
295
-
296
- self.init_event()
297
- self.mispevent.load_file(self.test_folder + 'japanese_test.json')
298
- reportlab_generator.register_value_to_file(
299
- reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config),
300
- self.storage_folder + "japanese_test.pdf")
301
-
302
- def test_utf_heavy(self):
303
- if self.check_python_2():
304
- self.assertTrue(True)
305
- else:
306
- config = {}
307
- config[self.moduleconfig[0]] = "http://localhost:8080"
308
- config[self.moduleconfig[1]] = "My Wonderful CERT"
309
- config[self.moduleconfig[2]] = True
310
- config[self.moduleconfig[3]] = True
311
- config[self.moduleconfig[4]] = True
312
- config[self.moduleconfig[5]] = True
313
-
314
- self.init_event()
315
- self.mispevent.load_file(self.test_folder + 'japanese_test_heavy.json')
316
- reportlab_generator.register_value_to_file(
317
- reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config),
318
- self.storage_folder + "japanese_test_heavy.pdf")
319
-
320
- def test_utf_ArialUNI_custompath(self):
321
- if self.check_python_2():
322
- self.assertTrue(True)
323
- elif not manual_testing:
324
- self.assertTrue(True)
325
- else:
326
- config = {}
327
- config[self.moduleconfig[0]] = "http://localhost:8080"
328
- config[self.moduleconfig[1]] = "My Wonderful CERT"
329
- config[self.moduleconfig[2]] = True
330
- config[self.moduleconfig[3]] = True
331
- config[self.moduleconfig[4]] = True
332
- config[self.moduleconfig[5]] = True
333
- config[self.moduleconfig[6]] = "/home/user/Desktop/PyMISP/pymisp/tools/pdf_fonts/arial-unicode-ms/ARIALUNI.TTF"
334
-
335
- self.init_event()
336
- self.mispevent.load_file(self.test_folder + 'japanese_test_heavy.json')
337
- reportlab_generator.register_value_to_file(
338
- reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config),
339
- self.storage_folder + "custom_path.pdf")
340
-
341
- def test_batch_image_events(self):
342
- # Test case ONLY for manual testing. Needs to download a full list of image events !
343
-
344
- if self.check_python_2():
345
- self.assertTrue(True)
346
- elif not manual_testing:
347
- self.assertTrue(True)
348
- else:
349
- self.init_event()
350
-
351
- file_nb = str(len(os.listdir(self.test_image_folder)))
352
- i = 0
353
- t = time.time()
354
- for curr_file in os.listdir(self.test_image_folder):
355
- self.mispevent = MISPEvent()
356
- file_path = self.test_image_folder + curr_file
357
-
358
- print("Current file : " + file_path + " " + str(i) + " over " + file_nb)
359
- i += 1
360
-
361
- self.mispevent.load_file(file_path)
362
-
363
- reportlab_generator.register_value_to_file(
364
- reportlab_generator.convert_event_in_pdf_buffer(self.mispevent),
365
- self.storage_image_folder + curr_file + ".pdf")
366
- print("Elapsed time : " + str(time.time() - t))
367
- # Local run : 73.061s for 102 files
368
-
369
- def test_batch_OSINT_events(self):
370
- # Test case ONLY for manual testing. Needs to download a full list of OSINT events !
371
-
372
- if self.check_python_2():
373
- self.assertTrue(True)
374
- elif not manual_testing:
375
- self.assertTrue(True)
376
- else:
377
- self.init_event()
378
-
379
- file_nb = str(len(os.listdir(self.test_batch_folder)))
380
- i = 0
381
- t = time.time()
382
- for curr_file in os.listdir(self.test_batch_folder):
383
- self.mispevent = MISPEvent()
384
- file_path = self.test_batch_folder + curr_file
385
-
386
- print("Current file : " + file_path + " " + str(i) + " over " + file_nb)
387
- i += 1
388
-
389
- self.mispevent.load_file(file_path)
390
-
391
- reportlab_generator.register_value_to_file(
392
- reportlab_generator.convert_event_in_pdf_buffer(self.mispevent),
393
- self.storage_folder_OSINT + curr_file + ".pdf")
394
- print("Elapsed time : " + str(time.time() - t))
395
- # Local run : 1958.930s for 1064 files
396
-
397
- def test_batch_OSINT_with_config_events(self):
398
- # Test case ONLY for manual testing. Needs to download a full list of OSINT events !
399
-
400
- if self.check_python_2():
401
- self.assertTrue(True)
402
- elif not manual_testing:
403
- self.assertTrue(True)
404
- else:
405
- self.init_event()
406
-
407
- config = {}
408
- config[self.moduleconfig[0]] = "http://localhost:8080"
409
- config[self.moduleconfig[1]] = "My Wonderful CERT"
410
- config[self.moduleconfig[2]] = True
411
- config[self.moduleconfig[3]] = True
412
- config[self.moduleconfig[4]] = True
413
- config[self.moduleconfig[5]] = True
414
-
415
- file_nb = str(len(os.listdir(self.test_batch_folder)))
416
- i = 0
417
- t = time.time()
418
- for curr_file in os.listdir(self.test_batch_folder):
419
- self.mispevent = MISPEvent()
420
- file_path = self.test_batch_folder + curr_file
421
-
422
- print("Current file : " + file_path + " " + str(i) + " over " + file_nb)
423
- i += 1
424
-
425
- self.mispevent.load_file(file_path)
426
-
427
- reportlab_generator.register_value_to_file(
428
- reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config),
429
- self.storage_folder_OSINT + curr_file + ".pdf")
430
- print("Elapsed time : " + str(time.time() - t))
431
- # Local run : 1513.283s for 1064 files