From c78e24861ad167f637d1f5ac83e9cbb7332b7944 Mon Sep 17 00:00:00 2001 From: nidhi-vm Date: Thu, 19 Jun 2025 15:31:11 -0400 Subject: [PATCH] Updating using GitHub API 2025-06-19-15:31 --- .../petclinic/PostgresIntegrationTests.java | 159 +----------------- 1 file changed, 9 insertions(+), 150 deletions(-) diff --git a/src/test/java/org/springframework/samples/petclinic/PostgresIntegrationTests.java b/src/test/java/org/springframework/samples/petclinic/PostgresIntegrationTests.java index 0b9e4f93a..cb0172e38 100644 --- a/src/test/java/org/springframework/samples/petclinic/PostgresIntegrationTests.java +++ b/src/test/java/org/springframework/samples/petclinic/PostgresIntegrationTests.java @@ -1,150 +1,9 @@ -/* - * Copyright 2012-2019 the original author or authors. - * - * 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 - * - * https://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. - */ - -package org.springframework.samples.petclinic; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.junit.jupiter.api.Assumptions.assumeTrue; - -import java.util.Arrays; -import java.util.LinkedList; -import java.util.List; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.condition.DisabledInNativeImage; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.boot.context.event.ApplicationPreparedEvent; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; -import org.springframework.boot.test.web.server.LocalServerPort; -import org.springframework.boot.web.client.RestTemplateBuilder; -import org.springframework.context.ApplicationListener; -import org.springframework.core.env.ConfigurableEnvironment; -import org.springframework.core.env.EnumerablePropertySource; -import org.springframework.core.env.PropertySource; -import org.springframework.http.HttpStatus; -import org.springframework.http.RequestEntity; -import org.springframework.http.ResponseEntity; -import org.springframework.samples.petclinic.vet.VetRepository; -import org.springframework.test.context.ActiveProfiles; -import org.springframework.web.client.RestTemplate; -import org.testcontainers.DockerClientFactory; - -@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT, properties = { "spring.docker.compose.skip.in-tests=false", // - "spring.docker.compose.start.arguments=--force-recreate,--renew-anon-volumes,postgres" }) -@ActiveProfiles("postgres") -@DisabledInNativeImage -public class PostgresIntegrationTests { - - @LocalServerPort - int port; - - @Autowired - private VetRepository vets; - - @Autowired - private RestTemplateBuilder builder; - - @BeforeAll - static void available() { - assumeTrue(DockerClientFactory.instance().isDockerAvailable(), "Docker not available"); - } - - public static void main(String[] args) { - new SpringApplicationBuilder(PetClinicApplication.class) // - .profiles("postgres") // - .properties( // - "spring.docker.compose.start.arguments=postgres" // - ) // - .listeners(new PropertiesLogger()) // - .run(args); - } - - @Test - void testFindAll() throws Exception { - vets.findAll(); - vets.findAll(); // served from cache - } - - @Test - void testOwnerDetails() { - RestTemplate template = builder.rootUri("http://localhost:" + port).build(); - ResponseEntity result = template.exchange(RequestEntity.get("/owners/1").build(), String.class); - assertThat(result.getStatusCode()).isEqualTo(HttpStatus.OK); - } - - static class PropertiesLogger implements ApplicationListener { - - private static final Log log = LogFactory.getLog(PropertiesLogger.class); - - private ConfigurableEnvironment environment; - - private boolean isFirstRun = true; - - @Override - public void onApplicationEvent(ApplicationPreparedEvent event) { - if (isFirstRun) { - environment = event.getApplicationContext().getEnvironment(); - printProperties(); - } - isFirstRun = false; - } - - public void printProperties() { - for (EnumerablePropertySource source : findPropertiesPropertySources()) { - log.info("PropertySource: " + source.getName()); - String[] names = source.getPropertyNames(); - Arrays.sort(names); - for (String name : names) { - String resolved = environment.getProperty(name); - - assertNotNull(resolved, "resolved environment property: " + name + " is null."); - - Object sourceProperty = source.getProperty(name); - - assertNotNull(sourceProperty, "source property was expecting an object but is null."); - - assertNotNull(sourceProperty.toString(), "source property toString() returned null."); - - String value = sourceProperty.toString(); - if (resolved.equals(value)) { - log.info(name + "=" + resolved); - } - else { - log.info(name + "=" + value + " OVERRIDDEN to " + resolved); - } - } - } - } - - private List> findPropertiesPropertySources() { - List> sources = new LinkedList<>(); - for (PropertySource source : environment.getPropertySources()) { - if (source instanceof EnumerablePropertySource enumerable) { - sources.add(enumerable); - } - } - return sources; - } - - } - -} +@Test +void testFindAll() throws CustomException { + try { + vets.findAll(); + } catch (Exception e) { + throw new CustomException("Error finding all vets", e); + } + vets.findAll(); // served from cache +} \ No newline at end of file