aboutsummaryrefslogtreecommitdiff
path: root/app/src/test/kotlin/com/pitchedapps/frost/facebook/requests/FbRequestTest.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/test/kotlin/com/pitchedapps/frost/facebook/requests/FbRequestTest.kt')
-rw-r--r--app/src/test/kotlin/com/pitchedapps/frost/facebook/requests/FbRequestTest.kt70
1 files changed, 70 insertions, 0 deletions
diff --git a/app/src/test/kotlin/com/pitchedapps/frost/facebook/requests/FbRequestTest.kt b/app/src/test/kotlin/com/pitchedapps/frost/facebook/requests/FbRequestTest.kt
new file mode 100644
index 00000000..9899a018
--- /dev/null
+++ b/app/src/test/kotlin/com/pitchedapps/frost/facebook/requests/FbRequestTest.kt
@@ -0,0 +1,70 @@
+package com.pitchedapps.frost.facebook.requests
+
+import com.fasterxml.jackson.databind.ObjectMapper
+import com.pitchedapps.frost.internal.AUTH
+import com.pitchedapps.frost.internal.COOKIE
+import com.pitchedapps.frost.internal.USER_ID
+import com.pitchedapps.frost.internal.authDependent
+import okhttp3.Call
+import org.junit.BeforeClass
+import org.junit.Test
+import kotlin.test.*
+
+/**
+ * Created by Allan Wang on 21/12/17.
+ */
+class FbRequestTest {
+
+ companion object {
+ @BeforeClass
+ @JvmStatic
+ fun before() {
+ authDependent()
+ }
+ }
+
+ /**
+ * Used to emulate [executeForNoError]
+ * Must be consistent with that method
+ */
+ private fun Call.assertNoError() {
+ val data = execute().body()?.string() ?: fail("Content was null")
+ println("Call response: $data")
+ assertTrue(data.isNotEmpty(), "Content was empty")
+ assertFalse(data.contains("error"), "Content had error")
+ }
+
+ @Test
+ fun auth() {
+ val auth = COOKIE.getAuth()
+ assertNotNull(auth)
+ assertEquals(USER_ID, auth.userId)
+ assertEquals(COOKIE, auth.cookie)
+ println("Test auth: ${auth.fb_dtsg}")
+ }
+
+ @Test
+ fun markNotification() {
+ val notifId = 1514443903880
+ AUTH.markNotificationRead(notifId).call.assertNoError()
+ }
+
+ @Test
+ fun fullSizeImage() {
+ val fbid = 10155966932992838L // google's current cover photo
+ val url = AUTH.getFullSizedImage(fbid).invoke()
+ println(url)
+ assertEquals(url?.startsWith("https://scontent"), true)
+ }
+
+ @Test
+ fun testMenu() {
+ val data = AUTH.getMenuData().invoke()
+ assertNotNull(data)
+ println(ObjectMapper().writerWithDefaultPrettyPrinter().writeValueAsString(data!!))
+ assertTrue(data.data.isNotEmpty())
+ assertTrue(data.footer.hasContent, "Footer may be badly parsed")
+ val items = data.flatMapValid()
+ assertTrue(items.size > 15, "Something may be badly parsed")
+ }
+}