Skip to content

Commit f44437f

Browse files
add test for dates
1 parent 19ebc33 commit f44437f

1 file changed

Lines changed: 70 additions & 0 deletions

File tree

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

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
import org.junit.Before;
77
import org.junit.Test;
88

9+
import java.text.SimpleDateFormat;
10+
import java.util.Calendar;
911
import java.util.List;
1012
import java.util.Optional;
1113

@@ -21,6 +23,8 @@ public class ETDataExtensionIntegrationTest {
2123
private static final String TARGET_LOCALE = "de-DE";
2224
private static final String LANGUAGE_COLUMN_NAME = "User_Language__c";
2325

26+
private SimpleDateFormat formatter = new SimpleDateFormat("M/dd/yyyy hh:mm:ss a");
27+
2428
private ETClient client;
2529

2630
@Before
@@ -162,6 +166,72 @@ public void shouldUpdate() throws Exception {
162166
assertEquals(updatedTestColumnValue, foundRow.get().getColumn("test column"));
163167
}
164168

169+
@Test
170+
public void shouldNotInsertAndUpdateInvalidDate() throws Exception {
171+
ETDataExtension dataExtension = new ETDataExtension();
172+
dataExtension.setName("Test name" + RandomStringUtils.random(5));
173+
dataExtension.setKey("Test_key" + RandomUtils.nextInt());
174+
dataExtension.addColumn(LANGUAGE_COLUMN_NAME, true);
175+
dataExtension.addColumn("test date", ETDataExtensionColumn.Type.DATE);
176+
177+
client.create(dataExtension);
178+
179+
String date = formatter.format(Calendar.getInstance().getTime());
180+
181+
Calendar calendar = Calendar.getInstance();
182+
calendar.add(Calendar.YEAR, 1);
183+
String updatedDate = formatter.format(calendar.getTime());
184+
185+
// insert date column in valid format
186+
ETDataExtensionRow insertedRow = new ETDataExtensionRow();
187+
insertedRow.setColumn(LANGUAGE_COLUMN_NAME, DEFAULT_SOURCE_LOCALE);
188+
insertedRow.setColumn("test date", date);
189+
ETResponse<ETDataExtensionRow> response = dataExtension.insert(insertedRow);
190+
assertNotNull(response.getRequestId());
191+
assertEquals(OK, response.getStatus());
192+
193+
List<ETDataExtensionRow> rows = dataExtension.select().getObjects();
194+
assertNotNull(rows);
195+
assertEquals(1, rows.size());
196+
assertEquals(date, rows.get(0).getColumn("test date"));
197+
198+
// insert date column in invalid format
199+
insertedRow = new ETDataExtensionRow();
200+
insertedRow.setColumn(LANGUAGE_COLUMN_NAME, TARGET_LOCALE);
201+
insertedRow.setColumn("test date", RandomStringUtils.random(8));
202+
response = dataExtension.insert(insertedRow);
203+
assertNotNull(response.getRequestId());
204+
assertEquals(ERROR, response.getStatus());
205+
206+
rows = dataExtension.select().getObjects();
207+
assertNotNull(rows);
208+
assertEquals(1, rows.size());
209+
210+
// update date column in valid format
211+
ETDataExtensionRow updatedRow = rows.get(0);
212+
updatedRow.setColumn("test date", updatedDate);
213+
response = dataExtension.update(updatedRow);
214+
assertNotNull(response.getRequestId());
215+
assertEquals(OK, response.getStatus());
216+
217+
rows = dataExtension.select().getObjects();
218+
assertNotNull(rows);
219+
assertEquals(1, rows.size());
220+
assertEquals(updatedDate, rows.get(0).getColumn("test date"));
221+
222+
// update date column in invalid format
223+
updatedRow = rows.get(0);
224+
updatedRow.setColumn("test date", RandomStringUtils.random(8));
225+
response = dataExtension.update(updatedRow);
226+
assertNotNull(response.getRequestId());
227+
assertEquals(ERROR, response.getStatus());
228+
229+
rows = dataExtension.select().getObjects();
230+
assertNotNull(rows);
231+
assertEquals(1, rows.size());
232+
assertEquals(updatedDate, rows.get(0).getColumn("test date"));
233+
}
234+
165235
private static Optional<ETDataExtensionRow> getDataExtensionRowByLanguage(List<ETDataExtensionRow> rows, String language)
166236
{
167237
return rows.stream().filter(row -> language.equals(row.getColumn(LANGUAGE_COLUMN_NAME))).findFirst();

0 commit comments

Comments
 (0)