Skip to content

Commit d6c7ae1

Browse files
authored
Merge pull request #72 from tarungulati1988/ScheduledInterceptorTest-2
ISSUE 60- more unit tests added for schduledInterceptor to handle files
2 parents 65435f5 + 444132e commit d6c7ae1

File tree

1 file changed

+59
-7
lines changed

1 file changed

+59
-7
lines changed

ipp-v3-java-devkit/src/test/java/com/intuit/ipp/interceptors/SerializeInterceptorTest.java

Lines changed: 59 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,35 @@
11
package com.intuit.ipp.interceptors;
22

3+
import com.intuit.ipp.data.Attachable;
34
import com.intuit.ipp.exception.FMSException;
4-
import com.intuit.ipp.serialization.JSONSerializerTest;
55
import com.intuit.ipp.util.Config;
6-
import org.testng.Assert;
76
import org.testng.annotations.Test;
87

98
import javax.xml.bind.JAXBElement;
109
import javax.xml.bind.annotation.XmlElement;
1110
import javax.xml.bind.annotation.XmlRootElement;
1211
import javax.xml.namespace.QName;
12+
import java.io.ByteArrayInputStream;
13+
import java.io.InputStream;
14+
import java.util.Arrays;
1315
import java.util.HashMap;
1416
import java.util.Map;
1517

1618
import static com.intuit.ipp.interceptors.RequestElements.REQ_PARAM_METHOD_TYPE;
19+
import static com.intuit.ipp.net.OperationType.DOWNLOAD;
20+
import static com.intuit.ipp.net.OperationType.UPLOAD;
1721
import static com.intuit.ipp.util.Config.SERIALIZATION_REQUEST_FORMAT;
22+
import static org.testng.Assert.assertEquals;
1823
import static org.testng.Assert.assertTrue;
1924

2025
public class SerializeInterceptorTest {
2126

2227
private SerializeInterceptor serializeInterceptor = new SerializeInterceptor();
23-
private IntuitMessage message = new IntuitMessage();
2428

2529
@Test(description = "Given a POST request with object for serialization, " +
2630
"the serialized data should be present in the serializedData object")
2731
public void execute_positiveCase1() throws FMSException {
28-
JSONSerializerTest test1 = new JSONSerializerTest();
32+
IntuitMessage message = new IntuitMessage();
2933
TestJson json = new TestJson();
3034
json.setFoo("bar");
3135
JAXBElement<TestJson> jaxbElement = new JAXBElement(new QName(TestJson.class.getSimpleName()), TestJson.class, json);
@@ -34,28 +38,76 @@ public void execute_positiveCase1() throws FMSException {
3438
message.getRequestElements().setRequestParameters(requestParams);
3539
message.getRequestElements().setObjectToSerialize(jaxbElement);
3640
serializeInterceptor.execute(message);
37-
Assert.assertEquals(message.getRequestElements().getSerializedData(), "{\"foo\":\"bar\"}");
41+
assertEquals(message.getRequestElements().getSerializedData(), "{\"foo\":\"bar\"}");
3842
}
3943

4044
@Test(description = "Given a POST request with post body for serialization, " +
4145
"the serialized data should be present in the serializedData object")
4246
public void execute_positiveCase2() throws FMSException {
47+
IntuitMessage message = new IntuitMessage();
4348
Map<String, String> requestParams = new HashMap<>();
4449
requestParams.put(REQ_PARAM_METHOD_TYPE, "POST");
4550
message.getRequestElements().setRequestParameters(requestParams);
4651
String jsonInput = "{\"foo\":\"bar\"}";
4752
message.getRequestElements().setPostString(jsonInput);
4853
serializeInterceptor.execute(message);
49-
Assert.assertEquals(message.getRequestElements().getSerializedData(), jsonInput);
54+
assertEquals(message.getRequestElements().getSerializedData(), jsonInput);
5055
}
5156

5257
@Test(description = "Given a GET request for serialization, the serialized data should be null")
5358
public void execute_positiveCase3() throws FMSException {
59+
IntuitMessage message = new IntuitMessage();
5460
Map<String, String> requestParams = new HashMap<>();
5561
requestParams.put(REQ_PARAM_METHOD_TYPE, "GET");
5662
message.getRequestElements().setRequestParameters(requestParams);
5763
serializeInterceptor.execute(message);
58-
Assert.assertEquals(message.getRequestElements().getSerializedData(), null);
64+
assertEquals(message.getRequestElements().getSerializedData(), null);
65+
}
66+
67+
@Test(description = "Given a POST request with object for serialization " +
68+
" along with an operations that is supported for serialization and " +
69+
"a file to be uploaded. The serialized data should be present in the " +
70+
"serializedData object along with the file that would be uploaded.")
71+
public void execute_positiveCase4() throws FMSException {
72+
IntuitMessage message = new IntuitMessage();
73+
TestJson json = new TestJson();
74+
json.setFoo("bar");
75+
JAXBElement<TestJson> jaxbElement = new JAXBElement(new QName(TestJson.class.getSimpleName()), TestJson.class, json);
76+
Map<String, String> requestParams = new HashMap<>();
77+
requestParams.put(REQ_PARAM_METHOD_TYPE, "POST");
78+
message.getRequestElements().setRequestParameters(requestParams);
79+
message.getRequestElements().setObjectToSerialize(jaxbElement);
80+
message.getRequestElements().setAction(UPLOAD.toString());
81+
message.getRequestElements().getUploadRequestElements().setBoundaryForEntity("Entity");
82+
message.getRequestElements().getUploadRequestElements().setBoundaryForContent("Content");
83+
Attachable attachable = new Attachable();
84+
attachable.setFileName("test.txt");
85+
message.getRequestElements().setEntity(attachable);
86+
InputStream inputStream = new ByteArrayInputStream("test data".getBytes());
87+
message.getRequestElements().getUploadRequestElements().setDocContent(inputStream);
88+
serializeInterceptor.execute(message);
89+
assertTrue(message
90+
.getRequestElements()
91+
.getSerializedData()
92+
.equalsIgnoreCase("Entity{\"foo\":\"bar\"}Content"));
93+
assertTrue(Arrays.equals("test data".getBytes(), message.getRequestElements().getUploadFile()));
94+
}
95+
96+
@Test(description = "Given a POST request with object for serialization " +
97+
" along with an operations that's not supported for serialization. " +
98+
"The serialized data should be present in the serializedData object.")
99+
public void execute_positiveCase5() throws FMSException {
100+
IntuitMessage message = new IntuitMessage();
101+
TestJson json = new TestJson();
102+
json.setFoo("bar");
103+
JAXBElement<TestJson> jaxbElement = new JAXBElement(new QName(TestJson.class.getSimpleName()), TestJson.class, json);
104+
Map<String, String> requestParams = new HashMap<>();
105+
requestParams.put(REQ_PARAM_METHOD_TYPE, "POST");
106+
message.getRequestElements().setRequestParameters(requestParams);
107+
message.getRequestElements().setObjectToSerialize(jaxbElement);
108+
message.getRequestElements().setAction(DOWNLOAD.toString());
109+
serializeInterceptor.execute(message);
110+
assertEquals(message.getRequestElements().getSerializedData(), "{\"foo\":\"bar\"}");
59111
}
60112

61113
@Test(description = "Serialization request format returned should be of " +

0 commit comments

Comments
 (0)