Skip to content

Commit 40ff751

Browse files
Vicky JhaVicky Jha
authored andcommitted
Unit tests for Batch Operation
1 parent 9100e92 commit 40ff751

1 file changed

Lines changed: 174 additions & 0 deletions

File tree

Lines changed: 174 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,174 @@
1+
package com.intuit.ipp.services;
2+
3+
import com.intuit.ipp.core.IEntity;
4+
import com.intuit.ipp.data.Account;
5+
import com.intuit.ipp.data.Attachable;
6+
import com.intuit.ipp.data.BatchItemRequest;
7+
import com.intuit.ipp.data.Customer;
8+
import com.intuit.ipp.data.OperationEnum;
9+
import com.intuit.ipp.exception.FMSException;
10+
import org.testng.Assert;
11+
import org.testng.annotations.BeforeMethod;
12+
import org.testng.annotations.Test;
13+
14+
import java.util.ArrayList;
15+
import java.util.List;
16+
17+
public class BatchOperationTest {
18+
19+
private BatchOperation batchOperation;
20+
21+
@BeforeMethod
22+
public void setUp() {
23+
batchOperation = new BatchOperation();
24+
}
25+
26+
@Test
27+
void testAddEntity() {
28+
int batchSize = 2;
29+
30+
for(int i=0; i<batchSize; i++) {
31+
String bid = "123" + i;
32+
Customer entity = new Customer();
33+
OperationEnum create = OperationEnum.CREATE;
34+
35+
batchOperation.addEntity(entity, create, bid);
36+
37+
Assert.assertNotNull(batchOperation.getBIds());
38+
Assert.assertNotNull(batchOperation.getBatchItemRequests());
39+
Assert.assertEquals(batchOperation.getBIds().size(), i+1);
40+
Assert.assertEquals(batchOperation.getBatchItemRequests().size(), i+1);
41+
42+
BatchItemRequest batchItemRequest = batchOperation.getBatchItemRequests().get(i);
43+
Assert.assertNotNull(batchItemRequest);
44+
Assert.assertEquals(batchItemRequest.getBId(), bid);
45+
Assert.assertNotNull(batchItemRequest.getIntuitObject());
46+
Assert.assertEquals(batchItemRequest.getOperation(), create);
47+
48+
List<String> bids = batchOperation.getBIds();
49+
Assert.assertNotNull(bids);
50+
Assert.assertEquals(bids.size(), i+1);
51+
}
52+
}
53+
54+
@Test
55+
void testAddQuery() {
56+
int batchSize = 2;
57+
58+
for(int i=0; i<batchSize; i++) {
59+
String bid = "123" + i;
60+
String query = "Select * from Invoice " + i;
61+
62+
batchOperation.addQuery(query, bid);
63+
64+
Assert.assertNotNull(batchOperation.getBIds());
65+
Assert.assertNotNull(batchOperation.getBatchItemRequests());
66+
Assert.assertEquals(batchOperation.getBIds().size(), i+1);
67+
Assert.assertEquals(batchOperation.getBatchItemRequests().size(), i+1);
68+
69+
BatchItemRequest batchItemRequest = batchOperation.getBatchItemRequests().get(i);
70+
Assert.assertNotNull(batchItemRequest);
71+
Assert.assertEquals(batchItemRequest.getBId(), bid);
72+
Assert.assertNotNull(batchItemRequest.getQuery());
73+
Assert.assertEquals(batchItemRequest.getQuery(), query);
74+
75+
List<String> bids = batchOperation.getBIds();
76+
Assert.assertNotNull(bids);
77+
Assert.assertEquals(bids.size(), i+1);
78+
}
79+
}
80+
81+
@Test
82+
void testReportQuery() {
83+
int batchSize = 2;
84+
85+
for(int i=0; i<batchSize; i++) {
86+
String bid = "123" + i;
87+
String reportQuery = "sample report query " + i;
88+
89+
batchOperation.addReportQuery(reportQuery, bid);
90+
91+
Assert.assertNotNull(batchOperation.getBIds());
92+
Assert.assertNotNull(batchOperation.getBatchItemRequests());
93+
Assert.assertEquals(batchOperation.getBIds().size(), i+1);
94+
Assert.assertEquals(batchOperation.getBatchItemRequests().size(), i+1);
95+
96+
BatchItemRequest batchItemRequest = batchOperation.getBatchItemRequests().get(i);
97+
Assert.assertNotNull(batchItemRequest);
98+
Assert.assertEquals(batchItemRequest.getBId(), bid);
99+
Assert.assertNotNull(batchItemRequest.getReportQuery());
100+
Assert.assertEquals(batchItemRequest.getReportQuery(), reportQuery);
101+
102+
List<String> bids = batchOperation.getBIds();
103+
Assert.assertNotNull(bids);
104+
Assert.assertEquals(bids.size(), i+1);
105+
}
106+
}
107+
108+
@Test(expectedExceptions = FMSException.class)
109+
void testCDCQuery_NullEntities() throws FMSException {
110+
batchOperation.addCDCQuery(null, "", "");
111+
}
112+
113+
@Test(expectedExceptions = FMSException.class)
114+
void testCDCQuery_EmptyEntities() throws FMSException {
115+
List<IEntity> empty = new ArrayList<>();
116+
batchOperation.addCDCQuery(empty, "", "");
117+
}
118+
119+
@Test(expectedExceptions = FMSException.class)
120+
void testCDCQuery_NullCDCDate() throws FMSException {
121+
List<IEntity> entities = new ArrayList<>();
122+
entities.add(new Account());
123+
entities.add(new Attachable());
124+
125+
batchOperation.addCDCQuery(entities, null, "");
126+
}
127+
128+
@Test(expectedExceptions = FMSException.class)
129+
void testCDCQuery_EmptyCDCDate() throws FMSException {
130+
List<IEntity> entities = new ArrayList<>();
131+
entities.add(new Account());
132+
entities.add(new Attachable());
133+
134+
batchOperation.addCDCQuery(entities, "", "");
135+
}
136+
137+
@Test(expectedExceptions = FMSException.class)
138+
void testCDCQuery_InvalidDate() throws FMSException {
139+
String invalidDate = "2000~01~01";
140+
141+
List<IEntity> entities = new ArrayList<>();
142+
entities.add(new Account());
143+
entities.add(new Attachable());
144+
145+
batchOperation.addCDCQuery(entities, invalidDate, "");
146+
}
147+
148+
@Test
149+
void testCDCQuery() throws FMSException {
150+
String bid = "123";
151+
String cdcDate = "2000-01-01T00:00:00.000-0700";
152+
153+
List<IEntity> entities = new ArrayList<>();
154+
entities.add(new Account());
155+
entities.add(new Attachable());
156+
157+
batchOperation.addCDCQuery(entities, cdcDate, bid);
158+
159+
Assert.assertNotNull(batchOperation.getBIds());
160+
Assert.assertNotNull(batchOperation.getBatchItemRequests());
161+
Assert.assertEquals(batchOperation.getBIds().size(), 1);
162+
Assert.assertEquals(batchOperation.getBatchItemRequests().size(), 1);
163+
164+
BatchItemRequest batchItemRequest = batchOperation.getBatchItemRequests().get(0);
165+
Assert.assertNotNull(batchItemRequest);
166+
Assert.assertEquals(batchItemRequest.getBId(), bid);
167+
Assert.assertNotNull(batchItemRequest.getCDCQuery());
168+
Assert.assertNotEquals(batchItemRequest.getCDCQuery().getEntities(), Account.class.getSimpleName() + Attachable.class.getSimpleName());
169+
170+
List<String> bids = batchOperation.getBIds();
171+
Assert.assertNotNull(bids);
172+
Assert.assertEquals(bids.size(), 1);
173+
}
174+
}

0 commit comments

Comments
 (0)