Loading build.gradle +4 −0 Original line number Diff line number Diff line Loading @@ -139,6 +139,10 @@ android { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } testOptions { unitTests.returnDefaultValues = true } } task combinedTestReport(type: JacocoReport) { Loading src/main/java/com/owncloud/android/lib/resources/activities/GetActivitiesRemoteOperation.java +22 −10 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ import com.google.gson.GsonBuilder; import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.google.gson.JsonParser; import com.google.gson.JsonSyntaxException; import com.google.gson.reflect.TypeToken; import com.owncloud.android.lib.common.OwnCloudClient; import com.owncloud.android.lib.common.operations.RemoteOperation; Loading Loading @@ -180,6 +181,11 @@ public class GetActivitiesRemoteOperation extends RemoteOperation { } protected ArrayList<Activity> parseResult(String response) { if (response == null || response.isEmpty()) { return new ArrayList<>(); } try { JsonParser jsonParser = new JsonParser(); JsonObject jo = (JsonObject) jsonParser.parse(response); JsonArray jsonDataArray = jo.getAsJsonObject(NODE_OCS).getAsJsonArray(NODE_DATA); Loading @@ -188,9 +194,15 @@ public class GetActivitiesRemoteOperation extends RemoteOperation { .registerTypeAdapter(RichElement.class, new RichElementTypeAdapter()) .registerTypeAdapter(PreviewObject.class, new PreviewObjectAdapter()) .create(); Type listType = new TypeToken<List<Activity>>(){}.getType(); Type listType = new TypeToken<List<Activity>>() { }.getType(); return gson.fromJson(jsonDataArray, listType); } catch (JsonSyntaxException e) { Log_OC.e(TAG, "Not a valid json: " + response, e); return new ArrayList<>(); } } private boolean isSuccess(int status) { Loading src/test/java/com/owncloud/android/lib/resources/activities/GetActivitiesRemoteOperationTest.java +34 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ import org.junit.Test; import java.util.ArrayList; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; public class GetActivitiesRemoteOperationTest { Loading @@ -55,4 +56,37 @@ public class GetActivitiesRemoteOperationTest { assertTrue(activityList.size() > 0); } @Test public void testEmptyString() { String activities = ""; GetActivitiesRemoteOperation sut = new GetActivitiesRemoteOperation(); ArrayList<Activity> activityList = sut.parseResult(activities); assertEquals(0, activityList.size()); } @Test public void testNotValidString() { String activities = "Wrong json syntax"; GetActivitiesRemoteOperation sut = new GetActivitiesRemoteOperation(); ArrayList<Activity> activityList = sut.parseResult(activities); assertEquals(0, activityList.size()); } @Test public void testNullString() { String activities = null; GetActivitiesRemoteOperation sut = new GetActivitiesRemoteOperation(); ArrayList<Activity> activityList = sut.parseResult(activities); assertEquals(0, activityList.size()); } } Loading
build.gradle +4 −0 Original line number Diff line number Diff line Loading @@ -139,6 +139,10 @@ android { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } testOptions { unitTests.returnDefaultValues = true } } task combinedTestReport(type: JacocoReport) { Loading
src/main/java/com/owncloud/android/lib/resources/activities/GetActivitiesRemoteOperation.java +22 −10 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ import com.google.gson.GsonBuilder; import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.google.gson.JsonParser; import com.google.gson.JsonSyntaxException; import com.google.gson.reflect.TypeToken; import com.owncloud.android.lib.common.OwnCloudClient; import com.owncloud.android.lib.common.operations.RemoteOperation; Loading Loading @@ -180,6 +181,11 @@ public class GetActivitiesRemoteOperation extends RemoteOperation { } protected ArrayList<Activity> parseResult(String response) { if (response == null || response.isEmpty()) { return new ArrayList<>(); } try { JsonParser jsonParser = new JsonParser(); JsonObject jo = (JsonObject) jsonParser.parse(response); JsonArray jsonDataArray = jo.getAsJsonObject(NODE_OCS).getAsJsonArray(NODE_DATA); Loading @@ -188,9 +194,15 @@ public class GetActivitiesRemoteOperation extends RemoteOperation { .registerTypeAdapter(RichElement.class, new RichElementTypeAdapter()) .registerTypeAdapter(PreviewObject.class, new PreviewObjectAdapter()) .create(); Type listType = new TypeToken<List<Activity>>(){}.getType(); Type listType = new TypeToken<List<Activity>>() { }.getType(); return gson.fromJson(jsonDataArray, listType); } catch (JsonSyntaxException e) { Log_OC.e(TAG, "Not a valid json: " + response, e); return new ArrayList<>(); } } private boolean isSuccess(int status) { Loading
src/test/java/com/owncloud/android/lib/resources/activities/GetActivitiesRemoteOperationTest.java +34 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ import org.junit.Test; import java.util.ArrayList; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; public class GetActivitiesRemoteOperationTest { Loading @@ -55,4 +56,37 @@ public class GetActivitiesRemoteOperationTest { assertTrue(activityList.size() > 0); } @Test public void testEmptyString() { String activities = ""; GetActivitiesRemoteOperation sut = new GetActivitiesRemoteOperation(); ArrayList<Activity> activityList = sut.parseResult(activities); assertEquals(0, activityList.size()); } @Test public void testNotValidString() { String activities = "Wrong json syntax"; GetActivitiesRemoteOperation sut = new GetActivitiesRemoteOperation(); ArrayList<Activity> activityList = sut.parseResult(activities); assertEquals(0, activityList.size()); } @Test public void testNullString() { String activities = null; GetActivitiesRemoteOperation sut = new GetActivitiesRemoteOperation(); ArrayList<Activity> activityList = sut.parseResult(activities); assertEquals(0, activityList.size()); } }