Skip to content

Commit f3dd4d9

Browse files
committed
sentry: fix test after backporting
test ensure info log is sent to sentry but this is not the case as long backport set level to be sent from error Also split revert some change regarding class setup to make startup test working
1 parent e2351c6 commit f3dd4d9

File tree

1 file changed

+68
-27
lines changed

1 file changed

+68
-27
lines changed

sentry/tests/test_client.py

+68-27
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,76 @@ def emit(self, record):
7070
pass
7171

7272

73-
class TestClientSetup(TransactionCase):
73+
class TestSentryCommon(TransactionCase):
7474
def setUp(self):
75-
super(TestClientSetup, self).setUp()
75+
super().setUp()
7676
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()
77143
self.patch_config(
78144
{
79145
"sentry_enabled": True,
@@ -108,31 +174,6 @@ def patch_config(self, options: dict):
108174
def log(self, level, msg, exc_info=None):
109175
self.logger.log(level, msg, exc_info=exc_info)
110176

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-
136177
def test_initialize_raven_sets_dsn(self):
137178
self.assertEqual(self.client.dsn, self.dsn)
138179

0 commit comments

Comments
 (0)