acquire 3.15.dev4__tar.gz → 3.15.dev5__tar.gz

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.
Files changed (64) hide show
  1. {acquire-3.15.dev4/acquire.egg-info → acquire-3.15.dev5}/PKG-INFO +1 -1
  2. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire/acquire.py +2 -2
  3. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire/version.py +2 -2
  4. {acquire-3.15.dev4 → acquire-3.15.dev5/acquire.egg-info}/PKG-INFO +1 -1
  5. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire.egg-info/SOURCES.txt +1 -0
  6. acquire-3.15.dev5/tests/test_gui.py +48 -0
  7. {acquire-3.15.dev4 → acquire-3.15.dev5}/COPYRIGHT +0 -0
  8. {acquire-3.15.dev4 → acquire-3.15.dev5}/LICENSE +0 -0
  9. {acquire-3.15.dev4 → acquire-3.15.dev5}/MANIFEST.in +0 -0
  10. {acquire-3.15.dev4 → acquire-3.15.dev5}/README.md +0 -0
  11. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire/__init__.py +0 -0
  12. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire/collector.py +0 -0
  13. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire/crypt.py +0 -0
  14. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire/dynamic/__init__.py +0 -0
  15. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire/dynamic/windows/__init__.py +0 -0
  16. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire/dynamic/windows/collect.py +0 -0
  17. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire/dynamic/windows/exceptions.py +0 -0
  18. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire/dynamic/windows/handles.py +0 -0
  19. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire/dynamic/windows/named_objects.py +0 -0
  20. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire/dynamic/windows/ntdll.py +0 -0
  21. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire/dynamic/windows/types.py +0 -0
  22. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire/esxi.py +0 -0
  23. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire/gui/__init__.py +0 -0
  24. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire/gui/base.py +0 -0
  25. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire/gui/win32.py +0 -0
  26. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire/hashes.py +0 -0
  27. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire/log.py +0 -0
  28. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire/outputs/__init__.py +0 -0
  29. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire/outputs/base.py +0 -0
  30. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire/outputs/dir.py +0 -0
  31. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire/outputs/tar.py +0 -0
  32. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire/outputs/zip.py +0 -0
  33. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire/tools/__init__.py +0 -0
  34. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire/tools/decrypter.py +0 -0
  35. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire/uploaders/__init__.py +0 -0
  36. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire/uploaders/minio.py +0 -0
  37. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire/uploaders/plugin.py +0 -0
  38. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire/uploaders/plugin_registry.py +0 -0
  39. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire/utils.py +0 -0
  40. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire/volatilestream.py +0 -0
  41. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire.egg-info/dependency_links.txt +0 -0
  42. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire.egg-info/entry_points.txt +0 -0
  43. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire.egg-info/requires.txt +0 -0
  44. {acquire-3.15.dev4 → acquire-3.15.dev5}/acquire.egg-info/top_level.txt +0 -0
  45. {acquire-3.15.dev4 → acquire-3.15.dev5}/pyproject.toml +0 -0
  46. {acquire-3.15.dev4 → acquire-3.15.dev5}/setup.cfg +0 -0
  47. {acquire-3.15.dev4 → acquire-3.15.dev5}/tests/__init__.py +0 -0
  48. {acquire-3.15.dev4 → acquire-3.15.dev5}/tests/conftest.py +0 -0
  49. {acquire-3.15.dev4 → acquire-3.15.dev5}/tests/docs/Makefile +0 -0
  50. {acquire-3.15.dev4 → acquire-3.15.dev5}/tests/docs/conf.py +0 -0
  51. {acquire-3.15.dev4 → acquire-3.15.dev5}/tests/docs/index.rst +0 -0
  52. {acquire-3.15.dev4 → acquire-3.15.dev5}/tests/test_acquire_command.py +0 -0
  53. {acquire-3.15.dev4 → acquire-3.15.dev5}/tests/test_acquire_modules.py +0 -0
  54. {acquire-3.15.dev4 → acquire-3.15.dev5}/tests/test_collector.py +0 -0
  55. {acquire-3.15.dev4 → acquire-3.15.dev5}/tests/test_decryptor_funcs.py +0 -0
  56. {acquire-3.15.dev4 → acquire-3.15.dev5}/tests/test_esxi_memory.py +0 -0
  57. {acquire-3.15.dev4 → acquire-3.15.dev5}/tests/test_file_sorting.py +0 -0
  58. {acquire-3.15.dev4 → acquire-3.15.dev5}/tests/test_minio_uploader.py +0 -0
  59. {acquire-3.15.dev4 → acquire-3.15.dev5}/tests/test_misc_users.py +0 -0
  60. {acquire-3.15.dev4 → acquire-3.15.dev5}/tests/test_outputs_dir.py +0 -0
  61. {acquire-3.15.dev4 → acquire-3.15.dev5}/tests/test_outputs_tar.py +0 -0
  62. {acquire-3.15.dev4 → acquire-3.15.dev5}/tests/test_plugin.py +0 -0
  63. {acquire-3.15.dev4 → acquire-3.15.dev5}/tests/test_utils.py +0 -0
  64. {acquire-3.15.dev4 → acquire-3.15.dev5}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: acquire
3
- Version: 3.15.dev4
3
+ Version: 3.15.dev5
4
4
  Summary: A tool to quickly gather forensic artifacts from disk images or a live system into a lightweight container
5
5
  Author-email: Dissect Team <dissect@fox-it.com>
6
6
  License: Affero General Public License v3
@@ -2167,7 +2167,7 @@ def acquire_children_and_targets(target: Target, args: argparse.Namespace) -> No
2167
2167
  if (args.children and not args.skip_parent) or not args.children:
2168
2168
  total_targets += 1
2169
2169
  counter += 1
2170
- acquire_gui.shard = (progress_limit // total_targets) * counter
2170
+ acquire_gui.shard = int((progress_limit / total_targets) * counter)
2171
2171
  try:
2172
2172
  files.extend(acquire_target(target, args, args.start_time))
2173
2173
 
@@ -2180,7 +2180,7 @@ def acquire_children_and_targets(target: Target, args: argparse.Namespace) -> No
2180
2180
  if args.children:
2181
2181
  for child in target.list_children():
2182
2182
  counter += 1
2183
- acquire_gui.shard = (100 // total_targets) * counter
2183
+ acquire_gui.shard = int((progress_limit / total_targets) * counter)
2184
2184
  try:
2185
2185
  child_target = load_child(target, child.path)
2186
2186
  except Exception:
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '3.15.dev4'
16
- __version_tuple__ = version_tuple = (3, 15, 'dev4')
15
+ __version__ = version = '3.15.dev5'
16
+ __version_tuple__ = version_tuple = (3, 15, 'dev5')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: acquire
3
- Version: 3.15.dev4
3
+ Version: 3.15.dev5
4
4
  Summary: A tool to quickly gather forensic artifacts from disk images or a live system into a lightweight container
5
5
  Author-email: Dissect Team <dissect@fox-it.com>
6
6
  License: Affero General Public License v3
@@ -50,6 +50,7 @@ tests/test_collector.py
50
50
  tests/test_decryptor_funcs.py
51
51
  tests/test_esxi_memory.py
52
52
  tests/test_file_sorting.py
53
+ tests/test_gui.py
53
54
  tests/test_minio_uploader.py
54
55
  tests/test_misc_users.py
55
56
  tests/test_outputs_dir.py
@@ -0,0 +1,48 @@
1
+ from argparse import Namespace
2
+ from unittest.mock import MagicMock, patch
3
+
4
+ import pytest
5
+ from dissect.target import Target
6
+
7
+ from acquire.acquire import acquire_children_and_targets
8
+ from acquire.gui import GUI
9
+
10
+
11
+ @pytest.mark.parametrize(
12
+ "num_children, skip_parent, auto_upload, expected_shards",
13
+ [
14
+ (0, False, False, [90]), # 90 (default, leaves 10% for final 'step')
15
+ (0, False, True, [50]), # 50% till upload (upload progresses in plugin)
16
+ (1, False, False, [45, 90]), # two children to 90%
17
+ (1, True, False, [90]), # without parent, it's just one target - so 90%
18
+ (1, False, True, [25, 50]), # two children to 50%
19
+ (1, True, True, [50]), # one till upload (50%)
20
+ (2, False, False, [30, 60, 90]), # two children + parent till 90%
21
+ (2, False, True, [16, 33, 50]), # two children + parent till 50%
22
+ (50, False, True, list(range(0, 51))), # Should not be zero filled...
23
+ ],
24
+ )
25
+ @patch("acquire.gui.base.Stub", spec=True)
26
+ @patch("acquire.acquire.acquire_target", create=True)
27
+ def test_gui(
28
+ mock_target: Target, gui: GUI, num_children: int, skip_parent: bool, auto_upload: bool, expected_shards: list[int]
29
+ ):
30
+ def list_children() -> list[Target]:
31
+ yield from [mock_target] * num_children
32
+
33
+ mock_target.list_children = list_children
34
+
35
+ class Diagnostic_GUI(MagicMock):
36
+ @property
37
+ def shard(self) -> int:
38
+ return 0
39
+
40
+ @shard.setter
41
+ def shard(self, shard: int) -> None:
42
+ shards.append(shard)
43
+
44
+ GUI.__new__ = lambda x: Diagnostic_GUI()
45
+ shards = []
46
+ args = Namespace(child=False, auto_upload=auto_upload, children=True, skip_parent=skip_parent, start_time=0)
47
+ acquire_children_and_targets(mock_target, args)
48
+ assert shards == expected_shards
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes