package org.activityinfo.service.blob;
import com.google.common.io.Resources;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.multipart.FormDataMultiPart;
import org.joda.time.Period;
import org.junit.Test;
import javax.ws.rs.core.MediaType;
import java.util.Map;
import static com.google.common.net.MediaType.PNG;
public class GcsUploadCredentialBuilderTest {
@Test
public void test() throws Exception {
UploadCredentials credentials = new GcsUploadCredentialBuilder(new TestingIdentityService())
.setBucket("ai-dev-field-blob-test")
.setKey(BlobId.generate().asString())
.setMaxContentLengthInMegabytes(10)
.expireAfter(Period.minutes(5))
.build();
FormDataMultiPart form = new FormDataMultiPart();
for (Map.Entry<String, String> entry : credentials.getFormFields().entrySet()) {
form.field(entry.getKey(), entry.getValue());
}
form.field("file", Resources.asByteSource(Resources.getResource(getClass(), "goabout.png")).read(),
MediaType.valueOf(PNG.toString()));
Client.create()
.resource(credentials.getUrl())
.entity(form, MediaType.MULTIPART_FORM_DATA_TYPE)
.post();
}
}