Skip to content

Commit 6338dd6

Browse files
authored
Merge pull request #1459 from nightcityblade/fix/issue-1458
fix: block distribution fields on default galaxy clusters
2 parents 70729f7 + 0bb7672 commit 6338dd6

3 files changed

Lines changed: 20 additions & 2 deletions

File tree

pymisp/mispevent.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1442,7 +1442,7 @@ def from_dict(self, **kwargs: Any) -> None:
14421442
self.default = kwargs.pop('default', False)
14431443
# If the default field is set, we shouldn't have distribution or sharing group ID set
14441444
if self.default:
1445-
blocked_fields = ["distribution" "sharing_group_id"]
1445+
blocked_fields = ["distribution", "sharing_group_id"]
14461446
for field in blocked_fields:
14471447
if kwargs.get(field, None):
14481448
raise NewGalaxyClusterError(

tests/mispevent_testfiles/galaxy.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"description": "Milk in tea",
1414
"uuid": "24430dc6-9c27-4b3c-a5e7-6dda478fffa0",
1515
"distribution": "3",
16-
"default": true,
16+
"default": false,
1717
"meta": {
1818
"kill_chain": [
1919
"tea:black"

tests/test_galaxy_cluster.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#!/usr/bin/env python
2+
3+
from __future__ import annotations
4+
5+
import unittest
6+
7+
from pymisp import MISPGalaxyCluster
8+
from pymisp.exceptions import NewGalaxyClusterError
9+
10+
11+
class TestMISPGalaxyCluster(unittest.TestCase):
12+
13+
def test_default_cluster_rejects_distribution_fields(self) -> None:
14+
for field in ("distribution", "sharing_group_id"):
15+
with self.subTest(field=field):
16+
cluster = MISPGalaxyCluster()
17+
with self.assertRaisesRegex(NewGalaxyClusterError, field):
18+
cluster.from_dict(default=True, **{field: 1})

0 commit comments

Comments
 (0)