prelude-sdk 2.6.34__tar.gz → 2.6.36__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 (34) hide show
  1. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/PKG-INFO +1 -1
  2. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/prelude_sdk/controllers/detect_controller.py +1 -1
  3. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/prelude_sdk/controllers/scm_controller.py +12 -10
  4. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/prelude_sdk/models/codes.py +1 -0
  5. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/prelude_sdk.egg-info/PKG-INFO +1 -1
  6. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/setup.cfg +1 -1
  7. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/tests/test_iam.py +3 -3
  8. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/tests/test_scm.py +1 -1
  9. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/LICENSE +0 -0
  10. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/README.md +0 -0
  11. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/prelude_sdk/__init__.py +0 -0
  12. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/prelude_sdk/controllers/__init__.py +0 -0
  13. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/prelude_sdk/controllers/build_controller.py +0 -0
  14. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/prelude_sdk/controllers/export_controller.py +0 -0
  15. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/prelude_sdk/controllers/generate_controller.py +0 -0
  16. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/prelude_sdk/controllers/http_controller.py +0 -0
  17. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/prelude_sdk/controllers/iam_controller.py +0 -0
  18. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/prelude_sdk/controllers/jobs_controller.py +0 -0
  19. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/prelude_sdk/controllers/partner_controller.py +0 -0
  20. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/prelude_sdk/controllers/probe_controller.py +0 -0
  21. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/prelude_sdk/models/__init__.py +0 -0
  22. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/prelude_sdk/models/account.py +0 -0
  23. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/prelude_sdk.egg-info/SOURCES.txt +0 -0
  24. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/prelude_sdk.egg-info/dependency_links.txt +0 -0
  25. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/prelude_sdk.egg-info/requires.txt +0 -0
  26. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/prelude_sdk.egg-info/top_level.txt +0 -0
  27. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/pyproject.toml +0 -0
  28. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/tests/test_build.py +0 -0
  29. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/tests/test_detect.py +0 -0
  30. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/tests/test_generate.py +0 -0
  31. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/tests/test_partner.py +0 -0
  32. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/tests/test_probe.py +0 -0
  33. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/tests/test_scm_build.py +0 -0
  34. {prelude_sdk-2.6.34 → prelude_sdk-2.6.36}/tests/testutils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: prelude-sdk
3
- Version: 2.6.34
3
+ Version: 2.6.36
4
4
  Summary: For interacting with the Prelude API
5
5
  Home-page: https://github.com/preludeorg
6
6
  Author: Prelude Research
@@ -197,7 +197,7 @@ class DetectController(HttpController):
197
197
  res = self.post(
198
198
  f"{self.account.hq}/detect/threat_hunts/{threat_hunt_id}",
199
199
  headers=self.account.headers,
200
- timeout=10,
200
+ timeout=30,
201
201
  )
202
202
  return res.json()
203
203
 
@@ -642,23 +642,25 @@ class ScmController(HttpController):
642
642
  sort_by: str,
643
643
  group_by: str,
644
644
  group_limit: int,
645
- scopes: str = None,
646
- filter: str = None,
645
+ display_overrides: dict = None,
646
+ odata_filter: str = None,
647
+ scopes: dict = None,
647
648
  ):
648
649
  """Get SCM chart data"""
649
- params = {
650
- "scm_category": scm_category.name,
651
- "sort_by": sort_by,
650
+ body = {
651
+ "category": scm_category.name,
652
+ "display_overrides": display_overrides,
652
653
  "group_by": group_by,
653
654
  "group_limit": group_limit,
654
655
  "scopes": scopes,
656
+ "sort_by": sort_by,
655
657
  }
656
- if filter:
657
- params["$filter"] = filter
658
- res = self.get(
659
- f"{self.account.hq}/scm/chart_data",
658
+ if odata_filter:
659
+ body["$filter"] = odata_filter
660
+ res = self.post(
661
+ f"{self.account.hq}/scm/reports/data",
660
662
  headers=self.account.headers,
661
- params=params,
663
+ json=body,
662
664
  timeout=30,
663
665
  )
664
666
  return res.json()
@@ -648,6 +648,7 @@ class ChartType(Enum, metaclass=MissingItem):
648
648
  COLUMN = 2
649
649
  BAR = 3
650
650
  PIE = 4
651
+ PERCENT = 5
651
652
 
652
653
  @classmethod
653
654
  def _missing_(cls, value):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: prelude-sdk
3
- Version: 2.6.34
3
+ Version: 2.6.36
4
4
  Summary: For interacting with the Prelude API
5
5
  Home-page: https://github.com/preludeorg
6
6
  Author: Prelude Research
@@ -1,6 +1,6 @@
1
1
  [metadata]
2
2
  name = prelude-sdk
3
- version = 2.6.34
3
+ version = 2.6.36
4
4
  author = Prelude Research
5
5
  author_email = support@preludesecurity.com
6
6
  description = For interacting with the Prelude API
@@ -17,7 +17,7 @@ class TestIAM:
17
17
  def setup_class(self):
18
18
  self.iam_account = IAMAccountController(pytest.account)
19
19
  self.iam_user = IAMUserController(pytest.account)
20
- self.company = "prelude"
20
+ self.company = "prelude-sdk-qa"
21
21
  self.service_user = "registration"
22
22
 
23
23
  def test_get_account(self, unwrap):
@@ -29,7 +29,7 @@ class TestIAM:
29
29
  res = unwrap(self.iam_user.list_accounts)(self.iam_user)
30
30
  assert pytest.expected_account["account_id"] in [a["account_id"] for a in res]
31
31
 
32
- def test_create_service_user(self, unwrap):
32
+ def test_create_second_service_user(self, unwrap):
33
33
  service_user = unwrap(self.iam_account.create_service_user)(
34
34
  self.iam_account, name=self.service_user
35
35
  )
@@ -56,7 +56,7 @@ class TestIAM:
56
56
  diffs = check_dict_items(pytest.expected_account, res)
57
57
  assert not diffs, json.dumps(diffs, indent=2)
58
58
 
59
- def test_delete_service_user(self, unwrap):
59
+ def test_delete_second_service_user(self, unwrap):
60
60
  unwrap(self.iam_account.delete_service_user)(
61
61
  self.iam_account, handle=pytest.second_service_user_handle
62
62
  )
@@ -116,7 +116,7 @@ class TestScmAcrossControls:
116
116
  job_id = unwrap(self.export.export_scm)(
117
117
  self.export,
118
118
  SCMCategory.ENDPOINT,
119
- filter="contains(hostname, 'spencer')",
119
+ filter="contains(hostname, 'i')",
120
120
  top=1,
121
121
  )["job_id"]
122
122
  while (result := unwrap(self.jobs.job_status)(self.jobs, job_id))[
File without changes
File without changes