@@ -70,10 +70,76 @@ def emit(self, record):
70
70
pass
71
71
72
72
73
- class TestClientSetup (TransactionCase ):
73
+ class TestSentryCommon (TransactionCase ):
74
74
def setUp (self ):
75
- super (TestClientSetup , self ).setUp ()
75
+ super ().setUp ()
76
76
self .dsn = "http://public:secret@example.com/1"
77
+
78
+ def assertEventCaptured (self , client , event_level , event_msg ):
79
+ self .assertTrue (
80
+ client .transport .has_event (event_level , event_msg ),
81
+ msg = 'Event: "%s" was not captured' % event_msg ,
82
+ )
83
+
84
+ def assertEventNotCaptured (self , client , event_level , event_msg ):
85
+ self .assertFalse (
86
+ client .transport .has_event (event_level , event_msg ),
87
+ msg = 'Event: "%s" was captured' % event_msg ,
88
+ )
89
+
90
+
91
+ class TestClientSetupStartup (TestSentryCommon ):
92
+ def setUp (self ):
93
+ super ().setUp ()
94
+ config .options ["sentry_enabled" ] = True
95
+ config .options ["sentry_dsn" ] = self .dsn
96
+ config .options ["sentry_logging_level" ] = "info"
97
+ with patch (
98
+ "odoo.addons.sentry.const.select_transport" , return_value = InMemoryTransport
99
+ ):
100
+ self .client = initialize_sentry (config )._client
101
+ self .handler = self .client .integrations ["logging" ]._handler
102
+
103
+ def assertEventCaptured (self , client , event_level , event_msg ):
104
+ self .assertTrue (
105
+ client .transport .has_event (event_level , event_msg ),
106
+ msg = 'Event: "%s" was not captured' % event_msg ,
107
+ )
108
+
109
+ def assertEventNotCaptured (self , client , event_level , event_msg ):
110
+ self .assertFalse (
111
+ client .transport .has_event (event_level , event_msg ),
112
+ msg = 'Event: "%s" was captured' % event_msg ,
113
+ )
114
+
115
+ def test_startup_event (self ):
116
+ self .assertEventCaptured (self .client , "info" , "Starting Odoo Server" )
117
+
118
+ def test_startup_event_disabled (self ):
119
+ config .options ["sentry_enabled" ] = True
120
+ config .options ["sentry_dsn" ] = self .dsn
121
+ config .options ["sentry_ignore_startup_event" ] = True
122
+ with patch (
123
+ "odoo.addons.sentry.const.select_transport" , return_value = InMemoryTransport
124
+ ):
125
+ self .client = initialize_sentry (config )._client
126
+ self .assertEventNotCaptured (self .client , "info" , "Starting Odoo Server" )
127
+
128
+ def test_startup_event_disabled_if_warning_level (self ):
129
+ config .options ["sentry_enabled" ] = True
130
+ config .options ["sentry_dsn" ] = self .dsn
131
+ config .options ["sentry_ignore_startup_event" ] = True
132
+ config .options ["sentry_logging_level" ] = "warning"
133
+ with patch (
134
+ "odoo.addons.sentry.const.select_transport" , return_value = InMemoryTransport
135
+ ):
136
+ self .client = initialize_sentry (config )._client
137
+ self .assertEventNotCaptured (self .client , "info" , "Starting Odoo Server" )
138
+
139
+
140
+ class TestClientSetup (TestSentryCommon ):
141
+ def setUp (self ):
142
+ super ().setUp ()
77
143
self .patch_config (
78
144
{
79
145
"sentry_enabled" : True ,
@@ -108,31 +174,6 @@ def patch_config(self, options: dict):
108
174
def log (self , level , msg , exc_info = None ):
109
175
self .logger .log (level , msg , exc_info = exc_info )
110
176
111
- def assertEventCaptured (self , client , event_level , event_msg ):
112
- self .assertTrue (
113
- client .transport .has_event (event_level , event_msg ),
114
- msg = 'Event: "%s" was not captured' % event_msg ,
115
- )
116
-
117
- def assertEventNotCaptured (self , client , event_level , event_msg ):
118
- self .assertFalse (
119
- client .transport .has_event (event_level , event_msg ),
120
- msg = 'Event: "%s" was captured' % event_msg ,
121
- )
122
-
123
- def test_startup_event (self ):
124
- self .assertEventCaptured (self .client , "info" , "Starting Odoo Server" )
125
-
126
- def test_startup_event_disabled (self ):
127
- config .options ["sentry_enabled" ] = True
128
- config .options ["sentry_dsn" ] = self .dsn
129
- config .options ["sentry_ignore_startup_event" ] = True
130
- with patch (
131
- "odoo.addons.sentry.const.select_transport" , return_value = InMemoryTransport
132
- ):
133
- self .client = initialize_sentry (config )._client
134
- self .assertEventNotCaptured (self .client , "info" , "Starting Odoo Server" )
135
-
136
177
def test_initialize_raven_sets_dsn (self ):
137
178
self .assertEqual (self .client .dsn , self .dsn )
138
179
0 commit comments