@@ -131,6 +131,38 @@ class BreadcrumbTest {
131131 assertFalse(breadcrumb.data.containsKey(" status_code" ))
132132 }
133133
134+ @Test
135+ fun `creates HTTP breadcrumb with WARNING level if status code is 4xx` () {
136+ val breadcrumb = Breadcrumb .http(" http://example.com" , " POST" , 417 )
137+ assertEquals(" http://example.com" , breadcrumb.data[" url" ])
138+ assertEquals(" POST" , breadcrumb.data[" method" ])
139+ assertEquals(" http" , breadcrumb.type)
140+ assertEquals(" http" , breadcrumb.category)
141+ assertEquals(SentryLevel .WARNING , breadcrumb.level)
142+ }
143+
144+ @Test
145+ fun `creates HTTP breadcrumb with error level if status code is 5xx` () {
146+ val breadcrumb = Breadcrumb .http(" http://example.com" , " POST" , 502 )
147+ assertEquals(" http://example.com" , breadcrumb.data[" url" ])
148+ assertEquals(" POST" , breadcrumb.data[" method" ])
149+ assertEquals(" http" , breadcrumb.type)
150+ assertEquals(" http" , breadcrumb.category)
151+ assertEquals(502 , breadcrumb.data[" status_code" ])
152+ assertEquals(SentryLevel .ERROR , breadcrumb.level)
153+ }
154+
155+ @Test
156+ fun `creates HTTP breadcrumb with null level if status code is not 5xx or 4xx` () {
157+ val breadcrumb = Breadcrumb .http(" http://example.com" , " POST" , 200 )
158+ assertEquals(" http://example.com" , breadcrumb.data[" url" ])
159+ assertEquals(" POST" , breadcrumb.data[" method" ])
160+ assertEquals(" http" , breadcrumb.type)
161+ assertEquals(" http" , breadcrumb.category)
162+ assertEquals(200 , breadcrumb.data[" status_code" ])
163+ assertEquals(null , breadcrumb.level)
164+ }
165+
134166 @Test
135167 fun `creates navigation breadcrumb` () {
136168 val breadcrumb = Breadcrumb .navigation(" from" , " to" )
0 commit comments