aboutsummaryrefslogtreecommitdiff
path: root/WordPress/src/androidTest/java/org/wordpress/android/networking
diff options
context:
space:
mode:
Diffstat (limited to 'WordPress/src/androidTest/java/org/wordpress/android/networking')
-rw-r--r--WordPress/src/androidTest/java/org/wordpress/android/networking/AuthenticatorRequestTest.java61
-rw-r--r--WordPress/src/androidTest/java/org/wordpress/android/networking/GravatarApiTest.java44
-rw-r--r--WordPress/src/androidTest/java/org/wordpress/android/networking/WPNetworkImageViewTest.java58
-rw-r--r--WordPress/src/androidTest/java/org/wordpress/android/networking/XMLRPCTest.java35
4 files changed, 198 insertions, 0 deletions
diff --git a/WordPress/src/androidTest/java/org/wordpress/android/networking/AuthenticatorRequestTest.java b/WordPress/src/androidTest/java/org/wordpress/android/networking/AuthenticatorRequestTest.java
new file mode 100644
index 000000000..c5936fd61
--- /dev/null
+++ b/WordPress/src/androidTest/java/org/wordpress/android/networking/AuthenticatorRequestTest.java
@@ -0,0 +1,61 @@
+package org.wordpress.android.networking;
+
+import android.test.InstrumentationTestCase;
+
+import com.wordpress.rest.RestClient;
+
+import org.wordpress.android.FactoryUtils;
+
+public class AuthenticatorRequestTest extends InstrumentationTestCase {
+ RestClient mRestClient;
+ AuthenticatorRequest mAuthenticatorRequest;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ FactoryUtils.initWithTestFactories();
+ mRestClient = RestClientFactory.instantiate(null);
+ mAuthenticatorRequest = new AuthenticatorRequest(null, null, mRestClient, null);
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ FactoryUtils.clearFactories();
+ super.tearDown();
+ }
+
+ public void testExtractSiteIdFromUrl1() {
+ String url = "";
+ assertEquals(null, mAuthenticatorRequest.extractSiteIdFromUrl(mRestClient.getEndpointURL(), url));
+ }
+
+ public void testExtractSiteIdFromUrl2() {
+ String url = null;
+ assertEquals(null, mAuthenticatorRequest.extractSiteIdFromUrl(mRestClient.getEndpointURL(), url));
+ }
+
+ public void testExtractSiteIdFromUrl3() {
+ String url = "https://public-api.wordpress.com/rest/v1/batch/?urls%5B%5D=%2Fsites%2F57991476%2Fstats%2Freferrers%3Fdate%3D2014-05-08&urls%5B%5D=%2Fsites%2F57991476%2Fstats%2Freferrers%3Fdate%3D2014-05-07";
+ assertEquals("57991476", mAuthenticatorRequest.extractSiteIdFromUrl(mRestClient.getEndpointURL(), url));
+ }
+
+ public void testExtractSiteIdFromUrl4() {
+ String url = "https://public-api.wordpress.com/rest/v1/sites/59073674/stats";
+ assertEquals("59073674", mAuthenticatorRequest.extractSiteIdFromUrl(mRestClient.getEndpointURL(), url));
+ }
+
+ public void testExtractSiteIdFromUrl5() {
+ String url = "https://public-api.wordpress.com/rest/v1/sites//stats";
+ assertEquals("", mAuthenticatorRequest.extractSiteIdFromUrl(mRestClient.getEndpointURL(), url));
+ }
+
+ public void testExtractSiteIdFromUrl6() {
+ String url = "https://public-api.wordpress.com/rest/v1/batch/?urls%5B%5D=%2Fsites%2F";
+ assertEquals(null, mAuthenticatorRequest.extractSiteIdFromUrl(mRestClient.getEndpointURL(), url));
+ }
+
+ public void testExtractSiteIdFromUrl7() {
+ String url = "https://public-api.wordpress.com/rest/v1/sites/";
+ assertEquals(null, mAuthenticatorRequest.extractSiteIdFromUrl(mRestClient.getEndpointURL(), url));
+ }
+} \ No newline at end of file
diff --git a/WordPress/src/androidTest/java/org/wordpress/android/networking/GravatarApiTest.java b/WordPress/src/androidTest/java/org/wordpress/android/networking/GravatarApiTest.java
new file mode 100644
index 000000000..dc8ac78c8
--- /dev/null
+++ b/WordPress/src/androidTest/java/org/wordpress/android/networking/GravatarApiTest.java
@@ -0,0 +1,44 @@
+package org.wordpress.android.networking;
+
+import android.test.InstrumentationTestCase;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+
+import okhttp3.Request;
+import okhttp3.RequestBody;
+import okio.Buffer;
+
+public class GravatarApiTest extends InstrumentationTestCase {
+
+ public void testGravatarUploadRequest() throws IOException {
+ final String fileContent = "abcdefg";
+
+ File tempFile = new File(getInstrumentation().getTargetContext().getCacheDir(), "tempFile.jpg");
+ FileOutputStream fos = new FileOutputStream(tempFile);
+ fos.write(fileContent.getBytes());
+ fos.flush();
+ fos.close();
+
+ final String email = "a@b.com";
+ Request uploadRequest = GravatarApi.prepareGravatarUpload(email, tempFile);
+
+ assertEquals("POST", uploadRequest.method());
+
+ RequestBody requestBody = uploadRequest.body();
+ assertTrue(requestBody.contentType().toString().startsWith("multipart/form-data"));
+
+ final Buffer buffer = new Buffer();
+ requestBody.writeTo(buffer);
+ final String body = buffer.readUtf8();
+
+ assertTrue(body.contains("Content-Disposition: form-data; name=\"account\""));
+ assertTrue(body.contains("Content-Length: " + email.length()));
+ assertTrue(body.contains(email));
+
+ assertTrue(body.contains("Content-Disposition: form-data; name=\"filedata\"; filename=\"" + tempFile.getName() + "\""));
+ assertTrue(body.contains("Content-Type: multipart/form-data"));
+ assertTrue(body.contains(fileContent));
+ }
+}
diff --git a/WordPress/src/androidTest/java/org/wordpress/android/networking/WPNetworkImageViewTest.java b/WordPress/src/androidTest/java/org/wordpress/android/networking/WPNetworkImageViewTest.java
new file mode 100644
index 000000000..3e0f0fb50
--- /dev/null
+++ b/WordPress/src/androidTest/java/org/wordpress/android/networking/WPNetworkImageViewTest.java
@@ -0,0 +1,58 @@
+package org.wordpress.android.networking;
+
+import android.os.Handler;
+import android.test.InstrumentationTestCase;
+
+import com.android.volley.VolleyError;
+import com.android.volley.toolbox.ImageLoader.ImageContainer;
+import com.android.volley.toolbox.ImageLoader.ImageListener;
+
+import org.wordpress.android.WordPress;
+import org.wordpress.android.util.AppLog;
+import org.wordpress.android.util.AppLog.T;
+
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
+public class WPNetworkImageViewTest extends InstrumentationTestCase {
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ // https://github.com/wordpress-mobile/WordPress-Android/issues/1549
+ public void testVolleyImageLoaderGetNullHost() throws InterruptedException {
+ Handler mainLooperHandler = new Handler(WordPress.getContext().getMainLooper());
+ final CountDownLatch countDownLatch = new CountDownLatch(1);
+ final boolean success[] = new boolean[1];
+ Runnable getImage = new Runnable() {
+ @Override
+ public void run() {
+ try {
+ // This call crash on old volley versions
+ WordPress.imageLoader.get("http;///hello/null/host", new ImageListener() {
+ @Override
+ public void onResponse(ImageContainer imageContainer, boolean b) {}
+
+ @Override
+ public void onErrorResponse(VolleyError volleyError) {}
+ }, 1, 1);
+ success[0] = true;
+ } catch (Exception e) {
+ AppLog.e(T.TESTS, e);
+ success[0] = false;
+ } finally {
+ countDownLatch.countDown();
+ }
+ }
+ };
+ mainLooperHandler.post(getImage);
+ countDownLatch.await(1, TimeUnit.SECONDS);
+ assertTrue("Invalid Volley library version", success[0]);
+ }
+} \ No newline at end of file
diff --git a/WordPress/src/androidTest/java/org/wordpress/android/networking/XMLRPCTest.java b/WordPress/src/androidTest/java/org/wordpress/android/networking/XMLRPCTest.java
new file mode 100644
index 000000000..4b5c8256c
--- /dev/null
+++ b/WordPress/src/androidTest/java/org/wordpress/android/networking/XMLRPCTest.java
@@ -0,0 +1,35 @@
+package org.wordpress.android.networking;
+
+import org.wordpress.android.DefaultMocksInstrumentationTestCase;
+import org.wordpress.android.mocks.XMLRPCFactoryTest;
+import org.xmlrpc.android.ApiHelper.Method;
+import org.xmlrpc.android.XMLRPCClientInterface;
+import org.xmlrpc.android.XMLRPCFactory;
+
+import java.net.URI;
+
+public class XMLRPCTest extends DefaultMocksInstrumentationTestCase {
+ public void testNumberExceptionWithInvalidDouble() throws Exception {
+ XMLRPCFactoryTest.setPrefixAllInstances("invalid-double-xmlrpc");
+ XMLRPCClientInterface xmlrpcClientInterface = XMLRPCFactory.instantiate(URI.create("http://test.com/ast"), "",
+ "");
+ try {
+ xmlrpcClientInterface.call(Method.GET_MEDIA_LIBRARY, null);
+ } catch (NumberFormatException e) {
+ return;
+ }
+ assertTrue("invalid double format should trigger a NumberException", false);
+ }
+
+ public void testNumberExceptionWithInvalidInteger() throws Exception {
+ XMLRPCFactoryTest.setPrefixAllInstances("invalid-integer-xmlrpc");
+ XMLRPCClientInterface xmlrpcClientInterface = XMLRPCFactory.instantiate(URI.create("http://test.com/ast"), "",
+ "");
+ try {
+ xmlrpcClientInterface.call(Method.GET_MEDIA_LIBRARY, null);
+ } catch (NumberFormatException e) {
+ return;
+ }
+ assertTrue("invalid double format should trigger a NumberException", false);
+ }
+}