diff --git a/library/src/androidTest/java/com/nextcloud/android/lib/resources/users/GenerateAppPasswordRemoteOperationIT.java b/library/src/androidTest/java/com/nextcloud/android/lib/resources/users/GenerateAppPasswordRemoteOperationIT.java index f220d3fc4e..685002ec77 100644 --- a/library/src/androidTest/java/com/nextcloud/android/lib/resources/users/GenerateAppPasswordRemoteOperationIT.java +++ b/library/src/androidTest/java/com/nextcloud/android/lib/resources/users/GenerateAppPasswordRemoteOperationIT.java @@ -26,15 +26,16 @@ public class GenerateAppPasswordRemoteOperationIT extends AbstractIT { @Test public void generateAppPassword() { GenerateAppPasswordRemoteOperation sut = new GenerateAppPasswordRemoteOperation(); - RemoteOperationResult result = sut.execute(client); + RemoteOperationResult result = sut.execute(client); assertTrue(result.isSuccess()); - String appPassword = (String) result.getSingleData(); + String appPassword = result.getResultData(); assertFalse(TextUtils.isEmpty(appPassword)); OwnCloudCredentials oldOwnCloudCredentials = client.getCredentials(); - OwnCloudCredentials newOwnCloudCredentials = new OwnCloudBasicCredentials(oldOwnCloudCredentials.getUsername(), + OwnCloudCredentials newOwnCloudCredentials = new OwnCloudBasicCredentials( + oldOwnCloudCredentials.getUsername(), appPassword); assertNotEquals(oldOwnCloudCredentials, newOwnCloudCredentials); diff --git a/library/src/androidTest/java/com/owncloud/android/lib/resources/users/CheckRemoteWipeRemoteOperationIT.kt b/library/src/androidTest/java/com/owncloud/android/lib/resources/users/CheckRemoteWipeRemoteOperationIT.kt new file mode 100644 index 0000000000..d8ddcd77c0 --- /dev/null +++ b/library/src/androidTest/java/com/owncloud/android/lib/resources/users/CheckRemoteWipeRemoteOperationIT.kt @@ -0,0 +1,40 @@ +/* + * Nextcloud Android Library + * + * SPDX-FileCopyrightText: 2020-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2023 Tobias Kaminsky + * SPDX-License-Identifier: MIT + */ + +package com.owncloud.android.lib.resources.users + +import android.text.TextUtils +import com.nextcloud.android.lib.resources.users.GenerateAppPasswordRemoteOperation +import com.owncloud.android.AbstractIT +import com.owncloud.android.lib.common.OwnCloudBasicCredentials +import org.junit.Assert.assertFalse +import org.junit.Assert.assertTrue +import org.junit.Test + +class CheckRemoteWipeRemoteOperationIT : AbstractIT() { + @Test + fun testCheckWipe() { + val appTokenResult = GenerateAppPasswordRemoteOperation().execute(client) + assertTrue(appTokenResult.isSuccess) + + val appPassword = appTokenResult.resultData + assertFalse(TextUtils.isEmpty(appPassword)) + + client.credentials = + OwnCloudBasicCredentials( + client.credentials.username, + appPassword, + true + ) + + val wipeResult = CheckRemoteWipeRemoteOperation().execute(client) + + // device should not be wiped + assertFalse(wipeResult.isSuccess) + } +} diff --git a/library/src/main/java/com/nextcloud/android/lib/resources/users/GenerateAppPasswordRemoteOperation.java b/library/src/main/java/com/nextcloud/android/lib/resources/users/GenerateAppPasswordRemoteOperation.java index 957108f46f..35170f9eb6 100644 --- a/library/src/main/java/com/nextcloud/android/lib/resources/users/GenerateAppPasswordRemoteOperation.java +++ b/library/src/main/java/com/nextcloud/android/lib/resources/users/GenerateAppPasswordRemoteOperation.java @@ -24,7 +24,7 @@ */ -public class GenerateAppPasswordRemoteOperation extends OCSRemoteOperation { +public class GenerateAppPasswordRemoteOperation extends OCSRemoteOperation { private static final String TAG = GenerateAppPasswordRemoteOperation.class.getSimpleName(); private static final String DIRECT_ENDPOINT = "/ocs/v2.php/core/getapppassword"; @@ -43,8 +43,8 @@ public GenerateAppPasswordRemoteOperation(SessionTimeOut sessionTimeOut) { this.sessionTimeOut = sessionTimeOut; } - protected RemoteOperationResult run(OwnCloudClient client) { - RemoteOperationResult result; + protected RemoteOperationResult run(OwnCloudClient client) { + RemoteOperationResult result; GetMethod getMethod = null; try { @@ -61,14 +61,14 @@ protected RemoteOperationResult run(OwnCloudClient client) { JSONObject respJSON = new JSONObject(response); String password = respJSON.getJSONObject(NODE_OCS).getJSONObject(NODE_DATA).getString(NODE_APPPASSWORD); - result = new RemoteOperationResult(true, getMethod); - result.setSingleData(password); + result = new RemoteOperationResult<>(true, getMethod); + result.setResultData(password); } else { - result = new RemoteOperationResult(false, getMethod); + result = new RemoteOperationResult<>(false, getMethod); client.exhaustResponse(getMethod.getResponseBodyAsStream()); } } catch (Exception e) { - result = new RemoteOperationResult(e); + result = new RemoteOperationResult<>(e); Log_OC.e(TAG, "Generate app password failed: " + result.getLogMessage(), result.getException()); } finally {