From aa05bce593637eb49897e76a6ce4a4b2c6e6c6bc Mon Sep 17 00:00:00 2001 From: Paul Hawke Date: Sun, 1 Dec 2024 20:50:37 -0600 Subject: [PATCH] work in progress --- .../nrw/commons/wikidata/mwapi/UserInfo.java | 34 ------------------- .../nrw/commons/wikidata/mwapi/UserInfo.kt | 21 ++++++++++++ .../free/nrw/commons/mwapi/UserClientTest.kt | 9 ++--- 3 files changed, 24 insertions(+), 40 deletions(-) delete mode 100644 app/src/main/java/fr/free/nrw/commons/wikidata/mwapi/UserInfo.java create mode 100644 app/src/main/java/fr/free/nrw/commons/wikidata/mwapi/UserInfo.kt diff --git a/app/src/main/java/fr/free/nrw/commons/wikidata/mwapi/UserInfo.java b/app/src/main/java/fr/free/nrw/commons/wikidata/mwapi/UserInfo.java deleted file mode 100644 index 3ac9e3915..000000000 --- a/app/src/main/java/fr/free/nrw/commons/wikidata/mwapi/UserInfo.java +++ /dev/null @@ -1,34 +0,0 @@ -package fr.free.nrw.commons.wikidata.mwapi; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import java.util.Map; - - -public class UserInfo { - @NonNull private String name; - @NonNull private int id; - - //Block information - private int blockid; - private String blockedby; - private int blockedbyid; - private String blockreason; - private String blocktimestamp; - private String blockexpiry; - - // Object type is any JSON type. - @SuppressWarnings("MismatchedQueryAndUpdateOfCollection") - @Nullable private Map options; - - public int id() { - return id; - } - - @NonNull - public String blockexpiry() { - if (blockexpiry != null) - return blockexpiry; - else return ""; - } -} diff --git a/app/src/main/java/fr/free/nrw/commons/wikidata/mwapi/UserInfo.kt b/app/src/main/java/fr/free/nrw/commons/wikidata/mwapi/UserInfo.kt new file mode 100644 index 000000000..c9182a821 --- /dev/null +++ b/app/src/main/java/fr/free/nrw/commons/wikidata/mwapi/UserInfo.kt @@ -0,0 +1,21 @@ +package fr.free.nrw.commons.wikidata.mwapi + +data class UserInfo( + val name: String = "", + val id: Int = 0, + + //Block information + val blockid: Int = 0, + val blockedby: String? = null, + val blockedbyid: Int = 0, + val blockreason: String? = null, + val blocktimestamp: String? = null, + val blockexpiry: String? = null, + + // Object type is any JSON type. + val options: Map? = null +) { + fun id(): Int = id + + fun blockexpiry(): String = blockexpiry ?: "" +} diff --git a/app/src/test/kotlin/fr/free/nrw/commons/mwapi/UserClientTest.kt b/app/src/test/kotlin/fr/free/nrw/commons/mwapi/UserClientTest.kt index 52c7953ec..926678308 100644 --- a/app/src/test/kotlin/fr/free/nrw/commons/mwapi/UserClientTest.kt +++ b/app/src/test/kotlin/fr/free/nrw/commons/mwapi/UserClientTest.kt @@ -30,8 +30,7 @@ class UserClientTest { @Test fun isUserBlockedFromCommonsForInfinitelyBlockedUser() { - val userInfo = Mockito.mock(UserInfo::class.java) - Mockito.`when`(userInfo.blockexpiry()).thenReturn("infinite") + val userInfo = UserInfo(blockexpiry = "infinite") val mwQueryResult = Mockito.mock(MwQueryResult::class.java) Mockito.`when`(mwQueryResult.userInfo()).thenReturn(userInfo) val mockResponse = Mockito.mock(MwQueryResponse::class.java) @@ -49,8 +48,7 @@ class UserClientTest { val currentDate = Date() val expiredDate = Date(currentDate.time + 10000) - val userInfo = Mockito.mock(UserInfo::class.java) - Mockito.`when`(userInfo.blockexpiry()).thenReturn(DateUtil.iso8601DateFormat(expiredDate)) + val userInfo = UserInfo(blockexpiry = DateUtil.iso8601DateFormat(expiredDate)) val mwQueryResult = Mockito.mock(MwQueryResult::class.java) Mockito.`when`(mwQueryResult.userInfo()).thenReturn(userInfo) val mockResponse = Mockito.mock(MwQueryResponse::class.java) @@ -65,8 +63,7 @@ class UserClientTest { @Test fun isUserBlockedFromCommonsForNeverBlockedUser() { - val userInfo = Mockito.mock(UserInfo::class.java) - Mockito.`when`(userInfo.blockexpiry()).thenReturn("") + val userInfo = UserInfo(blockexpiry = "") val mwQueryResult = Mockito.mock(MwQueryResult::class.java) Mockito.`when`(mwQueryResult.userInfo()).thenReturn(userInfo) val mockResponse = Mockito.mock(MwQueryResponse::class.java)