diff --git a/offix/src/main/java/org/aerogear/offix/ConversionCheck.kt b/offix/src/main/java/org/aerogear/offix/ConversionCheck.kt new file mode 100644 index 0000000..ff33627 --- /dev/null +++ b/offix/src/main/java/org/aerogear/offix/ConversionCheck.kt @@ -0,0 +1,13 @@ +package org.aerogear.offix + +import com.apollographql.apollo.api.OperationName + +object ConversionCheck{ + fun checkStringisJson(s: String): Boolean { + return s.startsWith("{")&&s.endsWith("}") + } + fun operationNameExists(n: OperationName): Boolean{ + return !n.name().isBlank() + } +} + diff --git a/offix/src/main/java/org/aerogear/offix/persistence/Converters.kt b/offix/src/main/java/org/aerogear/offix/persistence/Converters.kt index c618859..b185928 100644 --- a/offix/src/main/java/org/aerogear/offix/persistence/Converters.kt +++ b/offix/src/main/java/org/aerogear/offix/persistence/Converters.kt @@ -2,7 +2,9 @@ package org.aerogear.offix.persistence import android.arch.persistence.room.TypeConverter import com.apollographql.apollo.api.OperationName +import org.aerogear.offix.ConversionCheck import org.json.JSONObject +import java.lang.Exception /* Converters are used to serialise and de-serialise objects for storing and fetching from database. @@ -16,13 +18,21 @@ class Converters { @TypeConverter fun OperationNameToString(name: OperationName): String { - return name.name() + if(ConversionCheck.operationNameExists(name)) { + return name.name() + } else { + throw Exception("EmptyOperationNameException") + } } @TypeConverter fun StringToJson(string: String): JSONObject { - val jsonObject = JSONObject(string) - return jsonObject + if(ConversionCheck.checkStringisJson(string)) { + val jsonObject = JSONObject(string) + return jsonObject + } else { + return JSONObject("{}") + } } @TypeConverter diff --git a/offix/src/test/java/org/aerogear/offix/ExampleUnitTest.java b/offix/src/test/java/org/aerogear/offix/ExampleUnitTest.java deleted file mode 100644 index 215e23c..0000000 --- a/offix/src/test/java/org/aerogear/offix/ExampleUnitTest.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.aerogear.offix; - -import org.junit.Test; - -import static org.junit.Assert.*; - -/** - * Example local unit test, which will execute on the development machine (host). - * - * @see Testing documentation - */ -public class ExampleUnitTest { - @Test - public void addition_isCorrect() { - assertEquals(4, 2 + 2); - } -} \ No newline at end of file diff --git a/offix/src/test/java/org/aerogear/offix/ExampleUnitTest.kt b/offix/src/test/java/org/aerogear/offix/ExampleUnitTest.kt new file mode 100644 index 0000000..393841c --- /dev/null +++ b/offix/src/test/java/org/aerogear/offix/ExampleUnitTest.kt @@ -0,0 +1,34 @@ +package org.aerogear.offix + +import com.apollographql.apollo.api.OperationName +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * @see [Testing documentation](http://d.android.com/tools/testing) + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, (2 + 2).toLong()) + } + @Test + fun stringJsonTrue(){ + assertTrue(ConversionCheck.checkStringisJson("{}")) + } + @Test + fun stringJsonFalse(){ + assertFalse(ConversionCheck.checkStringisJson("sd")) + } + @Test + fun operationNameTrue(){ + assertTrue(ConversionCheck.operationNameExists(OperationName { "testUser" })) + } + @Test + fun operationNameFalse(){ + assertFalse(ConversionCheck.operationNameExists(OperationName { "" })) + } +} \ No newline at end of file diff --git a/sample/src/test/java/org/aerogear/graphqlandroid/ExampleUnitTest.kt b/sample/src/test/java/org/aerogear/graphqlandroid/ExampleUnitTest.kt index 12ff30b..eb517d7 100644 --- a/sample/src/test/java/org/aerogear/graphqlandroid/ExampleUnitTest.kt +++ b/sample/src/test/java/org/aerogear/graphqlandroid/ExampleUnitTest.kt @@ -14,4 +14,6 @@ class ExampleUnitTest { fun addition_isCorrect() { assertEquals(4, 2 + 2) } + + }