diff --git a/2022-05/spring-06-avdanced-config/pom.xml b/2022-05/spring-06-avdanced-config/pom.xml index f884e416..56e72f81 100644 --- a/2022-05/spring-06-avdanced-config/pom.xml +++ b/2022-05/spring-06-avdanced-config/pom.xml @@ -19,5 +19,6 @@ test-configuration-solution-1 test-configuration-solution-2 test-configuration-solution-3 + test-caching-demo diff --git a/2022-05/spring-06-avdanced-config/spring-shell.log b/2022-05/spring-06-avdanced-config/spring-shell.log deleted file mode 100644 index f33d19e2..00000000 --- a/2022-05/spring-06-avdanced-config/spring-shell.log +++ /dev/null @@ -1,9 +0,0 @@ -1638867120546:p -1638867124184:l -1638867125867:p -1638867146689:l -1638867147641:p -1655216108320:l -1655216109269:p -1655216123518:l -1655216124571:p diff --git a/2022-05/spring-06-avdanced-config/test-caching-demo/.gitignore b/2022-05/spring-06-avdanced-config/test-caching-demo/.gitignore new file mode 100644 index 00000000..789ddc9e --- /dev/null +++ b/2022-05/spring-06-avdanced-config/test-caching-demo/.gitignore @@ -0,0 +1,32 @@ +# Compiled class file +*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + +#other +*.bat +*/.idea +*.iml +*/target + +.idea +*.iml +target \ No newline at end of file diff --git a/2022-05/spring-06-avdanced-config/test-caching-demo/pom.xml b/2022-05/spring-06-avdanced-config/test-caching-demo/pom.xml new file mode 100644 index 00000000..3356b4ca --- /dev/null +++ b/2022-05/spring-06-avdanced-config/test-caching-demo/pom.xml @@ -0,0 +1,49 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.7.0 + + + + ru.otus.example + test-caching-demo + 0.0.1-SNAPSHOT + + + 11 + 11 + 11 + + + + + org.springframework.boot + spring-boot-starter + + + org.projectlombok + lombok + true + + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + diff --git a/2022-05/spring-06-avdanced-config/test-caching-demo/src/main/java/ru/otus/example/testconfigurationdemo/TestConfigurationDemoApplication.java b/2022-05/spring-06-avdanced-config/test-caching-demo/src/main/java/ru/otus/example/testconfigurationdemo/TestConfigurationDemoApplication.java new file mode 100644 index 00000000..fe8a8f68 --- /dev/null +++ b/2022-05/spring-06-avdanced-config/test-caching-demo/src/main/java/ru/otus/example/testconfigurationdemo/TestConfigurationDemoApplication.java @@ -0,0 +1,14 @@ +package ru.otus.example.testconfigurationdemo; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.ComponentScan; + +@SpringBootApplication +public class TestConfigurationDemoApplication { + + public static void main(String[] args) { + SpringApplication.run(TestConfigurationDemoApplication.class, args); + } + +} diff --git a/2022-05/spring-06-avdanced-config/test-caching-demo/src/main/java/ru/otus/example/testconfigurationdemo/statefulservices/Service1.java b/2022-05/spring-06-avdanced-config/test-caching-demo/src/main/java/ru/otus/example/testconfigurationdemo/statefulservices/Service1.java new file mode 100644 index 00000000..9983209e --- /dev/null +++ b/2022-05/spring-06-avdanced-config/test-caching-demo/src/main/java/ru/otus/example/testconfigurationdemo/statefulservices/Service1.java @@ -0,0 +1,15 @@ +package ru.otus.example.testconfigurationdemo.statefulservices; + +import lombok.Getter; +import lombok.Setter; +import org.springframework.stereotype.Service; + +@Service +public class Service1 { + @Getter + private final String name = "Service1"; + + @Getter + @Setter + private String state = "State1"; +} diff --git a/2022-05/spring-06-avdanced-config/test-caching-demo/src/main/java/ru/otus/example/testconfigurationdemo/statefulservices/Service2.java b/2022-05/spring-06-avdanced-config/test-caching-demo/src/main/java/ru/otus/example/testconfigurationdemo/statefulservices/Service2.java new file mode 100644 index 00000000..43586e62 --- /dev/null +++ b/2022-05/spring-06-avdanced-config/test-caching-demo/src/main/java/ru/otus/example/testconfigurationdemo/statefulservices/Service2.java @@ -0,0 +1,15 @@ +package ru.otus.example.testconfigurationdemo.statefulservices; + +import lombok.Getter; +import lombok.Setter; +import org.springframework.stereotype.Service; + +@Service +public class Service2 { + @Getter + private final String name = "Service2"; + + @Getter + @Setter + private String state = "State2"; +} diff --git a/2022-05/spring-06-avdanced-config/test-caching-demo/src/test/java/ru/otus/example/testconfigurationdemo/statefulservices/IntegrationTest1.java b/2022-05/spring-06-avdanced-config/test-caching-demo/src/test/java/ru/otus/example/testconfigurationdemo/statefulservices/IntegrationTest1.java new file mode 100644 index 00000000..7a8879ad --- /dev/null +++ b/2022-05/spring-06-avdanced-config/test-caching-demo/src/test/java/ru/otus/example/testconfigurationdemo/statefulservices/IntegrationTest1.java @@ -0,0 +1,42 @@ +package ru.otus.example.testconfigurationdemo.statefulservices; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.TestPropertySource; + +import static org.junit.jupiter.api.Assertions.*; + +//@SpringBootTest(classes = {Service1.class, Service2.class}) +//@TestPropertySource("classpath:test.properties") +//@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS) +@SpringBootTest +class IntegrationTest1 { + + @Autowired + private Service1 service1; + + //@MockBean + @Autowired + private Service2 service2; + + @Test + void test1() { + System.out.println(service1.getName() + ": " + service1.getState()); + System.out.println(service2.getName() + ": " + service2.getState()); + + service1.setState("State3"); + service2.setState("State4"); + } + + @Test + void test2() { + System.out.println(service1.getName() + ": " + service1.getState()); + System.out.println(service2.getName() + ": " + service2.getState()); + + service1.setState("State5"); + service2.setState("State6"); + } +} \ No newline at end of file diff --git a/2022-05/spring-06-avdanced-config/test-caching-demo/src/test/java/ru/otus/example/testconfigurationdemo/statefulservices/IntegrationTest2.java b/2022-05/spring-06-avdanced-config/test-caching-demo/src/test/java/ru/otus/example/testconfigurationdemo/statefulservices/IntegrationTest2.java new file mode 100644 index 00000000..19d2dd8f --- /dev/null +++ b/2022-05/spring-06-avdanced-config/test-caching-demo/src/test/java/ru/otus/example/testconfigurationdemo/statefulservices/IntegrationTest2.java @@ -0,0 +1,33 @@ +package ru.otus.example.testconfigurationdemo.statefulservices; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class IntegrationTest2 { + + @Autowired + private Service1 service1; + + @Autowired + private Service2 service2; + + @Test + void test3() { + System.out.println(service1.getName() + ": " + service1.getState()); + System.out.println(service2.getName() + ": " + service2.getState()); + + service1.setState("State7"); + service2.setState("State8"); + } + + @Test + void test4() { + System.out.println(service1.getName() + ": " + service1.getState()); + System.out.println(service2.getName() + ": " + service2.getState()); + + service1.setState("State9"); + service2.setState("State10"); + } +} \ No newline at end of file diff --git a/2022-05/spring-06-avdanced-config/test-caching-demo/src/test/resources/test.properties b/2022-05/spring-06-avdanced-config/test-caching-demo/src/test/resources/test.properties new file mode 100644 index 00000000..257a47f4 --- /dev/null +++ b/2022-05/spring-06-avdanced-config/test-caching-demo/src/test/resources/test.properties @@ -0,0 +1 @@ +any.prop=10 \ No newline at end of file