From c8cd253413650157b523dbf27d718be939460896 Mon Sep 17 00:00:00 2001 From: Ivan Pizhenko Date: Sat, 20 Mar 2021 23:07:38 +0200 Subject: [PATCH 1/4] issue #868 dismiss registered field --- .../retrofit/response/api/LoginResponse.kt | 10 ++++------ .../EnterpriseDomainRulesViewModel.kt | 19 ++++++++----------- 2 files changed, 12 insertions(+), 17 deletions(-) diff --git a/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/api/LoginResponse.kt b/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/api/LoginResponse.kt index c7810c74f1..b96d3197c6 100644 --- a/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/api/LoginResponse.kt +++ b/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/api/LoginResponse.kt @@ -1,6 +1,8 @@ /* * © 2016-present FlowCrypt a.s. Limitations apply. Contact human@flowcrypt.com - * Contributors: DenBond7 + * Contributors: + * DenBond7 + * Ivan Pizhenko */ package com.flowcrypt.email.api.retrofit.response.api @@ -22,19 +24,15 @@ import com.google.gson.annotations.SerializedName */ data class LoginResponse constructor(@SerializedName("error") @Expose override val apiError: ApiError?, - @SerializedName("registered") - @Expose val isRegistered: Boolean?, @SerializedName("verified") @Expose val isVerified: Boolean?) : ApiResponse { constructor(parcel: Parcel) : this( parcel.readParcelable(ApiError::class.java.classLoader), - parcel.readValue(Boolean::class.java.classLoader) as Boolean?, parcel.readValue(Boolean::class.java.classLoader) as Boolean?) override fun writeToParcel(parcel: Parcel, flags: Int) { with(parcel) { writeParcelable(apiError, flags) - writeValue(isRegistered) writeValue(isVerified) } } @@ -52,4 +50,4 @@ data class LoginResponse constructor(@SerializedName("error") return arrayOfNulls(size) } } -} \ No newline at end of file +} diff --git a/FlowCrypt/src/main/java/com/flowcrypt/email/jetpack/viewmodel/EnterpriseDomainRulesViewModel.kt b/FlowCrypt/src/main/java/com/flowcrypt/email/jetpack/viewmodel/EnterpriseDomainRulesViewModel.kt index d6a89d4406..c5f8d149d7 100644 --- a/FlowCrypt/src/main/java/com/flowcrypt/email/jetpack/viewmodel/EnterpriseDomainRulesViewModel.kt +++ b/FlowCrypt/src/main/java/com/flowcrypt/email/jetpack/viewmodel/EnterpriseDomainRulesViewModel.kt @@ -1,6 +1,8 @@ /* * © 2016-present FlowCrypt a.s. Limitations apply. Contact human@flowcrypt.com - * Contributors: DenBond7 + * Contributors: + * DenBond7 + * Ivan Pizhenko */ package com.flowcrypt.email.jetpack.viewmodel @@ -49,18 +51,13 @@ class EnterpriseDomainRulesViewModel(application: Application) : BaseAndroidView } Result.Status.SUCCESS -> { - if (loginResult.data?.isRegistered == true && loginResult.data.isVerified == true) { + if (loginResult.data?.isVerified == true) { val domainRulesResult = repository.getDomainRules(context, DomainRulesRequest(ApiName.POST_GET_DOMAIN_RULES, LoginModel(account, uuid))) domainRulesLiveData.value = domainRulesResult - } else when { - loginResult.data?.isRegistered == false && loginResult.data.isVerified == false -> - domainRulesLiveData.value = Result.error(LoginResponse(ApiError(-1, - context.getString(R.string.user_not_registered_not_verified)), false, false)) - - loginResult.data?.isVerified == false -> - domainRulesLiveData.value = Result.error(LoginResponse(ApiError(-1, - context.getString(R.string.user_not_verified)), true, false)) + } else { + domainRulesLiveData.value = Result.error(LoginResponse(ApiError(-1, + context.getString(R.string.user_not_verified)), false)) } } @@ -70,4 +67,4 @@ class EnterpriseDomainRulesViewModel(application: Application) : BaseAndroidView } } } -} \ No newline at end of file +} From 6485f9512f0c2dc5cae76d27978b286ce8181eca Mon Sep 17 00:00:00 2001 From: Ivan Pizhenko Date: Sun, 21 Mar 2021 00:47:27 +0200 Subject: [PATCH 2/4] Update strings and tests --- .idea/.gitignore | 1 + .../enterprise/SignInActivityEnterpriseTest.kt | 16 ++++++++-------- .../viewmodel/EnterpriseDomainRulesViewModel.kt | 2 +- FlowCrypt/src/main/res/values/strings.xml | 3 +-- 4 files changed, 11 insertions(+), 11 deletions(-) create mode 100644 .idea/.gitignore diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000000..1c36519f5e --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1 @@ +/dictionaries/ivan.xml diff --git a/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/activity/enterprise/SignInActivityEnterpriseTest.kt b/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/activity/enterprise/SignInActivityEnterpriseTest.kt index 7c72c63ef9..ad931cbd19 100644 --- a/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/activity/enterprise/SignInActivityEnterpriseTest.kt +++ b/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/activity/enterprise/SignInActivityEnterpriseTest.kt @@ -82,14 +82,14 @@ class SignInActivityEnterpriseTest : BaseSignActivityTest() { @ReadyForCIAnnotation fun testSuccessLoginNotVerified() { setupAndClickSignInButton(genMockGoogleSignInAccountJson(EMAIL_LOGIN_NOT_VERIFIED)) - isToastDisplayed(decorView, getResString(R.string.user_not_verified)) + isToastDisplayed(decorView, getResString(R.string.user_not_registered_or_verified)) } @Test @ReadyForCIAnnotation fun testSuccessLoginNotRegisteredNotVerified() { setupAndClickSignInButton(genMockGoogleSignInAccountJson(EMAIL_LOGIN_NOT_REGISTERED_NOT_VERIFIED)) - isToastDisplayed(decorView, getResString(R.string.user_not_registered_not_verified)) + isToastDisplayed(decorView, getResString(R.string.user_not_registered_or_verified)) } @Test @@ -117,7 +117,7 @@ class SignInActivityEnterpriseTest : BaseSignActivityTest() { const val EMAIL_DOMAIN_RULES_ERROR = "domain_rules_error@example.com" val LOGIN_API_ERROR_RESPONSE = LoginResponse(ApiError(400, "Something wrong happened.", - "api input: missing key: token"), null, null) + "api input: missing key: token"), null) val DOMAIN_RULES_ERROR_RESPONSE = DomainRulesResponse(ApiError(401, "Not logged in or unknown account", "auth"), null) @@ -135,16 +135,16 @@ class SignInActivityEnterpriseTest : BaseSignActivityTest() { .setBody(gson.toJson(LOGIN_API_ERROR_RESPONSE)) EMAIL_LOGIN_NOT_REGISTERED_NOT_VERIFIED -> return MockResponse().setResponseCode(200) - .setBody(gson.toJson(LoginResponse(null, isRegistered = false, isVerified = false))) + .setBody(gson.toJson(LoginResponse(null, isVerified = false))) EMAIL_LOGIN_NOT_VERIFIED -> return MockResponse().setResponseCode(200) - .setBody(gson.toJson(LoginResponse(null, isRegistered = true, isVerified = false))) + .setBody(gson.toJson(LoginResponse(null, isVerified = false))) EMAIL_DOMAIN_RULES_ERROR -> return MockResponse().setResponseCode(200) - .setBody(gson.toJson(LoginResponse(null, isRegistered = true, isVerified = true))) + .setBody(gson.toJson(LoginResponse(null, isVerified = true))) EMAIL_WITH_NO_PRV_CREATE_RULE -> return MockResponse().setResponseCode(200) - .setBody(gson.toJson(LoginResponse(null, isRegistered = true, isVerified = true))) + .setBody(gson.toJson(LoginResponse(null, FisVerified = true))) } } @@ -163,4 +163,4 @@ class SignInActivityEnterpriseTest : BaseSignActivityTest() { } }) } -} \ No newline at end of file +} diff --git a/FlowCrypt/src/main/java/com/flowcrypt/email/jetpack/viewmodel/EnterpriseDomainRulesViewModel.kt b/FlowCrypt/src/main/java/com/flowcrypt/email/jetpack/viewmodel/EnterpriseDomainRulesViewModel.kt index c5f8d149d7..58d7ab5215 100644 --- a/FlowCrypt/src/main/java/com/flowcrypt/email/jetpack/viewmodel/EnterpriseDomainRulesViewModel.kt +++ b/FlowCrypt/src/main/java/com/flowcrypt/email/jetpack/viewmodel/EnterpriseDomainRulesViewModel.kt @@ -57,7 +57,7 @@ class EnterpriseDomainRulesViewModel(application: Application) : BaseAndroidView domainRulesLiveData.value = domainRulesResult } else { domainRulesLiveData.value = Result.error(LoginResponse(ApiError(-1, - context.getString(R.string.user_not_verified)), false)) + context.getString(R.string.user_not_registered_or_verified)), false)) } } diff --git a/FlowCrypt/src/main/res/values/strings.xml b/FlowCrypt/src/main/res/values/strings.xml index cf742548c4..52e9547111 100644 --- a/FlowCrypt/src/main/res/values/strings.xml +++ b/FlowCrypt/src/main/res/values/strings.xml @@ -379,8 +379,7 @@ Your email address Pending… Mark unread - User not verified - User not registered and not verified + User is not registered or not verified Submitting the pub key Saving the private key(s) Key already imported, finishing setup. From 415b02bfa07fc26a4288d191854f096ba3e6b9b1 Mon Sep 17 00:00:00 2001 From: DenBond7 Date: Mon, 22 Mar 2021 10:22:02 +0200 Subject: [PATCH 3/4] Fixed tests compilation.| #868 --- .../enterprise/AddNewAccountActivityEnterpriseTest.kt | 5 ++--- .../ui/activity/enterprise/SignInActivityEnterpriseTest.kt | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/activity/enterprise/AddNewAccountActivityEnterpriseTest.kt b/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/activity/enterprise/AddNewAccountActivityEnterpriseTest.kt index 4dbb51322d..500bab4004 100644 --- a/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/activity/enterprise/AddNewAccountActivityEnterpriseTest.kt +++ b/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/activity/enterprise/AddNewAccountActivityEnterpriseTest.kt @@ -81,13 +81,12 @@ class AddNewAccountActivityEnterpriseTest : BaseSignActivityTest() { val mockWebServerRule = FlowCryptMockWebServerRule(TestConstants.MOCK_WEB_SERVER_PORT, object : Dispatcher() { override fun dispatch(request: RecordedRequest): MockResponse { val gson = ApiHelper.getInstance(InstrumentationRegistry.getInstrumentation().targetContext).gson - val model = gson.fromJson(InputStreamReader(request.body.inputStream()), - LoginModel::class.java) + val model = gson.fromJson(InputStreamReader(request.body.inputStream()), LoginModel::class.java) if (request.path.equals("/account/login")) { when (model.account) { EMAIL_WITH_NO_PRV_CREATE_RULE -> return MockResponse().setResponseCode(200) - .setBody(gson.toJson(LoginResponse(null, isRegistered = true, isVerified = true))) + .setBody(gson.toJson(LoginResponse(null, isVerified = true))) } } diff --git a/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/activity/enterprise/SignInActivityEnterpriseTest.kt b/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/activity/enterprise/SignInActivityEnterpriseTest.kt index ad931cbd19..abb88b96a9 100644 --- a/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/activity/enterprise/SignInActivityEnterpriseTest.kt +++ b/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/activity/enterprise/SignInActivityEnterpriseTest.kt @@ -144,7 +144,7 @@ class SignInActivityEnterpriseTest : BaseSignActivityTest() { .setBody(gson.toJson(LoginResponse(null, isVerified = true))) EMAIL_WITH_NO_PRV_CREATE_RULE -> return MockResponse().setResponseCode(200) - .setBody(gson.toJson(LoginResponse(null, FisVerified = true))) + .setBody(gson.toJson(LoginResponse(null, isVerified = true))) } } From 368f3daa7f94826866d277d4f6aea5607cab6e51 Mon Sep 17 00:00:00 2001 From: DenBond7 Date: Mon, 22 Mar 2021 11:21:44 +0200 Subject: [PATCH 4/4] Modified some strings. Removed unused code.| #868 --- .../enterprise/SignInActivityEnterpriseTest.kt | 13 +------------ .../viewmodel/EnterpriseDomainRulesViewModel.kt | 2 +- FlowCrypt/src/main/res/values/strings.xml | 2 +- 3 files changed, 3 insertions(+), 14 deletions(-) diff --git a/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/activity/enterprise/SignInActivityEnterpriseTest.kt b/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/activity/enterprise/SignInActivityEnterpriseTest.kt index abb88b96a9..4d708af1c1 100644 --- a/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/activity/enterprise/SignInActivityEnterpriseTest.kt +++ b/FlowCrypt/src/androidTest/java/com/flowcrypt/email/ui/activity/enterprise/SignInActivityEnterpriseTest.kt @@ -82,14 +82,7 @@ class SignInActivityEnterpriseTest : BaseSignActivityTest() { @ReadyForCIAnnotation fun testSuccessLoginNotVerified() { setupAndClickSignInButton(genMockGoogleSignInAccountJson(EMAIL_LOGIN_NOT_VERIFIED)) - isToastDisplayed(decorView, getResString(R.string.user_not_registered_or_verified)) - } - - @Test - @ReadyForCIAnnotation - fun testSuccessLoginNotRegisteredNotVerified() { - setupAndClickSignInButton(genMockGoogleSignInAccountJson(EMAIL_LOGIN_NOT_REGISTERED_NOT_VERIFIED)) - isToastDisplayed(decorView, getResString(R.string.user_not_registered_or_verified)) + isToastDisplayed(decorView, getResString(R.string.user_not_verified)) } @Test @@ -113,7 +106,6 @@ class SignInActivityEnterpriseTest : BaseSignActivityTest() { const val EMAIL_WITH_NO_PRV_CREATE_RULE = "no_prv_create@example.com" const val EMAIL_LOGIN_ERROR = "login_error@example.com" const val EMAIL_LOGIN_NOT_VERIFIED = "login_not_verified@example.com" - const val EMAIL_LOGIN_NOT_REGISTERED_NOT_VERIFIED = "login_not_registered_not_verified@example.com" const val EMAIL_DOMAIN_RULES_ERROR = "domain_rules_error@example.com" val LOGIN_API_ERROR_RESPONSE = LoginResponse(ApiError(400, "Something wrong happened.", @@ -134,9 +126,6 @@ class SignInActivityEnterpriseTest : BaseSignActivityTest() { EMAIL_LOGIN_ERROR -> return MockResponse().setResponseCode(200) .setBody(gson.toJson(LOGIN_API_ERROR_RESPONSE)) - EMAIL_LOGIN_NOT_REGISTERED_NOT_VERIFIED -> return MockResponse().setResponseCode(200) - .setBody(gson.toJson(LoginResponse(null, isVerified = false))) - EMAIL_LOGIN_NOT_VERIFIED -> return MockResponse().setResponseCode(200) .setBody(gson.toJson(LoginResponse(null, isVerified = false))) diff --git a/FlowCrypt/src/main/java/com/flowcrypt/email/jetpack/viewmodel/EnterpriseDomainRulesViewModel.kt b/FlowCrypt/src/main/java/com/flowcrypt/email/jetpack/viewmodel/EnterpriseDomainRulesViewModel.kt index 58d7ab5215..c5f8d149d7 100644 --- a/FlowCrypt/src/main/java/com/flowcrypt/email/jetpack/viewmodel/EnterpriseDomainRulesViewModel.kt +++ b/FlowCrypt/src/main/java/com/flowcrypt/email/jetpack/viewmodel/EnterpriseDomainRulesViewModel.kt @@ -57,7 +57,7 @@ class EnterpriseDomainRulesViewModel(application: Application) : BaseAndroidView domainRulesLiveData.value = domainRulesResult } else { domainRulesLiveData.value = Result.error(LoginResponse(ApiError(-1, - context.getString(R.string.user_not_registered_or_verified)), false)) + context.getString(R.string.user_not_verified)), false)) } } diff --git a/FlowCrypt/src/main/res/values/strings.xml b/FlowCrypt/src/main/res/values/strings.xml index 52e9547111..dce7ca18f0 100644 --- a/FlowCrypt/src/main/res/values/strings.xml +++ b/FlowCrypt/src/main/res/values/strings.xml @@ -379,7 +379,7 @@ Your email address Pending… Mark unread - User is not registered or not verified + User not verified successfully Submitting the pub key Saving the private key(s) Key already imported, finishing setup.