package org.zend.webapi.test.connection;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import junit.framework.Assert;
import org.junit.Test;
import org.zend.webapi.core.connection.data.values.ServerType;
import org.zend.webapi.core.connection.data.values.WebApiVersion;
import org.zend.webapi.core.connection.request.NamedInputStream;
import org.zend.webapi.core.connection.request.RequestFactory;
import org.zend.webapi.core.connection.request.RequestParameter;
import org.zend.webapi.core.service.WebApiMethodType;
import org.zend.webapi.internal.core.connection.request.ConfigurationImportRequest;
import org.zend.webapi.internal.core.connection.request.GetSystemInfoRequest;
public class TestRequest {
@Test(expected = IllegalStateException.class)
public void testCreateRequestInvalidURL() {
RequestFactory.createRequest(WebApiMethodType.GET_SYSTEM_INFO,
WebApiVersion.V1, new Date(), "keyName", "userAgent", "a:/a/",
"123", null);
}
@Test(expected = IllegalArgumentException.class)
public void testCreateRequestNullParameter() {
ConfigurationImportRequest request = (ConfigurationImportRequest) RequestFactory
.createRequest(WebApiMethodType.CONFIGURATION_IMPORT,
WebApiVersion.V1, new Date(), "keyName", "userAgent",
"http://localhost:10081", "123",
ServerType.ZEND_SERVER_MANAGER);
request.setConfigStream(null);
}
@Test
public void testCreateRequestContentType() {
GetSystemInfoRequest request = (GetSystemInfoRequest) RequestFactory
.createRequest(WebApiMethodType.GET_SYSTEM_INFO,
WebApiVersion.V1, new Date(), "keyName", "userAgent",
"http://localhost:10081", "123",
ServerType.ZEND_SERVER_MANAGER);
Assert.assertNull(request.getContentType());
}
@Test(expected = IllegalStateException.class)
public void testRequestParameterNullValue() {
RequestParameter<String> requestParams = new RequestParameter<String>(
"name", (String) null);
requestParams.getValueAsStream();
}
@Test
public void testRequestParameterFileNotExists() throws IOException {
RequestParameter<File> requestParams = new RequestParameter<File>(
"name", new File("test"));
InputStream result = requestParams.getValueAsStream();
Assert.assertTrue(result.available() > 0);
}
@Test
public void testRequestParameterBoolean() throws IOException {
RequestParameter<Boolean> requestParams = new RequestParameter<Boolean>(
"name", Boolean.TRUE);
InputStream result = requestParams.getValueAsStream();
Assert.assertTrue(result.available() == 4);
}
@Test
public void testRequestParameterFile() throws IOException {
File tFile = File.createTempFile("requestParameter", "test");
FileOutputStream stream = new FileOutputStream(tFile);
stream.write(1);
stream.close();
RequestParameter<NamedInputStream> requestParams = new RequestParameter<NamedInputStream>(
"name", new NamedInputStream(tFile));
InputStream result = requestParams.getValueAsStream();
Assert.assertTrue(result.available() == 1);
}
@Test
public void testRequestParameterString() throws IOException {
RequestParameter<String> requestParams = new RequestParameter<String>(
"name", "test");
InputStream result = requestParams.getValueAsStream();
Assert.assertTrue(result.available() == 4);
}
}