Closed alabbas-ali closed 1 year ago
@alabbas-ali hmmm.. can you provide some more logging information in the second case (running the linux container?)
I set up the testing profile with de.flapdoodle.mongodb.embedded.version=5.0.5 My application will run with mongo version 6.0.5
is this a typo or is 'de.flapdoodle.mongodb.embedded.version' set to 6.0.5?
I need my application to connect to mongo version 6.0.5 in a production or dev environment. but testing needs to be done with embedded MongoDB so de.flapdoodle.mongodb.embedded.version=5.0.5
is this correct or it need to be set to some other value?
the docker file looks like this:
FROM maven:3.8.5-openjdk-17 AS builder
WORKDIR /build/
COPY pom.xml ./
COPY src ./src/
RUN ["mvn", "package"]
FROM maven:3.8.5-openjdk-17
WORKDIR /app
COPY --from=builder /build/target/tm-0.0.1-SNAPSHOT.jar ./
EXPOSE 80
EXPOSE 5701
ENTRYPOINT java -jar -Dspring.main.allow-bean-definition-overriding=true tm-0.0.1-SNAPSHOT.jar
and the error logs look like this:
download https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel80-5.0.5.tgz ....
....
....
ERROR o.s.boot.SpringApplication - Application run failed
#0 44.56 org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'transactionController' defined in file [/build/target/classes/com/one_cp/tm/controllers/TransactionController.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'transactionServiceImp' defined in file [/build/target/classes/com/one_cp/tm/services/TransactionServiceImp.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'transactionRepository' defined in com.one_cp.tm.repositories.TransactionRepository defined in @EnableMongoRepositories declared on MongoRepositoriesRegistrar.EnableMongoRepositoriesConfiguration: Cannot resolve reference to bean 'mongoTemplate' while setting bean property 'mongoOperations'
#0 44.56 at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:798)
#0 44.56 at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:245)
#0 44.56 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1352)
#0 44.56 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1189)
#0 44.56 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:560)
#0 44.56 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520)
#0 44.56 at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326)
#0 44.56 at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
#0 44.56 at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324)
#0 44.56 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200)
#0 44.56 at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:973)
#0 44.56 at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:917)
#0 44.56 at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:584)
#0 44.56 at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146)
#0 44.56 at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732)
#0 44.56 at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:434)
#0 44.56 at org.springframework.boot.SpringApplication.run(SpringApplication.java:310)
#0 44.56 at org.springframework.boot.test.context.SpringBootContextLoader.lambda$loadContext$3(SpringBootContextLoader.java:137)
#0 44.56 at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:58)
#0 44.56 at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:46)
#0 44.56 at org.springframework.boot.SpringApplication.withHook(SpringApplication.java:1388)
#0 44.56 at org.springframework.boot.test.context.SpringBootContextLoader$ContextLoaderHook.run(SpringBootContextLoader.java:545)
#0 44.56 at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:137)
#0 44.56 at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:108)
#0 44.56 at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:184)
#0 44.56 at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:118)
#0 44.56 at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:127)
#0 44.56 at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:141)
#0 44.56 at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:97)
#0 44.56 at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:241)
#0 44.56 at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:138)
#0 44.56 at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$10(ClassBasedTestDescriptor.java:377)
#0 44.56 at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable(ClassBasedTestDescriptor.java:382)
#0 44.56 at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$11(ClassBasedTestDescriptor.java:377)
#0 44.56 at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
#0 44.56 at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
#0 44.56 at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
#0 44.56 at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
#0 44.56 at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
#0 44.56 at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:310)
#0 44.56 at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735)
#0 44.56 at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
#0 44.56 at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors(ClassBasedTestDescriptor.java:376)
#0 44.56 at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$instantiateAndPostProcessTestInstance$6(ClassBasedTestDescriptor.java:289)
#0 44.56 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
#0 44.56 at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:288)
#0 44.56 at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4(ClassBasedTestDescriptor.java:278)
#0 44.56 at java.base/java.util.Optional.orElseGet(Optional.java:364)
#0 44.56 at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5(ClassBasedTestDescriptor.java:277)
#0 44.56 at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:31)
#0 44.56 at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$before$2(ClassBasedTestDescriptor.java:203)
#0 44.56 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
#0 44.56 at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:202)
#0 44.56 at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:84)
#0 44.56 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:148)
#0 44.56 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
#0 44.56 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
#0 44.56 at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
#0 44.56 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
#0 44.56 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
#0 44.56 at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
#0 44.56 at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
#0 44.56 at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
#0 44.56 at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
#0 44.56 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
#0 44.56 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
#0 44.56 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
#0 44.56 at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
#0 44.56 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
#0 44.56 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
#0 44.56 at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
#0 44.56 at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
#0 44.56 at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
#0 44.56 at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
#0 44.56 at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
#0 44.56 at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220)
#0 44.56 at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188)
#0 44.56 at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202)
#0 44.56 at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181)
#0 44.56 at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128)
#0 44.56 at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:150)
#0 44.56 at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:124)
#0 44.56 at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)
#0 44.56 at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)
#0 44.56 at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)
#0 44.56 at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)
#0 44.56 Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'transactionServiceImp' defined in file [/build/target/classes/com/one_cp/tm/services/TransactionServiceImp.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'transactionRepository' defined in com.one_cp.tm.repositories.TransactionRepository defined in @EnableMongoRepositories declared on MongoRepositoriesRegistrar.EnableMongoRepositoriesConfiguration: Cannot resolve reference to bean 'mongoTemplate' while setting bean property 'mongoOperations'
#0 44.56 at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:798)
#0 44.56 at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:245)
#0 44.56 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1352)
#0 44.56 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1189)
#0 44.56 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:560)
#0 44.56 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520)
#0 44.56 at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326)
#0 44.56 at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
#0 44.56 at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324)
#0 44.56 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200)
#0 44.56 at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254)
#0 44.56 at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1417)
#0 44.56 at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1337)
#0 44.56 at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:885)
#0 44.56 at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:789)
#0 44.56 ... 85 common frames omitted
......................
......................
ERROR o.s.test.context.TestContextManager - Caught exception while allowing TestExecutionListener [org.springframework.test.context.support.DependencyInjectionTestExecutionListener] to prepare test instance [com.one_cp.tm.repositories.TransactionRepositoryTest@1d45c4b7]
#0 44.76 java.lang.IllegalStateException: Failed to load ApplicationContext for [MergedContextConfiguration@62f73b0c testClass = com.one_cp.tm.repositories.TransactionRepositoryTest, locations = [], classes = [com.one_cp.tm.TmServiceApplication], contextInitializerClasses = [], activeProfiles = [], propertySourceLocations = [], propertySourceProperties = ["org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTestContextBootstrapper=true"], contextCustomizers = [[ImportsContextCustomizer@7dd2a5f7 key = [org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration, org.springframework.boot.autoconfigure.data.mongo.MongoDataAutoConfiguration, org.springframework.boot.autoconfigure.data.mongo.MongoReactiveDataAutoConfiguration, org.springframework.boot.autoconfigure.data.mongo.MongoReactiveRepositoriesAutoConfiguration, org.springframework.boot.autoconfigure.data.mongo.MongoRepositoriesAutoConfiguration, org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration, org.springframework.boot.autoconfigure.mongo.MongoReactiveAutoConfiguration, org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration, de.flapdoodle.embed.mongo.spring.autoconfigure.EmbeddedMongoAutoConfiguration]], org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@1e0b4072, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@e350b40, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.autoconfigure.OverrideAutoConfigurationContextCustomizerFactory$DisableAutoConfigurationContextCustomizer@17d45cfb, org.springframework.boot.test.autoconfigure.actuate.observability.ObservabilityContextCustomizerFactory$DisableObservabilityContextCustomizer@9da1, org.springframework.boot.test.autoconfigure.filter.TypeExcludeFiltersContextCustomizer@351584c0, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@af8ffa64, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@27406a17, org.springframework.boot.test.context.SpringBootTestAnnotation@d236fd39], contextLoader = org.springframework.boot.test.context.SpringBootContextLoader, parent = null]
#0 44.76 at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:142)
#0 44.76 at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:127)
#0 44.76 at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:141)
#0 44.76 at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:97)
#0 44.76 at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:241)
#0 44.76 at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:138)
#0 44.76 at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$10(ClassBasedTestDescriptor.java:377)
#0 44.76 at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable(ClassBasedTestDescriptor.java:382)
#0 44.76 at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$11(ClassBasedTestDescriptor.java:377)
#0 44.76 at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
#0 44.76 at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
#0 44.76 at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
#0 44.76 at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
#0 44.76 at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
#0 44.76 at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:310)
#0 44.76 at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735)
#0 44.76 at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734)
#0 44.76 at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
#0 44.76 at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors(ClassBasedTestDescriptor.java:376)
#0 44.76 at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$instantiateAndPostProcessTestInstance$6(ClassBasedTestDescriptor.java:289)
#0 44.76 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
#0 44.76 at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:288)
#0 44.76 at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4(ClassBasedTestDescriptor.java:278)
#0 44.76 at java.base/java.util.Optional.orElseGet(Optional.java:364)
#0 44.76 at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5(ClassBasedTestDescriptor.java:277)
#0 44.76 at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:31)
#0 44.76 at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:105)
#0 44.76 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
#0 44.76 at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:104)
#0 44.76 at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:68)
#0 44.76 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$2(NodeTestTask.java:123)
#0 44.76 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
#0 44.76 at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:123)
#0 44.76 at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:90)
#0 44.76 at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
#0 44.76 at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
#0 44.76 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
#0 44.76 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
#0 44.76 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
#0 44.76 at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
#0 44.76 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
#0 44.76 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
#0 44.76 at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
#0 44.76 at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
#0 44.76 at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
#0 44.76 at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
#0 44.76 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
#0 44.76 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
#0 44.76 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
#0 44.76 at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
#0 44.76 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
#0 44.76 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
#0 44.76 at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
#0 44.76 at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
#0 44.76 at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
#0 44.76 at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
#0 44.76 at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
#0 44.76 at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220)
#0 44.76 at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188)
#0 44.76 at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202)
#0 44.76 at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181)
#0 44.76 at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128)
#0 44.76 at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:150)
#0 44.76 at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:124)
#0 44.76 at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)
#0 44.76 at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)
#0 44.76 at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)
#0 44.76 at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)
#0 44.76 Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'syncClientServerWrapper' defined in class path resource [de/flapdoodle/embed/mongo/spring/autoconfigure/EmbeddedMongoAutoConfiguration$SyncClientServerWrapperConfig.class]: error on transition to State(de.flapdoodle.embed.mongo.transitions.RunningMongodProcess), rollback
#0 44.76 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1770)
#0 44.76 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:598)
#0 44.76 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520)
#0 44.76 at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326)
#0 44.76 at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
#0 44.76 at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324)
#0 44.76 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200)
#0 44.76 at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:973)
#0 44.76 at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:917)
#0 44.76 at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:584)
#0 44.76 at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732)
#0 44.76 at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:434)
#0 44.76 at org.springframework.boot.SpringApplication.run(SpringApplication.java:310)
#0 44.76 at org.springframework.boot.test.context.SpringBootContextLoader.lambda$loadContext$3(SpringBootContextLoader.java:137)
#0 44.76 at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:58)
#0 44.76 at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:46)
#0 44.76 at org.springframework.boot.SpringApplication.withHook(SpringApplication.java:1388)
#0 44.76 at org.springframework.boot.test.context.SpringBootContextLoader$ContextLoaderHook.run(SpringBootContextLoader.java:545)
#0 44.76 at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:137)
#0 44.76 at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:108)
#0 44.76 at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:184)
#0 44.76 at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:118)
#0 44.76 ... 67 common frames omitted
#0 44.76 Caused by: java.lang.RuntimeException: error on transition to State(de.flapdoodle.embed.mongo.transitions.RunningMongodProcess), rollback
#0 44.76 at de.flapdoodle.reverse.TransitionWalker.initState(TransitionWalker.java:174)
#0 44.76 at de.flapdoodle.reverse.TransitionWalker.initState(TransitionWalker.java:69)
#0 44.76 at de.flapdoodle.embed.mongo.spring.autoconfigure.MongodWrapper.start(MongodWrapper.java:45)
#0 44.76 at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
#0 44.76 at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
#0 44.76 at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
#0 44.76 at java.base/java.lang.reflect.Method.invoke(Method.java:568)
#0 44.76 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1869)
#0 44.76 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1826)
#0 44.76 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1766)
#0 44.76 ... 88 common frames omitted
#0 44.76 Caused by: java.lang.RuntimeException: Could not start process: Address already in use
#0 44.76 at de.flapdoodle.embed.mongo.transitions.RunningMongoProcess.lambda$null$1(RunningMongoProcess.java:179)
#0 44.76 at de.flapdoodle.types.ThrowingSupplier.lambda$andFinally$1(ThrowingSupplier.java:47)
#0 44.76 at de.flapdoodle.types.ThrowingSupplier.lambda$andFinally$1(ThrowingSupplier.java:47)
#0 44.76 at de.flapdoodle.embed.mongo.transitions.RunningMongoProcess.lambda$factory$3(RunningMongoProcess.java:185)
#0 44.76 at de.flapdoodle.embed.process.types.RunningProcess.start(RunningProcess.java:78)
#0 44.76 at de.flapdoodle.embed.mongo.transitions.MongoServerStarter.result(MongoServerStarter.java:119)
#0 44.76 at de.flapdoodle.reverse.TransitionWalker.resolve(TransitionWalker.java:62)
#0 44.76 at de.flapdoodle.reverse.TransitionWalker.resolve(TransitionWalker.java:50)
#0 44.76 at de.flapdoodle.reverse.TransitionWalker.initState(TransitionWalker.java:165)
#0 44.76 ... 97 common frames omitted
ERROR o.s.boot.SpringApplication - Application run failed
#0 44.95 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'syncClientServerWrapper' defined in class path resource [de/flapdoodle/embed/mongo/spring/autoconfigure/EmbeddedMongoAutoConfiguration$SyncClientServerWrapperConfig.class]: error on transition to State(de.flapdoodle.embed.mongo.transitions.RunningMongodProcess), rollback
#0 44.95 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1770)
#0 44.95 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:598)
#0 44.95 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520)
#0 44.95 at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326)
#0 44.95 at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
#0 44.95 at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324)
#0 44.95 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200)
#0 44.95 at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:973)
#0 44.95 at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:917)
#0 44.95 at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:584)
#0 44.95 at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732)
#0 44.95 at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:434)
#0 44.95 at org.springframework.boot.SpringApplication.run(SpringApplication.java:310)
#0 44.95 at org.springframework.boot.test.context.SpringBootContextLoader.lambda$loadContext$3(SpringBootContextLoader.java:137)
#0 44.95 at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:58)
#0 44.95 at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:46)
#0 44.95 at org.springframework.boot.SpringApplication.withHook(SpringApplication.java:1388)
#0 44.95 at org.springframework.boot.test.context.SpringBootContextLoader$ContextLoaderHook.run(SpringBootContextLoader.java:545)
#0 44.95 at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:137)
#0 44.95 at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:108)
#0 44.95 at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:184)
#0 44.95 at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:118)
#0 44.95 at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:127)
#0 44.95 at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:141)
#0 44.95 at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:97)
#0 44.95 at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:241)
#0 44.95 at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:138)
#0 44.95 at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$10(ClassBasedTestDescriptor.java:377)
#0 44.95 at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable(ClassBasedTestDescriptor.java:382)
#0 44.95 at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$11(ClassBasedTestDescriptor.java:377)
#0 44.95 at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
#0 44.95 at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
#0 44.95 at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
#0 44.95 at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
#0 44.95 at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
#0 44.95 at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:310)
#0 44.95 at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735)
#0 44.95 at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734)
#0 44.95 at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
#0 44.95 at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors(ClassBasedTestDescriptor.java:376)
#0 44.95 at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$instantiateAndPostProcessTestInstance$6(ClassBasedTestDescriptor.java:289)
#0 44.95 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
#0 44.95 at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:288)
#0 44.95 at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4(ClassBasedTestDescriptor.java:278)
#0 44.95 at java.base/java.util.Optional.orElseGet(Optional.java:364)
#0 44.95 at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5(ClassBasedTestDescriptor.java:277)
#0 44.95 at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:31)
#0 44.95 at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:105)
#0 44.95 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
#0 44.95 at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:104)
#0 44.95 at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:68)
#0 44.95 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$2(NodeTestTask.java:123)
#0 44.95 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
#0 44.95 at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:123)
#0 44.95 at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:90)
#0 44.95 at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
#0 44.95 at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
#0 44.95 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
#0 44.95 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
#0 44.95 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
#0 44.95 at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
#0 44.95 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
#0 44.95 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
#0 44.95 at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
#0 44.95 at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
#0 44.95 at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
#0 44.95 at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
#0 44.95 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
#0 44.95 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
#0 44.95 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
#0 44.95 at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
#0 44.95 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
#0 44.95 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
#0 44.95 at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
#0 44.95 at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
#0 44.95 at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
#0 44.95 at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
#0 44.95 at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
#0 44.95 at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220)
#0 44.95 at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188)
#0 44.95 at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202)
#0 44.95 at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181)
#0 44.95 at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128)
#0 44.95 at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:150)
#0 44.95 at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:124)
#0 44.95 at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)
#0 44.95 at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)
#0 44.95 at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)
#0 44.95 at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)
#0 44.95 Caused by: java.lang.RuntimeException: error on transition to State(de.flapdoodle.embed.mongo.transitions.RunningMongodProcess), rollback
#0 44.95 at de.flapdoodle.reverse.TransitionWalker.initState(TransitionWalker.java:174)
#0 44.95 at de.flapdoodle.reverse.TransitionWalker.initState(TransitionWalker.java:69)
#0 44.95 at de.flapdoodle.embed.mongo.spring.autoconfigure.MongodWrapper.start(MongodWrapper.java:45)
#0 44.95 at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
#0 44.95 at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
#0 44.95 at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
#0 44.95 at java.base/java.lang.reflect.Method.invoke(Method.java:568)
#0 44.95 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1869)
#0 44.95 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1826)
#0 44.95 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1766)
#0 44.95 ... 88 common frames omitted
#0 44.95 Caused by: java.lang.RuntimeException: Could not start process: Address already in use
#0 44.95 at de.flapdoodle.embed.mongo.transitions.RunningMongoProcess.lambda$null$1(RunningMongoProcess.java:179)
#0 44.95 at de.flapdoodle.types.ThrowingSupplier.lambda$andFinally$1(ThrowingSupplier.java:47)
#0 44.95 at de.flapdoodle.types.ThrowingSupplier.lambda$andFinally$1(ThrowingSupplier.java:47)
#0 44.95 at de.flapdoodle.embed.mongo.transitions.RunningMongoProcess.lambda$factory$3(RunningMongoProcess.java:185)
#0 44.95 at de.flapdoodle.embed.process.types.RunningProcess.start(RunningProcess.java:78)
#0 44.95 at de.flapdoodle.embed.mongo.transitions.MongoServerStarter.result(MongoServerStarter.java:119)
#0 44.95 at de.flapdoodle.reverse.TransitionWalker.resolve(TransitionWalker.java:62)
#0 44.95 at de.flapdoodle.reverse.TransitionWalker.resolve(TransitionWalker.java:50)
#0 44.95 at de.flapdoodle.reverse.TransitionWalker.initState(TransitionWalker.java:165)
#0 44.95 ... 97 common frames omitted
@alabbas-ali the root cause is this: Caused by: java.lang.RuntimeException: Could not start process: Address already in use
.. if you use the same port for all tests and test are executed parallel then the port is already used.. or ..spring does not shutdown last test when starting a new one .. maybe you must add @DirtiesContext to your test
https://github.com/flapdoodle-oss/de.flapdoodle.embed.mongo.spring/blob/main/HowTo.md#test-isolation
@michaelmosmann Thank you for your response.
I don't get it. shouldn't using @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
be sufficient to have the application start on a different port for each test case? Also, I have this in the controller Integration testing already I have added it to the service Integration testing. Still, more issues and exceptions get thrown.
According to the documentation in the link you sent me, @DirtiesContext will allow me to achieve test isolation with the same configuration by enabling each test to have its own Mongodb.
if I get it correctly. the test by default will use the application.properties file set up in the test/resources folder of the project. I have the following properties in the file:
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto=create-drop
spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017
spring.data.mongodb.database=TmService
de.flapdoodle.mongodb.embedded.version=5.0.5
Why I will need a new MongoDB instance for each test? shouldn't I be able to create one instance of MongoDB for the tests and have a new connection if not use the same connection to run each test?
Even if I am wrong for whatever reason. Maybe my expectation is not realistic. In that case, I have tried the @DirtiesContext annotation with all the compensation values for the classMode and with the default as well. still, the exception is there.
and still, the test is running fine if the Windows machine but not in the Linux container.
Please I have isolated the part of the code and I am sharing it in this public repo. would you be so kind and try and see the errors yourself: https://github.com/alabbas-ali/tm-service
@alabbas-ali short update: i could run all tests on my ubuntu machine inside intellij
I don't get it. shouldn't using
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
be sufficient to have the application start on a different port for each test case?
The mentioned port already used is the mongodb port definied with 'spring.data.mongodb.port=27017'
According to the documentation in the link you sent me, @DirtiesContext will allow me to achieve test isolation with the same configuration by enabling each test to have its own Mongodb.
Spring tries to reuse context .. which can lead to a lot of trouble .. as i don't use spring in my projects i have not a deep enough understanding why...
Why I will need a new MongoDB instance for each test? shouldn't I be able to create one instance of MongoDB for the tests and have a new connection if not use the same connection to run each test?
You can do this if you start the mongodb before all tests and stop it after that.. maybe this is possible with test suites even with junit5..
and still, the test is running fine if the Windows machine but not in the Linux container. It is running on my linux machine .. so i try to start this in a container.
@alabbas-ali .. funny.. running the tests with maven on my ubuntu machine gives the same errors.. ok. I will have a look now that the errors are visible.
@alabbas-ali ok.. i think i found an easy solution for that.. as spring configs are merged and this way you can not remove a property from the application.properties file you should change spring.data.mongodb.port=27017
in you test/application.properties file to spring.data.mongodb.port=0
so that a free port is used with each mongodb instance.
Thank you that works fine
I am trying to have some a Service Integration test and Controller Integration test:
Java Version 17 Spring Boot version: 3.0.5 de.flapdoodle.embed : de.flapdoodle.embed.mongo.spring30x: version is 4.6.2 I set up the testing profile with
de.flapdoodle.mongodb.embedded.version=5.0.5
My application will run with mongo version 6.0.5
I have the following testing for the Service Repository :
then the test for the Service layer goes like this:
Also, some MVC controller test has been set up:
I can see that when I run the test locally on my Windows machine the test seems to pass fine. sometimes an error is thrown that indicates a problem connecting to MongoDB.
But when I run the tests inside the container with Linux (maven:3.8.5-openjdk-17). Very interesting errors start appearing. like :
I am just wondering if that is an issue in my test config. or there is a bug in the embedded MongoDB. I think this is related to the fact that Spring Boot is running each test in a new context. and each time the context starts a new embedded MongoDb is starting. or at least a new connection is trying to be opened.
I will appreciate help in this manner