diff options
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.java | 44 |
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)); + } +} |