Added more tests.
This commit is contained in:
parent
d100fdf7ed
commit
1595c7c238
2 changed files with 28 additions and 9 deletions
|
@ -343,10 +343,10 @@ open class Akismet(apiKey: String) {
|
||||||
if (response == "valid" || response == "true" || response.startsWith("Thanks")) {
|
if (response == "valid" || response == "true" || response.startsWith("Thanks")) {
|
||||||
return true
|
return true
|
||||||
} else if (response != "false" && response != "invalid") {
|
} else if (response != "false" && response != "invalid") {
|
||||||
errorMessage = "Unexpected response: " + if (body.isBlank()) "(0-byte body)" else body
|
errorMessage = "Unexpected response: " + if (body.isBlank()) "<blank>" else body
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
val message = "An empty response was received from Akismet."
|
val message = "No response body was received from Akismet."
|
||||||
errorMessage = if (debugHelp.isNotBlank()) {
|
errorMessage = if (debugHelp.isNotBlank()) {
|
||||||
"$message: $debugHelp"
|
"$message: $debugHelp"
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -86,6 +86,7 @@ class AkismetTest {
|
||||||
)
|
)
|
||||||
private val akismet = Akismet(apiKey, blog)
|
private val akismet = Akismet(apiKey, blog)
|
||||||
private val mockComment: AkismetComment = AkismetComment(request = getMockRequest())
|
private val mockComment: AkismetComment = AkismetComment(request = getMockRequest())
|
||||||
|
private val emptyFormBody = FormBody.Builder().build()
|
||||||
|
|
||||||
@BeforeClass
|
@BeforeClass
|
||||||
fun beforeClass() {
|
fun beforeClass() {
|
||||||
|
@ -191,7 +192,7 @@ class AkismetTest {
|
||||||
fun testEmptyResponse() {
|
fun testEmptyResponse() {
|
||||||
assertTrue(
|
assertTrue(
|
||||||
akismet.executeMethod(
|
akismet.executeMethod(
|
||||||
"https://postman-echo.com/status/200".toHttpUrlOrNull(), FormBody.Builder().build(), true
|
"https://postman-echo.com/status/200".toHttpUrlOrNull(), emptyFormBody, true
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
val expected = "{\"status\":200}"
|
val expected = "{\"status\":200}"
|
||||||
|
@ -210,11 +211,15 @@ class AkismetTest {
|
||||||
fun testProTipResponse() {
|
fun testProTipResponse() {
|
||||||
assertFalse(
|
assertFalse(
|
||||||
akismet.executeMethod(
|
akismet.executeMethod(
|
||||||
"https://postman-echo.com/response-headers?x-akismet-pro-tip=test".toHttpUrlOrNull(),
|
"https://postman-echo.com/response-headers?x-akismet-pro-tip=discard".toHttpUrlOrNull(),
|
||||||
FormBody.Builder().build()
|
emptyFormBody
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
assertEquals(akismet.proTip, "test")
|
assertEquals(akismet.proTip, "discard")
|
||||||
|
assertTrue(akismet.isDiscard, "isDiscard")
|
||||||
|
|
||||||
|
akismet.reset()
|
||||||
|
assertTrue(!akismet.isDiscard && akismet.response.isEmpty() && akismet.httpStatusCode == 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -247,17 +252,29 @@ class AkismetTest {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun invalidApiTest() {
|
||||||
|
akismet.executeMethod("https://.com".toHttpUrlOrNull(), emptyFormBody)
|
||||||
|
assertTrue(akismet.errorMessage.startsWith("Invalid API"))
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun ioErrorTest() {
|
||||||
|
akismet.executeMethod("https://www.doesnotexists.com".toHttpUrlOrNull(), emptyFormBody)
|
||||||
|
assertTrue(akismet.errorMessage.contains("IO error"))
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun submitHamTest() {
|
fun submitHamTest() {
|
||||||
assertTrue(akismet.submitHam(comment), "submitHam")
|
assertTrue(akismet.submitHam(comment), "submitHam")
|
||||||
|
|
||||||
assertTrue(akismet.submitHam(mockComment), "submitHam(request)")
|
assertTrue(akismet.submitHam(mockComment), "submitHam(mock)")
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun submitSpamTest() {
|
fun submitSpamTest() {
|
||||||
assertTrue(akismet.submitSpam(comment), "submitHam")
|
assertTrue(akismet.submitSpam(comment), "submitHam")
|
||||||
assertTrue(akismet.submitSpam(mockComment), "submitHam(request)")
|
assertTrue(akismet.submitSpam(mockComment), "submitHam(mock)")
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -269,6 +286,8 @@ class AkismetTest {
|
||||||
|
|
||||||
assertNotEquals(jsonComment, comment, "json is different")
|
assertNotEquals(jsonComment, comment, "json is different")
|
||||||
assertNotEquals(jsonComment.hashCode(), comment.hashCode(), "json hashcode is different")
|
assertNotEquals(jsonComment.hashCode(), comment.hashCode(), "json hashcode is different")
|
||||||
|
|
||||||
|
assertNotEquals(this, comment, "wrong object")
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -300,7 +319,7 @@ class AkismetTest {
|
||||||
Mockito.`when`(request.getHeader("Cookie")).thenReturn("name=value; name2=value2; name3=value3")
|
Mockito.`when`(request.getHeader("Cookie")).thenReturn("name=value; name2=value2; name3=value3")
|
||||||
Mockito.`when`(request.getHeader("Accept-Encoding")).thenReturn("gzip")
|
Mockito.`when`(request.getHeader("Accept-Encoding")).thenReturn("gzip")
|
||||||
Mockito.`when`(request.headerNames)
|
Mockito.`when`(request.headerNames)
|
||||||
.thenReturn(Collections.enumeration(listOf("User-Agent", "referer", "Cookie", "Accept-Encoding")))
|
.thenReturn(Collections.enumeration(listOf("User-Agent", "referer", "Cookie", "Accept-Encoding", "Null")))
|
||||||
return request
|
return request
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue