22
33from sentry .grouping .ingest .seer import maybe_send_seer_for_new_model_training
44from sentry .models .grouphash import GroupHash
5+ from sentry .models .grouphashmetadata import GroupHashMetadata
56from sentry .seer .similarity .config import SEER_GROUPING_NEW_MODEL_ROLLOUT_FEATURE
67from sentry .testutils .cases import TestCase
78from sentry .testutils .helpers .eventprocessing import save_new_event
@@ -46,9 +47,9 @@ def test_does_nothing_when_already_sent_to_new_version(self) -> None:
4647 self .feature (SEER_GROUPING_NEW_MODEL_ROLLOUT_FEATURE ),
4748 ):
4849 # Set the metadata to indicate already sent to v2
49- metadata = self . grouphash . metadata or {}
50- metadata .update ( seer_model = "v2" )
51- self . grouphash . metadata = metadata
50+ metadata , _ = GroupHashMetadata . objects . get_or_create ( grouphash = self . grouphash )
51+ metadata .seer_model = "v2"
52+ metadata . save ()
5253
5354 maybe_send_seer_for_new_model_training (self .event , self .grouphash , self .variants )
5455 mock_get_seer_similar_issues .assert_not_called ()
@@ -64,9 +65,9 @@ def test_sends_request_when_never_sent_to_seer(self) -> None:
6465 self .feature (SEER_GROUPING_NEW_MODEL_ROLLOUT_FEATURE ),
6566 ):
6667 # Clear the seer_model to simulate never sent to Seer
67- metadata = self . grouphash . metadata or {}
68- metadata .update ( seer_model = None )
69- self . grouphash . metadata = metadata
68+ metadata , _ = GroupHashMetadata . objects . get_or_create ( grouphash = self . grouphash )
69+ metadata .seer_model = None
70+ metadata . save ()
7071
7172 maybe_send_seer_for_new_model_training (self .event , self .grouphash , self .variants )
7273
@@ -90,9 +91,9 @@ def test_sends_request_when_sent_to_old_version(self) -> None:
9091 mock_get_seer_similar_issues .reset_mock ()
9192
9293 # Set metadata to old version
93- metadata = self . grouphash . metadata or {}
94- metadata .update ( seer_model = old_version )
95- self . grouphash . metadata = metadata
94+ metadata , _ = GroupHashMetadata . objects . get_or_create ( grouphash = self . grouphash )
95+ metadata .seer_model = old_version
96+ metadata . save ()
9697
9798 maybe_send_seer_for_new_model_training (self .event , self .grouphash , self .variants )
9899
@@ -111,9 +112,9 @@ def test_does_not_send_when_should_call_seer_returns_false(self) -> None:
111112 self .feature (SEER_GROUPING_NEW_MODEL_ROLLOUT_FEATURE ),
112113 ):
113114 # Clear seer_model to make should_send_new_model_embeddings return True
114- metadata = self . grouphash . metadata or {}
115- metadata .update ( seer_model = None )
116- self . grouphash . metadata = metadata
115+ metadata , _ = GroupHashMetadata . objects . get_or_create ( grouphash = self . grouphash )
116+ metadata .seer_model = None
117+ metadata . save ()
117118
118119 maybe_send_seer_for_new_model_training (self .event , self .grouphash , self .variants )
119120
0 commit comments