diff options
author | 2024-11-22 13:49:38 +0000 | |
---|---|---|
committer | 2024-11-22 13:49:38 +0000 | |
commit | 266d4ba4f01ac7d451e0b62fd24a381fa75265a7 (patch) | |
tree | bca86c88cb317ecc7503c0dc044578b077e214bd /src/test/java/org/onap/aai/rest/SchemaJobStatusControllerTest.java | |
parent | 101f84b82fee1e1e245fb64df9269b9ebf5fd22d (diff) | |
parent | f63000bb493505f5660ecd000e688013c1fbe7ec (diff) |
Merge "RestApi for DB Schema Initialization-Address Review comments"
Diffstat (limited to 'src/test/java/org/onap/aai/rest/SchemaJobStatusControllerTest.java')
-rw-r--r-- | src/test/java/org/onap/aai/rest/SchemaJobStatusControllerTest.java | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/src/test/java/org/onap/aai/rest/SchemaJobStatusControllerTest.java b/src/test/java/org/onap/aai/rest/SchemaJobStatusControllerTest.java new file mode 100644 index 0000000..971a174 --- /dev/null +++ b/src/test/java/org/onap/aai/rest/SchemaJobStatusControllerTest.java @@ -0,0 +1,90 @@ +/** + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright © 2024 Deutsche Telekom. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ +package org.onap.aai.rest; + +import static org.mockito.Mockito.when; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.onap.aai.config.WebClientConfiguration; +import org.onap.aai.restclient.PropertyPasswordConfiguration; +import org.onap.aai.service.SchemaJobStatusService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.context.annotation.Import; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.web.reactive.server.WebTestClient; + + +@Import(WebClientConfiguration.class) +@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) +@ContextConfiguration(initializers = PropertyPasswordConfiguration.class) +public class SchemaJobStatusControllerTest { + + @MockBean + private SchemaJobStatusService schemaJobStatusService; + + @Autowired + private SchemaJobStatusController schemaJobStatusController; + + @Autowired + WebTestClient webClient; + + @BeforeEach + void setUp() { + // Bind the WebTestClient to the controller + webClient = WebTestClient.bindToController(schemaJobStatusController).build(); + } + + @Test + void testIsSchemaInitializedTrue() throws Exception { + when(schemaJobStatusService.isSchemaInitialized()).thenReturn(true); + + webClient.get() + .uri("/isSchemaInitialized") + .exchange() + .expectStatus() + .isOk() + .expectBody(Boolean.class).isEqualTo(true); + } + + @Test + void testIsSchemaInitializedFalse() throws Exception { + when(schemaJobStatusService.isSchemaInitialized()).thenReturn(false); + + webClient.get() + .uri("/isSchemaInitialized") + .exchange() + .expectStatus() + .isOk() + .expectBody(Boolean.class).isEqualTo(false); + } + + @Test + void testInvalidEndpoint() { + webClient.get() + .uri("/nonexistentEndpoint") + .exchange() + .expectStatus() + .isNotFound(); + } +}
\ No newline at end of file |