init gradle

This commit is contained in:
Hadrian Burkhardt
2026-02-09 02:19:10 +00:00
parent 84ebd57bb6
commit d9378fa78e
39 changed files with 1735 additions and 0 deletions
@@ -0,0 +1,76 @@
package com.clean.scanner.util
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Test
class UrlRiskScorerTest {
@Test
fun `https domain has low risk`() {
val result = UrlRiskScorer.score("https://example.com")
assertEquals(0, result.score)
}
@Test
fun `http adds two points`() {
val result = UrlRiskScorer.score("http://example.com")
assertEquals(2, result.score)
}
@Test
fun `ip host adds two points`() {
val result = UrlRiskScorer.score("https://192.168.1.1/path")
assertEquals(2, result.score)
}
@Test
fun `punycode host adds two points`() {
val result = UrlRiskScorer.score("https://xn--pple-43d.com")
assertEquals(2, result.score)
}
@Test
fun `long host adds one point`() {
val result = UrlRiskScorer.score("https://averyveryveryveryveryveryveryverylonghostname.com")
assertTrue(result.score >= 1)
}
@Test
fun `long query adds one point`() {
val query = "a".repeat(121)
val result = UrlRiskScorer.score("https://example.com/?q=$query")
assertEquals(1, result.score)
}
@Test
fun `many percent encodings adds one point`() {
val encoded = (1..11).joinToString("") { "%20" }
val result = UrlRiskScorer.score("https://example.com/$encoded")
assertEquals(1, result.score)
}
@Test
fun `userinfo adds two points`() {
val result = UrlRiskScorer.score("https://user:pass@example.com")
assertEquals(2, result.score)
}
@Test
fun `combined risk can exceed threshold`() {
val result = UrlRiskScorer.score("http://user:pass@192.168.0.1")
assertTrue(result.score >= 6)
}
@Test
fun `invalid url returns zero`() {
val result = UrlRiskScorer.score("not a url")
assertEquals(0, result.score)
}
@Test
fun `reasons list is populated for risky urls`() {
val result = UrlRiskScorer.score("http://xn--pple-43d.com")
assertTrue(result.reasons.isNotEmpty())
}
}