From 0689213e727d0026796b08ace25dc9bb6911be2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Carlos=20Gonz=C3=A1lez=20Cabrero?= Date: Wed, 9 Mar 2016 10:32:12 +0100 Subject: [PATCH] New tests for the federated sharing --- .../test_project/test/CreateShareTest.java | 79 +++++++++++++++++++ .../lib/test_project/test/GetShareesTest.java | 56 ++++++++++++- 2 files changed, 134 insertions(+), 1 deletion(-) diff --git a/test_client/tests/src/com/owncloud/android/lib/test_project/test/CreateShareTest.java b/test_client/tests/src/com/owncloud/android/lib/test_project/test/CreateShareTest.java index ccc25089..09b6181b 100644 --- a/test_client/tests/src/com/owncloud/android/lib/test_project/test/CreateShareTest.java +++ b/test_client/tests/src/com/owncloud/android/lib/test_project/test/CreateShareTest.java @@ -29,6 +29,7 @@ import java.io.File; import com.owncloud.android.lib.common.operations.RemoteOperationResult; import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode; import com.owncloud.android.lib.resources.shares.ShareType; +import com.owncloud.android.lib.test_project.R; import com.owncloud.android.lib.test_project.TestActivity; /** @@ -47,6 +48,7 @@ public class CreateShareTest extends RemoteTest { private TestActivity mActivity; private String mFullPath2FileToShare; private String mFullPath2NonExistentFile; + private String mRemoteServer; @Override protected void setUp() throws Exception { @@ -55,6 +57,7 @@ public class CreateShareTest extends RemoteTest { mActivity = getActivity(); mFullPath2FileToShare = mBaseFolderPath + FILE_TO_SHARE; mFullPath2NonExistentFile = mBaseFolderPath + NON_EXISTENT_FILE; + mRemoteServer = getActivity().getString(R.string.server_base_url_2); File textFile = mActivity.extractAsset(TestActivity.ASSETS__TEXT_FILE_NAME); RemoteOperationResult result = mActivity.uploadFile( @@ -217,6 +220,82 @@ public class CreateShareTest extends RemoteTest { } + /** + * Test creation of federated shares with remote users + */ + public void testCreateFederatedShareWithUser() { + + String remoteDomain = mRemoteServer.split("//")[1]; + + /// Successful cases + RemoteOperationResult result = mActivity.createShare( + mFullPath2FileToShare, + ShareType.FEDERATED, + "admin@" + remoteDomain, + false, + "", + 1); + assertTrue(result.isSuccess()); + + + /// Failed cases + + // sharee doesn't exist in an existing remote server + result = mActivity.createShare( + mFullPath2FileToShare, + ShareType.FEDERATED, + "no_exist@" + remoteDomain, + false, + "", + 31); + assertFalse(result.isSuccess()); + assertEquals( + RemoteOperationResult.ResultCode.SHARE_FORBIDDEN, + result.getCode() + ); + assertTrue( // error message from server as part of the result + result.getData().size() == 1 && + result.getData().get(0) instanceof String + ); + + // remote server doesn't exist + result = mActivity.createShare( + mFullPath2FileToShare, + ShareType.FEDERATED, + "no_exist", + false, + "", + 31); + assertFalse(result.isSuccess()); + assertEquals( + RemoteOperationResult.ResultCode.SHARE_WRONG_PARAMETER, + result.getCode() + ); + assertTrue( // error message from server as part of the result + result.getData().size() == 1 && + result.getData().get(0) instanceof String + ); + + // file doesn't exist + result = mActivity.createShare( + mFullPath2NonExistentFile, + ShareType.FEDERATED, + "admin@" + remoteDomain, + false, + "", + 31); + assertFalse(result.isSuccess()); + assertEquals( + RemoteOperationResult.ResultCode.SHARE_NOT_FOUND, + result.getCode() + ); + assertTrue( // error message from server as part of the result + result.getData().size() == 1 && + result.getData().get(0) instanceof String + ); + + } + @Override protected void tearDown() throws Exception { diff --git a/test_client/tests/src/com/owncloud/android/lib/test_project/test/GetShareesTest.java b/test_client/tests/src/com/owncloud/android/lib/test_project/test/GetShareesTest.java index 6f334079..4455adc0 100644 --- a/test_client/tests/src/com/owncloud/android/lib/test_project/test/GetShareesTest.java +++ b/test_client/tests/src/com/owncloud/android/lib/test_project/test/GetShareesTest.java @@ -69,7 +69,7 @@ public class GetShareesTest extends RemoteTest { private static final String LOG_TAG = GetShareesTest.class.getCanonicalName(); - String mServerUri, mUser, mPass; + String mServerUri, mUser, mPass, mServerUri2; OwnCloudClient mClient = null; public GetShareesTest() { @@ -191,6 +191,59 @@ public class GetShareesTest extends RemoteTest { assertTrue(!result.isSuccess() && result.getHttpCode() == HttpStatus.SC_BAD_REQUEST); } + /** + * Test get federated sharees + * + * Requires OC server 8.2 or later + */ + public void testGetFederatedShareesOperation() { + Log.v(LOG_TAG, "testGetFederatedSharees in"); + + /// successful cases + + // search for sharees including "@" + GetRemoteShareesOperation getShareesOperation = new GetRemoteShareesOperation("@", 1, 50); + RemoteOperationResult result = getShareesOperation.execute(mClient); + JSONObject resultItem; + JSONObject value; + int type; + int fedCount = 0; + assertTrue(result.isSuccess() && result.getData().size() > 0); + try { + for (int i=0; i 0); + } catch (JSONException e) { + AssertionFailedError afe = new AssertionFailedError(e.getLocalizedMessage()); + afe.setStackTrace(e.getStackTrace()); + throw afe; + } + + // search for sharees including "admin@qa2.oc.solidgear.es" - expecting at least 1 result + String remoteSharee = "admin@" + mServerUri2.split("//")[1]; + getShareesOperation = new GetRemoteShareesOperation(remoteSharee, 1, 50); + result = getShareesOperation.execute(mClient); + assertTrue(result.isSuccess() && result.getData().size() > 0); + + + /// failed cases + + // search for sharees including wrong page values + getShareesOperation = new GetRemoteShareesOperation("@", 0, 50); + result = getShareesOperation.execute(mClient); + assertTrue(!result.isSuccess() && result.getHttpCode() == HttpStatus.SC_BAD_REQUEST); + + getShareesOperation = new GetRemoteShareesOperation("@", 1, 0); + result = getShareesOperation.execute(mClient); + assertTrue(!result.isSuccess() && result.getHttpCode() == HttpStatus.SC_BAD_REQUEST); + } + @Override protected void tearDown() throws Exception { Log.v(LOG_TAG, "Deleting remote fixture..."); @@ -203,6 +256,7 @@ public class GetShareesTest extends RemoteTest { Log.v(LOG_TAG, "Setting up client instance to access OC server..."); mServerUri = context.getString(R.string.server_base_url); + mServerUri2 = context.getString(R.string.server_base_url_2); mUser = context.getString(R.string.username); mPass = context.getString(R.string.password);