X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=dashboard%2Fwebapp-backend%2Fsrc%2Ftest%2Fjava%2Forg%2Foransc%2Fric%2Fportal%2Fdashboard%2Fcontroller%2FDefaultContextTest.java;h=aaa48eb7d33f6b4b709881f28503334db8fa3684;hb=1ed271f32c4112736fb528aa0cc228629d2248a6;hp=43a77f1988c22305f347fab623e6c2fdcf102966;hpb=64a5e9470799236f0af4ce2df98f77c94eb1bed3;p=portal%2Fric-dashboard.git diff --git a/dashboard/webapp-backend/src/test/java/org/oransc/ric/portal/dashboard/controller/DefaultContextTest.java b/dashboard/webapp-backend/src/test/java/org/oransc/ric/portal/dashboard/controller/DefaultContextTest.java index 43a77f19..aaa48eb7 100644 --- a/dashboard/webapp-backend/src/test/java/org/oransc/ric/portal/dashboard/controller/DefaultContextTest.java +++ b/dashboard/webapp-backend/src/test/java/org/oransc/ric/portal/dashboard/controller/DefaultContextTest.java @@ -22,34 +22,46 @@ package org.oransc.ric.portal.dashboard.controller; import java.lang.invoke.MethodHandles; import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; -import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.junit.jupiter.SpringExtension; /** * Tests whether the default (not mock) configuration classes run to completion. */ @ExtendWith(SpringExtension.class) -@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) -@ActiveProfiles("default") +// This way of setting the active profile should not be necessary. See: +// https://github.com/spring-projects/spring-boot/issues/19788 +@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT, properties = "spring.profiles.active:default") public class DefaultContextTest { private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - // If this test is annotated and run by maven, two cases in - // PortalRestCentralServiceTest fail. I traced it down to a second - // occurrence of the Dashboard user manager bean, which I can only speculate - // gets instantiated when the active profile is not "test". Because I cannot - // explain nor fix the behavior, this remains commented out. - // @Test + /** + * I expect the server to loaded then be torn down again. And when a single test + * is run, that is the behavior. But if all the tests are run, this test is + * reached while working thru the package and it appears that the "default" + * profile is added to the active "test" profile. Junit continues on thru the + * remaining tests, the non-mock configuration bean is used to authenticate + * Portal API requests, but because it has no username and password (the entries + * in application.yaml are blank), access is denied and these tests fail: + * + * I worked around the problem by using the application.yaml credentials. I also + * annotated this class above trying to limit the active profile, but I'm not + * confident it is working nor that it's needed. + */ + @Test public void contextLoads() { // Silence Sonar warning about missing assertion. Assertions.assertTrue(logger.isWarnEnabled()); - logger.info("Context loads on default profile"); + logger.info("contextLoads on default profile"); } }