blob: dc8ac78c8c574edd1a860ce8b626c37849d4f381 [file] [log] [blame]
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));
}
}