2 * ========================LICENSE_START=================================
5 * Copyright (C) 2019 AT&T Intellectual Property
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ========================LICENSE_END===================================
20 package org.oransc.ric.portal.dashboard.controller;
22 import java.lang.invoke.MethodHandles;
24 import org.junit.jupiter.api.Assertions;
25 import org.junit.jupiter.api.Test;
26 import org.junit.jupiter.api.extension.ExtendWith;
27 import org.slf4j.Logger;
28 import org.slf4j.LoggerFactory;
29 import org.springframework.boot.test.context.SpringBootTest;
30 import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
31 import org.springframework.test.context.junit.jupiter.SpringExtension;
34 * Tests whether the default (not mock) configuration classes run to completion.
36 @ExtendWith(SpringExtension.class)
37 // This way of setting the active profile should not be necessary. See:
38 // https://github.com/spring-projects/spring-boot/issues/19788
39 @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT, properties = "spring.profiles.active:default")
40 public class DefaultContextTest {
42 private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
45 * I expect the server to loaded then be torn down again. And when a single test
46 * is run, that is the behavior. But if all the tests are run, this test is
47 * reached while working thru the package and it appears that the "default"
48 * profile is added to the active "test" profile. Junit continues on thru the
49 * remaining tests, the non-mock configuration bean is used to authenticate
50 * Portal API requests, but because it has no username and password (the entries
51 * in application.yaml are blank), access is denied and these tests fail:
53 * <LI>{@link PortalRestCentralServiceTest#createUserTest()}
54 * <LI>{@link PortalRestCentralServiceTest#updateUserTest()}
56 * I worked around the problem by using the application.yaml credentials. I also
57 * annotated this class above trying to limit the active profile, but I'm not
58 * confident it is working nor that it's needed.
61 public void contextLoads() {
62 // Silence Sonar warning about missing assertion.
63 Assertions.assertTrue(logger.isWarnEnabled());
64 logger.info("DefaultContextTest#contextLoads on default profile");