import com.google.gson.Gson;
import com.instructure.canvasapi.model.FileUploadParams;
import com.instructure.canvasapi.utilities.CanvasRestAdapter;
import junit.framework.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.annotation.Config;
import java.util.LinkedHashMap;
@Config(sdk = 17)
@RunWith(RobolectricGradleTestRunner.class)
public class FileUploadParamsUnitTest extends Assert {
@Test
public void testDiscussionTopic() {
Gson gson = CanvasRestAdapter.getGSONParser();
FileUploadParams uploadParams = gson.fromJson(json, FileUploadParams.class);
assertNotNull(uploadParams);
assertNotNull(uploadParams.getUploadParams());
assertNotNull(uploadParams.getUploadUrl());
LinkedHashMap<String,String> paramsHash = uploadParams.getUploadParams();
assertNotNull("upload_url", "https://instructure-uploads.s3.amazonaws.com/");
assertEquals(8, paramsHash.size());
assertEquals(paramsHash.get("AWSAccessKeyId"), "ASDFDDFKJDSF");
assertEquals(paramsHash.get("key"), "account_99298/attachments/67193665/IMG_FILENAME.jpg");
assertEquals(paramsHash.get("acl"), "private");
assertEquals(paramsHash.get("Policy"), "eyJleHBpcmF0aW9uIjoiMjAxT2xyNlYifSx7ImNvbnRlbnQtdHlwZSI6ImltYWdlXC9qcGV");
assertEquals(paramsHash.get("Signature"), "BNudkjo4pLUIUHYYnbT0D8phmBw");
assertEquals(paramsHash.get("success_action_redirect"), "https://mobiledev.instructure.com/api/v1/files/67193665/create_success?uuid=dssdfsfdsfs");
assertEquals(paramsHash.get("content-type"), "image/jpeg");
}
private static final String json =
"{"
+"\"upload_url\": \"https://instructure-uploads.s3.amazonaws.com/\","
+"\"upload_params\": {"
+"\"AWSAccessKeyId\": \"ASDFDDFKJDSF\","
+"\"Filename\": \"\","
+"\"key\": \"account_99298/attachments/67193665/IMG_FILENAME.jpg\","
+"\"acl\": \"private\","
+"\"Policy\": \"eyJleHBpcmF0aW9uIjoiMjAxT2xyNlYifSx7ImNvbnRlbnQtdHlwZSI6ImltYWdlXC9qcGV\","
+"\"Signature\": \"BNudkjo4pLUIUHYYnbT0D8phmBw\","
+"\"success_action_redirect\": \"https://mobiledev.instructure.com/api/v1/files/67193665/create_success?uuid=dssdfsfdsfs\","
+"\"content-type\": \"image/jpeg\""
+"},"
+"\"file_param\": \"file\""
+"}";
}