mirror of
https://github.com/owncloud/android-library.git
synced 2025-06-07 16:06:08 +00:00
Updated ReadFileTest to work with an empty OC server
This commit is contained in:
parent
f3eac35cd3
commit
e2380a6a5c
3
test_client/assets/textFile.txt
Normal file
3
test_client/assets/textFile.txt
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
This is a simple text file.
|
||||||
|
|
||||||
|
To make some tests.
|
@ -25,6 +25,10 @@
|
|||||||
package com.owncloud.android.lib.test_project;
|
package com.owncloud.android.lib.test_project;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.io.OutputStream;
|
||||||
import java.security.GeneralSecurityException;
|
import java.security.GeneralSecurityException;
|
||||||
|
|
||||||
import org.apache.commons.httpclient.protocol.Protocol;
|
import org.apache.commons.httpclient.protocol.Protocol;
|
||||||
@ -52,6 +56,7 @@ import android.net.Uri;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Environment;
|
import android.os.Environment;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
|
import android.content.res.AssetManager;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
|
|
||||||
@ -66,11 +71,13 @@ public class TestActivity extends Activity {
|
|||||||
private static final String TAG = null;
|
private static final String TAG = null;
|
||||||
// This account must exists on the server side
|
// This account must exists on the server side
|
||||||
private String mServerUri;
|
private String mServerUri;
|
||||||
private String mWebdavPath;
|
|
||||||
private String mUser;
|
private String mUser;
|
||||||
private String mPass;
|
private String mPass;
|
||||||
private boolean mChunked;
|
private boolean mChunked;
|
||||||
|
|
||||||
|
private static final String WEBDAV_PATH = "/remote.php/webdav";
|
||||||
|
private static final int BUFFER_SIZE = 1024;
|
||||||
|
|
||||||
//private Account mAccount = null;
|
//private Account mAccount = null;
|
||||||
private OwnCloudClient mClient;
|
private OwnCloudClient mClient;
|
||||||
|
|
||||||
@ -80,7 +87,6 @@ public class TestActivity extends Activity {
|
|||||||
setContentView(R.layout.activity_test);
|
setContentView(R.layout.activity_test);
|
||||||
|
|
||||||
mServerUri = getString(R.string.server_base_url);
|
mServerUri = getString(R.string.server_base_url);
|
||||||
mWebdavPath = getString(R.string.webdav_path);
|
|
||||||
mUser = getString(R.string.username);
|
mUser = getString(R.string.username);
|
||||||
mPass = getString(R.string.password);
|
mPass = getString(R.string.password);
|
||||||
mChunked = getResources().getBoolean(R.bool.chunked);
|
mChunked = getResources().getBoolean(R.bool.chunked);
|
||||||
@ -98,7 +104,7 @@ public class TestActivity extends Activity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Uri uri = Uri.parse(mServerUri + mWebdavPath);
|
Uri uri = Uri.parse(mServerUri + WEBDAV_PATH);
|
||||||
mClient = new OwnCloudClient(NetworkUtils.getMultiThreadedConnManager());
|
mClient = new OwnCloudClient(NetworkUtils.getMultiThreadedConnManager());
|
||||||
mClient.setDefaultTimeouts(
|
mClient.setDefaultTimeouts(
|
||||||
OwnCloudClientFactory.DEFAULT_DATA_TIMEOUT,
|
OwnCloudClientFactory.DEFAULT_DATA_TIMEOUT,
|
||||||
@ -108,6 +114,8 @@ public class TestActivity extends Activity {
|
|||||||
mClient.setBasicCredentials(mUser, mPass);
|
mClient.setBasicCredentials(mUser, mPass);
|
||||||
mClient.setBaseUri(Uri.parse(mServerUri));
|
mClient.setBaseUri(Uri.parse(mServerUri));
|
||||||
|
|
||||||
|
Log.v(TAG, "onCreate finished, ownCloud client ready");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -273,4 +281,33 @@ public class TestActivity extends Activity {
|
|||||||
return result;
|
return result;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Extracts file from AssetManager to cache folder.
|
||||||
|
*
|
||||||
|
* @param fileName Name of the asset file to extract.
|
||||||
|
* @return File instance of the extracted file.
|
||||||
|
*/
|
||||||
|
public File extractAsset(String fileName) throws IOException {
|
||||||
|
File extractedFile = new File(getCacheDir() + File.separator + fileName);
|
||||||
|
if (!extractedFile.exists()) {
|
||||||
|
InputStream in = null;
|
||||||
|
FileOutputStream out = null;
|
||||||
|
in = getAssets().open(fileName);
|
||||||
|
out = new FileOutputStream(extractedFile);
|
||||||
|
byte[] buffer = new byte[BUFFER_SIZE];
|
||||||
|
int readCount;
|
||||||
|
while((readCount = in.read(buffer)) != -1){
|
||||||
|
out.write(buffer, 0, readCount);
|
||||||
|
}
|
||||||
|
out.flush();
|
||||||
|
out.close();
|
||||||
|
in.close();
|
||||||
|
}
|
||||||
|
return extractedFile;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -23,45 +23,73 @@
|
|||||||
*/
|
*/
|
||||||
package com.owncloud.android.lib.test_project.test;
|
package com.owncloud.android.lib.test_project.test;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
|
||||||
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
|
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
|
||||||
|
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.test.ActivityInstrumentationTestCase2;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class to test Read File Operation
|
* Class to test Read File Operation
|
||||||
* @author masensio
|
* @author masensio
|
||||||
*
|
* @author David A. Velasco
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class ReadFileTest extends ActivityInstrumentationTestCase2<TestActivity> {
|
public class ReadFileTest extends ActivityInstrumentationTestCase2<TestActivity> {
|
||||||
|
|
||||||
/* File data to read. This file must exist on the account */
|
private static final String LOG_TAG = ReadFileTest.class.getCanonicalName();
|
||||||
private final String mRemoteFolderPath = "/fileToRead.txt";
|
|
||||||
|
|
||||||
|
private static final String TEXT_FILE_NAME = "textFile.txt";
|
||||||
|
|
||||||
private TestActivity mActivity;
|
private TestActivity mActivity;
|
||||||
|
|
||||||
public ReadFileTest() {
|
public ReadFileTest() {
|
||||||
super(TestActivity.class);
|
super(TestActivity.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void setUp() throws Exception {
|
protected void setUp() throws Exception {
|
||||||
super.setUp();
|
super.setUp();
|
||||||
setActivityInitialTouchMode(false);
|
|
||||||
mActivity = getActivity();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
setActivityInitialTouchMode(false);
|
||||||
* Test Read File
|
mActivity = getActivity();
|
||||||
*/
|
|
||||||
public void testReadFile() {
|
|
||||||
|
|
||||||
RemoteOperationResult result = mActivity.readFile(mRemoteFolderPath);
|
File textFile = mActivity.extractAsset(TEXT_FILE_NAME);
|
||||||
assertTrue(result.getData().size() == 1);
|
RemoteOperationResult uploadResult = mActivity.uploadFile(
|
||||||
assertTrue(result.isSuccess());
|
textFile.getAbsolutePath(),
|
||||||
}
|
FileUtils.PATH_SEPARATOR + TEXT_FILE_NAME,
|
||||||
|
"txt/plain");
|
||||||
|
if (!uploadResult.isSuccess()) {
|
||||||
|
logAndThrow(uploadResult);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test Read File
|
||||||
|
*/
|
||||||
|
public void testReadFile() {
|
||||||
|
RemoteOperationResult result = mActivity.readFile(TEXT_FILE_NAME);
|
||||||
|
assertTrue(result.getData().size() == 1);
|
||||||
|
assertTrue(result.isSuccess());
|
||||||
|
// TODO check more properties of the result
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void tearDown() throws Exception {
|
||||||
|
RemoteOperationResult removeResult = mActivity.removeFile(TEXT_FILE_NAME);
|
||||||
|
if (!removeResult.isSuccess()) {
|
||||||
|
logAndThrow(removeResult);
|
||||||
|
}
|
||||||
|
|
||||||
|
super.tearDown();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void logAndThrow(RemoteOperationResult result) throws Exception {
|
||||||
|
Log.e(LOG_TAG, result.getLogMessage(), result.getException());
|
||||||
|
throw new Exception(result.getLogMessage(), result.getException());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user