mirror of
https://github.com/owncloud/android-library.git
synced 2025-06-08 08:26:10 +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"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project name="custom_rules">
|
<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 -->
|
<!-- Run regular Android target 'test', but fails if any test is not successful -->
|
||||||
<target name="acceptance-test" depends="clean, debug, install" >
|
<target name="acceptance-test" depends="clean, debug, install" >
|
||||||
<property name="log.file" value="tests_output.txt" />
|
<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;
|
package com.owncloud.android.lib.test_project.test;
|
||||||
|
|
||||||
import java.text.SimpleDateFormat;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
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.common.operations.RemoteOperationResult.ResultCode;
|
||||||
import com.owncloud.android.lib.test_project.TestActivity;
|
import com.owncloud.android.lib.test_project.TestActivity;
|
||||||
|
|
||||||
import android.test.ActivityInstrumentationTestCase2;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class to test Create Folder Operation
|
* Class to test Create Folder Operation
|
||||||
* @author masensio
|
* @author masensio
|
||||||
* @author David A. Velasco
|
* @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 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 TestActivity mActivity;
|
||||||
private String mCurrentDate;
|
|
||||||
private List<String> mCreatedFolderPaths;
|
private List<String> mCreatedFolderPaths;
|
||||||
|
private String mFullPath2FolderBase;
|
||||||
|
|
||||||
public CreateFolderTest() {
|
public CreateFolderTest() {
|
||||||
super(TestActivity.class);
|
super();
|
||||||
|
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmmss");
|
|
||||||
mCurrentDate = sdf.format(new Date());
|
|
||||||
mCreatedFolderPaths = new ArrayList<String>();
|
mCreatedFolderPaths = new ArrayList<String>();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void setUp() throws Exception {
|
protected void setUp() throws Exception {
|
||||||
super.setUp();
|
super.setUp();
|
||||||
setActivityInitialTouchMode(false);
|
|
||||||
mActivity = getActivity();
|
mActivity = getActivity();
|
||||||
mCreatedFolderPaths.clear();
|
mCreatedFolderPaths.clear();
|
||||||
|
mFullPath2FolderBase = mBaseFolderPath + FOLDER_PATH_BASE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test Create Folder
|
* Test Create Folder
|
||||||
*/
|
*/
|
||||||
public void testCreateFolder() {
|
public void testCreateFolder() {
|
||||||
String remotePath = FOLDER_PATH_BASE + mCurrentDate;
|
String remotePath = mFullPath2FolderBase;
|
||||||
mCreatedFolderPaths.add(remotePath);
|
mCreatedFolderPaths.add(remotePath);
|
||||||
RemoteOperationResult result = mActivity.createFolder(remotePath, true);
|
RemoteOperationResult result = mActivity.createFolder(remotePath, true);
|
||||||
assertTrue(result.isSuccess() || result.getCode() == ResultCode.TIMEOUT);
|
assertTrue(result.isSuccess() || result.getCode() == ResultCode.TIMEOUT);
|
||||||
|
|
||||||
// Create Subfolder
|
// Create Subfolder
|
||||||
remotePath = FOLDER_PATH_BASE + mCurrentDate + FOLDER_PATH_BASE + mCurrentDate;
|
remotePath = mFullPath2FolderBase + FOLDER_PATH_BASE;
|
||||||
mCreatedFolderPaths.add(remotePath);
|
mCreatedFolderPaths.add(remotePath);
|
||||||
result = mActivity.createFolder(remotePath, true);
|
result = mActivity.createFolder(remotePath, true);
|
||||||
assertTrue(result.isSuccess() || result.getCode() == ResultCode.TIMEOUT);
|
assertTrue(result.isSuccess() || result.getCode() == ResultCode.TIMEOUT);
|
||||||
@ -90,35 +83,35 @@ public class CreateFolderTest extends ActivityInstrumentationTestCase2<TestActiv
|
|||||||
*/
|
*/
|
||||||
public void testCreateFolderSpecialCharacters() {
|
public void testCreateFolderSpecialCharacters() {
|
||||||
|
|
||||||
String remotePath = FOLDER_PATH_BASE + "_\\" + mCurrentDate;
|
String remotePath = mFullPath2FolderBase + "_\\";
|
||||||
RemoteOperationResult result = mActivity.createFolder(remotePath, true);
|
RemoteOperationResult result = mActivity.createFolder(remotePath, true);
|
||||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||||
|
|
||||||
remotePath = FOLDER_PATH_BASE + "_<" + mCurrentDate;
|
remotePath = mFullPath2FolderBase + "_<";
|
||||||
result = mActivity.createFolder(remotePath, true);
|
result = mActivity.createFolder(remotePath, true);
|
||||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||||
|
|
||||||
remotePath = FOLDER_PATH_BASE + "_>" + mCurrentDate;
|
remotePath = mFullPath2FolderBase + "_>";
|
||||||
result = mActivity.createFolder(remotePath, true);
|
result = mActivity.createFolder(remotePath, true);
|
||||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||||
|
|
||||||
remotePath = FOLDER_PATH_BASE + "_:" + mCurrentDate;
|
remotePath = mFullPath2FolderBase + "_:";
|
||||||
result = mActivity.createFolder(remotePath, true);
|
result = mActivity.createFolder(remotePath, true);
|
||||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||||
|
|
||||||
remotePath = FOLDER_PATH_BASE + "_\"" + mCurrentDate;
|
remotePath = mFullPath2FolderBase + "_\"";
|
||||||
result = mActivity.createFolder(remotePath, true);
|
result = mActivity.createFolder(remotePath, true);
|
||||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||||
|
|
||||||
remotePath = FOLDER_PATH_BASE + "_|" + mCurrentDate;
|
remotePath = mFullPath2FolderBase + "_|";
|
||||||
result = mActivity.createFolder(remotePath, true);
|
result = mActivity.createFolder(remotePath, true);
|
||||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||||
|
|
||||||
remotePath = FOLDER_PATH_BASE + "_?" + mCurrentDate;
|
remotePath = mFullPath2FolderBase + "_?";
|
||||||
result = mActivity.createFolder(remotePath, true);
|
result = mActivity.createFolder(remotePath, true);
|
||||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||||
|
|
||||||
remotePath = FOLDER_PATH_BASE + "_*" + mCurrentDate;
|
remotePath = mFullPath2FolderBase + "_*";
|
||||||
result = mActivity.createFolder(remotePath, true);
|
result = mActivity.createFolder(remotePath, true);
|
||||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
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.resources.shares.ShareType;
|
||||||
import com.owncloud.android.lib.test_project.TestActivity;
|
import com.owncloud.android.lib.test_project.TestActivity;
|
||||||
|
|
||||||
import android.test.ActivityInstrumentationTestCase2;
|
public class CreateShareTest extends RemoteTest {
|
||||||
|
|
||||||
public class CreateShareTest extends ActivityInstrumentationTestCase2<TestActivity> {
|
|
||||||
|
|
||||||
private static final String LOG_TAG = CreateShareTest.class.getCanonicalName();
|
private static final String LOG_TAG = CreateShareTest.class.getCanonicalName();
|
||||||
|
|
||||||
/* File to share.*/
|
/* 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;
|
private TestActivity mActivity;
|
||||||
|
private String mFullPath2FileToShare;
|
||||||
public CreateShareTest() {
|
|
||||||
super(TestActivity.class);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void setUp() throws Exception {
|
protected void setUp() throws Exception {
|
||||||
super.setUp();
|
super.setUp();
|
||||||
setActivityInitialTouchMode(false);
|
setActivityInitialTouchMode(false);
|
||||||
mActivity = getActivity();
|
mActivity = getActivity();
|
||||||
|
mFullPath2FileToShare = mBaseFolderPath + FILE_TO_SHARE;
|
||||||
|
|
||||||
File textFile = mActivity.extractAsset(TestActivity.ASSETS__TEXT_FILE_NAME);
|
File textFile = mActivity.extractAsset(TestActivity.ASSETS__TEXT_FILE_NAME);
|
||||||
RemoteOperationResult result = mActivity.uploadFile(
|
RemoteOperationResult result = mActivity.uploadFile(
|
||||||
textFile.getAbsolutePath(),
|
textFile.getAbsolutePath(),
|
||||||
FILE_TO_SHARE,
|
mFullPath2FileToShare,
|
||||||
"txt/plain");
|
"txt/plain");
|
||||||
if (!result.isSuccess()) {
|
if (!result.isSuccess()) {
|
||||||
Utils.logAndThrow(LOG_TAG, result);
|
Utils.logAndThrow(LOG_TAG, result);
|
||||||
@ -68,7 +63,7 @@ public class CreateShareTest extends ActivityInstrumentationTestCase2<TestActivi
|
|||||||
*/
|
*/
|
||||||
public void testCreatePublicShare() {
|
public void testCreatePublicShare() {
|
||||||
RemoteOperationResult result = mActivity.createShare(
|
RemoteOperationResult result = mActivity.createShare(
|
||||||
FILE_TO_SHARE,
|
mFullPath2FileToShare,
|
||||||
ShareType.PUBLIC_LINK,
|
ShareType.PUBLIC_LINK,
|
||||||
"",
|
"",
|
||||||
false,
|
false,
|
||||||
@ -80,7 +75,7 @@ public class CreateShareTest extends ActivityInstrumentationTestCase2<TestActivi
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void tearDown() throws Exception {
|
protected void tearDown() throws Exception {
|
||||||
RemoteOperationResult removeResult = mActivity.removeFile(FILE_TO_SHARE);
|
RemoteOperationResult removeResult = mActivity.removeFile(mFullPath2FileToShare);
|
||||||
if (!removeResult.isSuccess() && removeResult.getCode() != ResultCode.TIMEOUT) {
|
if (!removeResult.isSuccess() && removeResult.getCode() != ResultCode.TIMEOUT) {
|
||||||
Utils.logAndThrow(LOG_TAG, removeResult);
|
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.common.operations.RemoteOperationResult.ResultCode;
|
||||||
import com.owncloud.android.lib.test_project.TestActivity;
|
import com.owncloud.android.lib.test_project.TestActivity;
|
||||||
|
|
||||||
import android.test.ActivityInstrumentationTestCase2;
|
|
||||||
import android.util.Log;
|
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();
|
private static final String LOG_TAG = DeleteFileTest.class.getCanonicalName();
|
||||||
|
|
||||||
/* Folder data to delete. */
|
/* Folder data to delete. */
|
||||||
private static final String FOLDER_PATH = "/folderToDelete" + Utils.getBuildNumber();
|
private static final String FOLDER_PATH = "/folderToDelete";
|
||||||
|
|
||||||
/* File to delete. */
|
/* 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 static boolean mGlobalSetupDone = false;
|
||||||
|
|
||||||
private TestActivity mActivity;
|
private TestActivity mActivity;
|
||||||
|
private String mFullPath2Folder;
|
||||||
public DeleteFileTest() {
|
private String mFullPath2File;
|
||||||
super(TestActivity.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void setUp() throws Exception {
|
protected void setUp() throws Exception {
|
||||||
super.setUp();
|
super.setUp();
|
||||||
setActivityInitialTouchMode(false);
|
setActivityInitialTouchMode(false);
|
||||||
mActivity = getActivity();
|
mActivity = getActivity();
|
||||||
|
mFullPath2Folder = mBaseFolderPath + FOLDER_PATH;
|
||||||
|
mFullPath2File = mBaseFolderPath + FILE_PATH;
|
||||||
|
|
||||||
if (!mGlobalSetupDone) {
|
if (!mGlobalSetupDone) {
|
||||||
|
|
||||||
Log.v(LOG_TAG, "Starting global set up");
|
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) {
|
if (!result.isSuccess() && result.getCode() != ResultCode.TIMEOUT) {
|
||||||
Utils.logAndThrow(LOG_TAG, result);
|
Utils.logAndThrow(LOG_TAG, result);
|
||||||
}
|
}
|
||||||
@ -74,7 +73,7 @@ public class DeleteFileTest extends ActivityInstrumentationTestCase2<TestActivit
|
|||||||
File textFile = mActivity.extractAsset(TestActivity.ASSETS__TEXT_FILE_NAME);
|
File textFile = mActivity.extractAsset(TestActivity.ASSETS__TEXT_FILE_NAME);
|
||||||
result = mActivity.uploadFile(
|
result = mActivity.uploadFile(
|
||||||
textFile.getAbsolutePath(),
|
textFile.getAbsolutePath(),
|
||||||
FILE_PATH,
|
mFullPath2File,
|
||||||
"txt/plain");
|
"txt/plain");
|
||||||
if (!result.isSuccess()) {
|
if (!result.isSuccess()) {
|
||||||
Utils.logAndThrow(LOG_TAG, result);
|
Utils.logAndThrow(LOG_TAG, result);
|
||||||
@ -91,7 +90,7 @@ public class DeleteFileTest extends ActivityInstrumentationTestCase2<TestActivit
|
|||||||
*/
|
*/
|
||||||
public void testRemoveFolder() {
|
public void testRemoveFolder() {
|
||||||
|
|
||||||
RemoteOperationResult result = mActivity.removeFile(FOLDER_PATH);
|
RemoteOperationResult result = mActivity.removeFile(mFullPath2Folder);
|
||||||
assertTrue(result.isSuccess());
|
assertTrue(result.isSuccess());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -100,7 +99,7 @@ public class DeleteFileTest extends ActivityInstrumentationTestCase2<TestActivit
|
|||||||
*/
|
*/
|
||||||
public void testRemoveFile() {
|
public void testRemoveFile() {
|
||||||
|
|
||||||
RemoteOperationResult result = mActivity.removeFile(FILE_PATH);
|
RemoteOperationResult result = mActivity.removeFile(mFullPath2File);
|
||||||
assertTrue(result.isSuccess());
|
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.common.operations.RemoteOperationResult.ResultCode;
|
||||||
import com.owncloud.android.lib.test_project.TestActivity;
|
import com.owncloud.android.lib.test_project.TestActivity;
|
||||||
|
|
||||||
import android.test.ActivityInstrumentationTestCase2;
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -40,50 +39,56 @@ import android.util.Log;
|
|||||||
* @author David A. Velasco
|
* @author David A. Velasco
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class DownloadFileTest extends ActivityInstrumentationTestCase2<TestActivity> {
|
public class DownloadFileTest extends RemoteTest {
|
||||||
|
|
||||||
|
|
||||||
private static final String LOG_TAG = DownloadFileTest.class.getCanonicalName();
|
private static final String LOG_TAG = DownloadFileTest.class.getCanonicalName();
|
||||||
|
|
||||||
/* Files to download. These files must exist on the account */
|
/* 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 = "/fileToDownload.png";
|
||||||
private static final String IMAGE_PATH_WITH_SPECIAL_CHARS = "/@file@download" + Utils.getBuildNumber() + ".png";
|
private static final String IMAGE_PATH_WITH_SPECIAL_CHARS = "/@file@download.png";
|
||||||
private static final String IMAGE_NOT_FOUND = "/fileNotFound" + Utils.getBuildNumber() + ".png";
|
private static final String IMAGE_NOT_FOUND = "/fileNotFound.png";
|
||||||
private static final String [] FILE_PATHS = { IMAGE_PATH, IMAGE_PATH_WITH_SPECIAL_CHARS };
|
|
||||||
|
|
||||||
private static boolean mGlobalSetupDone = false;
|
private static boolean mGlobalSetupDone = false;
|
||||||
|
|
||||||
|
private String mFullPath2Image;
|
||||||
|
private String mFullPath2ImageWitSpecialChars;
|
||||||
|
private String mFullPath2ImageNotFound;
|
||||||
private String mDownloadedFilePath;
|
private String mDownloadedFilePath;
|
||||||
private TestActivity mActivity;
|
private TestActivity mActivity;
|
||||||
|
|
||||||
|
|
||||||
public DownloadFileTest() {
|
|
||||||
super(TestActivity.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void setUp() throws Exception {
|
protected void setUp() throws Exception {
|
||||||
super.setUp();
|
super.setUp();
|
||||||
setActivityInitialTouchMode(false);
|
setActivityInitialTouchMode(false);
|
||||||
mActivity = getActivity();
|
mActivity = getActivity();
|
||||||
mDownloadedFilePath = null;
|
mDownloadedFilePath = null;
|
||||||
|
mFullPath2Image = mBaseFolderPath + IMAGE_PATH;
|
||||||
|
mFullPath2ImageWitSpecialChars = mBaseFolderPath + IMAGE_PATH_WITH_SPECIAL_CHARS;
|
||||||
|
mFullPath2ImageNotFound = mBaseFolderPath + IMAGE_NOT_FOUND;
|
||||||
|
|
||||||
if (!mGlobalSetupDone) {
|
if (!mGlobalSetupDone) {
|
||||||
|
|
||||||
RemoteOperationResult result = null;
|
|
||||||
File imageFile = mActivity.extractAsset(TestActivity.ASSETS__IMAGE_FILE_NAME);
|
File imageFile = mActivity.extractAsset(TestActivity.ASSETS__IMAGE_FILE_NAME);
|
||||||
|
|
||||||
for (int i=0; i<FILE_PATHS.length && (result == null || result.isSuccess()); i++) {
|
RemoteOperationResult result = mActivity.uploadFile(
|
||||||
result = mActivity.uploadFile(
|
imageFile.getAbsolutePath(),
|
||||||
imageFile.getAbsolutePath(),
|
mFullPath2Image,
|
||||||
FILE_PATHS[i],
|
"image/png");
|
||||||
"image/png");
|
|
||||||
}
|
|
||||||
if (!result.isSuccess()) {
|
if (!result.isSuccess()) {
|
||||||
Utils.logAndThrow(LOG_TAG, result);
|
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) {
|
if (!result.isSuccess() && result.getCode() != ResultCode.FILE_NOT_FOUND) {
|
||||||
Utils.logAndThrow(LOG_TAG, result);
|
Utils.logAndThrow(LOG_TAG, result);
|
||||||
}
|
}
|
||||||
@ -99,10 +104,10 @@ public class DownloadFileTest extends ActivityInstrumentationTestCase2<TestActiv
|
|||||||
*/
|
*/
|
||||||
public void testDownloadFile() {
|
public void testDownloadFile() {
|
||||||
RemoteOperationResult result = mActivity.downloadFile(
|
RemoteOperationResult result = mActivity.downloadFile(
|
||||||
new RemoteFile(IMAGE_PATH),
|
new RemoteFile(mFullPath2Image),
|
||||||
mActivity.getFilesDir().getAbsolutePath()
|
mActivity.getFilesDir().getAbsolutePath()
|
||||||
);
|
);
|
||||||
mDownloadedFilePath = IMAGE_PATH;
|
mDownloadedFilePath = mFullPath2Image;
|
||||||
assertTrue(result.isSuccess());
|
assertTrue(result.isSuccess());
|
||||||
// TODO some checks involving the local file
|
// TODO some checks involving the local file
|
||||||
}
|
}
|
||||||
@ -112,10 +117,10 @@ public class DownloadFileTest extends ActivityInstrumentationTestCase2<TestActiv
|
|||||||
*/
|
*/
|
||||||
public void testDownloadFileSpecialChars() {
|
public void testDownloadFileSpecialChars() {
|
||||||
RemoteOperationResult result = mActivity.downloadFile(
|
RemoteOperationResult result = mActivity.downloadFile(
|
||||||
new RemoteFile(IMAGE_PATH_WITH_SPECIAL_CHARS),
|
new RemoteFile(mFullPath2ImageWitSpecialChars),
|
||||||
mActivity.getFilesDir().getAbsolutePath()
|
mActivity.getFilesDir().getAbsolutePath()
|
||||||
);
|
);
|
||||||
mDownloadedFilePath = IMAGE_PATH_WITH_SPECIAL_CHARS;
|
mDownloadedFilePath = mFullPath2ImageWitSpecialChars;
|
||||||
assertTrue(result.isSuccess());
|
assertTrue(result.isSuccess());
|
||||||
// TODO some checks involving the local file
|
// TODO some checks involving the local file
|
||||||
}
|
}
|
||||||
@ -125,7 +130,7 @@ public class DownloadFileTest extends ActivityInstrumentationTestCase2<TestActiv
|
|||||||
*/
|
*/
|
||||||
public void testDownloadFileNotFound() {
|
public void testDownloadFileNotFound() {
|
||||||
RemoteOperationResult result = mActivity.downloadFile(
|
RemoteOperationResult result = mActivity.downloadFile(
|
||||||
new RemoteFile(IMAGE_NOT_FOUND),
|
new RemoteFile(mFullPath2ImageNotFound),
|
||||||
mActivity.getFilesDir().getAbsolutePath()
|
mActivity.getFilesDir().getAbsolutePath()
|
||||||
);
|
);
|
||||||
assertFalse(result.isSuccess());
|
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.resources.shares.ShareType;
|
||||||
import com.owncloud.android.lib.test_project.TestActivity;
|
import com.owncloud.android.lib.test_project.TestActivity;
|
||||||
|
|
||||||
import android.test.ActivityInstrumentationTestCase2;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class to test Get Shares Operation
|
* 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 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 TestActivity mActivity;
|
||||||
|
private String mFullPath2SharedFile;
|
||||||
public GetSharesTest() {
|
|
||||||
super(TestActivity.class);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void setUp() throws Exception {
|
protected void setUp() throws Exception {
|
||||||
super.setUp();
|
super.setUp();
|
||||||
setActivityInitialTouchMode(false);
|
setActivityInitialTouchMode(false);
|
||||||
mActivity = getActivity();
|
mActivity = getActivity();
|
||||||
|
mFullPath2SharedFile = mBaseFolderPath + SHARED_FILE;
|
||||||
|
|
||||||
File textFile = mActivity.extractAsset(TestActivity.ASSETS__TEXT_FILE_NAME);
|
File textFile = mActivity.extractAsset(TestActivity.ASSETS__TEXT_FILE_NAME);
|
||||||
RemoteOperationResult result = mActivity.uploadFile(
|
RemoteOperationResult result = mActivity.uploadFile(
|
||||||
textFile.getAbsolutePath(),
|
textFile.getAbsolutePath(),
|
||||||
SHARED_FILE,
|
mFullPath2SharedFile,
|
||||||
"txt/plain");
|
"txt/plain");
|
||||||
if (!result.isSuccess()) {
|
if (!result.isSuccess()) {
|
||||||
Utils.logAndThrow(LOG_TAG, result);
|
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) {
|
if (!result.isSuccess() && result.getCode() != ResultCode.TIMEOUT) {
|
||||||
Utils.logAndThrow(LOG_TAG, result);
|
Utils.logAndThrow(LOG_TAG, result);
|
||||||
}
|
}
|
||||||
@ -87,7 +82,7 @@ public class GetSharesTest extends ActivityInstrumentationTestCase2<TestActivity
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void tearDown() throws Exception {
|
protected void tearDown() throws Exception {
|
||||||
RemoteOperationResult removeResult = mActivity.removeFile(SHARED_FILE);
|
RemoteOperationResult removeResult = mActivity.removeFile(mFullPath2SharedFile);
|
||||||
if (!removeResult.isSuccess() && removeResult.getCode() != ResultCode.TIMEOUT) {
|
if (!removeResult.isSuccess() && removeResult.getCode() != ResultCode.TIMEOUT) {
|
||||||
Utils.logAndThrow(LOG_TAG, removeResult);
|
Utils.logAndThrow(LOG_TAG, removeResult);
|
||||||
}
|
}
|
||||||
|
@ -46,8 +46,6 @@ import com.owncloud.android.lib.test_project.TestActivity;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.test.ActivityInstrumentationTestCase2;
|
|
||||||
//import android.test.AndroidTestCase;
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -69,15 +67,15 @@ import android.util.Log;
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
//public class MoveFileTest extends AndroidTestCase {
|
//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();
|
private static final String LOG_TAG = MoveFileTest.class.getCanonicalName();
|
||||||
|
|
||||||
|
|
||||||
/// Paths to files and folders in fixture
|
/// Paths to files and folders in fixture
|
||||||
|
|
||||||
private static final String SRC_BASE_FOLDER = "/src" + Utils.getBuildNumber() + "/";
|
private static final String SRC_BASE_FOLDER = "/src/";
|
||||||
private static final String TARGET_BASE_FOLDER = "/target" + Utils.getBuildNumber() + "/";
|
private static final String TARGET_BASE_FOLDER = "/target/";
|
||||||
private static final String NO_FILE = "nofile.txt";
|
private static final String NO_FILE = "nofile.txt";
|
||||||
private static final String FILE1 = "file1.txt";
|
private static final String FILE1 = "file1.txt";
|
||||||
private static final String FILE2 = "file2.txt";
|
private static final String FILE2 = "file2.txt";
|
||||||
@ -209,7 +207,7 @@ public class MoveFileTest extends ActivityInstrumentationTestCase2<TestActivity>
|
|||||||
OwnCloudClient mClient = null;
|
OwnCloudClient mClient = null;
|
||||||
|
|
||||||
public MoveFileTest() {
|
public MoveFileTest() {
|
||||||
super(TestActivity.class);
|
super();
|
||||||
|
|
||||||
Protocol pr = Protocol.getProtocol("https");
|
Protocol pr = Protocol.getProtocol("https");
|
||||||
if (pr == null || !(pr.getSocketFactory() instanceof SelfSignedConfidentSslSocketFactory)) {
|
if (pr == null || !(pr.getSocketFactory() instanceof SelfSignedConfidentSslSocketFactory)) {
|
||||||
@ -244,7 +242,7 @@ public class MoveFileTest extends ActivityInstrumentationTestCase2<TestActivity>
|
|||||||
|
|
||||||
RemoteOperationResult result = null;
|
RemoteOperationResult result = null;
|
||||||
for (String folderPath : FOLDERS_IN_FIXTURE) {
|
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) {
|
if (!result.isSuccess() && result.getCode() != ResultCode.TIMEOUT) {
|
||||||
Utils.logAndThrow(LOG_TAG, result);
|
Utils.logAndThrow(LOG_TAG, result);
|
||||||
}
|
}
|
||||||
@ -255,7 +253,7 @@ public class MoveFileTest extends ActivityInstrumentationTestCase2<TestActivity>
|
|||||||
);
|
);
|
||||||
for (String filePath : FILES_IN_FIXTURE) {
|
for (String filePath : FILES_IN_FIXTURE) {
|
||||||
result = TestActivity.uploadFile(
|
result = TestActivity.uploadFile(
|
||||||
txtFile.getAbsolutePath(), filePath, "txt/plain", mClient
|
txtFile.getAbsolutePath(), mBaseFolderPath + filePath, "txt/plain", mClient
|
||||||
);
|
);
|
||||||
if (!result.isSuccess()) {
|
if (!result.isSuccess()) {
|
||||||
Utils.logAndThrow(LOG_TAG, result);
|
Utils.logAndThrow(LOG_TAG, result);
|
||||||
@ -277,8 +275,8 @@ public class MoveFileTest extends ActivityInstrumentationTestCase2<TestActivity>
|
|||||||
|
|
||||||
// move file
|
// move file
|
||||||
MoveRemoteFileOperation moveOperation = new MoveRemoteFileOperation(
|
MoveRemoteFileOperation moveOperation = new MoveRemoteFileOperation(
|
||||||
SRC_PATH_TO_FILE_1,
|
mBaseFolderPath + SRC_PATH_TO_FILE_1,
|
||||||
TARGET_PATH_TO_FILE_1,
|
mBaseFolderPath + TARGET_PATH_TO_FILE_1,
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
RemoteOperationResult result = moveOperation.execute(mClient);
|
RemoteOperationResult result = moveOperation.execute(mClient);
|
||||||
@ -286,8 +284,8 @@ public class MoveFileTest extends ActivityInstrumentationTestCase2<TestActivity>
|
|||||||
|
|
||||||
// move & rename file, different location
|
// move & rename file, different location
|
||||||
moveOperation = new MoveRemoteFileOperation(
|
moveOperation = new MoveRemoteFileOperation(
|
||||||
SRC_PATH_TO_FILE_2,
|
mBaseFolderPath + SRC_PATH_TO_FILE_2,
|
||||||
TARGET_PATH_TO_FILE_2_RENAMED,
|
mBaseFolderPath + TARGET_PATH_TO_FILE_2_RENAMED,
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
result = moveOperation.execute(mClient);
|
result = moveOperation.execute(mClient);
|
||||||
@ -295,8 +293,8 @@ public class MoveFileTest extends ActivityInstrumentationTestCase2<TestActivity>
|
|||||||
|
|
||||||
// move & rename file, same location (rename file)
|
// move & rename file, same location (rename file)
|
||||||
moveOperation = new MoveRemoteFileOperation(
|
moveOperation = new MoveRemoteFileOperation(
|
||||||
SRC_PATH_TO_FILE_3,
|
mBaseFolderPath + SRC_PATH_TO_FILE_3,
|
||||||
SRC_PATH_TO_FILE_3_RENAMED,
|
mBaseFolderPath + SRC_PATH_TO_FILE_3_RENAMED,
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
result = moveOperation.execute(mClient);
|
result = moveOperation.execute(mClient);
|
||||||
@ -304,8 +302,8 @@ public class MoveFileTest extends ActivityInstrumentationTestCase2<TestActivity>
|
|||||||
|
|
||||||
// move empty folder
|
// move empty folder
|
||||||
moveOperation = new MoveRemoteFileOperation(
|
moveOperation = new MoveRemoteFileOperation(
|
||||||
SRC_PATH_TO_EMPTY_FOLDER,
|
mBaseFolderPath + SRC_PATH_TO_EMPTY_FOLDER,
|
||||||
TARGET_PATH_TO_EMPTY_FOLDER,
|
mBaseFolderPath + TARGET_PATH_TO_EMPTY_FOLDER,
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
result = moveOperation.execute(mClient);
|
result = moveOperation.execute(mClient);
|
||||||
@ -313,8 +311,8 @@ public class MoveFileTest extends ActivityInstrumentationTestCase2<TestActivity>
|
|||||||
|
|
||||||
// move non-empty folder
|
// move non-empty folder
|
||||||
moveOperation = new MoveRemoteFileOperation(
|
moveOperation = new MoveRemoteFileOperation(
|
||||||
SRC_PATH_TO_FULL_FOLDER_1,
|
mBaseFolderPath + SRC_PATH_TO_FULL_FOLDER_1,
|
||||||
TARGET_PATH_TO_FULL_FOLDER_1,
|
mBaseFolderPath + TARGET_PATH_TO_FULL_FOLDER_1,
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
result = moveOperation.execute(mClient);
|
result = moveOperation.execute(mClient);
|
||||||
@ -322,8 +320,8 @@ public class MoveFileTest extends ActivityInstrumentationTestCase2<TestActivity>
|
|||||||
|
|
||||||
// move & rename folder, different location
|
// move & rename folder, different location
|
||||||
moveOperation = new MoveRemoteFileOperation(
|
moveOperation = new MoveRemoteFileOperation(
|
||||||
SRC_PATH_TO_FULL_FOLDER_2,
|
mBaseFolderPath + SRC_PATH_TO_FULL_FOLDER_2,
|
||||||
TARGET_PATH_TO_FULL_FOLDER_2_RENAMED,
|
mBaseFolderPath + TARGET_PATH_TO_FULL_FOLDER_2_RENAMED,
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
result = moveOperation.execute(mClient);
|
result = moveOperation.execute(mClient);
|
||||||
@ -331,8 +329,8 @@ public class MoveFileTest extends ActivityInstrumentationTestCase2<TestActivity>
|
|||||||
|
|
||||||
// move & rename folder, same location (rename folder)
|
// move & rename folder, same location (rename folder)
|
||||||
moveOperation = new MoveRemoteFileOperation(
|
moveOperation = new MoveRemoteFileOperation(
|
||||||
SRC_PATH_TO_FULL_FOLDER_3,
|
mBaseFolderPath + SRC_PATH_TO_FULL_FOLDER_3,
|
||||||
SRC_PATH_TO_FULL_FOLDER_3_RENAMED,
|
mBaseFolderPath + SRC_PATH_TO_FULL_FOLDER_3_RENAMED,
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
result = moveOperation.execute(mClient);
|
result = moveOperation.execute(mClient);
|
||||||
@ -340,8 +338,8 @@ public class MoveFileTest extends ActivityInstrumentationTestCase2<TestActivity>
|
|||||||
|
|
||||||
// move for nothing (success, but no interaction with network)
|
// move for nothing (success, but no interaction with network)
|
||||||
moveOperation = new MoveRemoteFileOperation(
|
moveOperation = new MoveRemoteFileOperation(
|
||||||
SRC_PATH_TO_FILE_4,
|
mBaseFolderPath + SRC_PATH_TO_FILE_4,
|
||||||
SRC_PATH_TO_FILE_4,
|
mBaseFolderPath + SRC_PATH_TO_FILE_4,
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
result = moveOperation.execute(mClient);
|
result = moveOperation.execute(mClient);
|
||||||
@ -349,9 +347,9 @@ public class MoveFileTest extends ActivityInstrumentationTestCase2<TestActivity>
|
|||||||
|
|
||||||
// move overwriting
|
// move overwriting
|
||||||
moveOperation = new MoveRemoteFileOperation(
|
moveOperation = new MoveRemoteFileOperation(
|
||||||
SRC_PATH_TO_FULL_FOLDER_4,
|
mBaseFolderPath + SRC_PATH_TO_FULL_FOLDER_4,
|
||||||
TARGET_PATH_TO_ALREADY_EXISTENT_EMPTY_FOLDER_4,
|
mBaseFolderPath + TARGET_PATH_TO_ALREADY_EXISTENT_EMPTY_FOLDER_4,
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
result = moveOperation.execute(mClient);
|
result = moveOperation.execute(mClient);
|
||||||
assertTrue(result.isSuccess());
|
assertTrue(result.isSuccess());
|
||||||
@ -361,45 +359,45 @@ public class MoveFileTest extends ActivityInstrumentationTestCase2<TestActivity>
|
|||||||
|
|
||||||
// file to move does not exist
|
// file to move does not exist
|
||||||
moveOperation = new MoveRemoteFileOperation(
|
moveOperation = new MoveRemoteFileOperation(
|
||||||
SRC_PATH_TO_NON_EXISTENT_FILE,
|
mBaseFolderPath + SRC_PATH_TO_NON_EXISTENT_FILE,
|
||||||
TARGET_PATH_TO_NON_EXISTENT_FILE,
|
mBaseFolderPath + TARGET_PATH_TO_NON_EXISTENT_FILE,
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
result = moveOperation.execute(mClient);
|
result = moveOperation.execute(mClient);
|
||||||
assertTrue(result.getCode() == ResultCode.FILE_NOT_FOUND);
|
assertTrue(result.getCode() == ResultCode.FILE_NOT_FOUND);
|
||||||
|
|
||||||
// folder to move into does no exist
|
// folder to move into does no exist
|
||||||
moveOperation = new MoveRemoteFileOperation(
|
moveOperation = new MoveRemoteFileOperation(
|
||||||
SRC_PATH_TO_FILE_5,
|
mBaseFolderPath + SRC_PATH_TO_FILE_5,
|
||||||
TARGET_PATH_TO_FILE_5_INTO_NON_EXISTENT_FOLDER,
|
mBaseFolderPath + TARGET_PATH_TO_FILE_5_INTO_NON_EXISTENT_FOLDER,
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
result = moveOperation.execute(mClient);
|
result = moveOperation.execute(mClient);
|
||||||
assertTrue(result.getHttpCode() == HttpStatus.SC_CONFLICT);
|
assertTrue(result.getHttpCode() == HttpStatus.SC_CONFLICT);
|
||||||
|
|
||||||
// target location (renaming) has invalid characters
|
// target location (renaming) has invalid characters
|
||||||
moveOperation = new MoveRemoteFileOperation(
|
moveOperation = new MoveRemoteFileOperation(
|
||||||
SRC_PATH_TO_FILE_6,
|
mBaseFolderPath + SRC_PATH_TO_FILE_6,
|
||||||
TARGET_PATH_RENAMED_WITH_INVALID_CHARS,
|
mBaseFolderPath + TARGET_PATH_RENAMED_WITH_INVALID_CHARS,
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
result = moveOperation.execute(mClient);
|
result = moveOperation.execute(mClient);
|
||||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||||
|
|
||||||
// name collision
|
// name collision
|
||||||
moveOperation = new MoveRemoteFileOperation(
|
moveOperation = new MoveRemoteFileOperation(
|
||||||
SRC_PATH_TO_FILE_7,
|
mBaseFolderPath + SRC_PATH_TO_FILE_7,
|
||||||
TARGET_PATH_TO_ALREADY_EXISTENT_FILE_7,
|
mBaseFolderPath + TARGET_PATH_TO_ALREADY_EXISTENT_FILE_7,
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
result = moveOperation.execute(mClient);
|
result = moveOperation.execute(mClient);
|
||||||
assertTrue(result.getCode() == ResultCode.INVALID_OVERWRITE);
|
assertTrue(result.getCode() == ResultCode.INVALID_OVERWRITE);
|
||||||
|
|
||||||
// move a folder into a descendant
|
// move a folder into a descendant
|
||||||
moveOperation = new MoveRemoteFileOperation(
|
moveOperation = new MoveRemoteFileOperation(
|
||||||
SRC_BASE_FOLDER,
|
mBaseFolderPath + SRC_BASE_FOLDER,
|
||||||
SRC_PATH_TO_EMPTY_FOLDER,
|
mBaseFolderPath + SRC_PATH_TO_EMPTY_FOLDER,
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
result = moveOperation.execute(mClient);
|
result = moveOperation.execute(mClient);
|
||||||
assertTrue(result.getCode() == ResultCode.INVALID_MOVE_INTO_DESCENDANT);
|
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...");
|
Log.v(LOG_TAG, "Deleting remote fixture...");
|
||||||
|
|
||||||
String[] mPathsToCleanUp = {
|
String[] mPathsToCleanUp = {
|
||||||
SRC_BASE_FOLDER,
|
mBaseFolderPath + SRC_BASE_FOLDER,
|
||||||
TARGET_BASE_FOLDER
|
mBaseFolderPath + TARGET_BASE_FOLDER
|
||||||
};
|
};
|
||||||
|
|
||||||
for (String path : mPathsToCleanUp) {
|
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.common.operations.RemoteOperationResult.ResultCode;
|
||||||
import com.owncloud.android.lib.test_project.TestActivity;
|
import com.owncloud.android.lib.test_project.TestActivity;
|
||||||
|
|
||||||
import android.test.ActivityInstrumentationTestCase2;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class to test Read File Operation
|
* Class to test Read File Operation
|
||||||
* @author masensio
|
* @author masensio
|
||||||
* @author David A. Velasco
|
* @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 static final String LOG_TAG = ReadFileTest.class.getCanonicalName();
|
||||||
|
|
||||||
private TestActivity mActivity;
|
private TestActivity mActivity;
|
||||||
|
|
||||||
private String FILE_PATH = "/fileToRead" + Utils.getBuildNumber() + ".txt";
|
private String FILE_PATH = "/fileToRead.txt";
|
||||||
|
private String mFullPath2File;
|
||||||
public ReadFileTest() {
|
|
||||||
super(TestActivity.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void setUp() throws Exception {
|
protected void setUp() throws Exception {
|
||||||
@ -55,11 +50,12 @@ public class ReadFileTest extends ActivityInstrumentationTestCase2<TestActivity
|
|||||||
|
|
||||||
setActivityInitialTouchMode(false);
|
setActivityInitialTouchMode(false);
|
||||||
mActivity = getActivity();
|
mActivity = getActivity();
|
||||||
|
mFullPath2File = mBaseFolderPath + FILE_PATH;
|
||||||
|
|
||||||
File textFile = mActivity.extractAsset(TestActivity.ASSETS__TEXT_FILE_NAME);
|
File textFile = mActivity.extractAsset(TestActivity.ASSETS__TEXT_FILE_NAME);
|
||||||
RemoteOperationResult uploadResult = mActivity.uploadFile(
|
RemoteOperationResult uploadResult = mActivity.uploadFile(
|
||||||
textFile.getAbsolutePath(),
|
textFile.getAbsolutePath(),
|
||||||
FILE_PATH,
|
mFullPath2File,
|
||||||
"txt/plain");
|
"txt/plain");
|
||||||
if (!uploadResult.isSuccess()) {
|
if (!uploadResult.isSuccess()) {
|
||||||
Utils.logAndThrow(LOG_TAG, uploadResult);
|
Utils.logAndThrow(LOG_TAG, uploadResult);
|
||||||
@ -70,7 +66,7 @@ public class ReadFileTest extends ActivityInstrumentationTestCase2<TestActivity
|
|||||||
* Test Read File
|
* Test Read File
|
||||||
*/
|
*/
|
||||||
public void testReadFile() {
|
public void testReadFile() {
|
||||||
RemoteOperationResult result = mActivity.readFile(FILE_PATH);
|
RemoteOperationResult result = mActivity.readFile(mFullPath2File);
|
||||||
assertTrue(result.getData() != null && result.getData().size() == 1);
|
assertTrue(result.getData() != null && result.getData().size() == 1);
|
||||||
assertTrue(result.isSuccess());
|
assertTrue(result.isSuccess());
|
||||||
// TODO check more properties of the result
|
// TODO check more properties of the result
|
||||||
@ -78,7 +74,7 @@ public class ReadFileTest extends ActivityInstrumentationTestCase2<TestActivity
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void tearDown() throws Exception {
|
protected void tearDown() throws Exception {
|
||||||
RemoteOperationResult removeResult = mActivity.removeFile(FILE_PATH);
|
RemoteOperationResult removeResult = mActivity.removeFile(mFullPath2File);
|
||||||
if (!removeResult.isSuccess() && removeResult.getCode() != ResultCode.TIMEOUT) {
|
if (!removeResult.isSuccess() && removeResult.getCode() != ResultCode.TIMEOUT) {
|
||||||
Utils.logAndThrow(LOG_TAG, removeResult);
|
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.common.operations.RemoteOperationResult.ResultCode;
|
||||||
import com.owncloud.android.lib.test_project.TestActivity;
|
import com.owncloud.android.lib.test_project.TestActivity;
|
||||||
|
|
||||||
import android.test.ActivityInstrumentationTestCase2;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class to test Read Folder Operation
|
* Class to test Read Folder Operation
|
||||||
* @author masensio
|
* @author masensio
|
||||||
* @author David A. Velasco
|
* @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 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 = {
|
private static final String [] FILE_PATHS = {
|
||||||
FOLDER_PATH + "/file1.txt",
|
FOLDER_PATH + "/file1.txt",
|
||||||
FOLDER_PATH + "/file2.txt",
|
FOLDER_PATH + "/file2.txt",
|
||||||
@ -51,24 +49,22 @@ public class ReadFolderTest extends ActivityInstrumentationTestCase2<TestActivit
|
|||||||
|
|
||||||
|
|
||||||
private TestActivity mActivity;
|
private TestActivity mActivity;
|
||||||
|
private String mFullPathToFolder;
|
||||||
public ReadFolderTest() {
|
|
||||||
super(TestActivity.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void setUp() throws Exception {
|
protected void setUp() throws Exception {
|
||||||
super.setUp();
|
super.setUp();
|
||||||
setActivityInitialTouchMode(false);
|
setActivityInitialTouchMode(false);
|
||||||
mActivity = getActivity();
|
mActivity = getActivity();
|
||||||
|
mFullPathToFolder = mBaseFolderPath + FOLDER_PATH;
|
||||||
|
|
||||||
File textFile = mActivity.extractAsset(TestActivity.ASSETS__TEXT_FILE_NAME);
|
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()) {
|
if (result.isSuccess()) {
|
||||||
for (int i=0; i<FILE_PATHS.length && result.isSuccess(); i++) {
|
for (int i=0; i<FILE_PATHS.length && result.isSuccess(); i++) {
|
||||||
result = mActivity.uploadFile(
|
result = mActivity.uploadFile(
|
||||||
textFile.getAbsolutePath(),
|
textFile.getAbsolutePath(),
|
||||||
FILE_PATHS[i],
|
mBaseFolderPath + FILE_PATHS[i],
|
||||||
"txt/plain");
|
"txt/plain");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -84,7 +80,7 @@ public class ReadFolderTest extends ActivityInstrumentationTestCase2<TestActivit
|
|||||||
*/
|
*/
|
||||||
public void testReadFolder() {
|
public void testReadFolder() {
|
||||||
|
|
||||||
RemoteOperationResult result = mActivity.readFile(FOLDER_PATH);
|
RemoteOperationResult result = mActivity.readFile(mFullPathToFolder);
|
||||||
assertTrue(result.isSuccess());
|
assertTrue(result.isSuccess());
|
||||||
assertTrue(result.getData() != null && result.getData().size() > 1);
|
assertTrue(result.getData() != null && result.getData().size() > 1);
|
||||||
assertTrue(result.getData().size() == 4);
|
assertTrue(result.getData().size() == 4);
|
||||||
@ -94,7 +90,7 @@ public class ReadFolderTest extends ActivityInstrumentationTestCase2<TestActivit
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void tearDown() throws Exception {
|
protected void tearDown() throws Exception {
|
||||||
RemoteOperationResult removeResult = mActivity.removeFile(FOLDER_PATH);
|
RemoteOperationResult removeResult = mActivity.removeFile(mFullPathToFolder);
|
||||||
if (!removeResult.isSuccess() && removeResult.getCode() != ResultCode.TIMEOUT) {
|
if (!removeResult.isSuccess() && removeResult.getCode() != ResultCode.TIMEOUT) {
|
||||||
Utils.logAndThrow(LOG_TAG, removeResult);
|
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.common.operations.RemoteOperationResult.ResultCode;
|
||||||
import com.owncloud.android.lib.test_project.TestActivity;
|
import com.owncloud.android.lib.test_project.TestActivity;
|
||||||
|
|
||||||
import android.test.ActivityInstrumentationTestCase2;
|
public class RemoveShareTest extends RemoteTest {
|
||||||
|
|
||||||
public class RemoveShareTest extends ActivityInstrumentationTestCase2<TestActivity> {
|
|
||||||
|
|
||||||
private static final String LOG_TAG = RemoveShareTest.class.getCanonicalName();
|
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 TestActivity mActivity;
|
||||||
|
|
||||||
|
private String mFullPath2FileToUnshare;
|
||||||
|
|
||||||
private long mShareId;
|
private long mShareId;
|
||||||
|
|
||||||
public RemoveShareTest() {
|
|
||||||
super(TestActivity.class);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void setUp() throws Exception {
|
protected void setUp() throws Exception {
|
||||||
super.setUp();
|
super.setUp();
|
||||||
setActivityInitialTouchMode(false);
|
setActivityInitialTouchMode(false);
|
||||||
mActivity = getActivity();
|
mActivity = getActivity();
|
||||||
|
mFullPath2FileToUnshare = mBaseFolderPath + FILE_TO_UNSHARE;
|
||||||
|
|
||||||
File textFile = mActivity.extractAsset(TestActivity.ASSETS__TEXT_FILE_NAME);
|
File textFile = mActivity.extractAsset(TestActivity.ASSETS__TEXT_FILE_NAME);
|
||||||
RemoteOperationResult result = mActivity.uploadFile(
|
RemoteOperationResult result = mActivity.uploadFile(
|
||||||
textFile.getAbsolutePath(),
|
textFile.getAbsolutePath(),
|
||||||
FILE_TO_UNSHARE,
|
mFullPath2FileToUnshare,
|
||||||
"txt/plain");
|
"txt/plain");
|
||||||
if (!result.isSuccess()) {
|
if (!result.isSuccess()) {
|
||||||
Utils.logAndThrow(LOG_TAG, result);
|
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()) {
|
if (!result.isSuccess()) {
|
||||||
Utils.logAndThrow(LOG_TAG, result);
|
Utils.logAndThrow(LOG_TAG, result);
|
||||||
} else {
|
} else {
|
||||||
@ -85,7 +81,7 @@ public class RemoveShareTest extends ActivityInstrumentationTestCase2<TestActivi
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void tearDown() throws Exception {
|
protected void tearDown() throws Exception {
|
||||||
RemoteOperationResult removeResult = mActivity.removeFile(FILE_TO_UNSHARE);
|
RemoteOperationResult removeResult = mActivity.removeFile(mFullPath2FileToUnshare);
|
||||||
if (!removeResult.isSuccess() && removeResult.getCode() != ResultCode.TIMEOUT) {
|
if (!removeResult.isSuccess() && removeResult.getCode() != ResultCode.TIMEOUT) {
|
||||||
Utils.logAndThrow(LOG_TAG, removeResult);
|
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.resources.files.FileUtils;
|
||||||
import com.owncloud.android.lib.test_project.TestActivity;
|
import com.owncloud.android.lib.test_project.TestActivity;
|
||||||
|
|
||||||
import android.test.ActivityInstrumentationTestCase2;
|
|
||||||
import android.util.Log;
|
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();
|
private static final String LOG_TAG = RenameFileTest.class.getCanonicalName();
|
||||||
|
|
||||||
/* Folder data to rename. This folder must exist on the account */
|
/* 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 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;
|
private static final String NEW_FOLDER_PATH = FileUtils.PATH_SEPARATOR + NEW_FOLDER_NAME;
|
||||||
|
|
||||||
/* File data to rename. This file must exist on the account */
|
/* 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 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;
|
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 String mToCleanUpInServer;
|
||||||
private TestActivity mActivity;
|
private TestActivity mActivity;
|
||||||
|
private String mFullPath2OldFolder;
|
||||||
public RenameFileTest() {
|
private String mFullPath2NewFolder;
|
||||||
super(TestActivity.class);
|
private String mFullPath2OldFile;
|
||||||
|
private String mFullPath2NewFile;
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void setUp() throws Exception {
|
protected void setUp() throws Exception {
|
||||||
super.setUp();
|
super.setUp();
|
||||||
setActivityInitialTouchMode(false);
|
setActivityInitialTouchMode(false);
|
||||||
mActivity = getActivity();
|
mActivity = getActivity();
|
||||||
|
mFullPath2OldFolder = mBaseFolderPath + OLD_FOLDER_PATH;
|
||||||
|
mFullPath2NewFolder = mBaseFolderPath + NEW_FOLDER_PATH;
|
||||||
|
mFullPath2OldFile = mBaseFolderPath + OLD_FILE_PATH;
|
||||||
|
mFullPath2NewFile = mBaseFolderPath + NEW_FILE_PATH;
|
||||||
|
|
||||||
|
|
||||||
if (!mGlobalSetupDone) {
|
if (!mGlobalSetupDone) {
|
||||||
|
|
||||||
Log.v(LOG_TAG, "Starting global set up");
|
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) {
|
if (!result.isSuccess() && result.getCode() != ResultCode.TIMEOUT) {
|
||||||
Utils.logAndThrow(LOG_TAG, result);
|
Utils.logAndThrow(LOG_TAG, result);
|
||||||
}
|
}
|
||||||
@ -84,7 +87,7 @@ public class RenameFileTest extends ActivityInstrumentationTestCase2<TestActivit
|
|||||||
File imageFile = mActivity.extractAsset(TestActivity.ASSETS__IMAGE_FILE_NAME);
|
File imageFile = mActivity.extractAsset(TestActivity.ASSETS__IMAGE_FILE_NAME);
|
||||||
result = mActivity.uploadFile(
|
result = mActivity.uploadFile(
|
||||||
imageFile.getAbsolutePath(),
|
imageFile.getAbsolutePath(),
|
||||||
OLD_FILE_PATH,
|
mFullPath2OldFile,
|
||||||
"image/png");
|
"image/png");
|
||||||
if (!result.isSuccess()) {
|
if (!result.isSuccess()) {
|
||||||
Utils.logAndThrow(LOG_TAG, result);
|
Utils.logAndThrow(LOG_TAG, result);
|
||||||
@ -102,14 +105,14 @@ public class RenameFileTest extends ActivityInstrumentationTestCase2<TestActivit
|
|||||||
*/
|
*/
|
||||||
public void testRenameFolder() {
|
public void testRenameFolder() {
|
||||||
|
|
||||||
mToCleanUpInServer = OLD_FOLDER_PATH;
|
mToCleanUpInServer = mFullPath2OldFolder;
|
||||||
RemoteOperationResult result = mActivity.renameFile(
|
RemoteOperationResult result = mActivity.renameFile(
|
||||||
OLD_FOLDER_NAME,
|
OLD_FOLDER_NAME,
|
||||||
OLD_FOLDER_PATH,
|
mFullPath2OldFolder,
|
||||||
NEW_FOLDER_NAME,
|
NEW_FOLDER_NAME,
|
||||||
true);
|
true);
|
||||||
assertTrue(result.isSuccess());
|
assertTrue(result.isSuccess());
|
||||||
mToCleanUpInServer = NEW_FOLDER_PATH;
|
mToCleanUpInServer = mFullPath2NewFolder;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -117,35 +120,35 @@ public class RenameFileTest extends ActivityInstrumentationTestCase2<TestActivit
|
|||||||
*/
|
*/
|
||||||
public void testRenameFolderForbiddenChars() {
|
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);
|
NEW_FOLDER_NAME + "\\", true);
|
||||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
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);
|
NEW_FOLDER_NAME + "<", true);
|
||||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
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);
|
NEW_FOLDER_NAME + ">", true);
|
||||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
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);
|
NEW_FOLDER_NAME + ":", true);
|
||||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
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);
|
NEW_FOLDER_NAME + "\"", true);
|
||||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
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);
|
NEW_FOLDER_NAME + "|", true);
|
||||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
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);
|
NEW_FOLDER_NAME + "?", true);
|
||||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
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);
|
NEW_FOLDER_NAME + "*", true);
|
||||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||||
}
|
}
|
||||||
@ -154,14 +157,14 @@ public class RenameFileTest extends ActivityInstrumentationTestCase2<TestActivit
|
|||||||
* Test Rename File
|
* Test Rename File
|
||||||
*/
|
*/
|
||||||
public void testRenameFile() {
|
public void testRenameFile() {
|
||||||
mToCleanUpInServer = OLD_FILE_PATH;
|
mToCleanUpInServer = mFullPath2OldFile;
|
||||||
RemoteOperationResult result = mActivity.renameFile(
|
RemoteOperationResult result = mActivity.renameFile(
|
||||||
OLD_FILE_NAME,
|
OLD_FILE_NAME,
|
||||||
OLD_FILE_PATH,
|
mFullPath2OldFile,
|
||||||
NEW_FILE_NAME,
|
NEW_FILE_NAME,
|
||||||
false);
|
false);
|
||||||
assertTrue(result.isSuccess());
|
assertTrue(result.isSuccess());
|
||||||
mToCleanUpInServer = NEW_FILE_PATH;
|
mToCleanUpInServer = mFullPath2NewFile;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -171,56 +174,56 @@ public class RenameFileTest extends ActivityInstrumentationTestCase2<TestActivit
|
|||||||
public void testRenameFileForbiddenChars() {
|
public void testRenameFileForbiddenChars() {
|
||||||
RemoteOperationResult result = mActivity.renameFile(
|
RemoteOperationResult result = mActivity.renameFile(
|
||||||
OLD_FILE_NAME,
|
OLD_FILE_NAME,
|
||||||
OLD_FILE_PATH,
|
mFullPath2OldFile,
|
||||||
"\\" + NEW_FILE_NAME,
|
"\\" + NEW_FILE_NAME,
|
||||||
false);
|
false);
|
||||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||||
|
|
||||||
result = mActivity.renameFile(
|
result = mActivity.renameFile(
|
||||||
OLD_FILE_NAME,
|
OLD_FILE_NAME,
|
||||||
OLD_FILE_PATH,
|
mFullPath2OldFile,
|
||||||
"<" + NEW_FILE_NAME,
|
"<" + NEW_FILE_NAME,
|
||||||
false);
|
false);
|
||||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||||
|
|
||||||
result = mActivity.renameFile(
|
result = mActivity.renameFile(
|
||||||
OLD_FILE_NAME,
|
OLD_FILE_NAME,
|
||||||
OLD_FILE_PATH,
|
mFullPath2OldFile,
|
||||||
">" + NEW_FILE_NAME,
|
">" + NEW_FILE_NAME,
|
||||||
false);
|
false);
|
||||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||||
|
|
||||||
result = mActivity.renameFile(
|
result = mActivity.renameFile(
|
||||||
OLD_FILE_NAME,
|
OLD_FILE_NAME,
|
||||||
OLD_FILE_PATH,
|
mFullPath2OldFile,
|
||||||
":" + NEW_FILE_NAME,
|
":" + NEW_FILE_NAME,
|
||||||
false);
|
false);
|
||||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||||
|
|
||||||
result = mActivity.renameFile(
|
result = mActivity.renameFile(
|
||||||
OLD_FILE_NAME,
|
OLD_FILE_NAME,
|
||||||
OLD_FILE_PATH,
|
mFullPath2OldFile,
|
||||||
"\"" + NEW_FILE_NAME,
|
"\"" + NEW_FILE_NAME,
|
||||||
false);
|
false);
|
||||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||||
|
|
||||||
result = mActivity.renameFile(
|
result = mActivity.renameFile(
|
||||||
OLD_FILE_NAME,
|
OLD_FILE_NAME,
|
||||||
OLD_FILE_PATH,
|
mFullPath2OldFile,
|
||||||
"|" + NEW_FILE_NAME,
|
"|" + NEW_FILE_NAME,
|
||||||
false);
|
false);
|
||||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||||
|
|
||||||
result = mActivity.renameFile(
|
result = mActivity.renameFile(
|
||||||
OLD_FILE_NAME,
|
OLD_FILE_NAME,
|
||||||
OLD_FILE_PATH,
|
mFullPath2OldFile,
|
||||||
"?" + NEW_FILE_NAME,
|
"?" + NEW_FILE_NAME,
|
||||||
false);
|
false);
|
||||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
||||||
|
|
||||||
result = mActivity.renameFile(
|
result = mActivity.renameFile(
|
||||||
OLD_FILE_NAME,
|
OLD_FILE_NAME,
|
||||||
OLD_FILE_PATH,
|
mFullPath2OldFile,
|
||||||
"*" + NEW_FILE_NAME, false);
|
"*" + NEW_FILE_NAME, false);
|
||||||
assertTrue(result.getCode() == ResultCode.INVALID_CHARACTER_IN_NAME);
|
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 java.io.File;
|
||||||
|
|
||||||
import android.test.ActivityInstrumentationTestCase2;
|
|
||||||
|
|
||||||
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
|
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
|
||||||
import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode;
|
import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode;
|
||||||
import com.owncloud.android.lib.test_project.TestActivity;
|
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 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;
|
private TestActivity mActivity;
|
||||||
@ -55,10 +53,6 @@ public class UploadFileTest extends ActivityInstrumentationTestCase2<TestActivit
|
|||||||
private String mUploadedFilePath;
|
private String mUploadedFilePath;
|
||||||
|
|
||||||
|
|
||||||
public UploadFileTest() {
|
|
||||||
super(TestActivity.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void setUp() throws Exception {
|
protected void setUp() throws Exception {
|
||||||
super.setUp();
|
super.setUp();
|
||||||
@ -76,12 +70,13 @@ public class UploadFileTest extends ActivityInstrumentationTestCase2<TestActivit
|
|||||||
*/
|
*/
|
||||||
public void testUploadFile() {
|
public void testUploadFile() {
|
||||||
|
|
||||||
|
String fullPath2Upload = mBaseFolderPath + UPLOAD_PATH;
|
||||||
RemoteOperationResult result = mActivity.uploadFile(
|
RemoteOperationResult result = mActivity.uploadFile(
|
||||||
mFileToUpload.getAbsolutePath(),
|
mFileToUpload.getAbsolutePath(),
|
||||||
UPLOAD_PATH,
|
fullPath2Upload,
|
||||||
"image/png"
|
"image/png"
|
||||||
);
|
);
|
||||||
mUploadedFilePath = UPLOAD_PATH;
|
mUploadedFilePath = fullPath2Upload;
|
||||||
assertTrue(result.isSuccess());
|
assertTrue(result.isSuccess());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -90,12 +85,13 @@ public class UploadFileTest extends ActivityInstrumentationTestCase2<TestActivit
|
|||||||
*/
|
*/
|
||||||
public void testUploadFileWithChunks() {
|
public void testUploadFileWithChunks() {
|
||||||
|
|
||||||
|
String fullPath2Upload = mBaseFolderPath + CHUNKED_UPLOAD_PATH;
|
||||||
RemoteOperationResult result = mActivity.uploadFile(
|
RemoteOperationResult result = mActivity.uploadFile(
|
||||||
mFileToUploadWithChunks.getAbsolutePath(),
|
mFileToUploadWithChunks.getAbsolutePath(),
|
||||||
CHUNKED_UPLOAD_PATH,
|
fullPath2Upload,
|
||||||
"video/mp4"
|
"video/mp4"
|
||||||
);
|
);
|
||||||
mUploadedFilePath = CHUNKED_UPLOAD_PATH;
|
mUploadedFilePath = fullPath2Upload;
|
||||||
assertTrue(result.isSuccess());
|
assertTrue(result.isSuccess());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -104,12 +100,13 @@ public class UploadFileTest extends ActivityInstrumentationTestCase2<TestActivit
|
|||||||
*/
|
*/
|
||||||
public void testUploadFileNotFound() {
|
public void testUploadFileNotFound() {
|
||||||
|
|
||||||
|
String fullPath2Upload = mBaseFolderPath + FILE_NOT_FOUND_PATH;
|
||||||
RemoteOperationResult result = mActivity.uploadFile(
|
RemoteOperationResult result = mActivity.uploadFile(
|
||||||
FILE_NOT_FOUND_PATH,
|
FILE_NOT_FOUND_PATH,
|
||||||
FILE_NOT_FOUND_PATH,
|
fullPath2Upload,
|
||||||
"image/png"
|
"image/png"
|
||||||
);
|
);
|
||||||
mUploadedFilePath = FILE_NOT_FOUND_PATH;
|
mUploadedFilePath = fullPath2Upload;
|
||||||
assertFalse(result.isSuccess());
|
assertFalse(result.isSuccess());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
package com.owncloud.android.lib.test_project.test;
|
package com.owncloud.android.lib.test_project.test;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
|
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 String LOG_TAG = Utils.class.getSimpleName();
|
||||||
|
|
||||||
private static final String BUILD_NUMBER_ENV_VAR = "TRAVIS_BUILD_NUMBER";
|
|
||||||
private static String sBuildNumber = null;
|
private static String sBuildNumber = null;
|
||||||
|
|
||||||
public static void logAndThrow(String tag, RemoteOperationResult result) throws Exception {
|
public static void logAndThrow(String tag, RemoteOperationResult result) throws Exception {
|
||||||
@ -40,10 +40,10 @@ public class Utils {
|
|||||||
throw new Exception(result.getLogMessage(), result.getException());
|
throw new Exception(result.getLogMessage(), result.getException());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getBuildNumber() {
|
public static String getBuildNumber(Context context) {
|
||||||
if (sBuildNumber == null) {
|
if (sBuildNumber == null) {
|
||||||
sBuildNumber = System.getenv(BUILD_NUMBER_ENV_VAR);
|
sBuildNumber = context.getString(R.string.build_number);
|
||||||
if (sBuildNumber == null) {
|
if (sBuildNumber == null || sBuildNumber.length() == 0) {
|
||||||
Log.w(LOG_TAG, "Build number unknown, using current time instead");
|
Log.w(LOG_TAG, "Build number unknown, using current time instead");
|
||||||
sBuildNumber = Long.toString(System.currentTimeMillis());
|
sBuildNumber = Long.toString(System.currentTimeMillis());
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user