nextcloud-android/androidTest/java/com/owncloud/android/datamodel/UploadStorageManagerTest.java
2017-06-07 15:27:03 -05:00

74 lines
2.1 KiB
Java

package com.owncloud.android.datamodel;
import android.accounts.Account;
import android.content.ContentResolver;
import android.content.Context;
import android.support.test.InstrumentationRegistry;
import android.support.test.filters.SmallTest;
import android.support.test.runner.AndroidJUnit4;
import com.owncloud.android.db.OCUpload;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import java.io.File;
/**
* Created by JARP on 6/7/17.
*/
@RunWith(AndroidJUnit4.class)
@SmallTest
public class UploadStorageManagerTest {
private ContentResolver contentResolver;
private Context instrumentationCtx;
private Account [] Accounts;
private UploadsStorageManager uploadsStorageManager;
@Before
public void setup() {
instrumentationCtx = InstrumentationRegistry.getTargetContext();
contentResolver = instrumentationCtx.getContentResolver();
uploadsStorageManager = new UploadsStorageManager(contentResolver,instrumentationCtx);
Accounts = new Account[]{ new Account("A","A"),new Account("B","B") };
}
@Test
public void testDeleteAllUploads() {
//Clean
for (Account account : Accounts) {
uploadsStorageManager.removeAccountUploads(account);
}
int accountRowsA = 3;
int accountRowsB = 4;
insertUploads(Accounts[0],accountRowsA);
insertUploads(Accounts[1],accountRowsB);
Assert.assertTrue("Expected 4 removed uploads files",uploadsStorageManager.removeAccountUploads(Accounts[1]) == 4 );
}
private void insertUploads(Account account, int rowsToInsert) {
for (int i = 0; i < rowsToInsert; i++) {
uploadsStorageManager.storeUpload(createUpload(account));
}
}
private OCUpload createUpload(Account acc) {
return new OCUpload( File.separator + "LocalPath",
OCFile.PATH_SEPARATOR + "RemotePath",
acc.name);
}
@After
public void tearDown()
{
for (Account account : Accounts) {
uploadsStorageManager.removeAccountUploads(account);
}
}
}