#BAEL-6916: add Awaitility instead of Thread.sleep and given when then

This commit is contained in:
hmdrzsharifi 2023-09-26 09:13:59 +03:30
parent d05f27429a
commit fa56411bd3

View File

@ -4,11 +4,18 @@ import com.baeldung.camel.apache.file.FileProcessor;
import org.apache.camel.CamelContext; import org.apache.camel.CamelContext;
import org.apache.camel.builder.RouteBuilder; import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.DefaultCamelContext; import org.apache.camel.impl.DefaultCamelContext;
import org.awaitility.Awaitility;
import org.junit.After; import org.junit.After;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.io.File; import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.concurrent.TimeUnit;
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
public class FileProcessorIntegrationTest { public class FileProcessorIntegrationTest {
@ -50,7 +57,7 @@ public class FileProcessorIntegrationTest {
} }
@Test @Test
public void moveFolderContentJavaDSLTest() throws Exception { public void givenJavaDSLRoute_whenCamelStart_thenMoveFolderContent() throws Exception {
final CamelContext camelContext = new DefaultCamelContext(); final CamelContext camelContext = new DefaultCamelContext();
camelContext.addRoutes(new RouteBuilder() { camelContext.addRoutes(new RouteBuilder() {
@Override @Override
@ -59,16 +66,27 @@ public class FileProcessorIntegrationTest {
} }
}); });
camelContext.start(); camelContext.start();
Thread.sleep(DURATION_MILIS); verifyFolderContent();
camelContext.stop(); camelContext.stop();
} }
@Test @Test
public void moveFolderContentSpringDSLTest() throws InterruptedException { public void givenSpringDSLRoute_whenCamelStart_thenMoveFolderContent() throws InterruptedException {
// ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("camel-context-test.xml"); ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("camel-context-test.xml");
// ApplicationContext applicationContext = ContextLoader.getCurrentWebApplicationContext(); verifyFolderContent();
Thread.sleep(DURATION_MILIS); applicationContext.close();
//applicationContext.close();
} }
private void verifyFolderContent() {
Date date = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
File destinationFile1 = new File(DESTINATION_FOLDER + "/" + dateFormat.format(date) + "File1.txt");
File destinationFile2 = new File(DESTINATION_FOLDER + "/" + dateFormat.format(date) + "File2.txt");
Awaitility.await().atMost(DURATION_MILIS, TimeUnit.MILLISECONDS).untilAsserted(() -> {
assertThat(destinationFile1.exists()).isTrue();
assertThat(destinationFile2.exists()).isTrue();
});
}
} }