From 2c5ceeb555778e0bcc62abf6c6c79396e4533807 Mon Sep 17 00:00:00 2001 From: davigonz Date: Wed, 7 Nov 2018 14:31:03 +0100 Subject: [PATCH 1/3] Use user id in LDAP requests --- .../android/lib/common/OwnCloudClient.java | 32 ++++++++++++------- .../lib/common/accounts/AccountUtils.java | 19 +++++++++-- .../files/CopyRemoteFileOperation.java | 4 +-- .../files/CreateRemoteFolderOperation.java | 2 +- .../files/DownloadRemoteFileOperation.java | 2 +- .../files/ExistenceCheckRemoteOperation.java | 18 +++++++---- .../files/MoveRemoteFileOperation.java | 4 +-- .../files/ReadRemoteFileOperation.java | 2 +- .../files/ReadRemoteFolderOperation.java | 2 +- .../lib/resources/files/RemoteFile.java | 4 +-- .../files/RemoveRemoteFileOperation.java | 2 +- .../files/RenameRemoteFileOperation.java | 6 ++-- .../files/UploadRemoteFileOperation.java | 2 +- .../ChunkedUploadRemoteFileOperation.java | 2 +- .../users/GetRemoteUserQuotaOperation.java | 2 +- 15 files changed, 67 insertions(+), 36 deletions(-) diff --git a/src/com/owncloud/android/lib/common/OwnCloudClient.java b/src/com/owncloud/android/lib/common/OwnCloudClient.java index 842f445f..6dd69f0e 100644 --- a/src/com/owncloud/android/lib/common/OwnCloudClient.java +++ b/src/com/owncloud/android/lib/common/OwnCloudClient.java @@ -29,6 +29,7 @@ import android.accounts.AccountManager; import android.accounts.AccountsException; import android.net.Uri; +import com.owncloud.android.lib.common.accounts.AccountUtils; import com.owncloud.android.lib.common.authentication.OwnCloudCredentials; import com.owncloud.android.lib.common.authentication.OwnCloudCredentialsFactory; import com.owncloud.android.lib.common.authentication.OwnCloudCredentialsFactory.OwnCloudAnonymousCredentials; @@ -53,8 +54,8 @@ import static com.owncloud.android.lib.common.http.HttpConstants.OC_X_REQUEST_ID public class OwnCloudClient extends HttpClient { - public static final String NEW_WEBDAV_FILES_PATH_4_0 = "/remote.php/dav/files/"; - public static final String NEW_WEBDAV_UPLOADS_PATH_4_0 = "/remote.php/dav/uploads/"; + public static final String WEBDAV_FILES_PATH_4_0 = "/remote.php/dav/files/"; + public static final String WEBDAV_UPLOADS_PATH_4_0 = "/remote.php/dav/uploads/"; public static final String STATUS_PATH = "/status.php"; public static final String FILES_WEB_PATH = "/index.php/apps/files"; @@ -80,7 +81,6 @@ public class OwnCloudClient extends HttpClient { private String mRedirectedLocation; private boolean mFollowRedirects; - public OwnCloudClient(Uri baseUri) { if (baseUri == null) { throw new IllegalArgumentException("Parameter 'baseUri' cannot be NULL"); @@ -208,7 +208,7 @@ public class OwnCloudClient extends HttpClient { : method.getRequestHeader("destination"); if (destination != null) { - final int suffixIndex = location.lastIndexOf(getNewFilesWebDavUri().toString()); + final int suffixIndex = location.lastIndexOf(getUserFilesWebDavUri().toString()); final String redirectionBase = location.substring(0, suffixIndex); final String destinationPath = destination.substring(mBaseUri.toString().length()); @@ -252,16 +252,26 @@ public class OwnCloudClient extends HttpClient { } } - public Uri getNewFilesWebDavUri() { - return mCredentials instanceof OwnCloudAnonymousCredentials - ? Uri.parse(mBaseUri + NEW_WEBDAV_FILES_PATH_4_0) - : Uri.parse(mBaseUri + NEW_WEBDAV_FILES_PATH_4_0 + mCredentials.getUsername()); + public Uri getBaseFilesWebDavUri(){ + return Uri.parse(mBaseUri + WEBDAV_FILES_PATH_4_0); } - public Uri getNewUploadsWebDavUri() { + public Uri getUserFilesWebDavUri() { return mCredentials instanceof OwnCloudAnonymousCredentials - ? Uri.parse(mBaseUri + NEW_WEBDAV_UPLOADS_PATH_4_0) - : Uri.parse(mBaseUri + NEW_WEBDAV_UPLOADS_PATH_4_0 + mCredentials.getUsername()); + ? Uri.parse(mBaseUri + WEBDAV_FILES_PATH_4_0) + : Uri.parse(mBaseUri + WEBDAV_FILES_PATH_4_0 + AccountUtils.getUserId( + mAccount.getSavedAccount(), getContext() + ) + ); + } + + public Uri getUploadsWebDavUri() { + return mCredentials instanceof OwnCloudAnonymousCredentials + ? Uri.parse(mBaseUri + WEBDAV_UPLOADS_PATH_4_0) + : Uri.parse(mBaseUri + WEBDAV_UPLOADS_PATH_4_0 + AccountUtils.getUserId( + mAccount.getSavedAccount(), getContext() + ) + ); } /** diff --git a/src/com/owncloud/android/lib/common/accounts/AccountUtils.java b/src/com/owncloud/android/lib/common/accounts/AccountUtils.java index 0b0f7ab9..aa62cb45 100644 --- a/src/com/owncloud/android/lib/common/accounts/AccountUtils.java +++ b/src/com/owncloud/android/lib/common/accounts/AccountUtils.java @@ -64,7 +64,7 @@ public class AccountUtils { try { OwnCloudCredentials ownCloudCredentials = getCredentialsForAccount(context, account); - webDavUrlForAccount = getBaseUrlForAccount(context, account) + OwnCloudClient.NEW_WEBDAV_FILES_PATH_4_0 + webDavUrlForAccount = getBaseUrlForAccount(context, account) + OwnCloudClient.WEBDAV_FILES_PATH_4_0 + ownCloudCredentials.getUsername(); } catch (OperationCanceledException e) { e.printStackTrace(); @@ -188,6 +188,16 @@ public class AccountUtils { return credentials; } + /** + * Get the user id corresponding OC account. + * @param account ownCloud account + * @return user id + */ + public static String getUserId(Account account, Context context) { + AccountManager accountMgr = AccountManager.get(context); + return accountMgr.getUserData(account, Constants.KEY_ID); + } + public static String buildAccountNameOld(Uri serverBaseUrl, String username) { if (serverBaseUrl.getScheme() == null) { serverBaseUrl = Uri.parse("https://" + serverBaseUrl.toString()); @@ -244,7 +254,7 @@ public class AccountUtils { // Account Manager AccountManager am = AccountManager.get(context.getApplicationContext()); - Uri serverUri = (client.getBaseUri() != null) ? client.getBaseUri() : client.getNewFilesWebDavUri(); + Uri serverUri = (client.getBaseUri() != null) ? client.getBaseUri() : client.getUserFilesWebDavUri(); String cookiesString = am.getUserData(account, Constants.KEY_COOKIES); if (cookiesString != null) { @@ -318,6 +328,11 @@ public class AccountUtils { */ public static final String KEY_OC_ACCOUNT_VERSION = "oc_account_version"; + /** + * User's id + */ + public static final String KEY_ID = "oc_id"; + /** * User's display name */ diff --git a/src/com/owncloud/android/lib/resources/files/CopyRemoteFileOperation.java b/src/com/owncloud/android/lib/resources/files/CopyRemoteFileOperation.java index f01c0644..4d9a9147 100644 --- a/src/com/owncloud/android/lib/resources/files/CopyRemoteFileOperation.java +++ b/src/com/owncloud/android/lib/resources/files/CopyRemoteFileOperation.java @@ -103,8 +103,8 @@ public class CopyRemoteFileOperation extends RemoteOperation { /// perform remote operation RemoteOperationResult result = null; try { - CopyMethod copyMethod = new CopyMethod(new URL(client.getNewFilesWebDavUri() + WebdavUtils.encodePath(mSrcRemotePath)), - client.getNewFilesWebDavUri() + WebdavUtils.encodePath(mTargetRemotePath), + CopyMethod copyMethod = new CopyMethod(new URL(client.getUserFilesWebDavUri() + WebdavUtils.encodePath(mSrcRemotePath)), + client.getUserFilesWebDavUri() + WebdavUtils.encodePath(mTargetRemotePath), mOverwrite); copyMethod.setReadTimeout(COPY_READ_TIMEOUT, TimeUnit.SECONDS); diff --git a/src/com/owncloud/android/lib/resources/files/CreateRemoteFolderOperation.java b/src/com/owncloud/android/lib/resources/files/CreateRemoteFolderOperation.java index 31a6555d..6eb7947d 100644 --- a/src/com/owncloud/android/lib/resources/files/CreateRemoteFolderOperation.java +++ b/src/com/owncloud/android/lib/resources/files/CreateRemoteFolderOperation.java @@ -100,7 +100,7 @@ public class CreateRemoteFolderOperation extends RemoteOperation { private RemoteOperationResult createFolder(OwnCloudClient client) { RemoteOperationResult result; try { - Uri webDavUri = createChunksFolder ? client.getNewUploadsWebDavUri() : client.getNewFilesWebDavUri(); + Uri webDavUri = createChunksFolder ? client.getUploadsWebDavUri() : client.getUserFilesWebDavUri(); final MkColMethod mkcol = new MkColMethod(new URL(webDavUri + WebdavUtils.encodePath(mRemotePath))); mkcol.setReadTimeout(READ_TIMEOUT, TimeUnit.SECONDS); mkcol.setConnectionTimeout(CONNECTION_TIMEOUT, TimeUnit.SECONDS); diff --git a/src/com/owncloud/android/lib/resources/files/DownloadRemoteFileOperation.java b/src/com/owncloud/android/lib/resources/files/DownloadRemoteFileOperation.java index 54e637cd..b9f35633 100644 --- a/src/com/owncloud/android/lib/resources/files/DownloadRemoteFileOperation.java +++ b/src/com/owncloud/android/lib/resources/files/DownloadRemoteFileOperation.java @@ -101,7 +101,7 @@ public class DownloadRemoteFileOperation extends RemoteOperation { RemoteOperationResult result; int status; boolean savedFile = false; - mGet = new GetMethod(new URL(client.getNewFilesWebDavUri() + WebdavUtils.encodePath(mRemotePath))); + mGet = new GetMethod(new URL(client.getUserFilesWebDavUri() + WebdavUtils.encodePath(mRemotePath))); Iterator it; FileOutputStream fos = null; diff --git a/src/com/owncloud/android/lib/resources/files/ExistenceCheckRemoteOperation.java b/src/com/owncloud/android/lib/resources/files/ExistenceCheckRemoteOperation.java index 3de48b46..71d8060b 100644 --- a/src/com/owncloud/android/lib/resources/files/ExistenceCheckRemoteOperation.java +++ b/src/com/owncloud/android/lib/resources/files/ExistenceCheckRemoteOperation.java @@ -56,6 +56,7 @@ public class ExistenceCheckRemoteOperation extends RemoteOperation { private String mPath; private boolean mSuccessIfAbsent; + private boolean mIsLogin; /** * Sequence of redirections followed. Available only after executing the operation @@ -68,10 +69,13 @@ public class ExistenceCheckRemoteOperation extends RemoteOperation { * @param remotePath Path to append to the URL owned by the client instance. * @param successIfAbsent When 'true', the operation finishes in success if the path does * NOT exist in the remote server (HTTP 404). + * @param isLogin When `true`, the username won't be added at the end of the PROPFIND url since is not + * needed to check user credentials */ - public ExistenceCheckRemoteOperation(String remotePath, boolean successIfAbsent) { + public ExistenceCheckRemoteOperation(String remotePath, boolean successIfAbsent, boolean isLogin) { mPath = (remotePath != null) ? remotePath : ""; mSuccessIfAbsent = successIfAbsent; + mIsLogin = isLogin; } @Override @@ -80,8 +84,11 @@ public class ExistenceCheckRemoteOperation extends RemoteOperation { boolean previousFollowRedirects = client.followRedirects(); try { + String stringUrl = mIsLogin ? + client.getBaseFilesWebDavUri().toString() : + client.getUserFilesWebDavUri() + WebdavUtils.encodePath(mPath); PropfindMethod propfindMethod = new PropfindMethod( - new URL(client.getNewFilesWebDavUri() + WebdavUtils.encodePath(mPath)), + new URL(stringUrl), 0, DavUtils.getAllPropset() ); @@ -102,9 +109,8 @@ public class ExistenceCheckRemoteOperation extends RemoteOperation { * 207 MULTI_STATUS: path exists. */ - Log_OC.d(TAG, "Existence check for " + client.getNewFilesWebDavUri() + - WebdavUtils.encodePath(mPath) + " targeting for " + - (mSuccessIfAbsent ? " absence " : " existence ") + + Log_OC.d(TAG, "Existence check for " + stringUrl + WebdavUtils.encodePath(mPath) + + " targeting for " + (mSuccessIfAbsent ? " absence " : " existence ") + "finished with HTTP status " + status + (!isSuccess(status) ? "(FAIL)" : "")); return isSuccess(status) @@ -113,7 +119,7 @@ public class ExistenceCheckRemoteOperation extends RemoteOperation { } catch (Exception e) { final RemoteOperationResult result = new RemoteOperationResult<>(e); - Log_OC.e(TAG, "Existence check for " + client.getNewFilesWebDavUri() + + Log_OC.e(TAG, "Existence check for " + client.getUserFilesWebDavUri() + WebdavUtils.encodePath(mPath) + " targeting for " + (mSuccessIfAbsent ? " absence " : " existence ") + ": " + result.getLogMessage(), result.getException()); diff --git a/src/com/owncloud/android/lib/resources/files/MoveRemoteFileOperation.java b/src/com/owncloud/android/lib/resources/files/MoveRemoteFileOperation.java index 9673ee95..f2cda2fa 100644 --- a/src/com/owncloud/android/lib/resources/files/MoveRemoteFileOperation.java +++ b/src/com/owncloud/android/lib/resources/files/MoveRemoteFileOperation.java @@ -111,11 +111,11 @@ public class MoveRemoteFileOperation extends RemoteOperation { try { // After finishing a chunked upload, we have to move the resulting file from uploads folder to files one, // so this uri has to be customizable - Uri srcWebDavUri = moveChunkedFile ? client.getNewUploadsWebDavUri() : client.getNewFilesWebDavUri(); + Uri srcWebDavUri = moveChunkedFile ? client.getUploadsWebDavUri() : client.getUserFilesWebDavUri(); final MoveMethod move = new MoveMethod( new URL(srcWebDavUri + WebdavUtils.encodePath(mSrcRemotePath)), - client.getNewFilesWebDavUri() + WebdavUtils.encodePath(mTargetRemotePath), + client.getUserFilesWebDavUri() + WebdavUtils.encodePath(mTargetRemotePath), mOverwrite); if (moveChunkedFile) { diff --git a/src/com/owncloud/android/lib/resources/files/ReadRemoteFileOperation.java b/src/com/owncloud/android/lib/resources/files/ReadRemoteFileOperation.java index 0680ba26..a40bbbad 100644 --- a/src/com/owncloud/android/lib/resources/files/ReadRemoteFileOperation.java +++ b/src/com/owncloud/android/lib/resources/files/ReadRemoteFileOperation.java @@ -75,7 +75,7 @@ public class ReadRemoteFileOperation extends RemoteOperation { /// take the duty of check the server for the current state of the file there try { // remote request - propfind = new PropfindMethod(new URL(client.getNewFilesWebDavUri() + WebdavUtils.encodePath(mRemotePath)), + propfind = new PropfindMethod(new URL(client.getUserFilesWebDavUri() + WebdavUtils.encodePath(mRemotePath)), DEPTH_0, DavUtils.getAllPropset()); diff --git a/src/com/owncloud/android/lib/resources/files/ReadRemoteFolderOperation.java b/src/com/owncloud/android/lib/resources/files/ReadRemoteFolderOperation.java index f80e68cb..815ad552 100644 --- a/src/com/owncloud/android/lib/resources/files/ReadRemoteFolderOperation.java +++ b/src/com/owncloud/android/lib/resources/files/ReadRemoteFolderOperation.java @@ -75,7 +75,7 @@ public class ReadRemoteFolderOperation extends RemoteOperation(ResultCode.INVALID_OVERWRITE); } - final MoveMethod move = new MoveMethod(new URL(client.getNewFilesWebDavUri() + + final MoveMethod move = new MoveMethod(new URL(client.getUserFilesWebDavUri() + WebdavUtils.encodePath(mOldRemotePath)), - client.getNewFilesWebDavUri() + WebdavUtils.encodePath(mNewRemotePath), false); + client.getUserFilesWebDavUri() + WebdavUtils.encodePath(mNewRemotePath), false); move.setReadTimeout(RENAME_READ_TIMEOUT, TimeUnit.SECONDS); move.setConnectionTimeout(RENAME_READ_TIMEOUT, TimeUnit.SECONDS); @@ -138,7 +138,7 @@ public class RenameRemoteFileOperation extends RemoteOperation { */ private boolean targetPathIsUsed(OwnCloudClient client) { ExistenceCheckRemoteOperation existenceCheckRemoteOperation = - new ExistenceCheckRemoteOperation(mNewRemotePath, false); + new ExistenceCheckRemoteOperation(mNewRemotePath, false, false); RemoteOperationResult exists = existenceCheckRemoteOperation.run(client); return exists.isSuccess(); } diff --git a/src/com/owncloud/android/lib/resources/files/UploadRemoteFileOperation.java b/src/com/owncloud/android/lib/resources/files/UploadRemoteFileOperation.java index faa18222..4f6bae81 100644 --- a/src/com/owncloud/android/lib/resources/files/UploadRemoteFileOperation.java +++ b/src/com/owncloud/android/lib/resources/files/UploadRemoteFileOperation.java @@ -89,7 +89,7 @@ public class UploadRemoteFileOperation extends RemoteOperation { try { mPutMethod = new PutMethod( - new URL(client.getNewFilesWebDavUri() + WebdavUtils.encodePath(mRemotePath))); + new URL(client.getUserFilesWebDavUri() + WebdavUtils.encodePath(mRemotePath))); mPutMethod.setRetryOnConnectionFailure(false); diff --git a/src/com/owncloud/android/lib/resources/files/chunks/ChunkedUploadRemoteFileOperation.java b/src/com/owncloud/android/lib/resources/files/chunks/ChunkedUploadRemoteFileOperation.java index ac1df185..0b6239c9 100644 --- a/src/com/owncloud/android/lib/resources/files/chunks/ChunkedUploadRemoteFileOperation.java +++ b/src/com/owncloud/android/lib/resources/files/chunks/ChunkedUploadRemoteFileOperation.java @@ -84,7 +84,7 @@ public class ChunkedUploadRemoteFileOperation extends UploadRemoteFileOperation } long offset = 0; - String uriPrefix = client.getNewUploadsWebDavUri() + FileUtils.PATH_SEPARATOR + String.valueOf(mTransferId); + String uriPrefix = client.getUploadsWebDavUri() + FileUtils.PATH_SEPARATOR + String.valueOf(mTransferId); long totalLength = fileToUpload.length(); long chunkCount = (long) Math.ceil((double) totalLength / CHUNK_SIZE); diff --git a/src/com/owncloud/android/lib/resources/users/GetRemoteUserQuotaOperation.java b/src/com/owncloud/android/lib/resources/users/GetRemoteUserQuotaOperation.java index e48b1eed..d856be15 100644 --- a/src/com/owncloud/android/lib/resources/users/GetRemoteUserQuotaOperation.java +++ b/src/com/owncloud/android/lib/resources/users/GetRemoteUserQuotaOperation.java @@ -89,7 +89,7 @@ public class GetRemoteUserQuotaOperation extends RemoteOperation Date: Wed, 7 Nov 2018 17:09:42 +0100 Subject: [PATCH 2/3] Use LDAP user ids when creating local files --- .../android/lib/common/accounts/AccountUtils.java | 2 +- .../lib/resources/files/ReadRemoteFileOperation.java | 4 +++- .../lib/resources/files/ReadRemoteFolderOperation.java | 5 +++-- .../owncloud/android/lib/resources/files/RemoteFile.java | 8 ++++---- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/com/owncloud/android/lib/common/accounts/AccountUtils.java b/src/com/owncloud/android/lib/common/accounts/AccountUtils.java index aa62cb45..72126285 100644 --- a/src/com/owncloud/android/lib/common/accounts/AccountUtils.java +++ b/src/com/owncloud/android/lib/common/accounts/AccountUtils.java @@ -189,7 +189,7 @@ public class AccountUtils { } /** - * Get the user id corresponding OC account. + * Get the user id corresponding to an OC account. * @param account ownCloud account * @return user id */ diff --git a/src/com/owncloud/android/lib/resources/files/ReadRemoteFileOperation.java b/src/com/owncloud/android/lib/resources/files/ReadRemoteFileOperation.java index a40bbbad..f8476def 100644 --- a/src/com/owncloud/android/lib/resources/files/ReadRemoteFileOperation.java +++ b/src/com/owncloud/android/lib/resources/files/ReadRemoteFileOperation.java @@ -24,6 +24,7 @@ package com.owncloud.android.lib.resources.files; import com.owncloud.android.lib.common.OwnCloudClient; +import com.owncloud.android.lib.common.accounts.AccountUtils; import com.owncloud.android.lib.common.http.HttpConstants; import com.owncloud.android.lib.common.http.methods.webdav.DavUtils; import com.owncloud.android.lib.common.http.methods.webdav.PropfindMethod; @@ -43,6 +44,7 @@ import static com.owncloud.android.lib.common.operations.RemoteOperationResult.R * * @author David A. Velasco * @author masensio + * @author David González Verdugo */ public class ReadRemoteFileOperation extends RemoteOperation { @@ -86,7 +88,7 @@ public class ReadRemoteFileOperation extends RemoteOperation { if (status == HttpConstants.HTTP_MULTI_STATUS || status == HttpConstants.HTTP_OK) { - final RemoteFile file = new RemoteFile(propfind.getRoot(), client.getCredentials().getUsername()); + final RemoteFile file = new RemoteFile(propfind.getRoot(), AccountUtils.getUserId(mAccount, mContext)); result = new RemoteOperationResult<>(OK); result.setData(file); diff --git a/src/com/owncloud/android/lib/resources/files/ReadRemoteFolderOperation.java b/src/com/owncloud/android/lib/resources/files/ReadRemoteFolderOperation.java index 815ad552..8136a7a3 100644 --- a/src/com/owncloud/android/lib/resources/files/ReadRemoteFolderOperation.java +++ b/src/com/owncloud/android/lib/resources/files/ReadRemoteFolderOperation.java @@ -25,6 +25,7 @@ package com.owncloud.android.lib.resources.files; import com.owncloud.android.lib.common.OwnCloudClient; +import com.owncloud.android.lib.common.accounts.AccountUtils; import com.owncloud.android.lib.common.http.HttpConstants; import com.owncloud.android.lib.common.http.methods.webdav.DavConstants; import com.owncloud.android.lib.common.http.methods.webdav.DavUtils; @@ -88,12 +89,12 @@ public class ReadRemoteFolderOperation extends RemoteOperation properties = davResource.getProperties(); for(Property property : properties) { @@ -227,8 +227,8 @@ public class RemoteFile implements Parcelable, Serializable { } - private static String getRemotePathFromUrl(HttpUrl url, String displayName) { - final String davPath = WEBDAV_FILES_PATH_4_0 + displayName; + private static String getRemotePathFromUrl(HttpUrl url, String userId) { + final String davPath = WEBDAV_FILES_PATH_4_0 + userId; final String pathToOc = url.encodedPath().split(davPath)[0]; return Uri.decode(url.encodedPath()).replace(pathToOc + davPath, ""); } From d367348217f62f8333c57dd7b3c2a67b5035cb98 Mon Sep 17 00:00:00 2001 From: davigonz Date: Thu, 8 Nov 2018 12:46:14 +0100 Subject: [PATCH 3/3] Get rid of old ant tests --- .travis.yml | 15 +- settings.gradle | 3 +- test_client/.classpath | 9 - test_client/.project | 33 -- .../.settings/org.eclipse.jdt.core.prefs | 4 - test_client/AndroidManifest.xml | 60 --- test_client/assets/imageFile.png | Bin 21044 -> 0 bytes test_client/assets/textFile.txt | 3 - test_client/assets/videoFile.MP4 | Bin 7716216 -> 0 bytes test_client/build.gradle | 50 -- test_client/build.xml | 92 ---- test_client/custom_rules.xml | 75 --- test_client/gradle/wrapper/gradle-wrapper.jar | Bin 53636 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 - test_client/gradlew | 164 ------- test_client/gradlew.bat | 90 ---- test_client/ic_launcher-web.png | Bin 51394 -> 0 bytes test_client/libs/android-support-v4.jar | Bin 349252 -> 0 bytes test_client/project.properties | 15 - test_client/res/drawable-hdpi/ic_launcher.png | Bin 7658 -> 0 bytes test_client/res/drawable-mdpi/ic_launcher.png | Bin 3777 -> 0 bytes .../res/drawable-xhdpi/ic_launcher.png | Bin 12516 -> 0 bytes .../res/drawable-xxhdpi/ic_launcher.png | Bin 24777 -> 0 bytes test_client/res/layout/activity_test.xml | 39 -- test_client/res/menu/test.xml | 32 -- test_client/res/values-sw600dp/dimens.xml | 32 -- .../res/values-sw720dp-land/dimens.xml | 33 -- test_client/res/values-v11/styles.xml | 35 -- test_client/res/values-v14/styles.xml | 36 -- test_client/res/values/dimens.xml | 30 -- test_client/res/values/setup.xml | 33 -- test_client/res/values/strings.xml | 33 -- test_client/res/values/styles.xml | 43 -- test_client/settings.gradle | 2 - .../lib/test_project/TestActivity.java | 371 -------------- test_client/tests/.classpath | 10 - test_client/tests/.project | 33 -- .../.settings/org.eclipse.jdt.core.prefs | 4 - test_client/tests/AndroidManifest.xml | 41 -- test_client/tests/ant.properties | 18 - test_client/tests/build.gradle | 34 -- test_client/tests/build.xml | 92 ---- test_client/tests/custom_rules.xml | 20 - test_client/tests/project.properties | 14 - .../tests/res/drawable-hdpi/ic_launcher.png | Bin 9397 -> 0 bytes .../tests/res/drawable-ldpi/ic_launcher.png | Bin 2729 -> 0 bytes .../tests/res/drawable-mdpi/ic_launcher.png | Bin 5237 -> 0 bytes .../tests/res/drawable-xhdpi/ic_launcher.png | Bin 14383 -> 0 bytes test_client/tests/res/values/strings.xml | 30 -- .../lib/test_project/test/CopyFileTest.java | 455 ----------------- .../test_project/test/CreateFolderTest.java | 133 ----- .../test_project/test/CreateShareTest.java | 310 ------------ .../lib/test_project/test/DeleteFileTest.java | 104 ---- .../test_project/test/DownloadFileTest.java | 143 ------ .../test/GetCapabilitiesTest.java | 144 ------ .../lib/test_project/test/GetShareesTest.java | 282 ----------- .../lib/test_project/test/GetSharesTest.java | 93 ---- .../test_project/test/GetUserAvatarTest.java | 107 ---- .../test_project/test/GetUserQuotaTest.java | 73 --- .../lib/test_project/test/MoveFileTest.java | 456 ------------------ .../OwnCloudClientManagerFactoryTest.java | 155 ------ .../test_project/test/OwnCloudClientTest.java | 375 -------------- .../lib/test_project/test/ReadFileTest.java | 85 ---- .../lib/test_project/test/ReadFolderTest.java | 101 ---- .../lib/test_project/test/RemoteTest.java | 69 --- .../test_project/test/RemoveShareTest.java | 91 ---- .../lib/test_project/test/RenameFileTest.java | 232 --------- .../test/SimpleFactoryManagerTest.java | 132 ----- .../test/SingleSessionManagerTest.java | 131 ----- .../test/UpdatePrivateShareTest.java | 257 ---------- .../test/UpdatePublicShareTest.java | 283 ----------- .../lib/test_project/test/UploadFileTest.java | 124 ----- .../android/lib/test_project/test/Utils.java | 55 --- 73 files changed, 3 insertions(+), 6021 deletions(-) delete mode 100644 test_client/.classpath delete mode 100644 test_client/.project delete mode 100644 test_client/.settings/org.eclipse.jdt.core.prefs delete mode 100644 test_client/AndroidManifest.xml delete mode 100644 test_client/assets/imageFile.png delete mode 100644 test_client/assets/textFile.txt delete mode 100644 test_client/assets/videoFile.MP4 delete mode 100644 test_client/build.gradle delete mode 100644 test_client/build.xml delete mode 100644 test_client/custom_rules.xml delete mode 100644 test_client/gradle/wrapper/gradle-wrapper.jar delete mode 100644 test_client/gradle/wrapper/gradle-wrapper.properties delete mode 100755 test_client/gradlew delete mode 100644 test_client/gradlew.bat delete mode 100644 test_client/ic_launcher-web.png delete mode 100644 test_client/libs/android-support-v4.jar delete mode 100644 test_client/project.properties delete mode 100644 test_client/res/drawable-hdpi/ic_launcher.png delete mode 100644 test_client/res/drawable-mdpi/ic_launcher.png delete mode 100644 test_client/res/drawable-xhdpi/ic_launcher.png delete mode 100644 test_client/res/drawable-xxhdpi/ic_launcher.png delete mode 100644 test_client/res/layout/activity_test.xml delete mode 100644 test_client/res/menu/test.xml delete mode 100644 test_client/res/values-sw600dp/dimens.xml delete mode 100644 test_client/res/values-sw720dp-land/dimens.xml delete mode 100644 test_client/res/values-v11/styles.xml delete mode 100644 test_client/res/values-v14/styles.xml delete mode 100644 test_client/res/values/dimens.xml delete mode 100644 test_client/res/values/setup.xml delete mode 100644 test_client/res/values/strings.xml delete mode 100644 test_client/res/values/styles.xml delete mode 100644 test_client/settings.gradle delete mode 100644 test_client/src/com/owncloud/android/lib/test_project/TestActivity.java delete mode 100644 test_client/tests/.classpath delete mode 100644 test_client/tests/.project delete mode 100644 test_client/tests/.settings/org.eclipse.jdt.core.prefs delete mode 100644 test_client/tests/AndroidManifest.xml delete mode 100644 test_client/tests/ant.properties delete mode 100644 test_client/tests/build.gradle delete mode 100644 test_client/tests/build.xml delete mode 100644 test_client/tests/custom_rules.xml delete mode 100644 test_client/tests/project.properties delete mode 100644 test_client/tests/res/drawable-hdpi/ic_launcher.png delete mode 100644 test_client/tests/res/drawable-ldpi/ic_launcher.png delete mode 100644 test_client/tests/res/drawable-mdpi/ic_launcher.png delete mode 100644 test_client/tests/res/drawable-xhdpi/ic_launcher.png delete mode 100644 test_client/tests/res/values/strings.xml delete mode 100644 test_client/tests/src/com/owncloud/android/lib/test_project/test/CopyFileTest.java delete mode 100644 test_client/tests/src/com/owncloud/android/lib/test_project/test/CreateFolderTest.java delete mode 100644 test_client/tests/src/com/owncloud/android/lib/test_project/test/CreateShareTest.java delete mode 100644 test_client/tests/src/com/owncloud/android/lib/test_project/test/DeleteFileTest.java delete mode 100644 test_client/tests/src/com/owncloud/android/lib/test_project/test/DownloadFileTest.java delete mode 100644 test_client/tests/src/com/owncloud/android/lib/test_project/test/GetCapabilitiesTest.java delete mode 100644 test_client/tests/src/com/owncloud/android/lib/test_project/test/GetShareesTest.java delete mode 100644 test_client/tests/src/com/owncloud/android/lib/test_project/test/GetSharesTest.java delete mode 100644 test_client/tests/src/com/owncloud/android/lib/test_project/test/GetUserAvatarTest.java delete mode 100644 test_client/tests/src/com/owncloud/android/lib/test_project/test/GetUserQuotaTest.java delete mode 100644 test_client/tests/src/com/owncloud/android/lib/test_project/test/MoveFileTest.java delete mode 100644 test_client/tests/src/com/owncloud/android/lib/test_project/test/OwnCloudClientManagerFactoryTest.java delete mode 100644 test_client/tests/src/com/owncloud/android/lib/test_project/test/OwnCloudClientTest.java delete mode 100644 test_client/tests/src/com/owncloud/android/lib/test_project/test/ReadFileTest.java delete mode 100644 test_client/tests/src/com/owncloud/android/lib/test_project/test/ReadFolderTest.java delete mode 100644 test_client/tests/src/com/owncloud/android/lib/test_project/test/RemoteTest.java delete mode 100644 test_client/tests/src/com/owncloud/android/lib/test_project/test/RemoveShareTest.java delete mode 100644 test_client/tests/src/com/owncloud/android/lib/test_project/test/RenameFileTest.java delete mode 100644 test_client/tests/src/com/owncloud/android/lib/test_project/test/SimpleFactoryManagerTest.java delete mode 100644 test_client/tests/src/com/owncloud/android/lib/test_project/test/SingleSessionManagerTest.java delete mode 100644 test_client/tests/src/com/owncloud/android/lib/test_project/test/UpdatePrivateShareTest.java delete mode 100644 test_client/tests/src/com/owncloud/android/lib/test_project/test/UpdatePublicShareTest.java delete mode 100644 test_client/tests/src/com/owncloud/android/lib/test_project/test/UploadFileTest.java delete mode 100644 test_client/tests/src/com/owncloud/android/lib/test_project/test/Utils.java diff --git a/.travis.yml b/.travis.yml index 4fae7ec7..d0bca7a2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,25 +17,14 @@ install: - yes | sdkmanager --list # After Travis updated image with Android base environment, building via ant is not possible anymore. -# Library tests are old-style tests, and trust on legacy Android ant environment. -# Need to disable tests until they are ported to JUnit 4 and gradle build. -#- echo no | android create avd --force -n test -t $ANDROID_TARGET --abi $ANDROID_ABI -c 20M -#- emulator -avd test -no-window & +# Port library tests to new-style with JUnit 4 and gradle build. - rm pom.xml -#- android update project -p . -#- chmod +x ./wait_for_emulator.sh -#- ./wait_for_emulator.sh -# + # On the other hand, Travis still uses 'android' command behind the 'components' section update. # That command is obsolete and cannot update Android SDK Tools after 25.2.5. # Let's solve it here with the new command 'sdkmanager' - yes | sdkmanager --verbose tools script: -#- ant clean -#- ant debug -#- cd test_client/tests -#- ant acceptance-test -#- cd ../.. - ./gradlew clean build env: global: diff --git a/settings.gradle b/settings.gradle index 3f42d192..7cf73a38 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,3 +1,2 @@ include ':' -include ':sample_client' -include ':test_client' \ No newline at end of file +include ':sample_client' \ No newline at end of file diff --git a/test_client/.classpath b/test_client/.classpath deleted file mode 100644 index 7bc01d9a..00000000 --- a/test_client/.classpath +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/test_client/.project b/test_client/.project deleted file mode 100644 index 30c2462f..00000000 --- a/test_client/.project +++ /dev/null @@ -1,33 +0,0 @@ - - - ownCloud Android library test project - - - - - - com.android.ide.eclipse.adt.ResourceManagerBuilder - - - - - com.android.ide.eclipse.adt.PreCompilerBuilder - - - - - org.eclipse.jdt.core.javabuilder - - - - - com.android.ide.eclipse.adt.ApkBuilder - - - - - - com.android.ide.eclipse.adt.AndroidNature - org.eclipse.jdt.core.javanature - - diff --git a/test_client/.settings/org.eclipse.jdt.core.prefs b/test_client/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index b080d2dd..00000000 --- a/test_client/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,4 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.source=1.6 diff --git a/test_client/AndroidManifest.xml b/test_client/AndroidManifest.xml deleted file mode 100644 index 14de3eab..00000000 --- a/test_client/AndroidManifest.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/test_client/assets/imageFile.png b/test_client/assets/imageFile.png deleted file mode 100644 index 915ec22c7457bb0661ace9cbaefb6b1645a0d5c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21044 zcmce-cT`ht(=NUt0zQghp-9JyQdOi2!2&2qlMYe@DbkT%6ZJ)u>LUo!5v2DTdQh5l z=|~H`haLiH`|R+1=Xbty*7sZMd(R(dt)PMI+-2^WYi6#Q`=geI%9&G~rvLyr^W^cP zX8>>ldP|EuNelfK!Ivxv0NTVSkM8UGjAN%l5W|Z{aLShXHu0pV!>}{9edH9!zrK7b z!B5MCM%9ee