aboutsummaryrefslogtreecommitdiff
path: root/WordPress/src/androidTest/java/org/wordpress/android/networking/GravatarApiTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'WordPress/src/androidTest/java/org/wordpress/android/networking/GravatarApiTest.java')
-rw-r--r--WordPress/src/androidTest/java/org/wordpress/android/networking/GravatarApiTest.java44
1 files changed, 44 insertions, 0 deletions
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));
+ }
+}