Skip to content

Commit fdeab07

Browse files
add integration tests for data extension
1 parent 6b05030 commit fdeab07

File tree

1 file changed

+133
-0
lines changed

1 file changed

+133
-0
lines changed
Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
package com.exacttarget.fuelsdk;
2+
3+
import org.apache.commons.lang.RandomStringUtils;
4+
import org.apache.commons.lang.math.RandomUtils;
5+
import org.junit.After;
6+
import org.junit.Before;
7+
import org.junit.Test;
8+
9+
import java.util.List;
10+
11+
import static com.exacttarget.fuelsdk.ETResult.Status.ERROR;
12+
import static com.exacttarget.fuelsdk.ETResult.Status.OK;
13+
import static org.junit.Assert.assertEquals;
14+
import static org.junit.Assert.assertNotNull;
15+
16+
public class ETDataExtensionAdditionalTest {
17+
18+
private final static String CLIENT_ID_PROPERTY = "clientId";
19+
private final static String CLIENT_SECRET_PROPERTY = "clientSecret";
20+
21+
private ETClient client;
22+
23+
@Before
24+
public void setup() throws Exception {
25+
String clientId = System.getProperty(CLIENT_ID_PROPERTY);
26+
String clientSecret = System.getProperty(CLIENT_SECRET_PROPERTY);
27+
28+
ETConfiguration configuration = new ETConfiguration();
29+
configuration.set(CLIENT_ID_PROPERTY, clientId);
30+
configuration.set(CLIENT_SECRET_PROPERTY, clientSecret);
31+
32+
// instantiate ETClient object
33+
client = new ETClient(configuration);
34+
}
35+
36+
@After
37+
public void shutdown() throws Exception {
38+
ETFilter etFilter = ETFilter.parse("Name LIKE 'Test name%'");
39+
40+
List<ETDataExtension> dataExtensions = client.retrieveObjects(ETDataExtension.class, etFilter);
41+
for (ETDataExtension etDataExtension: dataExtensions)
42+
client.delete(etDataExtension);
43+
}
44+
45+
@Test
46+
public void shouldReturnRowsForDataExtensionIfExternalKeyWithoutSpaces() throws Exception {
47+
String name = "Test name with spaces" + RandomStringUtils.random(5);
48+
String key = "Test_key_without_spaces" + RandomUtils.nextInt();
49+
50+
ETDataExtension dataExtension = new ETDataExtension();
51+
dataExtension.setName(name);
52+
dataExtension.setKey(key);
53+
dataExtension.addColumn("ID", true);
54+
55+
client.create(dataExtension);
56+
57+
ETDataExtensionRow row = new ETDataExtensionRow();
58+
row.setColumn("ID", "test ID");
59+
dataExtension.insert(row);
60+
61+
List<ETDataExtensionRow> rows = dataExtension.select().getObjects();
62+
assertNotNull(rows);
63+
assertEquals(1, rows.size());
64+
65+
dataExtension.setKey(key.replaceAll("_", " ").replace("without", "with"));
66+
client.update(dataExtension);
67+
68+
rows = dataExtension.select().getObjects();
69+
assertNotNull(rows);
70+
assertEquals(0, rows.size());
71+
}
72+
73+
@Test
74+
public void shouldNotInsertRowIfDuplicateKeyIgnoreCase() throws Exception {
75+
ETDataExtension dataExtension = new ETDataExtension();
76+
dataExtension.setName("Test name" + RandomStringUtils.random(5));
77+
dataExtension.setKey("Test_key" + RandomUtils.nextInt());
78+
dataExtension.addColumn("ID", true);
79+
80+
client.create(dataExtension);
81+
82+
ETDataExtensionRow row = new ETDataExtensionRow();
83+
row.setColumn("ID", "test-ID");
84+
ETResponse<ETDataExtensionRow> response = dataExtension.insert(row);
85+
assertNotNull(response.getRequestId());
86+
assertEquals(OK, response.getStatus());
87+
88+
row = new ETDataExtensionRow();
89+
row.setColumn("ID", "test-id");
90+
response = dataExtension.insert(row);
91+
assertNotNull(response.getRequestId());
92+
assertEquals(ERROR, response.getStatus());
93+
}
94+
95+
@Test
96+
public void shouldUpdate() throws Exception {
97+
String testColumnValue = RandomStringUtils.random(5);
98+
String updatedTestColumnValue = RandomStringUtils.random(5);
99+
100+
ETDataExtension dataExtension = new ETDataExtension();
101+
dataExtension.setName("Test name" + RandomStringUtils.random(5));
102+
dataExtension.setKey("Test_key" + RandomUtils.nextInt());
103+
dataExtension.addColumn("ID", true);
104+
dataExtension.addColumn("test column");
105+
106+
client.create(dataExtension);
107+
108+
ETDataExtensionRow row = new ETDataExtensionRow();
109+
row.setColumn("ID", "id");
110+
row.setColumn("test column", testColumnValue);
111+
ETResponse<ETDataExtensionRow> response = dataExtension.insert(row);
112+
assertNotNull(response.getRequestId());
113+
assertEquals(OK, response.getStatus());
114+
115+
List<ETDataExtensionRow> rows = dataExtension.select().getObjects();
116+
assertNotNull(rows);
117+
assertEquals(1, rows.size());
118+
assertEquals(testColumnValue, rows.get(0).getColumn("test column"));
119+
120+
row = new ETDataExtensionRow();
121+
row.setColumn("ID", "id");
122+
row.setColumn("test column", updatedTestColumnValue);
123+
124+
response = dataExtension.update(row);
125+
assertNotNull(response.getRequestId());
126+
assertEquals(OK, response.getStatus());
127+
128+
rows = dataExtension.select().getObjects();
129+
assertNotNull(rows);
130+
assertEquals(1, rows.size());
131+
assertEquals(updatedTestColumnValue, rows.get(0).getColumn("test column"));
132+
}
133+
}

0 commit comments

Comments
 (0)