Loading src/com/owncloud/android/lib/resources/files/CopyRemoteFileOperation.java +8 −3 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ package com.owncloud.android.lib.resources.files; import android.content.Context; import android.util.Log; import com.owncloud.android.lib.common.OwnCloudClient; Loading Loading @@ -61,6 +62,7 @@ public class CopyRemoteFileOperation extends RemoteOperation { private String mTargetRemotePath; private boolean mOverwrite; private Context mContext; /** Loading @@ -71,10 +73,9 @@ public class CopyRemoteFileOperation extends RemoteOperation { * @param srcRemotePath Remote path of the file/folder to move. * @param targetRemotePath Remove path desired for the file/folder after moving it. */ public CopyRemoteFileOperation( String srcRemotePath, String targetRemotePath, boolean overwrite public CopyRemoteFileOperation(Context context, String srcRemotePath, String targetRemotePath, boolean overwrite ) { mContext = context; mSrcRemotePath = srcRemotePath; mTargetRemotePath = targetRemotePath; mOverwrite = overwrite; Loading Loading @@ -107,6 +108,10 @@ public class CopyRemoteFileOperation extends RemoteOperation { return new RemoteOperationResult(ResultCode.INVALID_COPY_INTO_DESCENDANT); } if (!new ExistenceCheckRemoteOperation(mSrcRemotePath, mContext, Boolean.FALSE).run(getClient()).isSuccess()) { return new RemoteOperationResult(ResultCode.FILE_NOT_FOUND); } /// perform remote operation CopyMethod copyMethod = null; RemoteOperationResult result = null; Loading test_client/tests/src/com/owncloud/android/lib/test_project/test/CopyFileTest.java +17 −25 Original line number Diff line number Diff line Loading @@ -36,18 +36,11 @@ import com.owncloud.android.lib.common.network.NetworkUtils; import com.owncloud.android.lib.common.operations.RemoteOperationResult; import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode; import com.owncloud.android.lib.resources.files.CopyRemoteFileOperation; import com.owncloud.android.lib.test_project.R; import com.owncloud.android.lib.test_project.SelfSignedConfidentSslSocketFactory; import com.owncloud.android.lib.test_project.TestActivity; import junit.framework.AssertionFailedError; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.protocol.Protocol; import org.apache.commons.httpclient.protocol.ProtocolSocketFactory; import java.io.File; import java.security.GeneralSecurityException; //import android.test.AndroidTestCase; Loading Loading @@ -210,21 +203,6 @@ public class CopyFileTest extends ActivityInstrumentationTestCase2<TestActivity> public CopyFileTest() { super(TestActivity.class); Protocol pr = Protocol.getProtocol("https"); if (pr == null || !(pr.getSocketFactory() instanceof SelfSignedConfidentSslSocketFactory)) { try { ProtocolSocketFactory psf = new SelfSignedConfidentSslSocketFactory(); Protocol.registerProtocol( "https", new Protocol("https", psf, 443)); } catch (GeneralSecurityException e) { throw new AssertionFailedError( "Self-signed confident SSL context could not be loaded"); } } } Loading Loading @@ -277,6 +255,7 @@ public class CopyFileTest extends ActivityInstrumentationTestCase2<TestActivity> // copy file CopyRemoteFileOperation copyOperation = new CopyRemoteFileOperation( getContext(), SRC_PATH_TO_FILE_1, TARGET_PATH_TO_FILE_1, false Loading @@ -286,6 +265,7 @@ public class CopyFileTest extends ActivityInstrumentationTestCase2<TestActivity> // copy & rename file, different location copyOperation = new CopyRemoteFileOperation( getContext(), SRC_PATH_TO_FILE_2, TARGET_PATH_TO_FILE_2_RENAMED, false Loading @@ -295,6 +275,7 @@ public class CopyFileTest extends ActivityInstrumentationTestCase2<TestActivity> // copy & rename file, same location (rename file) copyOperation = new CopyRemoteFileOperation( getContext(), SRC_PATH_TO_FILE_3, SRC_PATH_TO_FILE_3_RENAMED, false Loading @@ -304,6 +285,7 @@ public class CopyFileTest extends ActivityInstrumentationTestCase2<TestActivity> // copy empty folder copyOperation = new CopyRemoteFileOperation( getContext(), SRC_PATH_TO_EMPTY_FOLDER, TARGET_PATH_TO_EMPTY_FOLDER, false Loading @@ -313,6 +295,7 @@ public class CopyFileTest extends ActivityInstrumentationTestCase2<TestActivity> // copy non-empty folder copyOperation = new CopyRemoteFileOperation( getContext(), SRC_PATH_TO_FULL_FOLDER_1, TARGET_PATH_TO_FULL_FOLDER_1, false Loading @@ -322,6 +305,7 @@ public class CopyFileTest extends ActivityInstrumentationTestCase2<TestActivity> // copy & rename folder, different location copyOperation = new CopyRemoteFileOperation( getContext(), SRC_PATH_TO_FULL_FOLDER_2, TARGET_PATH_TO_FULL_FOLDER_2_RENAMED, false Loading @@ -331,6 +315,7 @@ public class CopyFileTest extends ActivityInstrumentationTestCase2<TestActivity> // copy & rename folder, same location (rename folder) copyOperation = new CopyRemoteFileOperation( getContext(), SRC_PATH_TO_FULL_FOLDER_3, SRC_PATH_TO_FULL_FOLDER_3_RENAMED, false Loading @@ -340,6 +325,7 @@ public class CopyFileTest extends ActivityInstrumentationTestCase2<TestActivity> // copy for nothing (success, but no interaction with network) copyOperation = new CopyRemoteFileOperation( getContext(), SRC_PATH_TO_FILE_4, SRC_PATH_TO_FILE_4, false Loading @@ -349,6 +335,7 @@ public class CopyFileTest extends ActivityInstrumentationTestCase2<TestActivity> // copy overwriting copyOperation = new CopyRemoteFileOperation( getContext(), SRC_PATH_TO_FULL_FOLDER_4, TARGET_PATH_TO_ALREADY_EXISTENT_EMPTY_FOLDER_4, true Loading @@ -361,6 +348,7 @@ public class CopyFileTest extends ActivityInstrumentationTestCase2<TestActivity> // file to copy does not exist copyOperation = new CopyRemoteFileOperation( getContext(), SRC_PATH_TO_NON_EXISTENT_FILE, TARGET_PATH_TO_NON_EXISTENT_FILE, false Loading @@ -370,6 +358,7 @@ public class CopyFileTest extends ActivityInstrumentationTestCase2<TestActivity> // folder to copy into does no exist copyOperation = new CopyRemoteFileOperation( getContext(), SRC_PATH_TO_FILE_5, TARGET_PATH_TO_FILE_5_INTO_NON_EXISTENT_FOLDER, false Loading @@ -379,6 +368,7 @@ public class CopyFileTest extends ActivityInstrumentationTestCase2<TestActivity> // target location (renaming) has invalid characters copyOperation = new CopyRemoteFileOperation( getContext(), SRC_PATH_TO_FILE_6, TARGET_PATH_RENAMED_WITH_INVALID_CHARS, false Loading @@ -388,7 +378,8 @@ public class CopyFileTest extends ActivityInstrumentationTestCase2<TestActivity> // name collision copyOperation = new CopyRemoteFileOperation( SRC_PATH_TO_FILE_7, getContext(), SRC_PATH_TO_FILE_1, TARGET_PATH_TO_ALREADY_EXISTENT_FILE_7, false ); Loading @@ -397,13 +388,13 @@ public class CopyFileTest extends ActivityInstrumentationTestCase2<TestActivity> // copy a folder into a descendant copyOperation = new CopyRemoteFileOperation( getContext(), SRC_BASE_FOLDER, SRC_PATH_TO_EMPTY_FOLDER, false ); result = copyOperation.execute(mClient); assertTrue(result.getCode() == ResultCode.INVALID_COPY_INTO_DESCENDANT); } @Override Loading Loading @@ -437,12 +428,13 @@ public class CopyFileTest extends ActivityInstrumentationTestCase2<TestActivity> mPass = context.getString(R.string.password); mClient = new OwnCloudClient( Uri.parse(mServerUri), Uri.parse("http://" + mServerUri), NetworkUtils.getMultiThreadedConnManager() ); mClient.setDefaultTimeouts( OwnCloudClientFactory.DEFAULT_DATA_TIMEOUT, OwnCloudClientFactory.DEFAULT_CONNECTION_TIMEOUT); mClient.setBaseUri(Uri.parse("http://" + mServerUri)); mClient.setFollowRedirects(true); mClient.setCredentials( OwnCloudCredentialsFactory.newBasicCredentials( Loading Loading
src/com/owncloud/android/lib/resources/files/CopyRemoteFileOperation.java +8 −3 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ package com.owncloud.android.lib.resources.files; import android.content.Context; import android.util.Log; import com.owncloud.android.lib.common.OwnCloudClient; Loading Loading @@ -61,6 +62,7 @@ public class CopyRemoteFileOperation extends RemoteOperation { private String mTargetRemotePath; private boolean mOverwrite; private Context mContext; /** Loading @@ -71,10 +73,9 @@ public class CopyRemoteFileOperation extends RemoteOperation { * @param srcRemotePath Remote path of the file/folder to move. * @param targetRemotePath Remove path desired for the file/folder after moving it. */ public CopyRemoteFileOperation( String srcRemotePath, String targetRemotePath, boolean overwrite public CopyRemoteFileOperation(Context context, String srcRemotePath, String targetRemotePath, boolean overwrite ) { mContext = context; mSrcRemotePath = srcRemotePath; mTargetRemotePath = targetRemotePath; mOverwrite = overwrite; Loading Loading @@ -107,6 +108,10 @@ public class CopyRemoteFileOperation extends RemoteOperation { return new RemoteOperationResult(ResultCode.INVALID_COPY_INTO_DESCENDANT); } if (!new ExistenceCheckRemoteOperation(mSrcRemotePath, mContext, Boolean.FALSE).run(getClient()).isSuccess()) { return new RemoteOperationResult(ResultCode.FILE_NOT_FOUND); } /// perform remote operation CopyMethod copyMethod = null; RemoteOperationResult result = null; Loading
test_client/tests/src/com/owncloud/android/lib/test_project/test/CopyFileTest.java +17 −25 Original line number Diff line number Diff line Loading @@ -36,18 +36,11 @@ import com.owncloud.android.lib.common.network.NetworkUtils; import com.owncloud.android.lib.common.operations.RemoteOperationResult; import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode; import com.owncloud.android.lib.resources.files.CopyRemoteFileOperation; import com.owncloud.android.lib.test_project.R; import com.owncloud.android.lib.test_project.SelfSignedConfidentSslSocketFactory; import com.owncloud.android.lib.test_project.TestActivity; import junit.framework.AssertionFailedError; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.protocol.Protocol; import org.apache.commons.httpclient.protocol.ProtocolSocketFactory; import java.io.File; import java.security.GeneralSecurityException; //import android.test.AndroidTestCase; Loading Loading @@ -210,21 +203,6 @@ public class CopyFileTest extends ActivityInstrumentationTestCase2<TestActivity> public CopyFileTest() { super(TestActivity.class); Protocol pr = Protocol.getProtocol("https"); if (pr == null || !(pr.getSocketFactory() instanceof SelfSignedConfidentSslSocketFactory)) { try { ProtocolSocketFactory psf = new SelfSignedConfidentSslSocketFactory(); Protocol.registerProtocol( "https", new Protocol("https", psf, 443)); } catch (GeneralSecurityException e) { throw new AssertionFailedError( "Self-signed confident SSL context could not be loaded"); } } } Loading Loading @@ -277,6 +255,7 @@ public class CopyFileTest extends ActivityInstrumentationTestCase2<TestActivity> // copy file CopyRemoteFileOperation copyOperation = new CopyRemoteFileOperation( getContext(), SRC_PATH_TO_FILE_1, TARGET_PATH_TO_FILE_1, false Loading @@ -286,6 +265,7 @@ public class CopyFileTest extends ActivityInstrumentationTestCase2<TestActivity> // copy & rename file, different location copyOperation = new CopyRemoteFileOperation( getContext(), SRC_PATH_TO_FILE_2, TARGET_PATH_TO_FILE_2_RENAMED, false Loading @@ -295,6 +275,7 @@ public class CopyFileTest extends ActivityInstrumentationTestCase2<TestActivity> // copy & rename file, same location (rename file) copyOperation = new CopyRemoteFileOperation( getContext(), SRC_PATH_TO_FILE_3, SRC_PATH_TO_FILE_3_RENAMED, false Loading @@ -304,6 +285,7 @@ public class CopyFileTest extends ActivityInstrumentationTestCase2<TestActivity> // copy empty folder copyOperation = new CopyRemoteFileOperation( getContext(), SRC_PATH_TO_EMPTY_FOLDER, TARGET_PATH_TO_EMPTY_FOLDER, false Loading @@ -313,6 +295,7 @@ public class CopyFileTest extends ActivityInstrumentationTestCase2<TestActivity> // copy non-empty folder copyOperation = new CopyRemoteFileOperation( getContext(), SRC_PATH_TO_FULL_FOLDER_1, TARGET_PATH_TO_FULL_FOLDER_1, false Loading @@ -322,6 +305,7 @@ public class CopyFileTest extends ActivityInstrumentationTestCase2<TestActivity> // copy & rename folder, different location copyOperation = new CopyRemoteFileOperation( getContext(), SRC_PATH_TO_FULL_FOLDER_2, TARGET_PATH_TO_FULL_FOLDER_2_RENAMED, false Loading @@ -331,6 +315,7 @@ public class CopyFileTest extends ActivityInstrumentationTestCase2<TestActivity> // copy & rename folder, same location (rename folder) copyOperation = new CopyRemoteFileOperation( getContext(), SRC_PATH_TO_FULL_FOLDER_3, SRC_PATH_TO_FULL_FOLDER_3_RENAMED, false Loading @@ -340,6 +325,7 @@ public class CopyFileTest extends ActivityInstrumentationTestCase2<TestActivity> // copy for nothing (success, but no interaction with network) copyOperation = new CopyRemoteFileOperation( getContext(), SRC_PATH_TO_FILE_4, SRC_PATH_TO_FILE_4, false Loading @@ -349,6 +335,7 @@ public class CopyFileTest extends ActivityInstrumentationTestCase2<TestActivity> // copy overwriting copyOperation = new CopyRemoteFileOperation( getContext(), SRC_PATH_TO_FULL_FOLDER_4, TARGET_PATH_TO_ALREADY_EXISTENT_EMPTY_FOLDER_4, true Loading @@ -361,6 +348,7 @@ public class CopyFileTest extends ActivityInstrumentationTestCase2<TestActivity> // file to copy does not exist copyOperation = new CopyRemoteFileOperation( getContext(), SRC_PATH_TO_NON_EXISTENT_FILE, TARGET_PATH_TO_NON_EXISTENT_FILE, false Loading @@ -370,6 +358,7 @@ public class CopyFileTest extends ActivityInstrumentationTestCase2<TestActivity> // folder to copy into does no exist copyOperation = new CopyRemoteFileOperation( getContext(), SRC_PATH_TO_FILE_5, TARGET_PATH_TO_FILE_5_INTO_NON_EXISTENT_FOLDER, false Loading @@ -379,6 +368,7 @@ public class CopyFileTest extends ActivityInstrumentationTestCase2<TestActivity> // target location (renaming) has invalid characters copyOperation = new CopyRemoteFileOperation( getContext(), SRC_PATH_TO_FILE_6, TARGET_PATH_RENAMED_WITH_INVALID_CHARS, false Loading @@ -388,7 +378,8 @@ public class CopyFileTest extends ActivityInstrumentationTestCase2<TestActivity> // name collision copyOperation = new CopyRemoteFileOperation( SRC_PATH_TO_FILE_7, getContext(), SRC_PATH_TO_FILE_1, TARGET_PATH_TO_ALREADY_EXISTENT_FILE_7, false ); Loading @@ -397,13 +388,13 @@ public class CopyFileTest extends ActivityInstrumentationTestCase2<TestActivity> // copy a folder into a descendant copyOperation = new CopyRemoteFileOperation( getContext(), SRC_BASE_FOLDER, SRC_PATH_TO_EMPTY_FOLDER, false ); result = copyOperation.execute(mClient); assertTrue(result.getCode() == ResultCode.INVALID_COPY_INTO_DESCENDANT); } @Override Loading Loading @@ -437,12 +428,13 @@ public class CopyFileTest extends ActivityInstrumentationTestCase2<TestActivity> mPass = context.getString(R.string.password); mClient = new OwnCloudClient( Uri.parse(mServerUri), Uri.parse("http://" + mServerUri), NetworkUtils.getMultiThreadedConnManager() ); mClient.setDefaultTimeouts( OwnCloudClientFactory.DEFAULT_DATA_TIMEOUT, OwnCloudClientFactory.DEFAULT_CONNECTION_TIMEOUT); mClient.setBaseUri(Uri.parse("http://" + mServerUri)); mClient.setFollowRedirects(true); mClient.setCredentials( OwnCloudCredentialsFactory.newBasicCredentials( Loading