Skip to content

Commit

Permalink
Avoiding nano-second risk of test failures due to datetime format dif…
Browse files Browse the repository at this point in the history
…ferences.

Fixes testcontainers#500.
  • Loading branch information
ldeck committed Dec 9, 2017
1 parent 0798524 commit 4462951
Showing 1 changed file with 14 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,25 @@

import java.io.File;
import java.nio.file.Files;
import java.text.SimpleDateFormat;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Date;
import java.util.List;

import static java.lang.Boolean.FALSE;
import static java.lang.Boolean.TRUE;
import static java.lang.String.format;
import static org.junit.Assert.assertEquals;
import static java.time.LocalDateTime.now;
import static org.hamcrest.core.IsCollectionContaining.hasItem;
import static org.junit.Assert.assertThat;
import static org.junit.runner.Description.createTestDescription;

@RunWith(Parameterized.class)
@Value
public class DefaultRecordingFileFactoryTest {

private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("YYYYMMdd-HHmmss");
private static final DateTimeFormatter DATETIME_FORMATTER = DateTimeFormatter.ofPattern("YYYYMMdd-HHmmss");

private final DefaultRecordingFileFactory factory = new DefaultRecordingFileFactory();
private final String methodName;
Expand All @@ -45,12 +48,13 @@ public void recordingFileThatShouldDescribeTheTestResultAtThePresentTime() throw

File recordingFile = factory.recordingFileForTest(vncRecordingDirectory, description, success);

File expectedFile = new File(vncRecordingDirectory, format("%s-%s-%s-%s.flv",
prefix,
getClass().getSimpleName(),
methodName,
DATE_FORMAT.format(new Date()))
String expectedFilePrefix = format("%s-%s-%s", prefix, getClass().getSimpleName(), methodName);

List<File> expectedPossibleFileNames = Arrays.asList(
new File(vncRecordingDirectory, format("%s-%s.flv", expectedFilePrefix, now().format(DATETIME_FORMATTER))),
new File(vncRecordingDirectory, format("%s-%s.flv", expectedFilePrefix, now().minusSeconds(1L).format(DATETIME_FORMATTER)))
);
assertEquals(expectedFile, recordingFile);

assertThat(expectedPossibleFileNames, hasItem(recordingFile));
}
}

0 comments on commit 4462951

Please sign in to comment.