mirror of
https://github.com/owncloud/android-library.git
synced 2025-06-08 00:16:09 +00:00
REALLY use Travis build number to avoid parallel tests interfere each other
This commit is contained in:
parent
1f27c0f318
commit
57173b175c
@ -1,5 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project name="custom_rules">
|
||||
|
||||
<target name="-pre-build" >
|
||||
<!-- Make Travis build number available to the test app in the emulator -->
|
||||
<if>
|
||||
<condition>
|
||||
<isset property="env.TRAVIS_BUILD_NUMBER" />
|
||||
</condition>
|
||||
<then>
|
||||
<replaceregexp
|
||||
file="res/values/setup.xml"
|
||||
match='("build_number">)\s*(<)'
|
||||
replace="\1${env.TRAVIS_BUILD_NUMBER}\2"
|
||||
byline="true" />
|
||||
</then>
|
||||
</if>
|
||||
</target>
|
||||
|
||||
<!-- Run regular Android target 'test', but fails if any test is not successful -->
|
||||
<target name="acceptance-test" depends="clean, debug, install" >
|
||||
<property name="log.file" value="tests_output.txt" />
|
||||
|
28
test_client/tests/res/values/setup.xml
Normal file
28
test_client/tests/res/values/setup.xml
Normal file
@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- ownCloud Android Library is available under MIT license
|
||||
Copyright (C) 2014 ownCloud Inc.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
||||
BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
||||
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
-->
|
||||
|
||||
<resources>
|
||||
<string name="build_number"></string>
|
||||
</resources>
|
@ -23,9 +23,7 @@
|
||||
*/
|
||||
package com.owncloud.android.lib.test_project.test;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
@ -33,52 +31,47 @@ import com.owncloud.android.lib.common.operations.RemoteOperationResult;
|
||||
import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode;
|
||||
import com.owncloud.android.lib.test_project.TestActivity;
|
||||
|
||||
import android.test.ActivityInstrumentationTestCase2;
|
||||
|
||||
/**
|
||||
* Class to test Create Folder Operation
|
||||
* @author masensio
|
||||
* @author David A. Velasco
|
||||
*
|
||||
*/
|
||||
public class CreateFolderTest extends ActivityInstrumentationTestCase2<TestActivity> {
|
||||
public class CreateFolderTest extends RemoteTest {
|
||||
|
||||
|
||||
private static final String LOG_TAG = CreateFolderTest.class.getCanonicalName();
|
||||
|
||||
private static final String FOLDER_PATH_BASE = "/testCreateFolder" + Utils.getBuildNumber();
|
||||
private static final String FOLDER_PATH_BASE = "/testCreateFolder";
|
||||
|
||||
private TestActivity mActivity;
|
||||
private String mCurrentDate;
|
||||
private List<String> mCreatedFolderPaths;
|
||||
private String mFullPath2FolderBase;
|
||||
|
||||
public CreateFolderTest() {
|
||||
super(TestActivity.class);
|
||||
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmmss");
|
||||
mCurrentDate = sdf.format(new Date());
|
||||
super();
|
||||
mCreatedFolderPaths = new ArrayList<String>();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
setActivityInitialTouchMode(false);
|
||||
mActivity = getActivity();
|
||||
mCreatedFolderPaths.clear();
|
||||
mFullPath2FolderBase = mBaseFolderPath + FOLDER_PATH_BASE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test Create Folder
|
||||
*/
|
||||
public void testCreateFolder() {
|
||||
String remotePath = FOLDER_PATH_BASE + mCurrentDate;
|
||||
String remotePath = mFullPath2FolderBase;
|
||||
mCreatedFolderPaths.add(remotePath);
|
||||
RemoteOperationResult result = mActivity.createFolder(remotePath, true);
|
||||
assertTrue(result.isSuccess() || result.getCode() == ResultCode.TIMEOUT);
|
||||
|
||||
// Create Subfolder
|
||||
remotePath = FOLDER_PATH_BASE + mCurrentDate + FOLDER_PATH_BASE + mCurrentDate;
|
||||
remotePath = mFullPath2FolderBase + FOLDER_PATH_BASE;
|
||||
mCreatedFolderPaths.add(remotePath);
|
||||
result = mActivity.createFolder(remotePath, true);
|
||||
assertTrue(result.isSuccess() || result.getCode() == ResultCode.TIMEOUT);
|
||||
@ -90,35 +83,35 @@ public class CreateFolderTest extends ActivityInstrumentationTestCase2<TestActiv
|
||||
*/
|
||||
public void testCreateFolderSpecialCharacters() {
|
||||
|
||||
String remotePath = FOLDER_PATH_BASE + "_\\" + mCurrentDate;
|
||||
String remotePath = mFullPath2FolderBase + "_\\";
|
||||
RemoteOperationResult result = mActivity.createFolder(remotePath, true);
|
||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||
|
||||
remotePath = FOLDER_PATH_BASE + "_<" + mCurrentDate;
|
||||
remotePath = mFullPath2FolderBase + "_<";
|
||||
result = mActivity.createFolder(remotePath, true);
|
||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||
|
||||
remotePath = FOLDER_PATH_BASE + "_>" + mCurrentDate;
|
||||
remotePath = mFullPath2FolderBase + "_>";
|
||||
result = mActivity.createFolder(remotePath, true);
|
||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||
|
||||
remotePath = FOLDER_PATH_BASE + "_:" + mCurrentDate;
|
||||
remotePath = mFullPath2FolderBase + "_:";
|
||||
result = mActivity.createFolder(remotePath, true);
|
||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||
|
||||
remotePath = FOLDER_PATH_BASE + "_\"" + mCurrentDate;
|
||||
remotePath = mFullPath2FolderBase + "_\"";
|
||||
result = mActivity.createFolder(remotePath, true);
|
||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||
|
||||
remotePath = FOLDER_PATH_BASE + "_|" + mCurrentDate;
|
||||
remotePath = mFullPath2FolderBase + "_|";
|
||||
result = mActivity.createFolder(remotePath, true);
|
||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||
|
||||
remotePath = FOLDER_PATH_BASE + "_?" + mCurrentDate;
|
||||
remotePath = mFullPath2FolderBase + "_?";
|
||||
result = mActivity.createFolder(remotePath, true);
|
||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||
|
||||
remotePath = FOLDER_PATH_BASE + "_*" + mCurrentDate;
|
||||
remotePath = mFullPath2FolderBase + "_*";
|
||||
result = mActivity.createFolder(remotePath, true);
|
||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||
}
|
||||
|
@ -31,32 +31,27 @@ import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCo
|
||||
import com.owncloud.android.lib.resources.shares.ShareType;
|
||||
import com.owncloud.android.lib.test_project.TestActivity;
|
||||
|
||||
import android.test.ActivityInstrumentationTestCase2;
|
||||
|
||||
public class CreateShareTest extends ActivityInstrumentationTestCase2<TestActivity> {
|
||||
public class CreateShareTest extends RemoteTest {
|
||||
|
||||
private static final String LOG_TAG = CreateShareTest.class.getCanonicalName();
|
||||
|
||||
/* File to share.*/
|
||||
private static final String FILE_TO_SHARE = "/fileToShare" + Utils.getBuildNumber() + ".txt";
|
||||
private static final String FILE_TO_SHARE = "/fileToShare.txt";
|
||||
|
||||
private TestActivity mActivity;
|
||||
|
||||
public CreateShareTest() {
|
||||
super(TestActivity.class);
|
||||
|
||||
}
|
||||
|
||||
private String mFullPath2FileToShare;
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
setActivityInitialTouchMode(false);
|
||||
mActivity = getActivity();
|
||||
|
||||
mFullPath2FileToShare = mBaseFolderPath + FILE_TO_SHARE;
|
||||
|
||||
File textFile = mActivity.extractAsset(TestActivity.ASSETS__TEXT_FILE_NAME);
|
||||
RemoteOperationResult result = mActivity.uploadFile(
|
||||
textFile.getAbsolutePath(),
|
||||
FILE_TO_SHARE,
|
||||
mFullPath2FileToShare,
|
||||
"txt/plain");
|
||||
if (!result.isSuccess()) {
|
||||
Utils.logAndThrow(LOG_TAG, result);
|
||||
@ -68,7 +63,7 @@ public class CreateShareTest extends ActivityInstrumentationTestCase2<TestActivi
|
||||
*/
|
||||
public void testCreatePublicShare() {
|
||||
RemoteOperationResult result = mActivity.createShare(
|
||||
FILE_TO_SHARE,
|
||||
mFullPath2FileToShare,
|
||||
ShareType.PUBLIC_LINK,
|
||||
"",
|
||||
false,
|
||||
@ -80,7 +75,7 @@ public class CreateShareTest extends ActivityInstrumentationTestCase2<TestActivi
|
||||
|
||||
@Override
|
||||
protected void tearDown() throws Exception {
|
||||
RemoteOperationResult removeResult = mActivity.removeFile(FILE_TO_SHARE);
|
||||
RemoteOperationResult removeResult = mActivity.removeFile(mFullPath2FileToShare);
|
||||
if (!removeResult.isSuccess() && removeResult.getCode() != ResultCode.TIMEOUT) {
|
||||
Utils.logAndThrow(LOG_TAG, removeResult);
|
||||
}
|
||||
|
@ -30,7 +30,6 @@ import com.owncloud.android.lib.common.operations.RemoteOperationResult;
|
||||
import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode;
|
||||
import com.owncloud.android.lib.test_project.TestActivity;
|
||||
|
||||
import android.test.ActivityInstrumentationTestCase2;
|
||||
import android.util.Log;
|
||||
|
||||
/**
|
||||
@ -39,34 +38,34 @@ import android.util.Log;
|
||||
*
|
||||
*/
|
||||
|
||||
public class DeleteFileTest extends ActivityInstrumentationTestCase2<TestActivity> {
|
||||
public class DeleteFileTest extends RemoteTest {
|
||||
|
||||
private static final String LOG_TAG = DeleteFileTest.class.getCanonicalName();
|
||||
|
||||
/* Folder data to delete. */
|
||||
private static final String FOLDER_PATH = "/folderToDelete" + Utils.getBuildNumber();
|
||||
private static final String FOLDER_PATH = "/folderToDelete";
|
||||
|
||||
/* File to delete. */
|
||||
private static final String FILE_PATH = "/fileToDelete" + Utils.getBuildNumber() + ".txt";
|
||||
private static final String FILE_PATH = "/fileToDelete.txt";
|
||||
|
||||
private static boolean mGlobalSetupDone = false;
|
||||
|
||||
private TestActivity mActivity;
|
||||
|
||||
public DeleteFileTest() {
|
||||
super(TestActivity.class);
|
||||
}
|
||||
private String mFullPath2Folder;
|
||||
private String mFullPath2File;
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
setActivityInitialTouchMode(false);
|
||||
mActivity = getActivity();
|
||||
mFullPath2Folder = mBaseFolderPath + FOLDER_PATH;
|
||||
mFullPath2File = mBaseFolderPath + FILE_PATH;
|
||||
|
||||
if (!mGlobalSetupDone) {
|
||||
|
||||
Log.v(LOG_TAG, "Starting global set up");
|
||||
RemoteOperationResult result = mActivity.createFolder(FOLDER_PATH, true);
|
||||
RemoteOperationResult result = mActivity.createFolder(mFullPath2Folder, true);
|
||||
if (!result.isSuccess() && result.getCode() != ResultCode.TIMEOUT) {
|
||||
Utils.logAndThrow(LOG_TAG, result);
|
||||
}
|
||||
@ -74,7 +73,7 @@ public class DeleteFileTest extends ActivityInstrumentationTestCase2<TestActivit
|
||||
File textFile = mActivity.extractAsset(TestActivity.ASSETS__TEXT_FILE_NAME);
|
||||
result = mActivity.uploadFile(
|
||||
textFile.getAbsolutePath(),
|
||||
FILE_PATH,
|
||||
mFullPath2File,
|
||||
"txt/plain");
|
||||
if (!result.isSuccess()) {
|
||||
Utils.logAndThrow(LOG_TAG, result);
|
||||
@ -91,7 +90,7 @@ public class DeleteFileTest extends ActivityInstrumentationTestCase2<TestActivit
|
||||
*/
|
||||
public void testRemoveFolder() {
|
||||
|
||||
RemoteOperationResult result = mActivity.removeFile(FOLDER_PATH);
|
||||
RemoteOperationResult result = mActivity.removeFile(mFullPath2Folder);
|
||||
assertTrue(result.isSuccess());
|
||||
}
|
||||
|
||||
@ -100,7 +99,7 @@ public class DeleteFileTest extends ActivityInstrumentationTestCase2<TestActivit
|
||||
*/
|
||||
public void testRemoveFile() {
|
||||
|
||||
RemoteOperationResult result = mActivity.removeFile(FILE_PATH);
|
||||
RemoteOperationResult result = mActivity.removeFile(mFullPath2File);
|
||||
assertTrue(result.isSuccess());
|
||||
}
|
||||
|
||||
|
@ -31,7 +31,6 @@ import com.owncloud.android.lib.common.operations.RemoteOperationResult;
|
||||
import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode;
|
||||
import com.owncloud.android.lib.test_project.TestActivity;
|
||||
|
||||
import android.test.ActivityInstrumentationTestCase2;
|
||||
import android.util.Log;
|
||||
|
||||
/**
|
||||
@ -40,50 +39,56 @@ import android.util.Log;
|
||||
* @author David A. Velasco
|
||||
*/
|
||||
|
||||
public class DownloadFileTest extends ActivityInstrumentationTestCase2<TestActivity> {
|
||||
public class DownloadFileTest extends RemoteTest {
|
||||
|
||||
|
||||
private static final String LOG_TAG = DownloadFileTest.class.getCanonicalName();
|
||||
|
||||
/* Files to download. These files must exist on the account */
|
||||
private static final String IMAGE_PATH = "/fileToDownload" + Utils.getBuildNumber() + ".png";
|
||||
private static final String IMAGE_PATH_WITH_SPECIAL_CHARS = "/@file@download" + Utils.getBuildNumber() + ".png";
|
||||
private static final String IMAGE_NOT_FOUND = "/fileNotFound" + Utils.getBuildNumber() + ".png";
|
||||
private static final String [] FILE_PATHS = { IMAGE_PATH, IMAGE_PATH_WITH_SPECIAL_CHARS };
|
||||
private static final String IMAGE_PATH = "/fileToDownload.png";
|
||||
private static final String IMAGE_PATH_WITH_SPECIAL_CHARS = "/@file@download.png";
|
||||
private static final String IMAGE_NOT_FOUND = "/fileNotFound.png";
|
||||
|
||||
private static boolean mGlobalSetupDone = false;
|
||||
|
||||
private String mFullPath2Image;
|
||||
private String mFullPath2ImageWitSpecialChars;
|
||||
private String mFullPath2ImageNotFound;
|
||||
private String mDownloadedFilePath;
|
||||
private TestActivity mActivity;
|
||||
|
||||
|
||||
public DownloadFileTest() {
|
||||
super(TestActivity.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
setActivityInitialTouchMode(false);
|
||||
mActivity = getActivity();
|
||||
mDownloadedFilePath = null;
|
||||
mFullPath2Image = mBaseFolderPath + IMAGE_PATH;
|
||||
mFullPath2ImageWitSpecialChars = mBaseFolderPath + IMAGE_PATH_WITH_SPECIAL_CHARS;
|
||||
mFullPath2ImageNotFound = mBaseFolderPath + IMAGE_NOT_FOUND;
|
||||
|
||||
if (!mGlobalSetupDone) {
|
||||
|
||||
RemoteOperationResult result = null;
|
||||
File imageFile = mActivity.extractAsset(TestActivity.ASSETS__IMAGE_FILE_NAME);
|
||||
|
||||
for (int i=0; i<FILE_PATHS.length && (result == null || result.isSuccess()); i++) {
|
||||
result = mActivity.uploadFile(
|
||||
imageFile.getAbsolutePath(),
|
||||
FILE_PATHS[i],
|
||||
"image/png");
|
||||
}
|
||||
RemoteOperationResult result = mActivity.uploadFile(
|
||||
imageFile.getAbsolutePath(),
|
||||
mFullPath2Image,
|
||||
"image/png");
|
||||
if (!result.isSuccess()) {
|
||||
Utils.logAndThrow(LOG_TAG, result);
|
||||
}
|
||||
|
||||
result = mActivity.removeFile(IMAGE_NOT_FOUND);
|
||||
result = mActivity.uploadFile(
|
||||
imageFile.getAbsolutePath(),
|
||||
mFullPath2ImageWitSpecialChars,
|
||||
"image/png");
|
||||
if (!result.isSuccess()) {
|
||||
Utils.logAndThrow(LOG_TAG, result);
|
||||
}
|
||||
|
||||
result = mActivity.removeFile(mFullPath2ImageNotFound);
|
||||
if (!result.isSuccess() && result.getCode() != ResultCode.FILE_NOT_FOUND) {
|
||||
Utils.logAndThrow(LOG_TAG, result);
|
||||
}
|
||||
@ -99,10 +104,10 @@ public class DownloadFileTest extends ActivityInstrumentationTestCase2<TestActiv
|
||||
*/
|
||||
public void testDownloadFile() {
|
||||
RemoteOperationResult result = mActivity.downloadFile(
|
||||
new RemoteFile(IMAGE_PATH),
|
||||
new RemoteFile(mFullPath2Image),
|
||||
mActivity.getFilesDir().getAbsolutePath()
|
||||
);
|
||||
mDownloadedFilePath = IMAGE_PATH;
|
||||
mDownloadedFilePath = mFullPath2Image;
|
||||
assertTrue(result.isSuccess());
|
||||
// TODO some checks involving the local file
|
||||
}
|
||||
@ -112,10 +117,10 @@ public class DownloadFileTest extends ActivityInstrumentationTestCase2<TestActiv
|
||||
*/
|
||||
public void testDownloadFileSpecialChars() {
|
||||
RemoteOperationResult result = mActivity.downloadFile(
|
||||
new RemoteFile(IMAGE_PATH_WITH_SPECIAL_CHARS),
|
||||
new RemoteFile(mFullPath2ImageWitSpecialChars),
|
||||
mActivity.getFilesDir().getAbsolutePath()
|
||||
);
|
||||
mDownloadedFilePath = IMAGE_PATH_WITH_SPECIAL_CHARS;
|
||||
mDownloadedFilePath = mFullPath2ImageWitSpecialChars;
|
||||
assertTrue(result.isSuccess());
|
||||
// TODO some checks involving the local file
|
||||
}
|
||||
@ -125,7 +130,7 @@ public class DownloadFileTest extends ActivityInstrumentationTestCase2<TestActiv
|
||||
*/
|
||||
public void testDownloadFileNotFound() {
|
||||
RemoteOperationResult result = mActivity.downloadFile(
|
||||
new RemoteFile(IMAGE_NOT_FOUND),
|
||||
new RemoteFile(mFullPath2ImageNotFound),
|
||||
mActivity.getFilesDir().getAbsolutePath()
|
||||
);
|
||||
assertFalse(result.isSuccess());
|
||||
|
@ -31,8 +31,6 @@ import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCo
|
||||
import com.owncloud.android.lib.resources.shares.ShareType;
|
||||
import com.owncloud.android.lib.test_project.TestActivity;
|
||||
|
||||
import android.test.ActivityInstrumentationTestCase2;
|
||||
|
||||
/**
|
||||
* Class to test Get Shares Operation
|
||||
*
|
||||
@ -40,35 +38,32 @@ import android.test.ActivityInstrumentationTestCase2;
|
||||
*
|
||||
*/
|
||||
|
||||
public class GetSharesTest extends ActivityInstrumentationTestCase2<TestActivity> {
|
||||
public class GetSharesTest extends RemoteTest {
|
||||
|
||||
private static final String LOG_TAG = GetSharesTest.class.getCanonicalName();
|
||||
|
||||
private static final String SHARED_FILE = "/sharedFileToGet" + Utils.getBuildNumber() + ".txt";
|
||||
private static final String SHARED_FILE = "/sharedFileToGet.txt";
|
||||
|
||||
private TestActivity mActivity;
|
||||
private String mFullPath2SharedFile;
|
||||
|
||||
public GetSharesTest() {
|
||||
super(TestActivity.class);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
setActivityInitialTouchMode(false);
|
||||
mActivity = getActivity();
|
||||
|
||||
mFullPath2SharedFile = mBaseFolderPath + SHARED_FILE;
|
||||
|
||||
File textFile = mActivity.extractAsset(TestActivity.ASSETS__TEXT_FILE_NAME);
|
||||
RemoteOperationResult result = mActivity.uploadFile(
|
||||
textFile.getAbsolutePath(),
|
||||
SHARED_FILE,
|
||||
mFullPath2SharedFile,
|
||||
"txt/plain");
|
||||
if (!result.isSuccess()) {
|
||||
Utils.logAndThrow(LOG_TAG, result);
|
||||
}
|
||||
|
||||
result = mActivity.createShare(SHARED_FILE, ShareType.PUBLIC_LINK, "", false, "", 1);
|
||||
result = mActivity.createShare(mFullPath2SharedFile, ShareType.PUBLIC_LINK, "", false, "", 1);
|
||||
if (!result.isSuccess() && result.getCode() != ResultCode.TIMEOUT) {
|
||||
Utils.logAndThrow(LOG_TAG, result);
|
||||
}
|
||||
@ -87,7 +82,7 @@ public class GetSharesTest extends ActivityInstrumentationTestCase2<TestActivity
|
||||
|
||||
@Override
|
||||
protected void tearDown() throws Exception {
|
||||
RemoteOperationResult removeResult = mActivity.removeFile(SHARED_FILE);
|
||||
RemoteOperationResult removeResult = mActivity.removeFile(mFullPath2SharedFile);
|
||||
if (!removeResult.isSuccess() && removeResult.getCode() != ResultCode.TIMEOUT) {
|
||||
Utils.logAndThrow(LOG_TAG, removeResult);
|
||||
}
|
||||
|
@ -46,8 +46,6 @@ import com.owncloud.android.lib.test_project.TestActivity;
|
||||
|
||||
import android.content.Context;
|
||||
import android.net.Uri;
|
||||
import android.test.ActivityInstrumentationTestCase2;
|
||||
//import android.test.AndroidTestCase;
|
||||
import android.util.Log;
|
||||
|
||||
/**
|
||||
@ -69,15 +67,15 @@ import android.util.Log;
|
||||
*/
|
||||
|
||||
//public class MoveFileTest extends AndroidTestCase {
|
||||
public class MoveFileTest extends ActivityInstrumentationTestCase2<TestActivity> {
|
||||
public class MoveFileTest extends RemoteTest {
|
||||
|
||||
private static final String LOG_TAG = MoveFileTest.class.getCanonicalName();
|
||||
|
||||
|
||||
/// Paths to files and folders in fixture
|
||||
|
||||
private static final String SRC_BASE_FOLDER = "/src" + Utils.getBuildNumber() + "/";
|
||||
private static final String TARGET_BASE_FOLDER = "/target" + Utils.getBuildNumber() + "/";
|
||||
private static final String SRC_BASE_FOLDER = "/src/";
|
||||
private static final String TARGET_BASE_FOLDER = "/target/";
|
||||
private static final String NO_FILE = "nofile.txt";
|
||||
private static final String FILE1 = "file1.txt";
|
||||
private static final String FILE2 = "file2.txt";
|
||||
@ -209,7 +207,7 @@ public class MoveFileTest extends ActivityInstrumentationTestCase2<TestActivity>
|
||||
OwnCloudClient mClient = null;
|
||||
|
||||
public MoveFileTest() {
|
||||
super(TestActivity.class);
|
||||
super();
|
||||
|
||||
Protocol pr = Protocol.getProtocol("https");
|
||||
if (pr == null || !(pr.getSocketFactory() instanceof SelfSignedConfidentSslSocketFactory)) {
|
||||
@ -244,7 +242,7 @@ public class MoveFileTest extends ActivityInstrumentationTestCase2<TestActivity>
|
||||
|
||||
RemoteOperationResult result = null;
|
||||
for (String folderPath : FOLDERS_IN_FIXTURE) {
|
||||
result = TestActivity.createFolder(folderPath, true, mClient);
|
||||
result = TestActivity.createFolder(mBaseFolderPath + folderPath, true, mClient);
|
||||
if (!result.isSuccess() && result.getCode() != ResultCode.TIMEOUT) {
|
||||
Utils.logAndThrow(LOG_TAG, result);
|
||||
}
|
||||
@ -255,7 +253,7 @@ public class MoveFileTest extends ActivityInstrumentationTestCase2<TestActivity>
|
||||
);
|
||||
for (String filePath : FILES_IN_FIXTURE) {
|
||||
result = TestActivity.uploadFile(
|
||||
txtFile.getAbsolutePath(), filePath, "txt/plain", mClient
|
||||
txtFile.getAbsolutePath(), mBaseFolderPath + filePath, "txt/plain", mClient
|
||||
);
|
||||
if (!result.isSuccess()) {
|
||||
Utils.logAndThrow(LOG_TAG, result);
|
||||
@ -277,8 +275,8 @@ public class MoveFileTest extends ActivityInstrumentationTestCase2<TestActivity>
|
||||
|
||||
// move file
|
||||
MoveRemoteFileOperation moveOperation = new MoveRemoteFileOperation(
|
||||
SRC_PATH_TO_FILE_1,
|
||||
TARGET_PATH_TO_FILE_1,
|
||||
mBaseFolderPath + SRC_PATH_TO_FILE_1,
|
||||
mBaseFolderPath + TARGET_PATH_TO_FILE_1,
|
||||
false
|
||||
);
|
||||
RemoteOperationResult result = moveOperation.execute(mClient);
|
||||
@ -286,8 +284,8 @@ public class MoveFileTest extends ActivityInstrumentationTestCase2<TestActivity>
|
||||
|
||||
// move & rename file, different location
|
||||
moveOperation = new MoveRemoteFileOperation(
|
||||
SRC_PATH_TO_FILE_2,
|
||||
TARGET_PATH_TO_FILE_2_RENAMED,
|
||||
mBaseFolderPath + SRC_PATH_TO_FILE_2,
|
||||
mBaseFolderPath + TARGET_PATH_TO_FILE_2_RENAMED,
|
||||
false
|
||||
);
|
||||
result = moveOperation.execute(mClient);
|
||||
@ -295,8 +293,8 @@ public class MoveFileTest extends ActivityInstrumentationTestCase2<TestActivity>
|
||||
|
||||
// move & rename file, same location (rename file)
|
||||
moveOperation = new MoveRemoteFileOperation(
|
||||
SRC_PATH_TO_FILE_3,
|
||||
SRC_PATH_TO_FILE_3_RENAMED,
|
||||
mBaseFolderPath + SRC_PATH_TO_FILE_3,
|
||||
mBaseFolderPath + SRC_PATH_TO_FILE_3_RENAMED,
|
||||
false
|
||||
);
|
||||
result = moveOperation.execute(mClient);
|
||||
@ -304,8 +302,8 @@ public class MoveFileTest extends ActivityInstrumentationTestCase2<TestActivity>
|
||||
|
||||
// move empty folder
|
||||
moveOperation = new MoveRemoteFileOperation(
|
||||
SRC_PATH_TO_EMPTY_FOLDER,
|
||||
TARGET_PATH_TO_EMPTY_FOLDER,
|
||||
mBaseFolderPath + SRC_PATH_TO_EMPTY_FOLDER,
|
||||
mBaseFolderPath + TARGET_PATH_TO_EMPTY_FOLDER,
|
||||
false
|
||||
);
|
||||
result = moveOperation.execute(mClient);
|
||||
@ -313,8 +311,8 @@ public class MoveFileTest extends ActivityInstrumentationTestCase2<TestActivity>
|
||||
|
||||
// move non-empty folder
|
||||
moveOperation = new MoveRemoteFileOperation(
|
||||
SRC_PATH_TO_FULL_FOLDER_1,
|
||||
TARGET_PATH_TO_FULL_FOLDER_1,
|
||||
mBaseFolderPath + SRC_PATH_TO_FULL_FOLDER_1,
|
||||
mBaseFolderPath + TARGET_PATH_TO_FULL_FOLDER_1,
|
||||
false
|
||||
);
|
||||
result = moveOperation.execute(mClient);
|
||||
@ -322,8 +320,8 @@ public class MoveFileTest extends ActivityInstrumentationTestCase2<TestActivity>
|
||||
|
||||
// move & rename folder, different location
|
||||
moveOperation = new MoveRemoteFileOperation(
|
||||
SRC_PATH_TO_FULL_FOLDER_2,
|
||||
TARGET_PATH_TO_FULL_FOLDER_2_RENAMED,
|
||||
mBaseFolderPath + SRC_PATH_TO_FULL_FOLDER_2,
|
||||
mBaseFolderPath + TARGET_PATH_TO_FULL_FOLDER_2_RENAMED,
|
||||
false
|
||||
);
|
||||
result = moveOperation.execute(mClient);
|
||||
@ -331,8 +329,8 @@ public class MoveFileTest extends ActivityInstrumentationTestCase2<TestActivity>
|
||||
|
||||
// move & rename folder, same location (rename folder)
|
||||
moveOperation = new MoveRemoteFileOperation(
|
||||
SRC_PATH_TO_FULL_FOLDER_3,
|
||||
SRC_PATH_TO_FULL_FOLDER_3_RENAMED,
|
||||
mBaseFolderPath + SRC_PATH_TO_FULL_FOLDER_3,
|
||||
mBaseFolderPath + SRC_PATH_TO_FULL_FOLDER_3_RENAMED,
|
||||
false
|
||||
);
|
||||
result = moveOperation.execute(mClient);
|
||||
@ -340,8 +338,8 @@ public class MoveFileTest extends ActivityInstrumentationTestCase2<TestActivity>
|
||||
|
||||
// move for nothing (success, but no interaction with network)
|
||||
moveOperation = new MoveRemoteFileOperation(
|
||||
SRC_PATH_TO_FILE_4,
|
||||
SRC_PATH_TO_FILE_4,
|
||||
mBaseFolderPath + SRC_PATH_TO_FILE_4,
|
||||
mBaseFolderPath + SRC_PATH_TO_FILE_4,
|
||||
false
|
||||
);
|
||||
result = moveOperation.execute(mClient);
|
||||
@ -349,9 +347,9 @@ public class MoveFileTest extends ActivityInstrumentationTestCase2<TestActivity>
|
||||
|
||||
// move overwriting
|
||||
moveOperation = new MoveRemoteFileOperation(
|
||||
SRC_PATH_TO_FULL_FOLDER_4,
|
||||
TARGET_PATH_TO_ALREADY_EXISTENT_EMPTY_FOLDER_4,
|
||||
true
|
||||
mBaseFolderPath + SRC_PATH_TO_FULL_FOLDER_4,
|
||||
mBaseFolderPath + TARGET_PATH_TO_ALREADY_EXISTENT_EMPTY_FOLDER_4,
|
||||
true
|
||||
);
|
||||
result = moveOperation.execute(mClient);
|
||||
assertTrue(result.isSuccess());
|
||||
@ -361,45 +359,45 @@ public class MoveFileTest extends ActivityInstrumentationTestCase2<TestActivity>
|
||||
|
||||
// file to move does not exist
|
||||
moveOperation = new MoveRemoteFileOperation(
|
||||
SRC_PATH_TO_NON_EXISTENT_FILE,
|
||||
TARGET_PATH_TO_NON_EXISTENT_FILE,
|
||||
false
|
||||
mBaseFolderPath + SRC_PATH_TO_NON_EXISTENT_FILE,
|
||||
mBaseFolderPath + TARGET_PATH_TO_NON_EXISTENT_FILE,
|
||||
false
|
||||
);
|
||||
result = moveOperation.execute(mClient);
|
||||
assertTrue(result.getCode() == ResultCode.FILE_NOT_FOUND);
|
||||
|
||||
// folder to move into does no exist
|
||||
moveOperation = new MoveRemoteFileOperation(
|
||||
SRC_PATH_TO_FILE_5,
|
||||
TARGET_PATH_TO_FILE_5_INTO_NON_EXISTENT_FOLDER,
|
||||
false
|
||||
mBaseFolderPath + SRC_PATH_TO_FILE_5,
|
||||
mBaseFolderPath + TARGET_PATH_TO_FILE_5_INTO_NON_EXISTENT_FOLDER,
|
||||
false
|
||||
);
|
||||
result = moveOperation.execute(mClient);
|
||||
assertTrue(result.getHttpCode() == HttpStatus.SC_CONFLICT);
|
||||
|
||||
// target location (renaming) has invalid characters
|
||||
moveOperation = new MoveRemoteFileOperation(
|
||||
SRC_PATH_TO_FILE_6,
|
||||
TARGET_PATH_RENAMED_WITH_INVALID_CHARS,
|
||||
false
|
||||
mBaseFolderPath + SRC_PATH_TO_FILE_6,
|
||||
mBaseFolderPath + TARGET_PATH_RENAMED_WITH_INVALID_CHARS,
|
||||
false
|
||||
);
|
||||
result = moveOperation.execute(mClient);
|
||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||
|
||||
// name collision
|
||||
moveOperation = new MoveRemoteFileOperation(
|
||||
SRC_PATH_TO_FILE_7,
|
||||
TARGET_PATH_TO_ALREADY_EXISTENT_FILE_7,
|
||||
false
|
||||
mBaseFolderPath + SRC_PATH_TO_FILE_7,
|
||||
mBaseFolderPath + TARGET_PATH_TO_ALREADY_EXISTENT_FILE_7,
|
||||
false
|
||||
);
|
||||
result = moveOperation.execute(mClient);
|
||||
assertTrue(result.getCode() == ResultCode.INVALID_OVERWRITE);
|
||||
|
||||
// move a folder into a descendant
|
||||
moveOperation = new MoveRemoteFileOperation(
|
||||
SRC_BASE_FOLDER,
|
||||
SRC_PATH_TO_EMPTY_FOLDER,
|
||||
false
|
||||
mBaseFolderPath + SRC_BASE_FOLDER,
|
||||
mBaseFolderPath + SRC_PATH_TO_EMPTY_FOLDER,
|
||||
false
|
||||
);
|
||||
result = moveOperation.execute(mClient);
|
||||
assertTrue(result.getCode() == ResultCode.INVALID_MOVE_INTO_DESCENDANT);
|
||||
@ -411,8 +409,8 @@ public class MoveFileTest extends ActivityInstrumentationTestCase2<TestActivity>
|
||||
Log.v(LOG_TAG, "Deleting remote fixture...");
|
||||
|
||||
String[] mPathsToCleanUp = {
|
||||
SRC_BASE_FOLDER,
|
||||
TARGET_BASE_FOLDER
|
||||
mBaseFolderPath + SRC_BASE_FOLDER,
|
||||
mBaseFolderPath + TARGET_BASE_FOLDER
|
||||
};
|
||||
|
||||
for (String path : mPathsToCleanUp) {
|
||||
|
@ -29,25 +29,20 @@ import com.owncloud.android.lib.common.operations.RemoteOperationResult;
|
||||
import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode;
|
||||
import com.owncloud.android.lib.test_project.TestActivity;
|
||||
|
||||
import android.test.ActivityInstrumentationTestCase2;
|
||||
|
||||
/**
|
||||
* Class to test Read File Operation
|
||||
* @author masensio
|
||||
* @author David A. Velasco
|
||||
*/
|
||||
|
||||
public class ReadFileTest extends ActivityInstrumentationTestCase2<TestActivity> {
|
||||
public class ReadFileTest extends RemoteTest {
|
||||
|
||||
private static final String LOG_TAG = ReadFileTest.class.getCanonicalName();
|
||||
|
||||
private TestActivity mActivity;
|
||||
|
||||
private String FILE_PATH = "/fileToRead" + Utils.getBuildNumber() + ".txt";
|
||||
|
||||
public ReadFileTest() {
|
||||
super(TestActivity.class);
|
||||
}
|
||||
private String FILE_PATH = "/fileToRead.txt";
|
||||
private String mFullPath2File;
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
@ -55,11 +50,12 @@ public class ReadFileTest extends ActivityInstrumentationTestCase2<TestActivity
|
||||
|
||||
setActivityInitialTouchMode(false);
|
||||
mActivity = getActivity();
|
||||
mFullPath2File = mBaseFolderPath + FILE_PATH;
|
||||
|
||||
File textFile = mActivity.extractAsset(TestActivity.ASSETS__TEXT_FILE_NAME);
|
||||
RemoteOperationResult uploadResult = mActivity.uploadFile(
|
||||
textFile.getAbsolutePath(),
|
||||
FILE_PATH,
|
||||
mFullPath2File,
|
||||
"txt/plain");
|
||||
if (!uploadResult.isSuccess()) {
|
||||
Utils.logAndThrow(LOG_TAG, uploadResult);
|
||||
@ -70,7 +66,7 @@ public class ReadFileTest extends ActivityInstrumentationTestCase2<TestActivity
|
||||
* Test Read File
|
||||
*/
|
||||
public void testReadFile() {
|
||||
RemoteOperationResult result = mActivity.readFile(FILE_PATH);
|
||||
RemoteOperationResult result = mActivity.readFile(mFullPath2File);
|
||||
assertTrue(result.getData() != null && result.getData().size() == 1);
|
||||
assertTrue(result.isSuccess());
|
||||
// TODO check more properties of the result
|
||||
@ -78,7 +74,7 @@ public class ReadFileTest extends ActivityInstrumentationTestCase2<TestActivity
|
||||
|
||||
@Override
|
||||
protected void tearDown() throws Exception {
|
||||
RemoteOperationResult removeResult = mActivity.removeFile(FILE_PATH);
|
||||
RemoteOperationResult removeResult = mActivity.removeFile(mFullPath2File);
|
||||
if (!removeResult.isSuccess() && removeResult.getCode() != ResultCode.TIMEOUT) {
|
||||
Utils.logAndThrow(LOG_TAG, removeResult);
|
||||
}
|
||||
|
@ -30,19 +30,17 @@ import com.owncloud.android.lib.common.operations.RemoteOperationResult;
|
||||
import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode;
|
||||
import com.owncloud.android.lib.test_project.TestActivity;
|
||||
|
||||
import android.test.ActivityInstrumentationTestCase2;
|
||||
|
||||
/**
|
||||
* Class to test Read Folder Operation
|
||||
* @author masensio
|
||||
* @author David A. Velasco
|
||||
*/
|
||||
|
||||
public class ReadFolderTest extends ActivityInstrumentationTestCase2<TestActivity> {
|
||||
public class ReadFolderTest extends RemoteTest {
|
||||
|
||||
private static final String LOG_TAG = ReadFolderTest.class.getCanonicalName();
|
||||
|
||||
private static final String FOLDER_PATH = "/folderToRead" + Utils.getBuildNumber();
|
||||
private static final String FOLDER_PATH = "/folderToRead";
|
||||
private static final String [] FILE_PATHS = {
|
||||
FOLDER_PATH + "/file1.txt",
|
||||
FOLDER_PATH + "/file2.txt",
|
||||
@ -51,24 +49,22 @@ public class ReadFolderTest extends ActivityInstrumentationTestCase2<TestActivit
|
||||
|
||||
|
||||
private TestActivity mActivity;
|
||||
|
||||
public ReadFolderTest() {
|
||||
super(TestActivity.class);
|
||||
}
|
||||
private String mFullPathToFolder;
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
setActivityInitialTouchMode(false);
|
||||
mActivity = getActivity();
|
||||
mFullPathToFolder = mBaseFolderPath + FOLDER_PATH;
|
||||
|
||||
File textFile = mActivity.extractAsset(TestActivity.ASSETS__TEXT_FILE_NAME);
|
||||
RemoteOperationResult result = mActivity.createFolder(FOLDER_PATH, true);
|
||||
RemoteOperationResult result = mActivity.createFolder( mFullPathToFolder, true);
|
||||
if (result.isSuccess()) {
|
||||
for (int i=0; i<FILE_PATHS.length && result.isSuccess(); i++) {
|
||||
result = mActivity.uploadFile(
|
||||
textFile.getAbsolutePath(),
|
||||
FILE_PATHS[i],
|
||||
mBaseFolderPath + FILE_PATHS[i],
|
||||
"txt/plain");
|
||||
}
|
||||
}
|
||||
@ -84,7 +80,7 @@ public class ReadFolderTest extends ActivityInstrumentationTestCase2<TestActivit
|
||||
*/
|
||||
public void testReadFolder() {
|
||||
|
||||
RemoteOperationResult result = mActivity.readFile(FOLDER_PATH);
|
||||
RemoteOperationResult result = mActivity.readFile(mFullPathToFolder);
|
||||
assertTrue(result.isSuccess());
|
||||
assertTrue(result.getData() != null && result.getData().size() > 1);
|
||||
assertTrue(result.getData().size() == 4);
|
||||
@ -94,7 +90,7 @@ public class ReadFolderTest extends ActivityInstrumentationTestCase2<TestActivit
|
||||
|
||||
@Override
|
||||
protected void tearDown() throws Exception {
|
||||
RemoteOperationResult removeResult = mActivity.removeFile(FOLDER_PATH);
|
||||
RemoteOperationResult removeResult = mActivity.removeFile(mFullPathToFolder);
|
||||
if (!removeResult.isSuccess() && removeResult.getCode() != ResultCode.TIMEOUT) {
|
||||
Utils.logAndThrow(LOG_TAG, removeResult);
|
||||
}
|
||||
|
@ -0,0 +1,69 @@
|
||||
/* ownCloud Android Library is available under MIT license
|
||||
* Copyright (C) 2014 ownCloud Inc.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
||||
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
*/
|
||||
package com.owncloud.android.lib.test_project.test;
|
||||
|
||||
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
|
||||
import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode;
|
||||
import com.owncloud.android.lib.test_project.TestActivity;
|
||||
|
||||
import android.test.ActivityInstrumentationTestCase2;
|
||||
|
||||
/**
|
||||
* Class to test Create Folder Operation
|
||||
* @author David A. Velasco
|
||||
*
|
||||
*/
|
||||
public class RemoteTest extends ActivityInstrumentationTestCase2<TestActivity> {
|
||||
|
||||
private static final String LOG_TAG = RemoteTest.class.getSimpleName();
|
||||
|
||||
protected String mBaseFolderPath = "/test_for_build_";
|
||||
|
||||
public RemoteTest() {
|
||||
super(TestActivity.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
setActivityInitialTouchMode(false);
|
||||
mBaseFolderPath += Utils.getBuildNumber(getActivity());
|
||||
|
||||
RemoteOperationResult result = getActivity().createFolder(mBaseFolderPath, true);
|
||||
if (!result.isSuccess() && result.getCode() != ResultCode.TIMEOUT) {
|
||||
Utils.logAndThrow(LOG_TAG, result);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void tearDown() throws Exception {
|
||||
RemoteOperationResult removeResult = getActivity().removeFile(mBaseFolderPath);
|
||||
if (!removeResult.isSuccess() && removeResult.getCode() != ResultCode.TIMEOUT) {
|
||||
Utils.logAndThrow(LOG_TAG, removeResult);
|
||||
}
|
||||
super.tearDown();
|
||||
}
|
||||
|
||||
}
|
@ -32,39 +32,35 @@ import com.owncloud.android.lib.common.operations.RemoteOperationResult;
|
||||
import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode;
|
||||
import com.owncloud.android.lib.test_project.TestActivity;
|
||||
|
||||
import android.test.ActivityInstrumentationTestCase2;
|
||||
|
||||
public class RemoveShareTest extends ActivityInstrumentationTestCase2<TestActivity> {
|
||||
public class RemoveShareTest extends RemoteTest {
|
||||
|
||||
private static final String LOG_TAG = RemoveShareTest.class.getCanonicalName();
|
||||
|
||||
private static final String FILE_TO_UNSHARE = "/fileToUnshare" + Utils.getBuildNumber() + ".txt";
|
||||
private static final String FILE_TO_UNSHARE = "/fileToUnshare.txt";
|
||||
|
||||
private TestActivity mActivity;
|
||||
|
||||
private String mFullPath2FileToUnshare;
|
||||
|
||||
private long mShareId;
|
||||
|
||||
public RemoveShareTest() {
|
||||
super(TestActivity.class);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
setActivityInitialTouchMode(false);
|
||||
mActivity = getActivity();
|
||||
mFullPath2FileToUnshare = mBaseFolderPath + FILE_TO_UNSHARE;
|
||||
|
||||
File textFile = mActivity.extractAsset(TestActivity.ASSETS__TEXT_FILE_NAME);
|
||||
RemoteOperationResult result = mActivity.uploadFile(
|
||||
textFile.getAbsolutePath(),
|
||||
FILE_TO_UNSHARE,
|
||||
mFullPath2FileToUnshare,
|
||||
"txt/plain");
|
||||
if (!result.isSuccess()) {
|
||||
Utils.logAndThrow(LOG_TAG, result);
|
||||
}
|
||||
|
||||
result = mActivity.createShare(FILE_TO_UNSHARE, ShareType.PUBLIC_LINK, "", false, "", 1);
|
||||
result = mActivity.createShare(mFullPath2FileToUnshare, ShareType.PUBLIC_LINK, "", false, "", 1);
|
||||
if (!result.isSuccess()) {
|
||||
Utils.logAndThrow(LOG_TAG, result);
|
||||
} else {
|
||||
@ -85,7 +81,7 @@ public class RemoveShareTest extends ActivityInstrumentationTestCase2<TestActivi
|
||||
|
||||
@Override
|
||||
protected void tearDown() throws Exception {
|
||||
RemoteOperationResult removeResult = mActivity.removeFile(FILE_TO_UNSHARE);
|
||||
RemoteOperationResult removeResult = mActivity.removeFile(mFullPath2FileToUnshare);
|
||||
if (!removeResult.isSuccess() && removeResult.getCode() != ResultCode.TIMEOUT) {
|
||||
Utils.logAndThrow(LOG_TAG, removeResult);
|
||||
}
|
||||
|
@ -31,7 +31,6 @@ import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCo
|
||||
import com.owncloud.android.lib.resources.files.FileUtils;
|
||||
import com.owncloud.android.lib.test_project.TestActivity;
|
||||
|
||||
import android.test.ActivityInstrumentationTestCase2;
|
||||
import android.util.Log;
|
||||
|
||||
/**
|
||||
@ -40,20 +39,20 @@ import android.util.Log;
|
||||
*
|
||||
*/
|
||||
|
||||
public class RenameFileTest extends ActivityInstrumentationTestCase2<TestActivity> {
|
||||
public class RenameFileTest extends RemoteTest {
|
||||
|
||||
private static final String LOG_TAG = RenameFileTest.class.getCanonicalName();
|
||||
|
||||
/* Folder data to rename. This folder must exist on the account */
|
||||
private static final String OLD_FOLDER_NAME = "folderToRename" + Utils.getBuildNumber();
|
||||
private static final String OLD_FOLDER_NAME = "folderToRename";
|
||||
private static final String OLD_FOLDER_PATH = FileUtils.PATH_SEPARATOR + OLD_FOLDER_NAME;
|
||||
private static final String NEW_FOLDER_NAME = "renamedFolder" + Utils.getBuildNumber();
|
||||
private static final String NEW_FOLDER_NAME = "renamedFolder";
|
||||
private static final String NEW_FOLDER_PATH = FileUtils.PATH_SEPARATOR + NEW_FOLDER_NAME;
|
||||
|
||||
/* File data to rename. This file must exist on the account */
|
||||
private static final String OLD_FILE_NAME = "fileToRename" + Utils.getBuildNumber() + ".png";
|
||||
private static final String OLD_FILE_NAME = "fileToRename.png";
|
||||
private static final String OLD_FILE_PATH = FileUtils.PATH_SEPARATOR + OLD_FILE_NAME;
|
||||
private static final String NEW_FILE_NAME = "renamedFile" + Utils.getBuildNumber() + ".png";
|
||||
private static final String NEW_FILE_NAME = "renamedFile.png";
|
||||
private static final String NEW_FILE_PATH = FileUtils.PATH_SEPARATOR + NEW_FILE_NAME;
|
||||
|
||||
|
||||
@ -61,22 +60,26 @@ public class RenameFileTest extends ActivityInstrumentationTestCase2<TestActivit
|
||||
|
||||
private String mToCleanUpInServer;
|
||||
private TestActivity mActivity;
|
||||
|
||||
public RenameFileTest() {
|
||||
super(TestActivity.class);
|
||||
|
||||
}
|
||||
private String mFullPath2OldFolder;
|
||||
private String mFullPath2NewFolder;
|
||||
private String mFullPath2OldFile;
|
||||
private String mFullPath2NewFile;
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
setActivityInitialTouchMode(false);
|
||||
mActivity = getActivity();
|
||||
|
||||
mFullPath2OldFolder = mBaseFolderPath + OLD_FOLDER_PATH;
|
||||
mFullPath2NewFolder = mBaseFolderPath + NEW_FOLDER_PATH;
|
||||
mFullPath2OldFile = mBaseFolderPath + OLD_FILE_PATH;
|
||||
mFullPath2NewFile = mBaseFolderPath + NEW_FILE_PATH;
|
||||
|
||||
|
||||
if (!mGlobalSetupDone) {
|
||||
|
||||
Log.v(LOG_TAG, "Starting global set up");
|
||||
RemoteOperationResult result = mActivity.createFolder(OLD_FOLDER_NAME, true);
|
||||
RemoteOperationResult result = mActivity.createFolder(mFullPath2OldFolder, true);
|
||||
if (!result.isSuccess() && result.getCode() != ResultCode.TIMEOUT) {
|
||||
Utils.logAndThrow(LOG_TAG, result);
|
||||
}
|
||||
@ -84,7 +87,7 @@ public class RenameFileTest extends ActivityInstrumentationTestCase2<TestActivit
|
||||
File imageFile = mActivity.extractAsset(TestActivity.ASSETS__IMAGE_FILE_NAME);
|
||||
result = mActivity.uploadFile(
|
||||
imageFile.getAbsolutePath(),
|
||||
OLD_FILE_PATH,
|
||||
mFullPath2OldFile,
|
||||
"image/png");
|
||||
if (!result.isSuccess()) {
|
||||
Utils.logAndThrow(LOG_TAG, result);
|
||||
@ -102,14 +105,14 @@ public class RenameFileTest extends ActivityInstrumentationTestCase2<TestActivit
|
||||
*/
|
||||
public void testRenameFolder() {
|
||||
|
||||
mToCleanUpInServer = OLD_FOLDER_PATH;
|
||||
mToCleanUpInServer = mFullPath2OldFolder;
|
||||
RemoteOperationResult result = mActivity.renameFile(
|
||||
OLD_FOLDER_NAME,
|
||||
OLD_FOLDER_PATH,
|
||||
mFullPath2OldFolder,
|
||||
NEW_FOLDER_NAME,
|
||||
true);
|
||||
assertTrue(result.isSuccess());
|
||||
mToCleanUpInServer = NEW_FOLDER_PATH;
|
||||
mToCleanUpInServer = mFullPath2NewFolder;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -117,35 +120,35 @@ public class RenameFileTest extends ActivityInstrumentationTestCase2<TestActivit
|
||||
*/
|
||||
public void testRenameFolderForbiddenChars() {
|
||||
|
||||
RemoteOperationResult result = mActivity.renameFile(OLD_FOLDER_NAME, OLD_FOLDER_PATH,
|
||||
RemoteOperationResult result = mActivity.renameFile(OLD_FOLDER_NAME, mFullPath2OldFolder,
|
||||
NEW_FOLDER_NAME + "\\", true);
|
||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||
|
||||
result = mActivity.renameFile(OLD_FOLDER_NAME, OLD_FOLDER_PATH,
|
||||
result = mActivity.renameFile(OLD_FOLDER_NAME, mFullPath2OldFolder,
|
||||
NEW_FOLDER_NAME + "<", true);
|
||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||
|
||||
result = mActivity.renameFile(OLD_FOLDER_NAME, OLD_FOLDER_PATH,
|
||||
result = mActivity.renameFile(OLD_FOLDER_NAME, mFullPath2OldFolder,
|
||||
NEW_FOLDER_NAME + ">", true);
|
||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||
|
||||
result = mActivity.renameFile(OLD_FOLDER_NAME, OLD_FOLDER_PATH,
|
||||
result = mActivity.renameFile(OLD_FOLDER_NAME, mFullPath2OldFolder,
|
||||
NEW_FOLDER_NAME + ":", true);
|
||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||
|
||||
result = mActivity.renameFile(OLD_FOLDER_NAME, OLD_FOLDER_PATH,
|
||||
result = mActivity.renameFile(OLD_FOLDER_NAME, mFullPath2OldFolder,
|
||||
NEW_FOLDER_NAME + "\"", true);
|
||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||
|
||||
result = mActivity.renameFile(OLD_FOLDER_NAME, OLD_FOLDER_PATH,
|
||||
result = mActivity.renameFile(OLD_FOLDER_NAME, mFullPath2OldFolder,
|
||||
NEW_FOLDER_NAME + "|", true);
|
||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||
|
||||
result = mActivity.renameFile(OLD_FOLDER_NAME, OLD_FOLDER_PATH,
|
||||
result = mActivity.renameFile(OLD_FOLDER_NAME, mFullPath2OldFolder,
|
||||
NEW_FOLDER_NAME + "?", true);
|
||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||
|
||||
result = mActivity.renameFile(OLD_FOLDER_NAME, OLD_FOLDER_PATH,
|
||||
result = mActivity.renameFile(OLD_FOLDER_NAME, mFullPath2OldFolder,
|
||||
NEW_FOLDER_NAME + "*", true);
|
||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||
}
|
||||
@ -154,14 +157,14 @@ public class RenameFileTest extends ActivityInstrumentationTestCase2<TestActivit
|
||||
* Test Rename File
|
||||
*/
|
||||
public void testRenameFile() {
|
||||
mToCleanUpInServer = OLD_FILE_PATH;
|
||||
mToCleanUpInServer = mFullPath2OldFile;
|
||||
RemoteOperationResult result = mActivity.renameFile(
|
||||
OLD_FILE_NAME,
|
||||
OLD_FILE_PATH,
|
||||
mFullPath2OldFile,
|
||||
NEW_FILE_NAME,
|
||||
false);
|
||||
assertTrue(result.isSuccess());
|
||||
mToCleanUpInServer = NEW_FILE_PATH;
|
||||
mToCleanUpInServer = mFullPath2NewFile;
|
||||
}
|
||||
|
||||
|
||||
@ -171,56 +174,56 @@ public class RenameFileTest extends ActivityInstrumentationTestCase2<TestActivit
|
||||
public void testRenameFileForbiddenChars() {
|
||||
RemoteOperationResult result = mActivity.renameFile(
|
||||
OLD_FILE_NAME,
|
||||
OLD_FILE_PATH,
|
||||
mFullPath2OldFile,
|
||||
"\\" + NEW_FILE_NAME,
|
||||
false);
|
||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||
|
||||
result = mActivity.renameFile(
|
||||
OLD_FILE_NAME,
|
||||
OLD_FILE_PATH,
|
||||
mFullPath2OldFile,
|
||||
"<" + NEW_FILE_NAME,
|
||||
false);
|
||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||
|
||||
result = mActivity.renameFile(
|
||||
OLD_FILE_NAME,
|
||||
OLD_FILE_PATH,
|
||||
mFullPath2OldFile,
|
||||
">" + NEW_FILE_NAME,
|
||||
false);
|
||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||
|
||||
result = mActivity.renameFile(
|
||||
OLD_FILE_NAME,
|
||||
OLD_FILE_PATH,
|
||||
mFullPath2OldFile,
|
||||
":" + NEW_FILE_NAME,
|
||||
false);
|
||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||
|
||||
result = mActivity.renameFile(
|
||||
OLD_FILE_NAME,
|
||||
OLD_FILE_PATH,
|
||||
mFullPath2OldFile,
|
||||
"\"" + NEW_FILE_NAME,
|
||||
false);
|
||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||
|
||||
result = mActivity.renameFile(
|
||||
OLD_FILE_NAME,
|
||||
OLD_FILE_PATH,
|
||||
mFullPath2OldFile,
|
||||
"|" + NEW_FILE_NAME,
|
||||
false);
|
||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||
|
||||
result = mActivity.renameFile(
|
||||
OLD_FILE_NAME,
|
||||
OLD_FILE_PATH,
|
||||
mFullPath2OldFile,
|
||||
"?" + NEW_FILE_NAME,
|
||||
false);
|
||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||
|
||||
result = mActivity.renameFile(
|
||||
OLD_FILE_NAME,
|
||||
OLD_FILE_PATH,
|
||||
mFullPath2OldFile,
|
||||
"*" + NEW_FILE_NAME, false);
|
||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||
|
||||
|
@ -26,8 +26,6 @@ package com.owncloud.android.lib.test_project.test;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import android.test.ActivityInstrumentationTestCase2;
|
||||
|
||||
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
|
||||
import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode;
|
||||
import com.owncloud.android.lib.test_project.TestActivity;
|
||||
@ -39,15 +37,15 @@ import com.owncloud.android.lib.test_project.TestActivity;
|
||||
*
|
||||
*/
|
||||
|
||||
public class UploadFileTest extends ActivityInstrumentationTestCase2<TestActivity> {
|
||||
public class UploadFileTest extends RemoteTest {
|
||||
|
||||
private static final String LOG_TAG = UploadFileTest.class.getCanonicalName();
|
||||
|
||||
private static final String UPLOAD_PATH = "/uploadedImage" + Utils.getBuildNumber() + ".png";
|
||||
private static final String UPLOAD_PATH = "/uploadedImage.png";
|
||||
|
||||
private static final String CHUNKED_UPLOAD_PATH = "/uploadedVideo" + Utils.getBuildNumber() + ".MP4";
|
||||
private static final String CHUNKED_UPLOAD_PATH = "/uploadedVideo.MP4";
|
||||
|
||||
private static final String FILE_NOT_FOUND_PATH = "/notFoundShouldNotBeHere" + Utils.getBuildNumber() + ".png";
|
||||
private static final String FILE_NOT_FOUND_PATH = "/notFoundShouldNotBeHere.png";
|
||||
|
||||
|
||||
private TestActivity mActivity;
|
||||
@ -55,10 +53,6 @@ public class UploadFileTest extends ActivityInstrumentationTestCase2<TestActivit
|
||||
private String mUploadedFilePath;
|
||||
|
||||
|
||||
public UploadFileTest() {
|
||||
super(TestActivity.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
@ -76,12 +70,13 @@ public class UploadFileTest extends ActivityInstrumentationTestCase2<TestActivit
|
||||
*/
|
||||
public void testUploadFile() {
|
||||
|
||||
String fullPath2Upload = mBaseFolderPath + UPLOAD_PATH;
|
||||
RemoteOperationResult result = mActivity.uploadFile(
|
||||
mFileToUpload.getAbsolutePath(),
|
||||
UPLOAD_PATH,
|
||||
fullPath2Upload,
|
||||
"image/png"
|
||||
);
|
||||
mUploadedFilePath = UPLOAD_PATH;
|
||||
mUploadedFilePath = fullPath2Upload;
|
||||
assertTrue(result.isSuccess());
|
||||
}
|
||||
|
||||
@ -90,12 +85,13 @@ public class UploadFileTest extends ActivityInstrumentationTestCase2<TestActivit
|
||||
*/
|
||||
public void testUploadFileWithChunks() {
|
||||
|
||||
String fullPath2Upload = mBaseFolderPath + CHUNKED_UPLOAD_PATH;
|
||||
RemoteOperationResult result = mActivity.uploadFile(
|
||||
mFileToUploadWithChunks.getAbsolutePath(),
|
||||
CHUNKED_UPLOAD_PATH,
|
||||
fullPath2Upload,
|
||||
"video/mp4"
|
||||
);
|
||||
mUploadedFilePath = CHUNKED_UPLOAD_PATH;
|
||||
mUploadedFilePath = fullPath2Upload;
|
||||
assertTrue(result.isSuccess());
|
||||
}
|
||||
|
||||
@ -104,12 +100,13 @@ public class UploadFileTest extends ActivityInstrumentationTestCase2<TestActivit
|
||||
*/
|
||||
public void testUploadFileNotFound() {
|
||||
|
||||
String fullPath2Upload = mBaseFolderPath + FILE_NOT_FOUND_PATH;
|
||||
RemoteOperationResult result = mActivity.uploadFile(
|
||||
FILE_NOT_FOUND_PATH,
|
||||
FILE_NOT_FOUND_PATH,
|
||||
fullPath2Upload,
|
||||
"image/png"
|
||||
);
|
||||
mUploadedFilePath = FILE_NOT_FOUND_PATH;
|
||||
mUploadedFilePath = fullPath2Upload;
|
||||
assertFalse(result.isSuccess());
|
||||
}
|
||||
|
||||
|
@ -24,6 +24,7 @@
|
||||
|
||||
package com.owncloud.android.lib.test_project.test;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
|
||||
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
|
||||
@ -32,7 +33,6 @@ public class Utils {
|
||||
|
||||
private static String LOG_TAG = Utils.class.getSimpleName();
|
||||
|
||||
private static final String BUILD_NUMBER_ENV_VAR = "TRAVIS_BUILD_NUMBER";
|
||||
private static String sBuildNumber = null;
|
||||
|
||||
public static void logAndThrow(String tag, RemoteOperationResult result) throws Exception {
|
||||
@ -40,10 +40,10 @@ public class Utils {
|
||||
throw new Exception(result.getLogMessage(), result.getException());
|
||||
}
|
||||
|
||||
public static String getBuildNumber() {
|
||||
public static String getBuildNumber(Context context) {
|
||||
if (sBuildNumber == null) {
|
||||
sBuildNumber = System.getenv(BUILD_NUMBER_ENV_VAR);
|
||||
if (sBuildNumber == null) {
|
||||
sBuildNumber = context.getString(R.string.build_number);
|
||||
if (sBuildNumber == null || sBuildNumber.length() == 0) {
|
||||
Log.w(LOG_TAG, "Build number unknown, using current time instead");
|
||||
sBuildNumber = Long.toString(System.currentTimeMillis());
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user