1
1
from __future__ import absolute_import
2
2
3
- import six
4
-
5
- from datetime import datetime , timedelta
3
+ from datetime import timedelta
6
4
7
5
import pytest
8
6
from django .db .models import ProtectedError
16
14
17
15
18
16
class GroupTest (TestCase ):
17
+ def setUp (self ):
18
+ super (GroupTest , self ).setUp ()
19
+ self .min_ago = (timezone .now () - timedelta (minutes = 1 )).isoformat ()[:19 ]
20
+ self .two_min_ago = (timezone .now () - timedelta (minutes = 2 )).isoformat ()[:19 ]
21
+ self .just_over_one_min_ago = (timezone .now () - timedelta (seconds = 61 )).isoformat ()[:19 ]
22
+
19
23
def test_is_resolved (self ):
20
24
group = self .create_group (status = GroupStatus .RESOLVED )
21
25
assert group .is_resolved ()
@@ -36,56 +40,53 @@ def test_is_resolved(self):
36
40
37
41
assert group .is_resolved ()
38
42
39
- def test_get_oldest_latest_event_no_events (self ):
40
- group = self .create_group ()
43
+ def test_get_latest_event_no_events (self ):
44
+ project = self .create_project ()
45
+ group = self .create_group (project = project )
41
46
assert group .get_latest_event () is None
42
- assert group .get_oldest_event () is None
43
-
44
- def test_get_oldest_latest_events (self ):
45
- group = self .create_group ()
46
- for i in range (0 , 3 ):
47
- self .create_event (
48
- event_id = six .text_type (i ),
49
- group = group ,
50
- datetime = datetime (2013 , 8 , 13 , 3 , 8 , i ),
51
- )
52
47
53
- assert group .get_latest_event ().event_id == '2'
54
- assert group .get_oldest_event ().event_id == '0'
48
+ def test_get_latest_event (self ):
49
+ self .store_event (
50
+ data = {
51
+ 'event_id' : 'a' * 32 ,
52
+ 'fingerprint' : ['group-1' ],
53
+ 'timestamp' : self .two_min_ago ,
54
+ },
55
+ project_id = self .project .id ,
56
+ )
57
+ self .store_event (
58
+ data = {
59
+ 'event_id' : 'b' * 32 ,
60
+ 'fingerprint' : ['group-1' ],
61
+ 'timestamp' : self .min_ago ,
62
+ },
63
+ project_id = self .project .id ,
64
+ )
55
65
56
- def test_get_oldest_latest_identical_timestamps (self ):
57
- group = self .create_group ()
58
- for i in range (0 , 3 ):
59
- self .create_event (
60
- event_id = six .text_type (i ),
61
- group = group ,
62
- datetime = datetime (2013 , 8 , 13 , 3 , 8 , 50 ),
63
- )
66
+ group = Group .objects .first ()
64
67
65
- assert group .get_latest_event ().event_id == '2'
66
- assert group .get_oldest_event ().event_id == '0'
68
+ assert group .get_latest_event ().event_id == 'b' * 32
67
69
68
- def test_get_oldest_latest_almost_identical_timestamps (self ):
69
- group = self .create_group ()
70
- self .create_event (
71
- event_id = '0' ,
72
- group = group ,
73
- datetime = datetime (2013 , 8 , 13 , 3 , 8 , 0 ), # earliest
70
+ def test_get_latest_almost_identical_timestamps (self ):
71
+ self .store_event (
72
+ data = {
73
+ 'event_id' : 'a' * 32 ,
74
+ 'fingerprint' : ['group-1' ],
75
+ 'timestamp' : self .just_over_one_min_ago ,
76
+ },
77
+ project_id = self .project .id ,
74
78
)
75
- for i in range (1 , 3 ):
76
- self .create_event (
77
- event_id = six .text_type (i ),
78
- group = group ,
79
- datetime = datetime (2013 , 8 , 13 , 3 , 8 , 30 ), # all in the middle
80
- )
81
- self .create_event (
82
- event_id = '3' ,
83
- group = group ,
84
- datetime = datetime (2013 , 8 , 13 , 3 , 8 , 59 ), # latest
79
+ self .store_event (
80
+ data = {
81
+ 'event_id' : 'b' * 32 ,
82
+ 'fingerprint' : ['group-1' ],
83
+ 'timestamp' : self .min_ago ,
84
+ },
85
+ project_id = self .project .id ,
85
86
)
87
+ group = Group .objects .first ()
86
88
87
- assert group .get_latest_event ().event_id == '3'
88
- assert group .get_oldest_event ().event_id == '0'
89
+ assert group .get_latest_event ().event_id == 'b' * 32
89
90
90
91
def test_is_ignored_with_expired_snooze (self ):
91
92
group = self .create_group (
0 commit comments