[ 
https://issues.apache.org/jira/browse/GEODE-8040?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17096964#comment-17096964
 ] 

ASF GitHub Bot commented on GEODE-8040:
---------------------------------------

kirklund opened a new pull request #5033:
URL: https://github.com/apache/geode/pull/5033


   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


> BootstrappingFunctionIntegrationTest unintentionally creates a full Cache 
> stack
> -------------------------------------------------------------------------------
>
>                 Key: GEODE-8040
>                 URL: https://issues.apache.org/jira/browse/GEODE-8040
>             Project: Geode
>          Issue Type: Bug
>          Components: tests
>            Reporter: Kirk Lund
>            Assignee: Kirk Lund
>            Priority: Major
>
> BootstrappingFunctionIntegrationTest unintentionally creates a full Cache 
> stack. I have renamed and moved BootstrappingFunctionTest from src/test to 
> src/integrationTest because it creates a full Cache/DistributedSystem and 
> leaves the SocketCreatorFactory in an initialized state which causes other 
> unit tests such as SocketCreatorFactoryJUnitTest to fail:
> {noformat}
> org.apache.geode.internal.net.SocketCreatorFactoryJUnitTest > 
> testNewSSLConfigSSLComponentLocator FAILED
>     java.lang.AssertionError
>         at org.junit.Assert.fail(Assert.java:86)
>         at org.junit.Assert.assertTrue(Assert.java:41)
>         at org.junit.Assert.assertTrue(Assert.java:52)
>         at 
> org.apache.geode.internal.net.SocketCreatorFactoryJUnitTest.testNewSSLConfigSSLComponentLocator(SocketCreatorFactoryJUnitTest.java:106)
> {noformat}
> The cause is improper syntax in the test for partial mocking a Spy. This 
> when/thenReturn:
> {noformat}
> when(bootstrappingFunction.verifyCacheExists()).thenReturn(mockCache);
> {noformat}
> ...first invokes the actual verifyCacheExists() method which creates a real 
> Cache and then returns mockCache. This should instead be:
> {noformat}
> doReturn(mockCache).when(bootstrappingFunction).verifyCacheExists();
> {noformat}
> Unfortunately, the class BootstrappingFunction requires additional changes to 
> make it unit testable. The next test failure after fixing the Mockito syntax 
> is:
> {noformat}
> org.apache.geode.cache.CacheClosedException: A cache has not yet been created.
>       at 
> org.apache.geode.internal.cache.CacheFactoryStatics.getAnyInstance(CacheFactoryStatics.java:87)
>       at 
> org.apache.geode.modules.util.CreateRegionFunction.<init>(CreateRegionFunction.java:59)
>       at 
> org.apache.geode.modules.util.BootstrappingFunction.registerFunctions(BootstrappingFunction.java:124)
>       at 
> org.apache.geode.modules.util.BootstrappingFunction.execute(BootstrappingFunction.java:67)
>       at 
> org.apache.geode.modules.util.BootstrappingFunctionIntegrationTest.registerFunctionGetsCalledOnNonLocators(BootstrappingFunctionIntegrationTest.java:101)
> {noformat}
> When I make the changes necessary to make BootstrappingFunction unit 
> testable, the tomcat session backwards compatibility tests all start failing 
> in UpgradeTest:
> {noformat}
> org.apache.geode.session.tests.TomcatSessionBackwardsCompatibilityTomcat8WithOldModuleCanDoPutsTest
>  > test[0] FAILED
>     java.lang.RuntimeException: Something very bad happened when trying to 
> start container 
> TOMCAT8_client-server_test0_0_6b9ba51c-9690-47aa-8e56-8e5b6cb22af4_<unknown>
>         at 
> org.apache.geode.session.tests.ContainerManager.startContainer(ContainerManager.java:80)
>         at 
> org.apache.geode.session.tests.ContainerManager.startContainers(ContainerManager.java:91)
>         at 
> org.apache.geode.session.tests.ContainerManager.startAllInactiveContainers(ContainerManager.java:98)
>         at 
> org.apache.geode.session.tests.TomcatSessionBackwardsCompatibilityTestBase.doPutAndGetSessionOnAllClients(TomcatSessionBackwardsCompatibilityTestBase.java:187)
>         at 
> org.apache.geode.session.tests.TomcatSessionBackwardsCompatibilityTomcat8WithOldModuleCanDoPutsTest.test(TomcatSessionBackwardsCompatibilityTomcat8WithOldModuleCanDoPutsTest.java:35)
>         Caused by:
>         java.lang.RuntimeException: Something very bad happened to this 
> container when starting. Check the cargo_logs folder for container logs.
>             at 
> org.apache.geode.session.tests.ServerContainer.start(ServerContainer.java:218)
>             at 
> org.apache.geode.session.tests.ContainerManager.startContainer(ContainerManager.java:77)
>             ... 4 more
>             Caused by:
>             org.codehaus.cargo.container.ContainerException: Deployable 
> [http://localhost:22942/cargocpc/index.html] failed to finish deploying 
> within the timeout period [120000]. The Deployable state is thus unknown.
>                 at 
> org.codehaus.cargo.container.spi.deployer.DeployerWatchdog.watch(DeployerWatchdog.java:111)
>                 at 
> org.codehaus.cargo.container.spi.AbstractLocalContainer.waitForCompletion(AbstractLocalContainer.java:385)
>                 at 
> org.codehaus.cargo.container.spi.AbstractLocalContainer.start(AbstractLocalContainer.java:232)
>                 at 
> org.apache.geode.session.tests.ServerContainer.start(ServerContainer.java:216)
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to