Skip to content

Commit 8e27f4c

Browse files
committed
reorganize tests
1 parent de1d908 commit 8e27f4c

File tree

1 file changed

+22
-50
lines changed

1 file changed

+22
-50
lines changed

sentry/src/test/java/io/sentry/util/UrlUtilsTest.kt

Lines changed: 22 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package io.sentry.util
22

3-
import java.net.URL
43
import kotlin.test.Test
54
import kotlin.test.assertEquals
65
import kotlin.test.assertNull
@@ -12,32 +11,6 @@ class UrlUtilsTest {
1211
assertNull(UrlUtils.parseNullable(null))
1312
}
1413

15-
@Test
16-
fun `i null for null`() {
17-
val url = URL("https://www.example.com/search?q=hello%20world%21")
18-
var uri = url.toURI()
19-
}
20-
21-
@Test
22-
fun `filters auth`() {
23-
val urlDetails = UrlUtils.parseNullable(
24-
"https://user:password@sentry.io?q=1&s=2&token=secret"
25-
)!!
26-
assertEquals("https://[Filtered]:[Filtered]@sentry.io", urlDetails.url)
27-
assertEquals("q=1&s=2&token=secret", urlDetails.query)
28-
assertNull(urlDetails.fragment)
29-
}
30-
31-
@Test
32-
fun `filters auth with fragment`() {
33-
val urlDetails = UrlUtils.parseNullable(
34-
"https://user:password@sentry.io?q=1&s=2&token=secret#top"
35-
)!!
36-
assertEquals("https://[Filtered]:[Filtered]@sentry.io", urlDetails.url)
37-
assertEquals("q=1&s=2&token=secret", urlDetails.query)
38-
assertEquals("top", urlDetails.fragment)
39-
}
40-
4114
@Test
4215
fun `strips user info with user and password from http nullable`() {
4316
val urlDetails = UrlUtils.parseNullable(
@@ -169,7 +142,7 @@ class UrlUtilsTest {
169142
}
170143

171144
@Test
172-
fun `splits url without query or fragment and no authority`() {
145+
fun `splits url without query or fragment and no user info`() {
173146
val urlDetails = UrlUtils.parse(
174147
"https://sentry.io"
175148
)
@@ -189,7 +162,6 @@ class UrlUtilsTest {
189162
}
190163

191164
// Fragment is allowed to contain '?' according to RFC 3986
192-
// See https://datatracker.ietf.org/doc/html/rfc3986#section-3.5
193165
@Test
194166
fun `extracts details with question mark after fragment`() {
195167
val urlDetails = UrlUtils.parse(
@@ -211,7 +183,27 @@ class UrlUtilsTest {
211183
}
212184

213185
@Test
214-
fun `filters empty user info`() {
186+
fun `no details extracted from malformed url due to invalid protocol`() {
187+
val urlDetails = UrlUtils.parse(
188+
"htps://user@sentry.io#fragment?q=1&s=2&token=secret"
189+
)
190+
assertNull(urlDetails.url)
191+
assertNull(urlDetails.query)
192+
assertNull(urlDetails.fragment)
193+
}
194+
195+
@Test
196+
fun `no details extracted from malformed url due to # symbol in fragment`() {
197+
val urlDetails = UrlUtils.parse(
198+
"https://example.com#hello#fragment"
199+
)
200+
assertNull(urlDetails.url)
201+
assertNull(urlDetails.query)
202+
assertNull(urlDetails.fragment)
203+
}
204+
205+
@Test
206+
fun `strips empty user info`() {
215207
val urlDetails = UrlUtils.parse(
216208
"https://@sentry.io?query=a#fragment?q=1&s=2&token=secret"
217209
)
@@ -240,26 +232,6 @@ class UrlUtilsTest {
240232
assertEquals("fragment?q=1&s=2&token=secret", urlDetails.fragment)
241233
}
242234

243-
@Test
244-
fun `no details extracted from malformed url due to # symbol in fragment`() {
245-
val urlDetails = UrlUtils.parse(
246-
"https://example.com#hello#fragment"
247-
)
248-
assertNull(urlDetails.url)
249-
assertNull(urlDetails.query)
250-
assertNull(urlDetails.fragment)
251-
}
252-
253-
@Test
254-
fun `no details extracted from malformed url due to invalid protocol`() {
255-
val urlDetails = UrlUtils.parse(
256-
"htps://user@sentry.io#fragment?q=1&s=2&token=secret"
257-
)
258-
assertNull(urlDetails.url)
259-
assertNull(urlDetails.query)
260-
assertNull(urlDetails.fragment)
261-
}
262-
263235
@Test
264236
fun `does not filter email address in path`() {
265237
val urlDetails = UrlUtils.parseNullable(

0 commit comments

Comments
 (0)