Skip to content

Commit 717bc38

Browse files
add test for verifying length constraint of column values
1 parent ac45c6f commit 717bc38

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

src/integration-test/java/com/exacttarget/fuelsdk/ETDataExtensionIntegrationTest.java

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,56 @@ public void shouldNotInsertAndUpdateInvalidDate() throws Exception {
243243
assertEquals(updatedDate, rows.get(0).getColumn("test date"));
244244
}
245245

246+
@Test
247+
public void shouldNotInsertAndUpdateTooLongValue() throws Exception {
248+
ETDataExtension dataExtension = new ETDataExtension();
249+
dataExtension.setName("Test name" + RandomStringUtils.random(5));
250+
dataExtension.setKey("Test_key" + RandomUtils.nextInt());
251+
dataExtension.addColumn(LANGUAGE_COLUMN_NAME, true);
252+
dataExtension.addColumn("test column", ETDataExtensionColumn.Type.TEXT, 5, null, null, false, false, null);
253+
254+
client.create(dataExtension);
255+
256+
// insert row with too long column value
257+
ETDataExtensionRow insertedRow = new ETDataExtensionRow();
258+
insertedRow.setColumn(LANGUAGE_COLUMN_NAME, DEFAULT_SOURCE_LOCALE);
259+
insertedRow.setColumn("test column", RandomStringUtils.random(6));
260+
ETResponse<ETDataExtensionRow> response = dataExtension.insert(insertedRow);
261+
assertNotNull(response.getRequestId());
262+
assertEquals(ERROR, response.getStatus());
263+
assertTrue(StringUtils.isNotEmpty(response.getResultErrorMessage()));
264+
265+
List<ETDataExtensionRow> rows = dataExtension.select().getObjects();
266+
assertNotNull(rows);
267+
assertEquals(0, rows.size());
268+
269+
insertedRow = new ETDataExtensionRow();
270+
insertedRow.setColumn(LANGUAGE_COLUMN_NAME, TARGET_LOCALE);
271+
insertedRow.setColumn("test column", RandomStringUtils.random(5));
272+
response = dataExtension.insert(insertedRow);
273+
assertNotNull(response.getRequestId());
274+
assertEquals(OK, response.getStatus());
275+
assertTrue(StringUtils.isEmpty(response.getResultErrorMessage()));
276+
277+
rows = dataExtension.select().getObjects();
278+
assertNotNull(rows);
279+
assertEquals(1, rows.size());
280+
281+
// update row with too long column value
282+
ETDataExtensionRow updatedRow = rows.get(0);
283+
String oldValue = updatedRow.getColumn("test column");
284+
updatedRow.setColumn("test column", RandomStringUtils.random(6));
285+
response = dataExtension.update(updatedRow);
286+
assertNotNull(response.getRequestId());
287+
assertEquals(ERROR, response.getStatus());
288+
assertTrue(StringUtils.isNotEmpty(response.getResultErrorMessage()));
289+
290+
rows = dataExtension.select().getObjects();
291+
assertNotNull(rows);
292+
assertEquals(1, rows.size());
293+
assertEquals(oldValue, rows.get(0).getColumn("test column"));
294+
}
295+
246296
private static Optional<ETDataExtensionRow> getDataExtensionRowByLanguage(List<ETDataExtensionRow> rows, String language)
247297
{
248298
return rows.stream().filter(row -> language.equals(row.getColumn(LANGUAGE_COLUMN_NAME))).findFirst();

0 commit comments

Comments
 (0)