|
|
|
@ -7,12 +7,16 @@ import java.net.URISyntaxException;
|
|
|
|
|
import java.util.Arrays;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
import javax.net.ssl.SSLPeerUnverifiedException;
|
|
|
|
|
|
|
|
|
|
import lombok.Cleanup;
|
|
|
|
|
|
|
|
|
|
import org.apache.commons.io.IOUtils;
|
|
|
|
|
|
|
|
|
|
import android.content.res.AssetManager;
|
|
|
|
|
import android.os.Build;
|
|
|
|
|
import android.test.InstrumentationTestCase;
|
|
|
|
|
import android.util.Log;
|
|
|
|
|
import at.bitfire.davdroid.webdav.DavException;
|
|
|
|
|
import at.bitfire.davdroid.webdav.DavHttpClient;
|
|
|
|
|
import at.bitfire.davdroid.webdav.DavMultiget;
|
|
|
|
@ -27,6 +31,8 @@ import ch.boye.httpclientandroidlib.impl.client.CloseableHttpClient;
|
|
|
|
|
// tests require running robohydra!
|
|
|
|
|
|
|
|
|
|
public class WebDavResourceTest extends InstrumentationTestCase {
|
|
|
|
|
private static final String TAG = "davdroidTest.WebDavResourceTest";
|
|
|
|
|
|
|
|
|
|
static final String ROBOHYDRA_BASE = "http://10.0.0.11:3000/";
|
|
|
|
|
static byte[] SAMPLE_CONTENT = new byte[] { 1, 2, 3, 4, 5 };
|
|
|
|
|
|
|
|
|
@ -157,6 +163,25 @@ public class WebDavResourceTest extends InstrumentationTestCase {
|
|
|
|
|
assertTrue(Arrays.equals(expected, simpleFile.getContent()));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void testGetHttpsWithSni() throws URISyntaxException, HttpException, IOException, DavException {
|
|
|
|
|
WebDavResource file = new WebDavResource(httpClient, new URI("https://sni.velox.ch"), false);
|
|
|
|
|
|
|
|
|
|
boolean sniWorking;
|
|
|
|
|
try {
|
|
|
|
|
file.get();
|
|
|
|
|
sniWorking = true;
|
|
|
|
|
} catch (SSLPeerUnverifiedException e) {
|
|
|
|
|
sniWorking = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
|
|
|
|
|
// SNI should be available in Android 4.2+
|
|
|
|
|
assertTrue(sniWorking);
|
|
|
|
|
} else
|
|
|
|
|
Log.i(TAG, "SNI not tested (only available in Android 4.2+)");
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void testMultiGet() throws DavException, IOException, HttpException {
|
|
|
|
|
WebDavResource davAddressBook = new WebDavResource(davCollection, "addressbooks/default.vcf", true);
|
|
|
|
|
davAddressBook.multiGet(DavMultiget.Type.ADDRESS_BOOK, new String[] { "1.vcf", "2.vcf" });
|
|
|
|
|