From 88cd75e51933d98e2cd013f1e0cc8d607dea8032 Mon Sep 17 00:00:00 2001 From: Alex Tighe Date: Wed, 17 Jul 2019 23:13:41 -0400 Subject: [PATCH 001/316] commits for BAEL-2076 - Created core-java-io2 module - added resource loading example code - added core-java-io2 to tutorials pom.xml --- core-java-modules/core-java-io2/.gitignore | 5 + core-java-modules/core-java-io2/README.md | 6 + core-java-modules/core-java-io2/pom.xml | 143 ++++++++++++++++++ .../baeldung/resource/MyResourceLoader.java | 42 +++++ .../src/main/resources/input.txt | 3 + .../src/test/resources/.gitignore | 13 ++ pom.xml | 1 + 7 files changed, 213 insertions(+) create mode 100644 core-java-modules/core-java-io2/.gitignore create mode 100644 core-java-modules/core-java-io2/README.md create mode 100644 core-java-modules/core-java-io2/pom.xml create mode 100644 core-java-modules/core-java-io2/src/main/java/com/baeldung/resource/MyResourceLoader.java create mode 100644 core-java-modules/core-java-io2/src/main/resources/input.txt create mode 100644 core-java-modules/core-java-io2/src/test/resources/.gitignore diff --git a/core-java-modules/core-java-io2/.gitignore b/core-java-modules/core-java-io2/.gitignore new file mode 100644 index 0000000000..c61d35324d --- /dev/null +++ b/core-java-modules/core-java-io2/.gitignore @@ -0,0 +1,5 @@ +0.* + +# Files generated by integration tests +# *.txt +/temp \ No newline at end of file diff --git a/core-java-modules/core-java-io2/README.md b/core-java-modules/core-java-io2/README.md new file mode 100644 index 0000000000..d4b417e30e --- /dev/null +++ b/core-java-modules/core-java-io2/README.md @@ -0,0 +1,6 @@ +========= + +## Core Java IO Cookbooks and Examples + +### Relevant Articles: +- [Reading Files Versus Loading Resources](http://www.baeldung.com/reading-files-versus-loading-resources) \ No newline at end of file diff --git a/core-java-modules/core-java-io2/pom.xml b/core-java-modules/core-java-io2/pom.xml new file mode 100644 index 0000000000..8ac7b2975f --- /dev/null +++ b/core-java-modules/core-java-io2/pom.xml @@ -0,0 +1,143 @@ + + 4.0.0 + core-java-io2 + 0.1.0-SNAPSHOT + core-java-io2 + jar + + + com.baeldung + parent-java + 0.0.1-SNAPSHOT + ../../parent-java + + + + + org.apache.commons + commons-collections4 + ${commons-collections4.version} + + + + commons-io + commons-io + 2.6 + + + + org.projectlombok + lombok + ${lombok.version} + provided + + + + log4j + log4j + ${log4j.version} + + + + org.slf4j + log4j-over-slf4j + ${org.slf4j.version} + + + + + + + + + + core-java-io2 + + + src/main/resources + true + + + + + org.codehaus.mojo + exec-maven-plugin + ${exec-maven-plugin.version} + + java + com.baeldung.outofmemoryerror.OutOfMemoryGCLimitExceed + + -Xmx300m + -XX:+UseParallelGC + -classpath + + com.baeldung.outofmemoryerror.OutOfMemoryGCLimitExceed + + + + + + + org.apache.maven.plugins + maven-jar-plugin + ${maven-jar-plugin.version} + + + + true + com.baeldung.resource.MyResourceLoader + + + + + + + + + + integration + + + + org.codehaus.mojo + exec-maven-plugin + + + + run-benchmarks + + none + + exec + + + test + java + + -classpath + + org.openjdk.jmh.Main + .* + + + + + + + + + + + + + + 4.1 + + + 3.1.0 + + + + \ No newline at end of file diff --git a/core-java-modules/core-java-io2/src/main/java/com/baeldung/resource/MyResourceLoader.java b/core-java-modules/core-java-io2/src/main/java/com/baeldung/resource/MyResourceLoader.java new file mode 100644 index 0000000000..1c5b52e18b --- /dev/null +++ b/core-java-modules/core-java-io2/src/main/java/com/baeldung/resource/MyResourceLoader.java @@ -0,0 +1,42 @@ +package com.baeldung.resource; + +import java.io.BufferedReader; +import java.io.FileReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.stream.Collectors; + +public class MyResourceLoader { + + private void loadFileWithReader() throws IOException { + + FileReader fileReader = new FileReader("src/main/resources/input.txt"); + BufferedReader reader = new BufferedReader(fileReader); + String contents = reader.lines() + .collect(Collectors.joining(System.lineSeparator())); + reader.close(); + System.out.println(contents); + + } + + private void loadFileAsResource() throws IOException { + + InputStream inputStream = getClass().getResourceAsStream("/input.txt"); + BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); + String contents = reader.lines() + .collect(Collectors.joining(System.lineSeparator())); + System.out.println(contents); + + } + + public static void main(String[] args) throws IOException { + + MyResourceLoader resourceLoader = new MyResourceLoader(); + + resourceLoader.loadFileWithReader(); + resourceLoader.loadFileAsResource(); + + } + +} diff --git a/core-java-modules/core-java-io2/src/main/resources/input.txt b/core-java-modules/core-java-io2/src/main/resources/input.txt new file mode 100644 index 0000000000..8670fb3460 --- /dev/null +++ b/core-java-modules/core-java-io2/src/main/resources/input.txt @@ -0,0 +1,3 @@ +Lorem ipsum dolor sit amet, consectetur adipiscing elit. +In lacus enim, scelerisque id sapien ut, semper euismod quam. +Nunc ullamcorper semper blandit. \ No newline at end of file diff --git a/core-java-modules/core-java-io2/src/test/resources/.gitignore b/core-java-modules/core-java-io2/src/test/resources/.gitignore new file mode 100644 index 0000000000..83c05e60c8 --- /dev/null +++ b/core-java-modules/core-java-io2/src/test/resources/.gitignore @@ -0,0 +1,13 @@ +*.class + +#folders# +/target +/neoDb* +/data +/src/main/webapp/WEB-INF/classes +*/META-INF/* + +# Packaged files # +*.jar +*.war +*.ear \ No newline at end of file diff --git a/pom.xml b/pom.xml index 3fd1bcf5fb..af5cf4ff03 100644 --- a/pom.xml +++ b/pom.xml @@ -396,6 +396,7 @@ core-java-modules/core-java-concurrency-basic core-java-modules/core-java-concurrency-collections core-java-modules/core-java-io + core-java-modules/core-java-io2 core-java-modules/core-java-nio core-java-modules/core-java-security core-java-modules/core-java-lang-syntax From 4f77aa59cd6acbf3c82f771d73d4c96165f542e3 Mon Sep 17 00:00:00 2001 From: amit2103 Date: Sun, 28 Jul 2019 10:50:15 +0530 Subject: [PATCH 002/316] [BAEL-15393] - Initial commit to change to boot 2 --- spring-mvc-java/pom.xml | 37 +++++++++++-------- .../com/baeldung/SpringMVCApplication.java | 11 ++++++ .../baeldung/spring/web/config/WebConfig.java | 13 ++----- .../src/main/resources/application.properties | 21 +++++++++++ 4 files changed, 57 insertions(+), 25 deletions(-) create mode 100644 spring-mvc-java/src/main/java/com/baeldung/SpringMVCApplication.java create mode 100644 spring-mvc-java/src/main/resources/application.properties diff --git a/spring-mvc-java/pom.xml b/spring-mvc-java/pom.xml index cb16e91bc4..da9bd04d3d 100644 --- a/spring-mvc-java/pom.xml +++ b/spring-mvc-java/pom.xml @@ -8,17 +8,24 @@ war - parent-spring-5 + parent-boot-2 com.baeldung 0.0.1-SNAPSHOT - ../parent-spring-5 + ../parent-boot-2 - org.springframework - spring-webmvc - ${spring.version} + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-tomcat + + + org.springframework.boot + spring-boot-starter-jdbc javax.servlet @@ -106,9 +113,8 @@ 2.4.0 - org.springframework - spring-test - ${spring.version} + org.springframework.boot + spring-boot-starter-test test @@ -134,16 +140,15 @@ 2.8.5 - org.springframework - spring-websocket - ${spring.version} + org.springframework.boot + spring-boot-starter-websocket - - org.springframework - spring-messaging - ${spring.version} - + + + + + org.glassfish javax.el diff --git a/spring-mvc-java/src/main/java/com/baeldung/SpringMVCApplication.java b/spring-mvc-java/src/main/java/com/baeldung/SpringMVCApplication.java new file mode 100644 index 0000000000..ee263aaab2 --- /dev/null +++ b/spring-mvc-java/src/main/java/com/baeldung/SpringMVCApplication.java @@ -0,0 +1,11 @@ +package com.baeldung; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class SpringMVCApplication { + public static void main(String[] args) { + SpringApplication.run(SpringMVCApplication.class, args); + } +} \ No newline at end of file diff --git a/spring-mvc-java/src/main/java/com/baeldung/spring/web/config/WebConfig.java b/spring-mvc-java/src/main/java/com/baeldung/spring/web/config/WebConfig.java index 44fef92917..7aa9d6c5b5 100644 --- a/spring-mvc-java/src/main/java/com/baeldung/spring/web/config/WebConfig.java +++ b/spring-mvc-java/src/main/java/com/baeldung/spring/web/config/WebConfig.java @@ -3,9 +3,6 @@ package com.baeldung.spring.web.config; import java.util.ArrayList; import java.util.List; -import javax.servlet.ServletContext; - -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.MessageSource; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; @@ -26,8 +23,9 @@ import org.springframework.web.servlet.view.InternalResourceViewResolver; import org.springframework.web.servlet.view.JstlView; import org.springframework.web.util.UrlPathHelper; import org.thymeleaf.spring4.SpringTemplateEngine; +import org.thymeleaf.spring4.templateresolver.SpringResourceTemplateResolver; import org.thymeleaf.spring4.view.ThymeleafViewResolver; -import org.thymeleaf.templateresolver.ServletContextTemplateResolver; +import org.thymeleaf.templateresolver.ITemplateResolver; import com.baeldung.excel.ExcelPOIHelper; @@ -35,9 +33,6 @@ import com.baeldung.excel.ExcelPOIHelper; @Configuration @ComponentScan(basePackages = { "com.baeldung.web.controller" }) public class WebConfig implements WebMvcConfigurer { - - @Autowired - private ServletContext ctx; @Override public void addViewControllers(final ViewControllerRegistry registry) { @@ -64,8 +59,8 @@ public class WebConfig implements WebMvcConfigurer { @Bean @Description("Thymeleaf template resolver serving HTML 5") - public ServletContextTemplateResolver templateResolver() { - final ServletContextTemplateResolver templateResolver = new ServletContextTemplateResolver(ctx); + public ITemplateResolver templateResolver() { + final SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver(); templateResolver.setPrefix("/WEB-INF/templates/"); templateResolver.setSuffix(".html"); templateResolver.setTemplateMode("HTML5"); diff --git a/spring-mvc-java/src/main/resources/application.properties b/spring-mvc-java/src/main/resources/application.properties new file mode 100644 index 0000000000..4f618c96a9 --- /dev/null +++ b/spring-mvc-java/src/main/resources/application.properties @@ -0,0 +1,21 @@ +spring.servlet.multipart.max-file-size=10MB +spring.servlet.multipart.max-request-size=10MB +spring.http.multipart.enabled=true +spring.servlet.multipart.location=${java.io.tmpdir} + +logging.level.org.springframework=DEBUG +logging.level.com.baeldung=DEBUG + +#output to a temp_folder/file +logging.file=${java.io.tmpdir}/application.log + +# Logging pattern for the console +logging.pattern.console= %d{yyyy-MM-dd HH:mm:ss} - %msg%n + +# Logging pattern for file +logging.pattern.file= %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg% +spring.http.encoding.charset=UTF-8 +# Enable http encoding support. +spring.http.encoding.enabled=true +# Force the encoding to the configured charset on HTTP requests and responses. +spring.http.encoding.force=true \ No newline at end of file From 07cd60e8438f247c37d449f009f3168a4b9bddce Mon Sep 17 00:00:00 2001 From: Nikunj Gandhi Date: Tue, 30 Jul 2019 16:44:46 -0400 Subject: [PATCH 003/316] Selection sort implementation --- .../selectionsort/SelectionSort.java | 72 +++++++++++++++++++ .../selectionsort/SelectionSortUnitTest.java | 25 +++++++ 2 files changed, 97 insertions(+) create mode 100644 algorithms-sorting/src/main/java/com/baeldung/algorithms/selectionsort/SelectionSort.java create mode 100644 algorithms-sorting/src/test/java/com/baeldung/algorithms/selectionsort/SelectionSortUnitTest.java diff --git a/algorithms-sorting/src/main/java/com/baeldung/algorithms/selectionsort/SelectionSort.java b/algorithms-sorting/src/main/java/com/baeldung/algorithms/selectionsort/SelectionSort.java new file mode 100644 index 0000000000..1b160a492d --- /dev/null +++ b/algorithms-sorting/src/main/java/com/baeldung/algorithms/selectionsort/SelectionSort.java @@ -0,0 +1,72 @@ +package com.baeldung.algorithms.selectionsort; + +import java.util.stream.Collectors; +import java.util.stream.IntStream; + +public class SelectionSort { + + /*public static void main(final String args[]) { + int[] a = { 5, 4, 1, 6, 2 }; + + System.out.println("Unsorted array"); + System.out.println(IntStream.of(a) + .mapToObj(String::valueOf) + .collect(Collectors.joining(","))); + + a = sortAscending(a); + System.out.println("Ascending Sorted array"); + System.out.println(IntStream.of(a) + .mapToObj(String::valueOf) + .collect(Collectors.joining(","))); + + a = sortDescending(a); + System.out.println("Descending Sorted array"); + System.out.println(IntStream.of(a) + .mapToObj(String::valueOf) + .collect(Collectors.joining(","))); + }*/ + + public static void sortAscending(final int[] arr) { + for (int i = 0; i < arr.length - 1; i++) { + int minElementIndex = i; + for (int j = i + 1; j < arr.length; j++) { + if (arr[minElementIndex] > arr[j]) { + minElementIndex = j; + } + } + + if (minElementIndex != i) { + int temp = arr[i]; + arr[i] = arr[minElementIndex]; + arr[minElementIndex] = temp; + } + System.out.println("Iteration No. " + (i + 1)); + System.out.println(IntStream.of(arr) + .mapToObj(String::valueOf) + .collect(Collectors.joining(","))); + + } + } + + public static void sortDescending(final int[] arr) { + for (int i = 0; i < arr.length - 1; i++) { + int maxElementIndex = i; + for (int j = i + 1; j < arr.length; j++) { + if (arr[maxElementIndex] < arr[j]) { + maxElementIndex = j; + } + } + + if (maxElementIndex != i) { + int temp = arr[i]; + arr[i] = arr[maxElementIndex]; + arr[maxElementIndex] = temp; + } + System.out.println("Iteration No. " + (i + 1)); + System.out.println(IntStream.of(arr) + .mapToObj(String::valueOf) + .collect(Collectors.joining(","))); + + } + } +} \ No newline at end of file diff --git a/algorithms-sorting/src/test/java/com/baeldung/algorithms/selectionsort/SelectionSortUnitTest.java b/algorithms-sorting/src/test/java/com/baeldung/algorithms/selectionsort/SelectionSortUnitTest.java new file mode 100644 index 0000000000..85efd1d3da --- /dev/null +++ b/algorithms-sorting/src/test/java/com/baeldung/algorithms/selectionsort/SelectionSortUnitTest.java @@ -0,0 +1,25 @@ +package com.baeldung.algorithms.selectionsort; + +import static org.junit.Assert.*; +import static org.junit.Assert.assertArrayEquals; + +import org.junit.Test; + +public class SelectionSortUnitTest { + + @Test + public void givenUnsortedArray_whenSelectionSort_SortAscending_thenSortedAsc() { + int[] input = { 5, 4, 1, 6, 2 }; + SelectionSort.sortAscending(input); + int[] expected = {1, 2, 4, 5, 6}; + assertArrayEquals("the two arrays are not equal", expected, input); + } + + @Test + public void givenUnsortedArray_whenSelectionSort_SortDescending_thenSortedDesc() { + int[] input = { 5, 4, 1, 6, 2 }; + SelectionSort.sortDescending(input); + int[] expected = {6, 5, 4, 2, 1}; + assertArrayEquals("the two arrays are not equal", expected, input); + } +} From 01cd19d427b08bd26c27c4e0687e1d842f6a1b59 Mon Sep 17 00:00:00 2001 From: Nikunj Gandhi Date: Tue, 30 Jul 2019 16:46:22 -0400 Subject: [PATCH 004/316] Selection sort implementation --- .../selectionsort/SelectionSort.java | 34 ------------------- 1 file changed, 34 deletions(-) diff --git a/algorithms-sorting/src/main/java/com/baeldung/algorithms/selectionsort/SelectionSort.java b/algorithms-sorting/src/main/java/com/baeldung/algorithms/selectionsort/SelectionSort.java index 1b160a492d..17e95edf06 100644 --- a/algorithms-sorting/src/main/java/com/baeldung/algorithms/selectionsort/SelectionSort.java +++ b/algorithms-sorting/src/main/java/com/baeldung/algorithms/selectionsort/SelectionSort.java @@ -1,31 +1,7 @@ package com.baeldung.algorithms.selectionsort; -import java.util.stream.Collectors; -import java.util.stream.IntStream; - public class SelectionSort { - /*public static void main(final String args[]) { - int[] a = { 5, 4, 1, 6, 2 }; - - System.out.println("Unsorted array"); - System.out.println(IntStream.of(a) - .mapToObj(String::valueOf) - .collect(Collectors.joining(","))); - - a = sortAscending(a); - System.out.println("Ascending Sorted array"); - System.out.println(IntStream.of(a) - .mapToObj(String::valueOf) - .collect(Collectors.joining(","))); - - a = sortDescending(a); - System.out.println("Descending Sorted array"); - System.out.println(IntStream.of(a) - .mapToObj(String::valueOf) - .collect(Collectors.joining(","))); - }*/ - public static void sortAscending(final int[] arr) { for (int i = 0; i < arr.length - 1; i++) { int minElementIndex = i; @@ -40,11 +16,6 @@ public class SelectionSort { arr[i] = arr[minElementIndex]; arr[minElementIndex] = temp; } - System.out.println("Iteration No. " + (i + 1)); - System.out.println(IntStream.of(arr) - .mapToObj(String::valueOf) - .collect(Collectors.joining(","))); - } } @@ -62,11 +33,6 @@ public class SelectionSort { arr[i] = arr[maxElementIndex]; arr[maxElementIndex] = temp; } - System.out.println("Iteration No. " + (i + 1)); - System.out.println(IntStream.of(arr) - .mapToObj(String::valueOf) - .collect(Collectors.joining(","))); - } } } \ No newline at end of file From 13da8b8cee14838b28593e55a1878f806ce83c1a Mon Sep 17 00:00:00 2001 From: dupirefr Date: Fri, 2 Aug 2019 08:07:39 +0200 Subject: [PATCH 005/316] [BAEL-3117] XOR implementations --- .../baeldung/java/booleanoperators/Car.java | 20 ++++++ .../java/booleanoperators/XorUnitTest.java | 64 +++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 core-java-modules/core-java/src/main/java/com/baeldung/java/booleanoperators/Car.java create mode 100644 core-java-modules/core-java/src/test/java/com/baeldung/java/booleanoperators/XorUnitTest.java diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/java/booleanoperators/Car.java b/core-java-modules/core-java/src/main/java/com/baeldung/java/booleanoperators/Car.java new file mode 100644 index 0000000000..8043b6dd93 --- /dev/null +++ b/core-java-modules/core-java/src/main/java/com/baeldung/java/booleanoperators/Car.java @@ -0,0 +1,20 @@ +package com.baeldung.java.booleanoperators; + +public class Car { + + private boolean diesel; + private boolean manual; + + public Car(boolean diesel, boolean manual) { + this.diesel = diesel; + this.manual = manual; + } + + public boolean isDiesel() { + return diesel; + } + + public boolean isManual() { + return manual; + } +} diff --git a/core-java-modules/core-java/src/test/java/com/baeldung/java/booleanoperators/XorUnitTest.java b/core-java-modules/core-java/src/test/java/com/baeldung/java/booleanoperators/XorUnitTest.java new file mode 100644 index 0000000000..0654d07f4f --- /dev/null +++ b/core-java-modules/core-java/src/test/java/com/baeldung/java/booleanoperators/XorUnitTest.java @@ -0,0 +1,64 @@ +package com.baeldung.java.booleanoperators; + +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +class XorUnitTest { + + @Test + void givenDieselManualCar_whenXorOldSchool_ThenFalse() { + Car car = new Car(true, true); + boolean dieselXorManual = (car.isDiesel() && !car.isManual()) || (!car.isDiesel() && car.isManual()); + assertThat(dieselXorManual).isFalse(); + } + + @Test + void givenDieselAutomaticCar_whenXorOldSchool_ThenTrue() { + Car car = new Car(true, false); + boolean dieselXorManual = (car.isDiesel() && !car.isManual()) || (!car.isDiesel() && car.isManual()); + assertThat(dieselXorManual).isTrue(); + } + + @Test + void givenNonDieselManualCar_whenXorOldSchool_ThenTrue() { + Car car = new Car(false, true); + boolean dieselXorManual = (car.isDiesel() && !car.isManual()) || (!car.isDiesel() && car.isManual()); + assertThat(dieselXorManual).isTrue(); + } + + @Test + void givenNonDieselAutomaticCar_whenXorOldSchool_ThenFalse() { + Car car = new Car(false, false); + boolean dieselXorManual = (car.isDiesel() && !car.isManual()) || (!car.isDiesel() && car.isManual()); + assertThat(dieselXorManual).isFalse(); + } + + @Test + void givenDieselManualCar_whenXor_ThenFalse() { + Car car = new Car(true, true); + boolean dieselXorManual = car.isDiesel() ^ car.isManual(); + assertThat(dieselXorManual).isFalse(); + } + + @Test + void givenDieselAutomaticCar_whenXor_ThenTrue() { + Car car = new Car(true, false); + boolean dieselXorManual = car.isDiesel() ^ car.isManual(); + assertThat(dieselXorManual).isTrue(); + } + + @Test + void givenNonDieselManualCar_whenXor_ThenTrue() { + Car car = new Car(false, true); + boolean dieselXorManual = car.isDiesel() ^ car.isManual(); + assertThat(dieselXorManual).isTrue(); + } + + @Test + void givenNonDieselAutomaticCar_whenXor_ThenFalse() { + Car car = new Car(false, false); + boolean dieselXorManual = car.isDiesel() ^ car.isManual(); + assertThat(dieselXorManual).isFalse(); + } +} From af38c30c0007583aa39420d69ba04e340c8d31de Mon Sep 17 00:00:00 2001 From: "m.raheem" Date: Sat, 3 Aug 2019 22:48:29 +0200 Subject: [PATCH 006/316] init --- .../core-java-lang-oop-2/pom.xml | 13 ++++++ .../com/baeldung/accessmodifiers/Student.java | 41 +++++++++++++++++++ .../PublicAccessModifierTest.java | 36 ++++++++++++++++ 3 files changed, 90 insertions(+) create mode 100644 core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/Student.java create mode 100644 core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierTest.java diff --git a/core-java-modules/core-java-lang-oop-2/pom.xml b/core-java-modules/core-java-lang-oop-2/pom.xml index 669a37b0f5..b7bd72372b 100644 --- a/core-java-modules/core-java-lang-oop-2/pom.xml +++ b/core-java-modules/core-java-lang-oop-2/pom.xml @@ -14,6 +14,19 @@ ../../parent-java + + + com.h2database + h2 + ${h2.version} + test + + + + + 1.4.199 + + core-java-lang-oop-2 diff --git a/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/Student.java b/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/Student.java new file mode 100644 index 0000000000..8fc6da80fa --- /dev/null +++ b/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/Student.java @@ -0,0 +1,41 @@ +package com.baeldung.accessmodifiers; + +import java.math.BigDecimal; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; + +public class Student { + + private BigDecimal grades; //new representation + private String name; + private int age; + + public int getGrades() { + return grades.intValue(); //Backward compatibility + } + + public Connection getConnection() throws SQLException { + + final String URL = "jdbc:h2:~/test"; + return DriverManager.getConnection(URL, "sa", ""); + + } + + public BigDecimal bigDecimalGrades() { + return grades; + } + + public void setAge(int age) { + if (age < 0 || age > 150) + throw new IllegalArgumentException(); + + this.age = age; + } + + @Override + public String toString() { + return this.name; + } + +} diff --git a/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierTest.java b/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierTest.java new file mode 100644 index 0000000000..79b31cdae5 --- /dev/null +++ b/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierTest.java @@ -0,0 +1,36 @@ +package com.baeldung.accessmodifiers; + +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInstance; +import org.junit.jupiter.api.TestInstance.Lifecycle; +import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import java.math.BigDecimal; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; + +@TestInstance(Lifecycle.PER_CLASS) +public class PublicAccessModifierTest { + + @Test + public void whenUsingIntValue_valuesAreEqual() { + + assertEquals(0, new BigDecimal(0).intValue()); + } + + @Test + public void whenUsingToLowerCase_valuesAreEqual() { + + assertEquals("alex", "ALEX".toLowerCase()); + } + + @Test + public void whenConnectingToH2_connectionInstanceIsReturned() throws SQLException { + + final String URL = "jdbc:h2:~/test"; + Connection conn = DriverManager.getConnection(URL, "sa", ""); + assertNotNull(conn); + } + +} From d5fd9a0d9a06b914d91cae0728b7f01e0c2a11bc Mon Sep 17 00:00:00 2001 From: "m.raheem" Date: Sat, 3 Aug 2019 23:14:17 +0200 Subject: [PATCH 007/316] correcting unit test class name --- ...ccessModifierTest.java => PublicAccessModifierUnitTest.java} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/{PublicAccessModifierTest.java => PublicAccessModifierUnitTest.java} (95%) diff --git a/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierTest.java b/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierUnitTest.java similarity index 95% rename from core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierTest.java rename to core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierUnitTest.java index 79b31cdae5..02cd816515 100644 --- a/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierTest.java +++ b/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierUnitTest.java @@ -11,7 +11,7 @@ import java.sql.DriverManager; import java.sql.SQLException; @TestInstance(Lifecycle.PER_CLASS) -public class PublicAccessModifierTest { +public class PublicAccessModifierUnitTest { @Test public void whenUsingIntValue_valuesAreEqual() { From b01bd36786e5f78c7ade055b556a84731a19505e Mon Sep 17 00:00:00 2001 From: Andrew Shcherbakov Date: Sun, 4 Aug 2019 16:03:12 +0200 Subject: [PATCH 008/316] Add a code on logistic regression article (BAEL-3081) --- ml/README.md | 5 + ml/pom.xml | 52 ++++++ .../com/baeldung/logreg/DataUtilities.java | 102 +++++++++++ .../com/baeldung/logreg/MnistClassifier.java | 166 ++++++++++++++++++ .../com/baeldung/logreg/MnistPrediction.java | 53 ++++++ ml/src/main/resources/logback.xml | 13 ++ pom.xml | 2 + 7 files changed, 393 insertions(+) create mode 100644 ml/README.md create mode 100644 ml/pom.xml create mode 100644 ml/src/main/java/com/baeldung/logreg/DataUtilities.java create mode 100644 ml/src/main/java/com/baeldung/logreg/MnistClassifier.java create mode 100644 ml/src/main/java/com/baeldung/logreg/MnistPrediction.java create mode 100644 ml/src/main/resources/logback.xml diff --git a/ml/README.md b/ml/README.md new file mode 100644 index 0000000000..14e585cd97 --- /dev/null +++ b/ml/README.md @@ -0,0 +1,5 @@ +### Sample deeplearning4j Project +This is a sample project for the [deeplearning4j](https://deeplearning4j.org) library. + +### Relevant Articles: +- [A Guide to Deeplearning4j](http://www.baeldung.com/deeplearning4j) diff --git a/ml/pom.xml b/ml/pom.xml new file mode 100644 index 0000000000..80afcc24f4 --- /dev/null +++ b/ml/pom.xml @@ -0,0 +1,52 @@ + + 4.0.0 + com.baeldung.deeplearning4j + ml + 1.0-SNAPSHOT + Machine Learning + jar + + + com.baeldung + parent-modules + 1.0.0-SNAPSHOT + + + + + org.nd4j + nd4j-native-platform + ${dl4j.version} + + + org.deeplearning4j + deeplearning4j-core + ${dl4j.version} + + + org.deeplearning4j + deeplearning4j-nn + ${dl4j.version} + + + + org.datavec + datavec-api + ${dl4j.version} + + + org.apache.httpcomponents + httpclient + 4.3.5 + + + + + + + 1.0.0-beta4 + + + \ No newline at end of file diff --git a/ml/src/main/java/com/baeldung/logreg/DataUtilities.java b/ml/src/main/java/com/baeldung/logreg/DataUtilities.java new file mode 100644 index 0000000000..2f18d30219 --- /dev/null +++ b/ml/src/main/java/com/baeldung/logreg/DataUtilities.java @@ -0,0 +1,102 @@ +/******************************************************************************* + * Copyright (c) 2015-2019 Skymind, Inc. + * + * This program and the accompanying materials are made available under the + * terms of the Apache License, Version 2.0 which is available 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. + * + * SPDX-License-Identifier: Apache-2.0 + ******************************************************************************/ + +package com.baeldung.logreg; + +import org.apache.commons.compress.archivers.tar.TarArchiveEntry; +import org.apache.commons.compress.archivers.tar.TarArchiveInputStream; +import org.apache.commons.compress.compressors.gzip.GzipCompressorInputStream; +import org.apache.http.HttpEntity; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClientBuilder; + +import java.io.*; + +/** + * Common data utility functions. + * + * @author fvaleri + */ +public class DataUtilities { + + /** + * Download a remote file if it doesn't exist. + * @param remoteUrl URL of the remote file. + * @param localPath Where to download the file. + * @return True if and only if the file has been downloaded. + * @throws Exception IO error. + */ + public static boolean downloadFile(String remoteUrl, String localPath) throws IOException { + boolean downloaded = false; + if (remoteUrl == null || localPath == null) + return downloaded; + File file = new File(localPath); + if (!file.exists()) { + file.getParentFile().mkdirs(); + HttpClientBuilder builder = HttpClientBuilder.create(); + CloseableHttpClient client = builder.build(); + try (CloseableHttpResponse response = client.execute(new HttpGet(remoteUrl))) { + HttpEntity entity = response.getEntity(); + if (entity != null) { + try (FileOutputStream outstream = new FileOutputStream(file)) { + entity.writeTo(outstream); + outstream.flush(); + outstream.close(); + } + } + } + downloaded = true; + } + if (!file.exists()) + throw new IOException("File doesn't exist: " + localPath); + return downloaded; + } + + /** + * Extract a "tar.gz" file into a local folder. + * @param inputPath Input file path. + * @param outputPath Output directory path. + * @throws IOException IO error. + */ + public static void extractTarGz(String inputPath, String outputPath) throws IOException { + if (inputPath == null || outputPath == null) + return; + final int bufferSize = 4096; + if (!outputPath.endsWith("" + File.separatorChar)) + outputPath = outputPath + File.separatorChar; + try (TarArchiveInputStream tais = new TarArchiveInputStream( + new GzipCompressorInputStream(new BufferedInputStream(new FileInputStream(inputPath))))) { + TarArchiveEntry entry; + while ((entry = (TarArchiveEntry) tais.getNextEntry()) != null) { + if (entry.isDirectory()) { + new File(outputPath + entry.getName()).mkdirs(); + } else { + int count; + byte data[] = new byte[bufferSize]; + FileOutputStream fos = new FileOutputStream(outputPath + entry.getName()); + BufferedOutputStream dest = new BufferedOutputStream(fos, bufferSize); + while ((count = tais.read(data, 0, bufferSize)) != -1) { + dest.write(data, 0, count); + } + dest.close(); + } + } + } + } + +} diff --git a/ml/src/main/java/com/baeldung/logreg/MnistClassifier.java b/ml/src/main/java/com/baeldung/logreg/MnistClassifier.java new file mode 100644 index 0000000000..395307712d --- /dev/null +++ b/ml/src/main/java/com/baeldung/logreg/MnistClassifier.java @@ -0,0 +1,166 @@ +package com.baeldung.logreg; + +import java.io.File; +import java.util.HashMap; +import java.util.Map; +import java.util.Random; + +import org.datavec.api.io.labels.ParentPathLabelGenerator; +import org.datavec.api.split.FileSplit; +import org.datavec.image.loader.NativeImageLoader; +import org.datavec.image.recordreader.ImageRecordReader; +import org.deeplearning4j.datasets.datavec.RecordReaderDataSetIterator; +import org.deeplearning4j.nn.conf.MultiLayerConfiguration; +import org.deeplearning4j.nn.conf.NeuralNetConfiguration; +import org.deeplearning4j.nn.conf.inputs.InputType; +import org.deeplearning4j.nn.conf.layers.ConvolutionLayer; +import org.deeplearning4j.nn.conf.layers.DenseLayer; +import org.deeplearning4j.nn.conf.layers.OutputLayer; +import org.deeplearning4j.nn.conf.layers.SubsamplingLayer; +import org.deeplearning4j.nn.multilayer.MultiLayerNetwork; +import org.deeplearning4j.nn.weights.WeightInit; +import org.deeplearning4j.optimize.listeners.ScoreIterationListener; +import org.deeplearning4j.util.ModelSerializer; +import org.nd4j.evaluation.classification.Evaluation; +import org.nd4j.linalg.activations.Activation; +import org.nd4j.linalg.dataset.api.iterator.DataSetIterator; +import org.nd4j.linalg.dataset.api.preprocessor.DataNormalization; +import org.nd4j.linalg.dataset.api.preprocessor.ImagePreProcessingScaler; +import org.nd4j.linalg.learning.config.Nesterovs; +import org.nd4j.linalg.lossfunctions.LossFunctions; +import org.nd4j.linalg.schedule.MapSchedule; +import org.nd4j.linalg.schedule.ScheduleType; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Handwritten digit image classification based on LeNet-5 architecture by Yann LeCun. + * + * This code accompanies the article "Logistic regression in Java" and is heavily based on + * MnistClassifier. + * Some minor changes have been made in order to make article's flow smoother. + * + */ + +public class MnistClassifier { + private static final Logger logger = LoggerFactory.getLogger(MnistClassifier.class); + private static final String basePath = System.getProperty("java.io.tmpdir") + "mnist" + File.separator; + private static final File modelPath = new File(basePath + "mnist-model.zip"); + private static final String dataUrl = "http://github.com/myleott/mnist_png/raw/master/mnist_png.tar.gz"; + + public static void main(String[] args) throws Exception { + // input image sizes in pixels + int height = 28; + int width = 28; + // input image colour depth (1 for gray scale images) + int channels = 1; + // the number of output classes + int outputClasses = 10; + // number of samples that will be propagated through the network in each iteration + int batchSize = 54; + // total number of training epochs + int epochs = 1; + + // initialize a pseudorandom number generator + int seed = 1234; + Random randNumGen = new Random(seed); + + final String path = basePath + "mnist_png" + File.separator; + if (!new File(path).exists()) { + logger.debug("Downloading data {}", dataUrl); + String localFilePath = basePath + "mnist_png.tar.gz"; + logger.info("local file: {}", localFilePath); + if (DataUtilities.downloadFile(dataUrl, localFilePath)) { + DataUtilities.extractTarGz(localFilePath, basePath); + } + } else { + logger.info("local file exists {}", path); + + } + + logger.info("Vectorizing data..."); + // vectorization of train data + File trainData = new File(path + "training"); + FileSplit trainSplit = new FileSplit(trainData, NativeImageLoader.ALLOWED_FORMATS, randNumGen); + // use parent directory name as the image label + ParentPathLabelGenerator labelMaker = new ParentPathLabelGenerator(); + ImageRecordReader trainRR = new ImageRecordReader(height, width, channels, labelMaker); + trainRR.initialize(trainSplit); + DataSetIterator train = new RecordReaderDataSetIterator(trainRR, batchSize, 1, outputClasses); + + // pixel values from 0-255 to 0-1 (min-max scaling) + DataNormalization imageScaler = new ImagePreProcessingScaler(); + imageScaler.fit(train); + train.setPreProcessor(imageScaler); + + // vectorization of test data + File testData = new File(path + "testing"); + FileSplit testSplit = new FileSplit(testData, NativeImageLoader.ALLOWED_FORMATS, randNumGen); + ImageRecordReader testRR = new ImageRecordReader(height, width, channels, labelMaker); + testRR.initialize(testSplit); + DataSetIterator test = new RecordReaderDataSetIterator(testRR, batchSize, 1, outputClasses); + // same normalization for better results + test.setPreProcessor(imageScaler); + + logger.info("Network configuration and training..."); + // reduce the learning rate as the number of training epochs increases + // iteration #, learning rate + Map learningRateSchedule = new HashMap<>(); + learningRateSchedule.put(0, 0.06); + learningRateSchedule.put(200, 0.05); + learningRateSchedule.put(600, 0.028); + learningRateSchedule.put(800, 0.0060); + learningRateSchedule.put(1000, 0.001); + + final ConvolutionLayer layer1 = new ConvolutionLayer.Builder(5, 5).nIn(channels) + .stride(1, 1) + .nOut(20) + .activation(Activation.IDENTITY) + .build(); + final SubsamplingLayer layer2 = new SubsamplingLayer.Builder(SubsamplingLayer.PoolingType.MAX).kernelSize(2, 2) + .stride(2, 2) + .build(); + // nIn need not specified in later layers + final ConvolutionLayer layer3 = new ConvolutionLayer.Builder(5, 5).stride(1, 1) + .nOut(50) + .activation(Activation.IDENTITY) + .build(); + final DenseLayer layer4 = new DenseLayer.Builder().activation(Activation.RELU) + .nOut(500) + .build(); + final OutputLayer layer5 = new OutputLayer.Builder(LossFunctions.LossFunction.NEGATIVELOGLIKELIHOOD).nOut(outputClasses) + .activation(Activation.SOFTMAX) + .build(); + final MultiLayerConfiguration config = new NeuralNetConfiguration.Builder().seed(seed) + .l2(0.0005) // ridge regression value + .updater(new Nesterovs(new MapSchedule(ScheduleType.ITERATION, learningRateSchedule))) + .weightInit(WeightInit.XAVIER) + .list() + .layer(layer1) + .layer(layer2) + .layer(layer3) + .layer(layer2) + .layer(layer4) + .layer(layer5) + .setInputType(InputType.convolutionalFlat(height, width, channels)) + .build(); + + final MultiLayerNetwork model = new MultiLayerNetwork(config); + model.init(); + model.setListeners(new ScoreIterationListener(100)); + logger.info("Total num of params: {}", model.numParams()); + + // evaluation while training (the score should go down) + for (int i = 0; i < epochs; i++) { + model.fit(train); + logger.info("Completed epoch {}", i); + train.reset(); + test.reset(); + } + Evaluation eval = model.evaluate(test); + logger.info(eval.stats()); + + ModelSerializer.writeModel(model, modelPath, true); + logger.info("The MINIST model has been saved in {}", modelPath.getPath()); + } +} \ No newline at end of file diff --git a/ml/src/main/java/com/baeldung/logreg/MnistPrediction.java b/ml/src/main/java/com/baeldung/logreg/MnistPrediction.java new file mode 100644 index 0000000000..5ec1348e07 --- /dev/null +++ b/ml/src/main/java/com/baeldung/logreg/MnistPrediction.java @@ -0,0 +1,53 @@ +package com.baeldung.logreg; + +import java.io.File; +import java.io.IOException; + +import javax.swing.JFileChooser; + +import org.datavec.image.loader.NativeImageLoader; +import org.deeplearning4j.nn.multilayer.MultiLayerNetwork; +import org.deeplearning4j.util.ModelSerializer; +import org.nd4j.linalg.api.ndarray.INDArray; +import org.nd4j.linalg.dataset.api.preprocessor.ImagePreProcessingScaler; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class MnistPrediction { + private static final Logger logger = LoggerFactory.getLogger(MnistPrediction.class); + private static final File modelPath = new File(System.getProperty("java.io.tmpdir") + "mnist" + File.separator + "mnist-model.zip"); + private static final int height = 28; + private static final int width = 28; + private static final int channels = 1; + + /** + * Opens a popup that allows to select a file from the filesystem. + * @return + */ + public static String fileChose() { + JFileChooser fc = new JFileChooser(); + int ret = fc.showOpenDialog(null); + if (ret == JFileChooser.APPROVE_OPTION) { + File file = fc.getSelectedFile(); + return file.getAbsolutePath(); + } else { + return null; + } + } + + public static void main(String[] args) throws IOException { + String path = fileChose().toString(); + MultiLayerNetwork model = ModelSerializer.restoreMultiLayerNetwork(modelPath); + File file = new File(path); + + INDArray image = new NativeImageLoader(height, width, channels).asMatrix(file); + new ImagePreProcessingScaler(0, 1).transform(image); + + // Pass through to neural Net + INDArray output = model.output(image); + + logger.info("File: {}", path); + logger.info(output.toString()); + } + +} diff --git a/ml/src/main/resources/logback.xml b/ml/src/main/resources/logback.xml new file mode 100644 index 0000000000..7d900d8ea8 --- /dev/null +++ b/ml/src/main/resources/logback.xml @@ -0,0 +1,13 @@ + + + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + + + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 352da33fee..7e9ce85b50 100644 --- a/pom.xml +++ b/pom.xml @@ -524,6 +524,7 @@ metrics microprofile + ml msf4j mustache @@ -1216,6 +1217,7 @@ metrics microprofile + ml msf4j mustache From 0527d816ccebe352c858c329178517c6d9519649 Mon Sep 17 00:00:00 2001 From: Andrew Shcherbakov Date: Sun, 4 Aug 2019 16:09:01 +0200 Subject: [PATCH 009/316] Update Readme file --- ml/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ml/README.md b/ml/README.md index 14e585cd97..f4712a94da 100644 --- a/ml/README.md +++ b/ml/README.md @@ -1,5 +1,5 @@ -### Sample deeplearning4j Project -This is a sample project for the [deeplearning4j](https://deeplearning4j.org) library. +### Logistic Regression in Java +This is a soft introduction to ML using [deeplearning4j](https://deeplearning4j.org) library ### Relevant Articles: -- [A Guide to Deeplearning4j](http://www.baeldung.com/deeplearning4j) +- [Logistic Regression in Java](http://www.baeldung.com/) From 65e0cdd9dd7f6df8cfba80392c60a8aad48caf02 Mon Sep 17 00:00:00 2001 From: Alex Tighe Date: Mon, 5 Aug 2019 22:53:17 -0400 Subject: [PATCH 010/316] Committing review changes - change to try-with-resources - change the order of main method --- core-java-modules/core-java-io2/README.md | 6 - core-java-modules/core-java-io2/pom.xml | 246 +++++++++--------- .../baeldung/resource/MyResourceLoader.java | 24 +- 3 files changed, 132 insertions(+), 144 deletions(-) delete mode 100644 core-java-modules/core-java-io2/README.md diff --git a/core-java-modules/core-java-io2/README.md b/core-java-modules/core-java-io2/README.md deleted file mode 100644 index d4b417e30e..0000000000 --- a/core-java-modules/core-java-io2/README.md +++ /dev/null @@ -1,6 +0,0 @@ -========= - -## Core Java IO Cookbooks and Examples - -### Relevant Articles: -- [Reading Files Versus Loading Resources](http://www.baeldung.com/reading-files-versus-loading-resources) \ No newline at end of file diff --git a/core-java-modules/core-java-io2/pom.xml b/core-java-modules/core-java-io2/pom.xml index 8ac7b2975f..922403edab 100644 --- a/core-java-modules/core-java-io2/pom.xml +++ b/core-java-modules/core-java-io2/pom.xml @@ -1,143 +1,139 @@ - 4.0.0 - core-java-io2 - 0.1.0-SNAPSHOT - core-java-io2 - jar + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 + core-java-io2 + 0.1.0-SNAPSHOT + core-java-io2 + jar - - com.baeldung - parent-java - 0.0.1-SNAPSHOT - ../../parent-java - + + com.baeldung + parent-java + 0.0.1-SNAPSHOT + ../../parent-java + - - - org.apache.commons - commons-collections4 - ${commons-collections4.version} - + + + org.apache.commons + commons-collections4 + ${commons-collections4.version} + - - commons-io - commons-io - 2.6 - + + commons-io + commons-io + 2.6 + - - org.projectlombok - lombok - ${lombok.version} - provided - + + org.projectlombok + lombok + ${lombok.version} + provided + - - log4j - log4j - ${log4j.version} - + + log4j + log4j + ${log4j.version} + - - org.slf4j - log4j-over-slf4j - ${org.slf4j.version} - + + org.slf4j + log4j-over-slf4j + ${org.slf4j.version} + - + + + core-java-io2 + + + src/main/resources + true + + + + + org.codehaus.mojo + exec-maven-plugin + ${exec-maven-plugin.version} + + java + com.baeldung.outofmemoryerror.OutOfMemoryGCLimitExceed + + -Xmx300m + -XX:+UseParallelGC + -classpath + + com.baeldung.outofmemoryerror.OutOfMemoryGCLimitExceed + + + + + + org.apache.maven.plugins + maven-jar-plugin + ${maven-jar-plugin.version} + + + + true + com.baeldung.resource.MyResourceLoader + + + + + + + + + integration + + + + org.codehaus.mojo + exec-maven-plugin + + + run-benchmarks + + none + + exec + + + test + java + + -classpath + + org.openjdk.jmh.Main + .* + + + + + + + + + - - core-java-io2 - - - src/main/resources - true - - - - - org.codehaus.mojo - exec-maven-plugin - ${exec-maven-plugin.version} - - java - com.baeldung.outofmemoryerror.OutOfMemoryGCLimitExceed - - -Xmx300m - -XX:+UseParallelGC - -classpath - - com.baeldung.outofmemoryerror.OutOfMemoryGCLimitExceed - - - + - - - org.apache.maven.plugins - maven-jar-plugin - ${maven-jar-plugin.version} - - - - true - com.baeldung.resource.MyResourceLoader - - - - - - + + 4.1 - - - integration - - - - org.codehaus.mojo - exec-maven-plugin + + 3.1.0 - - - run-benchmarks - - none - - exec - - - test - java - - -classpath - - org.openjdk.jmh.Main - .* - - - - - - - - - - - - - - 4.1 - - - 3.1.0 - - + \ No newline at end of file diff --git a/core-java-modules/core-java-io2/src/main/java/com/baeldung/resource/MyResourceLoader.java b/core-java-modules/core-java-io2/src/main/java/com/baeldung/resource/MyResourceLoader.java index 1c5b52e18b..6cb201b173 100644 --- a/core-java-modules/core-java-io2/src/main/java/com/baeldung/resource/MyResourceLoader.java +++ b/core-java-modules/core-java-io2/src/main/java/com/baeldung/resource/MyResourceLoader.java @@ -11,31 +11,29 @@ public class MyResourceLoader { private void loadFileWithReader() throws IOException { - FileReader fileReader = new FileReader("src/main/resources/input.txt"); - BufferedReader reader = new BufferedReader(fileReader); - String contents = reader.lines() - .collect(Collectors.joining(System.lineSeparator())); - reader.close(); - System.out.println(contents); + try (FileReader fileReader = new FileReader("src/main/resources/input.txt"); BufferedReader reader = new BufferedReader(fileReader)) { + String contents = reader.lines() + .collect(Collectors.joining(System.lineSeparator())); + System.out.println(contents); + } } private void loadFileAsResource() throws IOException { - InputStream inputStream = getClass().getResourceAsStream("/input.txt"); - BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); - String contents = reader.lines() - .collect(Collectors.joining(System.lineSeparator())); - System.out.println(contents); - + try (InputStream inputStream = getClass().getResourceAsStream("/input.txt"); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) { + String contents = reader.lines() + .collect(Collectors.joining(System.lineSeparator())); + System.out.println(contents); + } } public static void main(String[] args) throws IOException { MyResourceLoader resourceLoader = new MyResourceLoader(); - resourceLoader.loadFileWithReader(); resourceLoader.loadFileAsResource(); + resourceLoader.loadFileWithReader(); } From 5a1a468c781b24047d0e9b6b208af35bb43323c0 Mon Sep 17 00:00:00 2001 From: "m.raheem" Date: Tue, 6 Aug 2019 18:34:33 +0200 Subject: [PATCH 011/316] review modifications --- .../publicmodifier/ListOfThree.java | 31 ++++++++++ .../{ => publicmodifier}/Student.java | 16 ++--- .../PublicAccessModifierUnitTest.java | 58 ++++++++++++++++--- 3 files changed, 89 insertions(+), 16 deletions(-) create mode 100644 core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/publicmodifier/ListOfThree.java rename core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/{ => publicmodifier}/Student.java (71%) diff --git a/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/publicmodifier/ListOfThree.java b/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/publicmodifier/ListOfThree.java new file mode 100644 index 0000000000..54e2c35d22 --- /dev/null +++ b/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/publicmodifier/ListOfThree.java @@ -0,0 +1,31 @@ +package com.baeldung.accessmodifiers.publicmodifier; + +import java.util.AbstractList; + +public class ListOfThree extends AbstractList { + + private static final int MAX_LENGTH = 3; + private int size; + private Object[] elements = new Object[MAX_LENGTH]; + + @Override + @SuppressWarnings("unchecked") + public E get(int index) { + return (E)elements[index]; + } + + @Override + public boolean add(E e) { + + elements[size] = e; + size++; + + return true; + } + + @Override + public int size() { + return size; + } + +} diff --git a/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/Student.java b/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/publicmodifier/Student.java similarity index 71% rename from core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/Student.java rename to core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/publicmodifier/Student.java index 8fc6da80fa..50784c6e54 100644 --- a/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/Student.java +++ b/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/publicmodifier/Student.java @@ -1,4 +1,4 @@ -package com.baeldung.accessmodifiers; +package com.baeldung.accessmodifiers.publicmodifier; import java.math.BigDecimal; import java.sql.Connection; @@ -7,12 +7,16 @@ import java.sql.SQLException; public class Student { - private BigDecimal grades; //new representation + private BigDecimal grade; //new representation private String name; private int age; - public int getGrades() { - return grades.intValue(); //Backward compatibility + public int getGrade() { + return grade.intValue(); //Backward compatibility + } + + public BigDecimal bigDecimalGrade() { + return grade; } public Connection getConnection() throws SQLException { @@ -21,10 +25,6 @@ public class Student { return DriverManager.getConnection(URL, "sa", ""); } - - public BigDecimal bigDecimalGrades() { - return grades; - } public void setAge(int age) { if (age < 0 || age > 150) diff --git a/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierUnitTest.java b/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierUnitTest.java index 02cd816515..06f20c8610 100644 --- a/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierUnitTest.java +++ b/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierUnitTest.java @@ -3,34 +3,76 @@ package com.baeldung.accessmodifiers; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInstance; import org.junit.jupiter.api.TestInstance.Lifecycle; +import com.baeldung.accessmodifiers.publicmodifier.ListOfThree; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; import java.math.BigDecimal; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; +import java.util.List; @TestInstance(Lifecycle.PER_CLASS) public class PublicAccessModifierUnitTest { @Test - public void whenUsingIntValue_valuesAreEqual() { - - assertEquals(0, new BigDecimal(0).intValue()); + public void whenUsingBigDecimalIntValueMethod_correspondingIntIsReturned() { + assertEquals(0, new BigDecimal(0).intValue()); //instance member } - + @Test - public void whenUsingToLowerCase_valuesAreEqual() { - + public void whenUsingIntegerMaxValueField_maxPossibleIntValueIsReturned() { + assertEquals(2147483647, Integer.MAX_VALUE); //static field + } + + @Test + public void whenUsingStringToLowerCase_stringTurnsToLowerCase() { assertEquals("alex", "ALEX".toLowerCase()); } + @Test + public void whenParsingStringOne_parseIntReturns1() { + assertEquals(1, Integer.parseInt("1")); + } + @Test public void whenConnectingToH2_connectionInstanceIsReturned() throws SQLException { - final String URL = "jdbc:h2:~/test"; - Connection conn = DriverManager.getConnection(URL, "sa", ""); + final String url = "jdbc:h2:~/test"; + Connection conn = DriverManager.getConnection(url, "sa", ""); assertNotNull(conn); } + @Test + public void whenCreatingCustomList_concreteAndInheritedMethodsWork() { + + List list1 = new ListOfThree(); + list1.add("zero"); //inherited implementation + list1.add("one"); + list1.add("two"); + + //our implemented methods + assertEquals("zero", list1.get(0)); + + assertThrows(ArrayIndexOutOfBoundsException.class, () -> { + list1.get(4); + }); + + assertThrows(ArrayIndexOutOfBoundsException.class, () -> { + list1.add("three"); + }); + + assertEquals(3, list1.size()); + + list1.indexOf("one"); //inherited implementation + + List list2 = new ListOfThree(); + list2.add("zero"); + list2.add("one"); + + assertTrue(list1.containsAll(list2)); //inherited implementation + } + } From b43787bca518230b7f2f852d8b02e060c96fbda4 Mon Sep 17 00:00:00 2001 From: "m.raheem" Date: Tue, 6 Aug 2019 20:49:10 +0200 Subject: [PATCH 012/316] modifying ListOfThree class --- .../publicmodifier/ListOfThree.java | 28 +++++++++---------- .../PublicAccessModifierUnitTest.java | 28 ++++++------------- 2 files changed, 23 insertions(+), 33 deletions(-) diff --git a/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/publicmodifier/ListOfThree.java b/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/publicmodifier/ListOfThree.java index 54e2c35d22..2ded0ba5d3 100644 --- a/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/publicmodifier/ListOfThree.java +++ b/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/publicmodifier/ListOfThree.java @@ -1,31 +1,31 @@ package com.baeldung.accessmodifiers.publicmodifier; import java.util.AbstractList; +import java.util.Arrays; public class ListOfThree extends AbstractList { - private static final int MAX_LENGTH = 3; - private int size; - private Object[] elements = new Object[MAX_LENGTH]; + private static final int LENGTH = 3; + private Object[] elements; + + public ListOfThree(E[] data) { + if(data == null + || data.length != LENGTH) + throw new IllegalArgumentException(); + + this.elements = Arrays.copyOf(data, data.length); //shallow copy + + } @Override @SuppressWarnings("unchecked") - public E get(int index) { + public E get(int index) { return (E)elements[index]; } - - @Override - public boolean add(E e) { - - elements[size] = e; - size++; - - return true; - } @Override public int size() { - return size; + return LENGTH; } } diff --git a/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierUnitTest.java b/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierUnitTest.java index 06f20c8610..fa42044aca 100644 --- a/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierUnitTest.java +++ b/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierUnitTest.java @@ -48,31 +48,21 @@ public class PublicAccessModifierUnitTest { @Test public void whenCreatingCustomList_concreteAndInheritedMethodsWork() { - List list1 = new ListOfThree(); - list1.add("zero"); //inherited implementation - list1.add("one"); - list1.add("two"); + String[] dataSet1 = new String[] {"zero", "one", "two"}; + + List list1 = new ListOfThree(dataSet1); //our implemented methods - assertEquals("zero", list1.get(0)); - - assertThrows(ArrayIndexOutOfBoundsException.class, () -> { - list1.get(4); - }); - - assertThrows(ArrayIndexOutOfBoundsException.class, () -> { - list1.add("three"); - }); - + assertEquals("one", list1.get(1)); assertEquals(3, list1.size()); - list1.indexOf("one"); //inherited implementation + //inherited implementations + assertEquals(1, list1.indexOf("one")); - List list2 = new ListOfThree(); - list2.add("zero"); - list2.add("one"); + String[] dataSet2 = new String[] {"two", "zero", "one"}; + List list2 = new ListOfThree(dataSet2); - assertTrue(list1.containsAll(list2)); //inherited implementation + assertTrue(list1.containsAll(list2)); } } From 4277c2ecf6016597419c9c5bfa68b433eaa6a97f Mon Sep 17 00:00:00 2001 From: Alex Tighe Date: Wed, 7 Aug 2019 23:15:55 -0400 Subject: [PATCH 013/316] Reformatting try-with-resources --- .../main/java/com/baeldung/resource/MyResourceLoader.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core-java-modules/core-java-io2/src/main/java/com/baeldung/resource/MyResourceLoader.java b/core-java-modules/core-java-io2/src/main/java/com/baeldung/resource/MyResourceLoader.java index 6cb201b173..7512b177df 100644 --- a/core-java-modules/core-java-io2/src/main/java/com/baeldung/resource/MyResourceLoader.java +++ b/core-java-modules/core-java-io2/src/main/java/com/baeldung/resource/MyResourceLoader.java @@ -11,7 +11,8 @@ public class MyResourceLoader { private void loadFileWithReader() throws IOException { - try (FileReader fileReader = new FileReader("src/main/resources/input.txt"); BufferedReader reader = new BufferedReader(fileReader)) { + try (FileReader fileReader = new FileReader("src/main/resources/input.txt"); + BufferedReader reader = new BufferedReader(fileReader)) { String contents = reader.lines() .collect(Collectors.joining(System.lineSeparator())); System.out.println(contents); @@ -21,7 +22,8 @@ public class MyResourceLoader { private void loadFileAsResource() throws IOException { - try (InputStream inputStream = getClass().getResourceAsStream("/input.txt"); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) { + try (InputStream inputStream = getClass().getResourceAsStream("/input.txt"); + BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) { String contents = reader.lines() .collect(Collectors.joining(System.lineSeparator())); System.out.println(contents); From fc16a4707843e59af9c0fe4a1076a3d2e4ca9546 Mon Sep 17 00:00:00 2001 From: dupirefr Date: Sat, 10 Aug 2019 11:51:15 +0200 Subject: [PATCH 014/316] Added factory methods to create cars --- .../com/baeldung/java/booleanoperators/Car.java | 16 ++++++++++++++++ .../java/booleanoperators/XorUnitTest.java | 16 ++++++++-------- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/java/booleanoperators/Car.java b/core-java-modules/core-java/src/main/java/com/baeldung/java/booleanoperators/Car.java index 8043b6dd93..7394895325 100644 --- a/core-java-modules/core-java/src/main/java/com/baeldung/java/booleanoperators/Car.java +++ b/core-java-modules/core-java/src/main/java/com/baeldung/java/booleanoperators/Car.java @@ -17,4 +17,20 @@ public class Car { public boolean isManual() { return manual; } + + static Car dieselAndManualCar() { + return new Car(true, true); + } + + static Car dieselAndAutomaticCar() { + return new Car(true, false); + } + + static Car oilAndManualCar() { + return new Car(false, true); + } + + static Car oilAndAutomaticCar() { + return new Car(false, false); + } } diff --git a/core-java-modules/core-java/src/test/java/com/baeldung/java/booleanoperators/XorUnitTest.java b/core-java-modules/core-java/src/test/java/com/baeldung/java/booleanoperators/XorUnitTest.java index 0654d07f4f..70abc0266d 100644 --- a/core-java-modules/core-java/src/test/java/com/baeldung/java/booleanoperators/XorUnitTest.java +++ b/core-java-modules/core-java/src/test/java/com/baeldung/java/booleanoperators/XorUnitTest.java @@ -8,56 +8,56 @@ class XorUnitTest { @Test void givenDieselManualCar_whenXorOldSchool_ThenFalse() { - Car car = new Car(true, true); + Car car = Car.dieselAndManualCar(); boolean dieselXorManual = (car.isDiesel() && !car.isManual()) || (!car.isDiesel() && car.isManual()); assertThat(dieselXorManual).isFalse(); } @Test void givenDieselAutomaticCar_whenXorOldSchool_ThenTrue() { - Car car = new Car(true, false); + Car car = Car.dieselAndAutomaticCar(); boolean dieselXorManual = (car.isDiesel() && !car.isManual()) || (!car.isDiesel() && car.isManual()); assertThat(dieselXorManual).isTrue(); } @Test void givenNonDieselManualCar_whenXorOldSchool_ThenTrue() { - Car car = new Car(false, true); + Car car = Car.oilAndManualCar(); boolean dieselXorManual = (car.isDiesel() && !car.isManual()) || (!car.isDiesel() && car.isManual()); assertThat(dieselXorManual).isTrue(); } @Test void givenNonDieselAutomaticCar_whenXorOldSchool_ThenFalse() { - Car car = new Car(false, false); + Car car = Car.oilAndAutomaticCar(); boolean dieselXorManual = (car.isDiesel() && !car.isManual()) || (!car.isDiesel() && car.isManual()); assertThat(dieselXorManual).isFalse(); } @Test void givenDieselManualCar_whenXor_ThenFalse() { - Car car = new Car(true, true); + Car car = Car.dieselAndManualCar(); boolean dieselXorManual = car.isDiesel() ^ car.isManual(); assertThat(dieselXorManual).isFalse(); } @Test void givenDieselAutomaticCar_whenXor_ThenTrue() { - Car car = new Car(true, false); + Car car = Car.dieselAndAutomaticCar(); boolean dieselXorManual = car.isDiesel() ^ car.isManual(); assertThat(dieselXorManual).isTrue(); } @Test void givenNonDieselManualCar_whenXor_ThenTrue() { - Car car = new Car(false, true); + Car car = Car.oilAndManualCar(); boolean dieselXorManual = car.isDiesel() ^ car.isManual(); assertThat(dieselXorManual).isTrue(); } @Test void givenNonDieselAutomaticCar_whenXor_ThenFalse() { - Car car = new Car(false, false); + Car car = Car.oilAndAutomaticCar(); boolean dieselXorManual = car.isDiesel() ^ car.isManual(); assertThat(dieselXorManual).isFalse(); } From 99d90bb873d7cf55c05d90c9b865d54ecbb30ac6 Mon Sep 17 00:00:00 2001 From: pazis Date: Wed, 14 Aug 2019 15:06:10 +0000 Subject: [PATCH 015/316] InterpolationSearch --- .../InterpolationSearch.java | 35 +++++++++++++++++++ .../InterpolationSearchUnitTest.java | 29 +++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/interpolationsearch/InterpolationSearch.java create mode 100644 algorithms-miscellaneous-3/src/test/java/com/baeldung/algorithms/interpolationsearch/InterpolationSearchUnitTest.java diff --git a/algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/interpolationsearch/InterpolationSearch.java b/algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/interpolationsearch/InterpolationSearch.java new file mode 100644 index 0000000000..91423eeaa8 --- /dev/null +++ b/algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/interpolationsearch/InterpolationSearch.java @@ -0,0 +1,35 @@ +package com.baeldung.algorithms.interpolationsearch; + +public class InterpolationSearch { + + public static int interpolationSearch(int[] data, int item) { + + int highEnd = (data.length - 1); + int lowEnd = 0; + + while (item >= data[lowEnd] && item <= data[highEnd] && lowEnd <= highEnd) { + + int probe = lowEnd + (highEnd - lowEnd) * (item - data[lowEnd]) / (data[highEnd] - data[lowEnd]); + + if (highEnd == lowEnd) { + if (data[lowEnd] == item) { + return lowEnd; + } else { + return -1; + } + } + + if (data[probe] == item) { + return probe; + } + + if (data[probe] < item) { + lowEnd = probe + 1; + } else { + highEnd = probe - 1; + } + } + return -1; + } + +} diff --git a/algorithms-miscellaneous-3/src/test/java/com/baeldung/algorithms/interpolationsearch/InterpolationSearchUnitTest.java b/algorithms-miscellaneous-3/src/test/java/com/baeldung/algorithms/interpolationsearch/InterpolationSearchUnitTest.java new file mode 100644 index 0000000000..8ad962055e --- /dev/null +++ b/algorithms-miscellaneous-3/src/test/java/com/baeldung/algorithms/interpolationsearch/InterpolationSearchUnitTest.java @@ -0,0 +1,29 @@ +package com.baeldung.algorithms.interpolationsearch; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.junit.Before; +import org.junit.Test; + +public class InterpolationSearchUnitTest { + + private int[] myData; + + @Before + public void setUp() { + myData = new int[]{13,21,34,55,69,73,84,101}; + } + + @Test + public void givenSortedArray_whenLookingFor84_thenReturn6() { + int pos = InterpolationSearch.interpolationSearch(myData, 84); + assertEquals(6, pos); + } + + @Test + public void givenSortedArray_whenLookingFor19_thenReturnMinusOne() { + int pos = InterpolationSearch.interpolationSearch(myData, 19); + assertEquals(-1, pos); + } + +} From 12bc0fcfd9fff10bc6c8b2e8b2d1f2e1141ad72d Mon Sep 17 00:00:00 2001 From: "m.raheem" Date: Sun, 18 Aug 2019 13:54:19 +0200 Subject: [PATCH 016/316] changing public static final field example --- .../baeldung/accessmodifiers/publicmodifier/Student.java | 5 +++++ .../accessmodifiers/PublicAccessModifierUnitTest.java | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/publicmodifier/Student.java b/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/publicmodifier/Student.java index 50784c6e54..65237fa864 100644 --- a/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/publicmodifier/Student.java +++ b/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/publicmodifier/Student.java @@ -10,6 +10,7 @@ public class Student { private BigDecimal grade; //new representation private String name; private int age; + public static final String GENDER = "male"; public int getGrade() { return grade.intValue(); //Backward compatibility @@ -33,6 +34,10 @@ public class Student { this.age = age; } + public int getAge() { + return age; + } + @Override public String toString() { return this.name; diff --git a/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierUnitTest.java b/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierUnitTest.java index fa42044aca..8b11e3a9ad 100644 --- a/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierUnitTest.java +++ b/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierUnitTest.java @@ -4,10 +4,10 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInstance; import org.junit.jupiter.api.TestInstance.Lifecycle; import com.baeldung.accessmodifiers.publicmodifier.ListOfThree; +import com.baeldung.accessmodifiers.publicmodifier.Student; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertThrows; import java.math.BigDecimal; import java.sql.Connection; import java.sql.DriverManager; @@ -22,6 +22,11 @@ public class PublicAccessModifierUnitTest { assertEquals(0, new BigDecimal(0).intValue()); //instance member } + @Test + public void whenUsingGenderPublicStaticFinalField_getReferenceToStringMale() { + assertEquals("male", Student.GENDER); + } + @Test public void whenUsingIntegerMaxValueField_maxPossibleIntValueIsReturned() { assertEquals(2147483647, Integer.MAX_VALUE); //static field From c1d88b7364162c1a8575b8c1315ee5245ac55a01 Mon Sep 17 00:00:00 2001 From: "m.raheem" Date: Sun, 18 Aug 2019 16:40:13 +0200 Subject: [PATCH 017/316] renaming bigDecimalGrade method + removing the GENDER constant --- .../accessmodifiers/publicmodifier/SpecialCharacters.java | 7 +++++++ .../baeldung/accessmodifiers/publicmodifier/Student.java | 8 ++++---- .../accessmodifiers/PublicAccessModifierUnitTest.java | 8 +------- 3 files changed, 12 insertions(+), 11 deletions(-) create mode 100644 core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/publicmodifier/SpecialCharacters.java diff --git a/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/publicmodifier/SpecialCharacters.java b/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/publicmodifier/SpecialCharacters.java new file mode 100644 index 0000000000..5556e9aa57 --- /dev/null +++ b/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/publicmodifier/SpecialCharacters.java @@ -0,0 +1,7 @@ +package com.baeldung.accessmodifiers.publicmodifier; + +public class SpecialCharacters { + + public static final String SLASH = "/"; + +} diff --git a/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/publicmodifier/Student.java b/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/publicmodifier/Student.java index 65237fa864..c4abdfe68d 100644 --- a/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/publicmodifier/Student.java +++ b/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/publicmodifier/Student.java @@ -10,13 +10,12 @@ public class Student { private BigDecimal grade; //new representation private String name; private int age; - public static final String GENDER = "male"; public int getGrade() { return grade.intValue(); //Backward compatibility } - public BigDecimal bigDecimalGrade() { + public BigDecimal getBigDecimalGrade() { return grade; } @@ -28,9 +27,10 @@ public class Student { } public void setAge(int age) { - if (age < 0 || age > 150) + if (age < 0 || age > 150) { throw new IllegalArgumentException(); - + } + this.age = age; } diff --git a/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierUnitTest.java b/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierUnitTest.java index 8b11e3a9ad..0eca4b4222 100644 --- a/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierUnitTest.java +++ b/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierUnitTest.java @@ -4,7 +4,6 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInstance; import org.junit.jupiter.api.TestInstance.Lifecycle; import com.baeldung.accessmodifiers.publicmodifier.ListOfThree; -import com.baeldung.accessmodifiers.publicmodifier.Student; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -22,16 +21,11 @@ public class PublicAccessModifierUnitTest { assertEquals(0, new BigDecimal(0).intValue()); //instance member } - @Test - public void whenUsingGenderPublicStaticFinalField_getReferenceToStringMale() { - assertEquals("male", Student.GENDER); - } - @Test public void whenUsingIntegerMaxValueField_maxPossibleIntValueIsReturned() { assertEquals(2147483647, Integer.MAX_VALUE); //static field } - + @Test public void whenUsingStringToLowerCase_stringTurnsToLowerCase() { assertEquals("alex", "ALEX".toLowerCase()); From 0b7ceebb66b6b00f83619923881d1c5ef687aca4 Mon Sep 17 00:00:00 2001 From: "anilkivilcim.eray" Date: Sun, 18 Aug 2019 20:02:31 +0300 Subject: [PATCH 018/316] BAEL-3097 init for mapstruct custom mapping method --- .../main/java/com/baeldung/dto/UrlDTO.java | 11 ++++++ .../java/com/baeldung/entity/UrlObject.java | 11 ++++++ .../com/baeldung/mapper/SuffixRemover.java | 13 +++++++ .../java/com/baeldung/mapper/UrlMapper.java | 34 +++++++++++++++++++ .../com/baeldung/mapper/UrlMapperTest.java | 22 ++++++++++++ 5 files changed, 91 insertions(+) create mode 100644 mapstruct/src/main/java/com/baeldung/dto/UrlDTO.java create mode 100644 mapstruct/src/main/java/com/baeldung/entity/UrlObject.java create mode 100644 mapstruct/src/main/java/com/baeldung/mapper/SuffixRemover.java create mode 100644 mapstruct/src/main/java/com/baeldung/mapper/UrlMapper.java create mode 100644 mapstruct/src/test/java/com/baeldung/mapper/UrlMapperTest.java diff --git a/mapstruct/src/main/java/com/baeldung/dto/UrlDTO.java b/mapstruct/src/main/java/com/baeldung/dto/UrlDTO.java new file mode 100644 index 0000000000..405473bbd1 --- /dev/null +++ b/mapstruct/src/main/java/com/baeldung/dto/UrlDTO.java @@ -0,0 +1,11 @@ +package com.baeldung.dto; + +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class UrlDTO { + private String url; + private String subUrl; +} \ No newline at end of file diff --git a/mapstruct/src/main/java/com/baeldung/entity/UrlObject.java b/mapstruct/src/main/java/com/baeldung/entity/UrlObject.java new file mode 100644 index 0000000000..ceded9e18e --- /dev/null +++ b/mapstruct/src/main/java/com/baeldung/entity/UrlObject.java @@ -0,0 +1,11 @@ +package com.baeldung.entity; + +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class UrlObject { + private String url; + private String subUrl; +} \ No newline at end of file diff --git a/mapstruct/src/main/java/com/baeldung/mapper/SuffixRemover.java b/mapstruct/src/main/java/com/baeldung/mapper/SuffixRemover.java new file mode 100644 index 0000000000..3db963b0e3 --- /dev/null +++ b/mapstruct/src/main/java/com/baeldung/mapper/SuffixRemover.java @@ -0,0 +1,13 @@ +package com.baeldung.mapper; + +import org.mapstruct.Qualifier; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Qualifier +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.CLASS) +public @interface SuffixRemover {} diff --git a/mapstruct/src/main/java/com/baeldung/mapper/UrlMapper.java b/mapstruct/src/main/java/com/baeldung/mapper/UrlMapper.java new file mode 100644 index 0000000000..b92c134bde --- /dev/null +++ b/mapstruct/src/main/java/com/baeldung/mapper/UrlMapper.java @@ -0,0 +1,34 @@ +package com.baeldung.mapper; + +import com.baeldung.dto.UrlDTO; +import com.baeldung.entity.UrlObject; +import org.mapstruct.Mapper; +import org.mapstruct.Mapping; +import org.mapstruct.Named; +import org.mapstruct.factory.Mappers; + +import java.net.URI; +import java.net.URISyntaxException; + +@Mapper +public interface UrlMapper { + + UrlMapper INSTANCE = Mappers.getMapper(UrlMapper.class); + + + @Mapping(source = "subUrl", target = "subUrl", qualifiedByName = "protocolRemover") + @Mapping(source = "url", target = "url", qualifiedBy = SuffixRemover.class) + public UrlObject urlObjectDomainMapper(UrlDTO urlDTO); + + @Named("protocolRemover") + public static String protocolRemoverWithCustomMethod(String domain) throws URISyntaxException { + URI uri = new URI(domain); + return uri.getHost(); + } + + @SuffixRemover + public static String protocolRemoverMethod(String domain) throws URISyntaxException { + URI uri = new URI(domain); + return uri.getHost(); + } +} \ No newline at end of file diff --git a/mapstruct/src/test/java/com/baeldung/mapper/UrlMapperTest.java b/mapstruct/src/test/java/com/baeldung/mapper/UrlMapperTest.java new file mode 100644 index 0000000000..1bb0ebcf0c --- /dev/null +++ b/mapstruct/src/test/java/com/baeldung/mapper/UrlMapperTest.java @@ -0,0 +1,22 @@ +package com.baeldung.mapper; + +import com.baeldung.dto.UrlDTO; +import com.baeldung.entity.UrlObject; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; + +public class UrlMapperTest { + + @Test + public void givenDomains_whenCallDomainMapper_thenReturnDomainsWithoutProtocols() { + UrlDTO dto = new UrlDTO(); + dto.setUrl("http://www.baeldung.com"); + dto.setSubUrl("https://www.baeldung.com"); + + UrlObject urlObject = UrlMapper.INSTANCE.urlObjectDomainMapper(dto); + + assertEquals(urlObject.getUrl(), "www.baeldung.com"); + assertEquals(urlObject.getSubUrl(), "www.baeldung.com"); + } +} \ No newline at end of file From 1756cfe00889f525d00c57762fe26cae5cd563d4 Mon Sep 17 00:00:00 2001 From: "m.raheem" Date: Wed, 21 Aug 2019 16:49:09 +0200 Subject: [PATCH 019/316] nested datatypes example --- .../PublicAccessModifierUnitTest.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierUnitTest.java b/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierUnitTest.java index 0eca4b4222..c9664283a7 100644 --- a/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierUnitTest.java +++ b/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierUnitTest.java @@ -11,7 +11,9 @@ import java.math.BigDecimal; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; +import java.util.HashMap; import java.util.List; +import java.util.Map; @TestInstance(Lifecycle.PER_CLASS) public class PublicAccessModifierUnitTest { @@ -25,7 +27,20 @@ public class PublicAccessModifierUnitTest { public void whenUsingIntegerMaxValueField_maxPossibleIntValueIsReturned() { assertEquals(2147483647, Integer.MAX_VALUE); //static field } + + @Test + public void whenUsingEntrySet_keyValuePairsAreReturned() { + Map mapObject = new HashMap(); + mapObject.put("name", "Alex"); + + for(Map.Entry entry : mapObject.entrySet()) { + assertEquals("name", entry.getKey()); + assertEquals("Alex", entry.getValue()); + } + + } + @Test public void whenUsingStringToLowerCase_stringTurnsToLowerCase() { assertEquals("alex", "ALEX".toLowerCase()); From 25e11c23a1d44b99906f65d01344bee47ceeca5a Mon Sep 17 00:00:00 2001 From: "anilkivilcim.eray" Date: Wed, 21 Aug 2019 19:55:07 +0300 Subject: [PATCH 020/316] BAEL-3097 renaming test class to suffix "UnitTest" --- .../mapper/{UrlMapperTest.java => UrlMapperUnitTest.java} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename mapstruct/src/test/java/com/baeldung/mapper/{UrlMapperTest.java => UrlMapperUnitTest.java} (94%) diff --git a/mapstruct/src/test/java/com/baeldung/mapper/UrlMapperTest.java b/mapstruct/src/test/java/com/baeldung/mapper/UrlMapperUnitTest.java similarity index 94% rename from mapstruct/src/test/java/com/baeldung/mapper/UrlMapperTest.java rename to mapstruct/src/test/java/com/baeldung/mapper/UrlMapperUnitTest.java index 1bb0ebcf0c..455bfe408f 100644 --- a/mapstruct/src/test/java/com/baeldung/mapper/UrlMapperTest.java +++ b/mapstruct/src/test/java/com/baeldung/mapper/UrlMapperUnitTest.java @@ -6,7 +6,7 @@ import org.junit.Test; import static org.junit.Assert.assertEquals; -public class UrlMapperTest { +public class UrlMapperUnitTest { @Test public void givenDomains_whenCallDomainMapper_thenReturnDomainsWithoutProtocols() { From 72a108f960896c282bf1e4dd4dedb6bbfc3c29f5 Mon Sep 17 00:00:00 2001 From: Philippus Baalman Date: Fri, 23 Aug 2019 00:23:46 +0200 Subject: [PATCH 021/316] Drop last 4 bytes of computed SHA-1 hash --- .../src/main/java/com/baeldung/uuid/UUIDGenerator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/uuid/UUIDGenerator.java b/core-java-modules/core-java/src/main/java/com/baeldung/uuid/UUIDGenerator.java index dcf186de93..70217cd556 100644 --- a/core-java-modules/core-java/src/main/java/com/baeldung/uuid/UUIDGenerator.java +++ b/core-java-modules/core-java/src/main/java/com/baeldung/uuid/UUIDGenerator.java @@ -67,7 +67,7 @@ public class UUIDGenerator { } catch (NoSuchAlgorithmException nsae) { throw new InternalError("MD5 not supported", nsae); } - byte[] bytes = md.digest(name); + byte[] bytes = Arrays.copyOfRange(md.digest(name), 0, 16); bytes[6] &= 0x0f; /* clear version */ bytes[6] |= 0x50; /* set to version 5 */ bytes[8] &= 0x3f; /* clear variant */ From ad54ac6f5e569654f72d29d961bf6f3a16edfb1d Mon Sep 17 00:00:00 2001 From: Philippus Baalman Date: Fri, 23 Aug 2019 00:29:27 +0200 Subject: [PATCH 022/316] Fix message for exception --- .../src/main/java/com/baeldung/uuid/UUIDGenerator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/uuid/UUIDGenerator.java b/core-java-modules/core-java/src/main/java/com/baeldung/uuid/UUIDGenerator.java index 70217cd556..c4663a429c 100644 --- a/core-java-modules/core-java/src/main/java/com/baeldung/uuid/UUIDGenerator.java +++ b/core-java-modules/core-java/src/main/java/com/baeldung/uuid/UUIDGenerator.java @@ -65,7 +65,7 @@ public class UUIDGenerator { try { md = MessageDigest.getInstance("SHA-1"); } catch (NoSuchAlgorithmException nsae) { - throw new InternalError("MD5 not supported", nsae); + throw new InternalError("SHA-1 not supported", nsae); } byte[] bytes = Arrays.copyOfRange(md.digest(name), 0, 16); bytes[6] &= 0x0f; /* clear version */ From a14c19d4e2b70b6cc7a4672919c3601e34b76d5b Mon Sep 17 00:00:00 2001 From: pazis Date: Fri, 23 Aug 2019 21:21:20 +0000 Subject: [PATCH 023/316] stax --- .../com/baeldung/xml/stax/StaxParser.java | 67 +++++++++++++++++++ .../java/com/baeldung/xml/stax/WebSite.java | 40 +++++++++++ .../baeldung/xml/stax/StaxParserUnitTest.java | 31 +++++++++ xml/src/test/resources/xml/websites.xml | 18 +++++ 4 files changed, 156 insertions(+) create mode 100644 xml/src/main/java/com/baeldung/xml/stax/StaxParser.java create mode 100644 xml/src/main/java/com/baeldung/xml/stax/WebSite.java create mode 100644 xml/src/test/java/com/baeldung/xml/stax/StaxParserUnitTest.java create mode 100644 xml/src/test/resources/xml/websites.xml diff --git a/xml/src/main/java/com/baeldung/xml/stax/StaxParser.java b/xml/src/main/java/com/baeldung/xml/stax/StaxParser.java new file mode 100644 index 0000000000..6c06bfdb17 --- /dev/null +++ b/xml/src/main/java/com/baeldung/xml/stax/StaxParser.java @@ -0,0 +1,67 @@ +package com.baeldung.xml.stax; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.util.List; +import java.util.ArrayList; + +import javax.xml.stream.events.XMLEvent; +import javax.xml.stream.XMLEventReader; +import javax.xml.stream.XMLInputFactory; +import javax.xml.stream.XMLStreamException; +import javax.xml.stream.events.Attribute; +import javax.xml.stream.events.EndElement; +import javax.xml.stream.events.StartElement; +import javax.xml.namespace.QName; + +public class StaxParser { + + public static List parse(String path) { + List webSites = new ArrayList(); + WebSite webSite = null; + XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance(); + try { + XMLEventReader reader = xmlInputFactory.createXMLEventReader(new FileInputStream(path)); + while(reader.hasNext()){ + XMLEvent nextEvent = reader.nextEvent(); + if (nextEvent.isStartElement()){ + StartElement startElement = nextEvent.asStartElement(); + switch (startElement.getName().getLocalPart()) { + case "website": + webSite = new WebSite(); + Attribute url = startElement.getAttributeByName(new QName("url")); + if (url != null) { + webSite.setUrl(url.getValue()); + } + break; + case "name": + nextEvent = reader.nextEvent(); + webSite.setName(nextEvent.asCharacters().getData()); + break; + case "category": + nextEvent = reader.nextEvent(); + webSite.setCategory(nextEvent.asCharacters().getData()); + break; + case "status": + nextEvent = reader.nextEvent(); + webSite.setStatus(nextEvent.asCharacters().getData()); + break; + } + } + if(nextEvent.isEndElement()){ + EndElement endElement = nextEvent.asEndElement(); + if(endElement.getName().getLocalPart().equals("website")){ + webSites.add(webSite); + } + } + } + } catch (XMLStreamException xse){ + System.out.println("XMLStreamException"); + xse.printStackTrace(); + } catch (FileNotFoundException fnfe) { + System.out.println("FileNotFoundException"); + fnfe.printStackTrace(); + } + return webSites; + } + +} diff --git a/xml/src/main/java/com/baeldung/xml/stax/WebSite.java b/xml/src/main/java/com/baeldung/xml/stax/WebSite.java new file mode 100644 index 0000000000..8f7782ab91 --- /dev/null +++ b/xml/src/main/java/com/baeldung/xml/stax/WebSite.java @@ -0,0 +1,40 @@ +package com.baeldung.xml.stax; +public class WebSite { + + private String url; + private String name; + private String category; + private String status; + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } +} diff --git a/xml/src/test/java/com/baeldung/xml/stax/StaxParserUnitTest.java b/xml/src/test/java/com/baeldung/xml/stax/StaxParserUnitTest.java new file mode 100644 index 0000000000..7629487e11 --- /dev/null +++ b/xml/src/test/java/com/baeldung/xml/stax/StaxParserUnitTest.java @@ -0,0 +1,31 @@ +package com.baeldung.xml.stax; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import java.util.List; + +import org.junit.Test; + + +public class StaxParserUnitTest { + + @Test + public void givenWebsitesXML_whenParsed_thenNotNull() { + List websites = StaxParser.parse("src/test/resources/xml/websites.xml"); + assertNotNull(websites); + } + + @Test + public void givenWebsitesXML_whenParsed_thenSizeIsThree() { + List websites = StaxParser.parse("src/test/resources/xml/websites.xml"); + assertTrue(websites.size() == 3); + } + + @Test + public void givenWebsitesXML_whenParsed_thenLocalhostExists() { + List websites = StaxParser.parse("src/test/resources/xml/websites.xml"); + assertEquals(websites.get(2).getName(),"Localhost"); + } +} diff --git a/xml/src/test/resources/xml/websites.xml b/xml/src/test/resources/xml/websites.xml new file mode 100644 index 0000000000..579c13eb94 --- /dev/null +++ b/xml/src/test/resources/xml/websites.xml @@ -0,0 +1,18 @@ + + + + Baeldung + Online Courses + Online + + + Example + Examples + Offline + + + Localhost + Tests + Offline + + \ No newline at end of file From 91d071c43e5e8ddc232c3a61c27743549b0fd2f6 Mon Sep 17 00:00:00 2001 From: "anilkivilcim.eray" Date: Sat, 24 Aug 2019 00:30:29 +0300 Subject: [PATCH 024/316] BAEL-3097 pr fix --- .../main/java/com/baeldung/dto/UrlDTO.java | 3 +-- .../java/com/baeldung/entity/UrlObject.java | 3 +-- ...uffixRemover.java => ProtocolRemover.java} | 2 +- .../java/com/baeldung/mapper/UrlMapper.java | 25 +++++++++++-------- .../baeldung/mapper/UrlMapperUnitTest.java | 20 ++++++++++----- 5 files changed, 32 insertions(+), 21 deletions(-) rename mapstruct/src/main/java/com/baeldung/mapper/{SuffixRemover.java => ProtocolRemover.java} (88%) diff --git a/mapstruct/src/main/java/com/baeldung/dto/UrlDTO.java b/mapstruct/src/main/java/com/baeldung/dto/UrlDTO.java index 405473bbd1..e0d7fd58e9 100644 --- a/mapstruct/src/main/java/com/baeldung/dto/UrlDTO.java +++ b/mapstruct/src/main/java/com/baeldung/dto/UrlDTO.java @@ -6,6 +6,5 @@ import lombok.Setter; @Getter @Setter public class UrlDTO { - private String url; - private String subUrl; + private String address; } \ No newline at end of file diff --git a/mapstruct/src/main/java/com/baeldung/entity/UrlObject.java b/mapstruct/src/main/java/com/baeldung/entity/UrlObject.java index ceded9e18e..9d1f4668c2 100644 --- a/mapstruct/src/main/java/com/baeldung/entity/UrlObject.java +++ b/mapstruct/src/main/java/com/baeldung/entity/UrlObject.java @@ -6,6 +6,5 @@ import lombok.Setter; @Getter @Setter public class UrlObject { - private String url; - private String subUrl; + private String address; } \ No newline at end of file diff --git a/mapstruct/src/main/java/com/baeldung/mapper/SuffixRemover.java b/mapstruct/src/main/java/com/baeldung/mapper/ProtocolRemover.java similarity index 88% rename from mapstruct/src/main/java/com/baeldung/mapper/SuffixRemover.java rename to mapstruct/src/main/java/com/baeldung/mapper/ProtocolRemover.java index 3db963b0e3..4c22ffd9ee 100644 --- a/mapstruct/src/main/java/com/baeldung/mapper/SuffixRemover.java +++ b/mapstruct/src/main/java/com/baeldung/mapper/ProtocolRemover.java @@ -10,4 +10,4 @@ import java.lang.annotation.Target; @Qualifier @Target(ElementType.METHOD) @Retention(RetentionPolicy.CLASS) -public @interface SuffixRemover {} +public @interface ProtocolRemover {} diff --git a/mapstruct/src/main/java/com/baeldung/mapper/UrlMapper.java b/mapstruct/src/main/java/com/baeldung/mapper/UrlMapper.java index b92c134bde..22083fabb2 100644 --- a/mapstruct/src/main/java/com/baeldung/mapper/UrlMapper.java +++ b/mapstruct/src/main/java/com/baeldung/mapper/UrlMapper.java @@ -9,6 +9,7 @@ import org.mapstruct.factory.Mappers; import java.net.URI; import java.net.URISyntaxException; +import java.net.URL; @Mapper public interface UrlMapper { @@ -16,19 +17,23 @@ public interface UrlMapper { UrlMapper INSTANCE = Mappers.getMapper(UrlMapper.class); - @Mapping(source = "subUrl", target = "subUrl", qualifiedByName = "protocolRemover") - @Mapping(source = "url", target = "url", qualifiedBy = SuffixRemover.class) - public UrlObject urlObjectDomainMapper(UrlDTO urlDTO); + @Mapping(source = "address", target = "address", qualifiedByName = "protocolRemover") + public UrlObject urlObjectNamedMapper(UrlDTO urlDTO); + + @Mapping(source = "address", target = "address", qualifiedBy = ProtocolRemover.class) + public UrlObject urlObjectAnnotatedMapper(UrlDTO urlDTO); @Named("protocolRemover") - public static String protocolRemoverWithCustomMethod(String domain) throws URISyntaxException { - URI uri = new URI(domain); - return uri.getHost(); + public static String protocolRemoverWithCustomMethod(String address) throws URISyntaxException { + URI uri = new URI(address); + + return uri.getHost() + uri.getPath(); } - @SuffixRemover - public static String protocolRemoverMethod(String domain) throws URISyntaxException { - URI uri = new URI(domain); - return uri.getHost(); + @ProtocolRemover + public static String protocolRemoverMethod(String address) throws URISyntaxException { + URI uri = new URI(address); + + return uri.getHost() + uri.getPath(); } } \ No newline at end of file diff --git a/mapstruct/src/test/java/com/baeldung/mapper/UrlMapperUnitTest.java b/mapstruct/src/test/java/com/baeldung/mapper/UrlMapperUnitTest.java index 455bfe408f..567d0aefbc 100644 --- a/mapstruct/src/test/java/com/baeldung/mapper/UrlMapperUnitTest.java +++ b/mapstruct/src/test/java/com/baeldung/mapper/UrlMapperUnitTest.java @@ -9,14 +9,22 @@ import static org.junit.Assert.assertEquals; public class UrlMapperUnitTest { @Test - public void givenDomains_whenCallDomainMapper_thenReturnDomainsWithoutProtocols() { + public void givenDomain_whenCallNamedMapper_thenReturnDomainWithoutProtocol() { UrlDTO dto = new UrlDTO(); - dto.setUrl("http://www.baeldung.com"); - dto.setSubUrl("https://www.baeldung.com"); + dto.setAddress("http://www.baeldung.com/mapstruct"); - UrlObject urlObject = UrlMapper.INSTANCE.urlObjectDomainMapper(dto); + UrlObject urlObject = UrlMapper.INSTANCE.urlObjectNamedMapper(dto); - assertEquals(urlObject.getUrl(), "www.baeldung.com"); - assertEquals(urlObject.getSubUrl(), "www.baeldung.com"); + assertEquals(urlObject.getAddress(), "www.baeldung.com/mapstruct"); + } + + @Test + public void givenAddress_whenCallAnnotatedMapper_thenReturnDomainWithoutProtocol() { + UrlDTO dto = new UrlDTO(); + dto.setAddress("http://www.baeldung.com/customMappers"); + + UrlObject urlObject = UrlMapper.INSTANCE.urlObjectAnnotatedMapper(dto); + + assertEquals(urlObject.getAddress(), "www.baeldung.com/customMappers"); } } \ No newline at end of file From 02f3d586608c6fb177dd906535d418a7eee6da35 Mon Sep 17 00:00:00 2001 From: "m.raheem" Date: Sat, 24 Aug 2019 13:46:39 +0200 Subject: [PATCH 025/316] refactoring Student class grade field --- .../publicmodifier/Student.java | 33 +++++++++++++++---- 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/publicmodifier/Student.java b/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/publicmodifier/Student.java index c4abdfe68d..83a0dcb30f 100644 --- a/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/publicmodifier/Student.java +++ b/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/accessmodifiers/publicmodifier/Student.java @@ -4,19 +4,21 @@ import java.math.BigDecimal; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; +import java.util.Date; public class Student { - private BigDecimal grade; //new representation + private StudentGrade grade; //new data representation +// private int grade; //old data representation private String name; private int age; + + public void setGrade(int grade) { + this.grade = new StudentGrade(grade); + } public int getGrade() { - return grade.intValue(); //Backward compatibility - } - - public BigDecimal getBigDecimalGrade() { - return grade; + return this.grade.getGrade().intValue(); //int is returned for backward compatibility } public Connection getConnection() throws SQLException { @@ -43,4 +45,23 @@ public class Student { return this.name; } + private class StudentGrade { + private BigDecimal grade = BigDecimal.ZERO; + private Date updatedAt; + + public StudentGrade(int grade) { + this.grade = new BigDecimal(grade); + this.updatedAt = new Date(); + } + + public BigDecimal getGrade() { + return grade; + } + + public Date getDate() { + return updatedAt; + } + + } + } From 4dd44a29d8ac6bd01428587d35c753b617e8edcb Mon Sep 17 00:00:00 2001 From: "m.raheem" Date: Sat, 24 Aug 2019 13:50:24 +0200 Subject: [PATCH 026/316] Adding unit test for Student grade --- .../accessmodifiers/PublicAccessModifierUnitTest.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierUnitTest.java b/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierUnitTest.java index c9664283a7..a2d891ac93 100644 --- a/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierUnitTest.java +++ b/core-java-modules/core-java-lang-oop-2/src/test/java/com/baeldung/accessmodifiers/PublicAccessModifierUnitTest.java @@ -4,6 +4,8 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInstance; import org.junit.jupiter.api.TestInstance.Lifecycle; import com.baeldung.accessmodifiers.publicmodifier.ListOfThree; +import com.baeldung.accessmodifiers.publicmodifier.Student; + import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -28,6 +30,15 @@ public class PublicAccessModifierUnitTest { assertEquals(2147483647, Integer.MAX_VALUE); //static field } + @Test + public void whenChangingStudentInternalRepresentation_clientCodeWillNotBreak() { + + Student student = new Student(); + student.setGrade(100); + + assertEquals(100, student.getGrade()); + } + @Test public void whenUsingEntrySet_keyValuePairsAreReturned() { From 4f759b00c1bd016da94e60becff85ad544d81d58 Mon Sep 17 00:00:00 2001 From: Loredana Crusoveanu Date: Sat, 24 Aug 2019 22:01:25 +0300 Subject: [PATCH 027/316] Update README.md --- persistence-modules/spring-jpa/README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/persistence-modules/spring-jpa/README.md b/persistence-modules/spring-jpa/README.md index 56ce68c126..d04e9f6f41 100644 --- a/persistence-modules/spring-jpa/README.md +++ b/persistence-modules/spring-jpa/README.md @@ -9,7 +9,6 @@ - [Sorting with JPA](http://www.baeldung.com/jpa-sort) - [Self-Contained Testing Using an In-Memory Database](http://www.baeldung.com/spring-jpa-test-in-memory-database) - [A Guide to Spring AbstractRoutingDatasource](http://www.baeldung.com/spring-abstract-routing-data-source) -- [A Guide to Hibernate with Spring 4](http://www.baeldung.com/the-persistence-layer-with-spring-and-jpa) - [Obtaining Auto-generated Keys in Spring JDBC](http://www.baeldung.com/spring-jdbc-autogenerated-keys) - [Transactions with Spring 4 and JPA](http://www.baeldung.com/transaction-configuration-with-jpa-and-spring) - [Use Criteria Queries in a Spring Data Application](https://www.baeldung.com/spring-data-criteria-queries) From 55e70becd82c74c4d3f6583572987008e7bab5fe Mon Sep 17 00:00:00 2001 From: Drazen Nikolic Date: Mon, 26 Aug 2019 21:42:01 +0200 Subject: [PATCH 028/316] BAEL-3140: Comparing Dates in Java - examples. --- java-dates-2/pom.xml | 9 +- .../comparison/DateTimeComparisonUtils.java | 35 ++++++++ .../comparison/LegacyDateComparisonUtils.java | 17 ++++ .../DateTimeComparisonUtilsUnitTest.java | 75 +++++++++++++++++ ...DateTimeApiGeneralComparisonsUnitTest.java | 83 +++++++++++++++++++ .../LegacyDateComparisonUtilsUnitTest.java | 54 ++++++++++++ 6 files changed, 272 insertions(+), 1 deletion(-) create mode 100644 java-dates-2/src/main/java/com/baeldung/date/comparison/DateTimeComparisonUtils.java create mode 100644 java-dates-2/src/main/java/com/baeldung/date/comparison/LegacyDateComparisonUtils.java create mode 100644 java-dates-2/src/test/java/com/baeldung/date/comparison/DateTimeComparisonUtilsUnitTest.java create mode 100644 java-dates-2/src/test/java/com/baeldung/date/comparison/Java8DateTimeApiGeneralComparisonsUnitTest.java create mode 100644 java-dates-2/src/test/java/com/baeldung/date/comparison/LegacyDateComparisonUtilsUnitTest.java diff --git a/java-dates-2/pom.xml b/java-dates-2/pom.xml index c1419514ef..08b2076d03 100644 --- a/java-dates-2/pom.xml +++ b/java-dates-2/pom.xml @@ -20,7 +20,13 @@ joda-time ${joda-time.version} - + + + org.apache.commons + commons-lang3 + ${commons-lang3.version} + + commons-validator @@ -63,6 +69,7 @@ 3.6.1 2.10 + 3.9 1.6 1.9 1.9 diff --git a/java-dates-2/src/main/java/com/baeldung/date/comparison/DateTimeComparisonUtils.java b/java-dates-2/src/main/java/com/baeldung/date/comparison/DateTimeComparisonUtils.java new file mode 100644 index 0000000000..4d732df795 --- /dev/null +++ b/java-dates-2/src/main/java/com/baeldung/date/comparison/DateTimeComparisonUtils.java @@ -0,0 +1,35 @@ +package com.baeldung.date.comparison; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.ZonedDateTime; + +import static java.time.temporal.ChronoUnit.*; + +public class DateTimeComparisonUtils { + + public static boolean isSameDay(LocalDateTime timestamp, LocalDate localDateToCompare) { + return timestamp.toLocalDate().isEqual(localDateToCompare); + } + + public static boolean isSameDay(LocalDateTime timestamp, LocalDateTime timestampToCompare) { + return timestamp.truncatedTo(DAYS).isEqual(timestampToCompare.truncatedTo(DAYS)); + } + + public static boolean isSameHour(LocalDateTime timestamp, LocalDateTime timestampToCompare) { + return timestamp.truncatedTo(HOURS).isEqual(timestampToCompare.truncatedTo(HOURS)); + } + + public static boolean isSameMinute(LocalDateTime timestamp, LocalDateTime timestampToCompare) { + return timestamp.truncatedTo(MINUTES).isEqual(timestampToCompare.truncatedTo(MINUTES)); + } + + public static boolean isSameHour(ZonedDateTime zonedTimestamp, ZonedDateTime zonedTimestampToCompare) { + return zonedTimestamp.truncatedTo(HOURS).isEqual(zonedTimestampToCompare.truncatedTo(HOURS)); + } + + public static boolean isSameHour(ZonedDateTime zonedDateTime, LocalDateTime localDateTime, ZoneId zoneId) { + return isSameHour(zonedDateTime, localDateTime.atZone(zoneId)); + } +} diff --git a/java-dates-2/src/main/java/com/baeldung/date/comparison/LegacyDateComparisonUtils.java b/java-dates-2/src/main/java/com/baeldung/date/comparison/LegacyDateComparisonUtils.java new file mode 100644 index 0000000000..9519bc316a --- /dev/null +++ b/java-dates-2/src/main/java/com/baeldung/date/comparison/LegacyDateComparisonUtils.java @@ -0,0 +1,17 @@ +package com.baeldung.date.comparison; + +import org.apache.commons.lang3.time.DateUtils; + +import java.util.Calendar; +import java.util.Date; + +public class LegacyDateComparisonUtils { + + public static boolean isSameDay(Date date, Date dateToCompare) { + return DateUtils.isSameDay(date, dateToCompare); + } + + public static boolean isSameHour(Date date, Date dateToCompare) { + return DateUtils.truncatedEquals(date, dateToCompare, Calendar.HOUR); + } +} diff --git a/java-dates-2/src/test/java/com/baeldung/date/comparison/DateTimeComparisonUtilsUnitTest.java b/java-dates-2/src/test/java/com/baeldung/date/comparison/DateTimeComparisonUtilsUnitTest.java new file mode 100644 index 0000000000..0db0d1e8d7 --- /dev/null +++ b/java-dates-2/src/test/java/com/baeldung/date/comparison/DateTimeComparisonUtilsUnitTest.java @@ -0,0 +1,75 @@ +package com.baeldung.date.comparison; + +import org.junit.jupiter.api.Test; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.ZonedDateTime; + +import static org.hamcrest.Matchers.is; +import static org.junit.Assert.assertThat; + +class DateTimeComparisonUtilsUnitTest { + + @Test + void givenLocalDateTimes_whenIsSameDay_thenCompareTrue() { + LocalDateTime firstTimestamp = LocalDateTime.of(2019, 8, 10, 11, 00, 0); + LocalDateTime secondTimestamp = firstTimestamp.plusHours(5); + LocalDateTime thirdTimestamp = firstTimestamp.plusDays(1); + + assertThat(DateTimeComparisonUtils.isSameDay(firstTimestamp, secondTimestamp), is(true)); + + assertThat(DateTimeComparisonUtils.isSameDay(secondTimestamp, thirdTimestamp), is(false)); + } + + @Test + void givenLocalDateAndLocalDateTime_whenIsSameDay_thenCompareTrue() { + LocalDate localDate = LocalDate.of(2019, 8, 10); + LocalDateTime localDateTime = LocalDateTime.of(2019, 8, 10, 11, 30, 0); + + assertThat(DateTimeComparisonUtils.isSameDay(localDateTime, localDate), is(true)); + } + + @Test + void givenLocalDateTimes_whenIsSameHour_thenCompareTrue() { + LocalDateTime firstTimestamp = LocalDateTime.of(2019, 8, 10, 8, 00, 0); + LocalDateTime secondTimestamp = firstTimestamp.plusMinutes(15); + LocalDateTime thirdTimestamp = firstTimestamp.plusHours(2); + + assertThat(DateTimeComparisonUtils.isSameHour(firstTimestamp, secondTimestamp), is(true)); + + assertThat(DateTimeComparisonUtils.isSameHour(secondTimestamp, thirdTimestamp), is(false)); + } + + @Test + void givenLocalDateTimes_whenIsSameMinute_thenCompareTrue() { + LocalDateTime firstTimestamp = LocalDateTime.of(2019, 8, 10, 8, 15, 0); + LocalDateTime secondTimestamp = firstTimestamp.plusSeconds(30); + LocalDateTime thirdTimestamp = firstTimestamp.plusMinutes(5); + + assertThat(DateTimeComparisonUtils.isSameMinute(firstTimestamp, secondTimestamp), is(true)); + + assertThat(DateTimeComparisonUtils.isSameMinute(secondTimestamp, thirdTimestamp), is(false)); + } + + @Test + void givenZonedDateTimes_whenIsSameHour_thenCompareTrue() { + ZonedDateTime zonedTimestamp = ZonedDateTime.of(2019, 8, 10, 8, 0, 0, 30, + ZoneId.of("America/New_York")); + ZonedDateTime zonedTimestampToCompare = ZonedDateTime.of(2019, 8, 10, 14, 0, 0, 0, + ZoneId.of("Europe/Berlin")); + + assertThat(DateTimeComparisonUtils.isSameHour(zonedTimestamp, zonedTimestampToCompare), is(true)); + } + + @Test + void givenZonedDateTimeAndLocalDateTime_whenIsSameHour_thenCompareTrue() { + ZonedDateTime zonedTimestamp = ZonedDateTime.of(2019, 8, 10, 8, 15, 0, 0, + ZoneId.of("America/New_York")); + LocalDateTime localTimestamp = LocalDateTime.of(2019, 8, 10, 14, 20, 0); + ZoneId zoneId = ZoneId.of("Europe/Berlin"); + + assertThat(DateTimeComparisonUtils.isSameHour(zonedTimestamp, localTimestamp, zoneId), is(true)); + } +} \ No newline at end of file diff --git a/java-dates-2/src/test/java/com/baeldung/date/comparison/Java8DateTimeApiGeneralComparisonsUnitTest.java b/java-dates-2/src/test/java/com/baeldung/date/comparison/Java8DateTimeApiGeneralComparisonsUnitTest.java new file mode 100644 index 0000000000..ff51476e7c --- /dev/null +++ b/java-dates-2/src/test/java/com/baeldung/date/comparison/Java8DateTimeApiGeneralComparisonsUnitTest.java @@ -0,0 +1,83 @@ +package com.baeldung.date.comparison; + +import org.junit.Test; + +import java.time.*; + +import static org.hamcrest.Matchers.is; +import static org.junit.Assert.assertThat; + +public class Java8DateTimeApiGeneralComparisonsUnitTest { + + @Test + public void givenLocalDates_whenComparing_thenAssertsPass() { + LocalDate firstDate = LocalDate.of(2019, 8, 10); + LocalDate secondDate = LocalDate.of(2019, 7, 1); + LocalDate thirdDate = LocalDate.of(2019, 7, 1); // same date as secondDate + + assertThat(firstDate.isAfter(secondDate), is(true)); + assertThat(firstDate.isBefore(secondDate), is(false)); + + assertThat(firstDate.isEqual(secondDate), is(false)); + assertThat(firstDate.equals(secondDate), is(false)); + + assertThat(firstDate.compareTo(secondDate), is(1)); + assertThat(secondDate.compareTo(firstDate), is(-1)); + + assertThat(secondDate.isAfter(thirdDate), is(false)); + assertThat(secondDate.isBefore(thirdDate), is(false)); + assertThat(secondDate.isEqual(thirdDate), is(true)); + assertThat(secondDate.equals(thirdDate), is(true)); + assertThat(secondDate.compareTo(thirdDate), is(0)); + } + + @Test + public void givenLocalDateTimes_whenComparing_thenAssertsPass() { + LocalDateTime firstTimestamp = LocalDateTime.of(2019, 8, 10, 11, 30, 0); + LocalDateTime secondTimestamp = LocalDateTime.of(2019, 8, 10, 11, 15, 0); + LocalDateTime thirdTimestamp = LocalDateTime.of(2019, 8, 10, 11, 15, 0); // same as secondTimestamp + + assertThat(firstTimestamp.isAfter(secondTimestamp), is(true)); + assertThat(firstTimestamp.isBefore(secondTimestamp), is(false)); + + assertThat(firstTimestamp.isEqual(secondTimestamp), is(false)); + assertThat(firstTimestamp.equals(secondTimestamp), is(false)); + + assertThat(firstTimestamp.compareTo(secondTimestamp), is(1)); + assertThat(secondTimestamp.compareTo(firstTimestamp), is(-1)); + + assertThat(secondTimestamp.isAfter(thirdTimestamp), is(false)); + assertThat(secondTimestamp.isBefore(thirdTimestamp), is(false)); + assertThat(secondTimestamp.isEqual(thirdTimestamp), is(true)); + assertThat(secondTimestamp.compareTo(thirdTimestamp), is(0)); + } + + @Test + public void givenZonedDateTimes_whenComparing_thenAssertsPass() { + ZonedDateTime timeInNewYork = ZonedDateTime.of(2019, 8, 10, 8, 0, 0, 0, + ZoneId.of("America/New_York")); + ZonedDateTime timeInBerlin = ZonedDateTime.of(2019, 8, 10, 14, 0, 0, 0, + ZoneId.of("Europe/Berlin")); + + assertThat(timeInNewYork.isAfter(timeInBerlin), is(false)); + assertThat(timeInNewYork.isBefore(timeInBerlin), is(false)); + + assertThat(timeInNewYork.isEqual(timeInBerlin), is(true)); + assertThat(timeInNewYork.equals(timeInBerlin), is(false)); + + assertThat(timeInNewYork.compareTo(timeInBerlin), is(-1)); + } + + @Test + public void givenLocalTimes_whenComparing_thenAssertsPass() { + LocalTime firstTime = LocalTime.of(8, 30); + LocalTime secondTime = LocalTime.of(9, 45); + + assertThat(firstTime.isAfter(secondTime), is(false)); + assertThat(firstTime.isBefore(secondTime), is(true)); + + assertThat(firstTime.equals(secondTime), is(false)); + + assertThat(firstTime.compareTo(secondTime), is(-1)); + } +} \ No newline at end of file diff --git a/java-dates-2/src/test/java/com/baeldung/date/comparison/LegacyDateComparisonUtilsUnitTest.java b/java-dates-2/src/test/java/com/baeldung/date/comparison/LegacyDateComparisonUtilsUnitTest.java new file mode 100644 index 0000000000..a501cb8888 --- /dev/null +++ b/java-dates-2/src/test/java/com/baeldung/date/comparison/LegacyDateComparisonUtilsUnitTest.java @@ -0,0 +1,54 @@ +package com.baeldung.date.comparison; + +import org.junit.jupiter.api.Test; + +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.util.Date; + +import static org.hamcrest.Matchers.is; +import static org.junit.Assert.assertThat; + +class LegacyDateComparisonUtilsUnitTest { + + private Date toDate(LocalDateTime localDateTime) { + return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant()); + } + + @Test + void givenDatesWithDifferentHours_whenIsSameDay_thenReturnsTrue() { + Date firstDate = toDate(LocalDateTime.of(2019, 8, 10, 11, 00, 00)); + Date secondDate = toDate(LocalDateTime.of(2019, 8, 10, 12, 00, 00)); + Date thirdDate = toDate(LocalDateTime.of(2019, 8, 15, 12, 00, 00)); + + assertThat(LegacyDateComparisonUtils.isSameDay(firstDate, secondDate), is(true)); + assertThat(LegacyDateComparisonUtils.isSameDay(secondDate, thirdDate), is(false)); + } + + @Test + void givenDatesWithingSameHour_whenIsSameHour_thenReturnsTrue() { + Date firstDate = toDate(LocalDateTime.of(2019, 8, 10, 11, 00, 00)); + Date secondDate = toDate(LocalDateTime.of(2019, 8, 10, 11, 15, 00)); + Date thirdDate = toDate(LocalDateTime.of(2019, 8, 10, 12, 00, 00)); + + assertThat(LegacyDateComparisonUtils.isSameHour(firstDate, secondDate), is(true)); + assertThat(LegacyDateComparisonUtils.isSameHour(secondDate, thirdDate), is(false)); + } + + @Test + void givenDates__whenComparing_thenAssertsPass() { + Date firstDate = toDate(LocalDateTime.of(2019, 8, 10, 0, 00, 00)); + Date secondDate = toDate(LocalDateTime.of(2019, 8, 15, 0, 00, 00)); + Date thirdDate = toDate(LocalDateTime.of(2019, 8, 15, 0, 00, 00)); // same date as secondDate + + assertThat(firstDate.after(secondDate), is(false)); + assertThat(firstDate.before(secondDate), is(true)); + assertThat(firstDate.compareTo(secondDate), is(-1)); + assertThat(firstDate.equals(secondDate), is(false)); + + assertThat(thirdDate.after(secondDate), is(false)); + assertThat(thirdDate.before(secondDate), is(false)); + assertThat(thirdDate.compareTo(secondDate), is(0)); + assertThat(thirdDate.equals(secondDate), is(true)); + } +} \ No newline at end of file From d78101176260809e5c0280650914ec08d570a87d Mon Sep 17 00:00:00 2001 From: dupirefr Date: Tue, 27 Aug 2019 07:36:52 +0200 Subject: [PATCH 029/316] [BAEL-3117] Moved code into operators module --- .../src/main/java/com/baeldung}/booleanoperators/Car.java | 2 +- .../test/java/com/baeldung}/booleanoperators/XorUnitTest.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename core-java-modules/{core-java/src/main/java/com/baeldung/java => core-java-lang-operators/src/main/java/com/baeldung}/booleanoperators/Car.java (93%) rename core-java-modules/{core-java/src/test/java/com/baeldung/java => core-java-lang-operators/src/test/java/com/baeldung}/booleanoperators/XorUnitTest.java (98%) diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/java/booleanoperators/Car.java b/core-java-modules/core-java-lang-operators/src/main/java/com/baeldung/booleanoperators/Car.java similarity index 93% rename from core-java-modules/core-java/src/main/java/com/baeldung/java/booleanoperators/Car.java rename to core-java-modules/core-java-lang-operators/src/main/java/com/baeldung/booleanoperators/Car.java index 7394895325..37fb139917 100644 --- a/core-java-modules/core-java/src/main/java/com/baeldung/java/booleanoperators/Car.java +++ b/core-java-modules/core-java-lang-operators/src/main/java/com/baeldung/booleanoperators/Car.java @@ -1,4 +1,4 @@ -package com.baeldung.java.booleanoperators; +package com.baeldung.booleanoperators; public class Car { diff --git a/core-java-modules/core-java/src/test/java/com/baeldung/java/booleanoperators/XorUnitTest.java b/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/booleanoperators/XorUnitTest.java similarity index 98% rename from core-java-modules/core-java/src/test/java/com/baeldung/java/booleanoperators/XorUnitTest.java rename to core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/booleanoperators/XorUnitTest.java index 70abc0266d..e3cee4888a 100644 --- a/core-java-modules/core-java/src/test/java/com/baeldung/java/booleanoperators/XorUnitTest.java +++ b/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/booleanoperators/XorUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.java.booleanoperators; +package com.baeldung.booleanoperators; import org.junit.jupiter.api.Test; From 1b0dea74f6b37fd9083764a90799831b7d3ea1f7 Mon Sep 17 00:00:00 2001 From: dupirefr Date: Tue, 27 Aug 2019 07:55:16 +0200 Subject: [PATCH 030/316] [BAEL-3117] Added integer xor --- .../booleanoperators/XorUnitTest.java | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/booleanoperators/XorUnitTest.java b/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/booleanoperators/XorUnitTest.java index e3cee4888a..efe38c6f45 100644 --- a/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/booleanoperators/XorUnitTest.java +++ b/core-java-modules/core-java-lang-operators/src/test/java/com/baeldung/booleanoperators/XorUnitTest.java @@ -7,58 +7,63 @@ import static org.assertj.core.api.Assertions.assertThat; class XorUnitTest { @Test - void givenDieselManualCar_whenXorOldSchool_ThenFalse() { + void givenDieselManualCar_whenXorOldSchool_thenFalse() { Car car = Car.dieselAndManualCar(); boolean dieselXorManual = (car.isDiesel() && !car.isManual()) || (!car.isDiesel() && car.isManual()); assertThat(dieselXorManual).isFalse(); } @Test - void givenDieselAutomaticCar_whenXorOldSchool_ThenTrue() { + void givenDieselAutomaticCar_whenXorOldSchool_thenTrue() { Car car = Car.dieselAndAutomaticCar(); boolean dieselXorManual = (car.isDiesel() && !car.isManual()) || (!car.isDiesel() && car.isManual()); assertThat(dieselXorManual).isTrue(); } @Test - void givenNonDieselManualCar_whenXorOldSchool_ThenTrue() { + void givenNonDieselManualCar_whenXorOldSchool_thenTrue() { Car car = Car.oilAndManualCar(); boolean dieselXorManual = (car.isDiesel() && !car.isManual()) || (!car.isDiesel() && car.isManual()); assertThat(dieselXorManual).isTrue(); } @Test - void givenNonDieselAutomaticCar_whenXorOldSchool_ThenFalse() { + void givenNonDieselAutomaticCar_whenXorOldSchool_thenFalse() { Car car = Car.oilAndAutomaticCar(); boolean dieselXorManual = (car.isDiesel() && !car.isManual()) || (!car.isDiesel() && car.isManual()); assertThat(dieselXorManual).isFalse(); } @Test - void givenDieselManualCar_whenXor_ThenFalse() { + void givenDieselManualCar_whenXor_thenFalse() { Car car = Car.dieselAndManualCar(); boolean dieselXorManual = car.isDiesel() ^ car.isManual(); assertThat(dieselXorManual).isFalse(); } @Test - void givenDieselAutomaticCar_whenXor_ThenTrue() { + void givenDieselAutomaticCar_whenXor_thenTrue() { Car car = Car.dieselAndAutomaticCar(); boolean dieselXorManual = car.isDiesel() ^ car.isManual(); assertThat(dieselXorManual).isTrue(); } @Test - void givenNonDieselManualCar_whenXor_ThenTrue() { + void givenNonDieselManualCar_whenXor_thenTrue() { Car car = Car.oilAndManualCar(); boolean dieselXorManual = car.isDiesel() ^ car.isManual(); assertThat(dieselXorManual).isTrue(); } @Test - void givenNonDieselAutomaticCar_whenXor_ThenFalse() { + void givenNonDieselAutomaticCar_whenXor_thenFalse() { Car car = Car.oilAndAutomaticCar(); boolean dieselXorManual = car.isDiesel() ^ car.isManual(); assertThat(dieselXorManual).isFalse(); } + + @Test + void givenNumbersOneAndThree_whenXor_thenTwo() { + assertThat(1 ^ 3).isEqualTo(2); + } } From 8f8679d8461b0d71e8fc290a570d67c2bcc4cfa2 Mon Sep 17 00:00:00 2001 From: Alexander Molochko Date: Tue, 27 Aug 2019 23:21:51 +0300 Subject: [PATCH 031/316] BAEL-790 Using JaVers for Data Model Auditing in Spring Data --- spring-boot-data/pom.xml | 49 ++++++++++--- .../javers/SpringBootJaVersApplication.java | 31 ++++++++ .../javers/config/JaversConfiguration.java | 20 +++++ .../com/baeldung/javers/domain/Address.java | 33 +++++++++ .../com/baeldung/javers/domain/Product.java | 61 ++++++++++++++++ .../com/baeldung/javers/domain/Store.java | 62 ++++++++++++++++ .../javers/repo/ProductRepository.java | 11 +++ .../baeldung/javers/repo/StoreRepository.java | 9 +++ .../baeldung/javers/service/StoreService.java | 59 +++++++++++++++ .../baeldung/javers/web/RebrandStoreDto.java | 5 ++ .../baeldung/javers/web/StoreController.java | 73 +++++++++++++++++++ .../baeldung/javers/web/UpdatePriceDto.java | 5 ++ .../src/main/resources/application.properties | 25 ++++++- 13 files changed, 432 insertions(+), 11 deletions(-) create mode 100644 spring-boot-data/src/main/java/com/baeldung/javers/SpringBootJaVersApplication.java create mode 100644 spring-boot-data/src/main/java/com/baeldung/javers/config/JaversConfiguration.java create mode 100644 spring-boot-data/src/main/java/com/baeldung/javers/domain/Address.java create mode 100644 spring-boot-data/src/main/java/com/baeldung/javers/domain/Product.java create mode 100644 spring-boot-data/src/main/java/com/baeldung/javers/domain/Store.java create mode 100644 spring-boot-data/src/main/java/com/baeldung/javers/repo/ProductRepository.java create mode 100644 spring-boot-data/src/main/java/com/baeldung/javers/repo/StoreRepository.java create mode 100644 spring-boot-data/src/main/java/com/baeldung/javers/service/StoreService.java create mode 100644 spring-boot-data/src/main/java/com/baeldung/javers/web/RebrandStoreDto.java create mode 100644 spring-boot-data/src/main/java/com/baeldung/javers/web/StoreController.java create mode 100644 spring-boot-data/src/main/java/com/baeldung/javers/web/UpdatePriceDto.java diff --git a/spring-boot-data/pom.xml b/spring-boot-data/pom.xml index 9c11e09f4a..83c4c5610f 100644 --- a/spring-boot-data/pom.xml +++ b/spring-boot-data/pom.xml @@ -6,44 +6,42 @@ war spring-boot-data Spring Boot Data Module - parent-boot-2 com.baeldung 0.0.1-SNAPSHOT ../parent-boot-2 - org.springframework.boot spring-boot-starter-data-redis 2.1.6.RELEASE - + + org.javers + javers-spring-boot-starter-sql + ${javers.version} + org.springframework.boot spring-boot-starter-data-mongodb 2.1.6.RELEASE - org.springframework.boot spring-boot-starter-data-jpa 2.1.6.RELEASE - com.h2database h2 1.4.197 - org.springframework.boot spring-boot-starter-web - org.springframework.boot spring-boot-starter-tomcat @@ -54,8 +52,8 @@ spring-boot-starter-test test - + spring-boot @@ -98,6 +96,14 @@ + + org.apache.maven.plugins + maven-compiler-plugin + + 8 + 8 + + @@ -106,6 +112,22 @@ autoconfiguration + + org.springframework.boot + spring-boot-maven-plugin + + com.baeldung.javers.SpringBootJaVersApplication + JAR + + + + org.apache.maven.plugins + maven-compiler-plugin + + 8 + 8 + + org.apache.maven.plugins maven-surefire-plugin @@ -133,14 +155,21 @@ + + org.apache.maven.plugins + maven-compiler-plugin + + 1.8 + 1.8 + + - com.baeldung.SpringBootDataApplication + 5.6.3 2.2.4 - diff --git a/spring-boot-data/src/main/java/com/baeldung/javers/SpringBootJaVersApplication.java b/spring-boot-data/src/main/java/com/baeldung/javers/SpringBootJaVersApplication.java new file mode 100644 index 0000000000..91c9b11af5 --- /dev/null +++ b/spring-boot-data/src/main/java/com/baeldung/javers/SpringBootJaVersApplication.java @@ -0,0 +1,31 @@ +package com.baeldung.javers; + +import com.baeldung.javers.domain.Address; +import com.baeldung.javers.domain.Product; +import com.baeldung.javers.domain.Store; +import com.baeldung.javers.repo.StoreRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.context.event.ApplicationReadyEvent; +import org.springframework.context.event.EventListener; + +@SpringBootApplication +public class SpringBootJaVersApplication { + @Autowired + StoreRepository storeRepository; + + public static void main(String[] args) { + SpringApplication.run(SpringBootJaVersApplication.class, args); + } + + @EventListener + public void appReady(ApplicationReadyEvent event) { + Store store = new Store("Baeldung store", new Address("Some street", 22222)); + for (int i = 1; i < 3; i++) { + Product product = new Product("Product #" + i, 100 * i); + store.addProduct(product); + } + storeRepository.save(store); + } +} diff --git a/spring-boot-data/src/main/java/com/baeldung/javers/config/JaversConfiguration.java b/spring-boot-data/src/main/java/com/baeldung/javers/config/JaversConfiguration.java new file mode 100644 index 0000000000..b230dcec1d --- /dev/null +++ b/spring-boot-data/src/main/java/com/baeldung/javers/config/JaversConfiguration.java @@ -0,0 +1,20 @@ +package com.baeldung.javers.config; + +import org.javers.spring.auditable.AuthorProvider; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class JaversConfiguration { + @Bean + public AuthorProvider provideJaversAuthor() { + return new SimpleAuthorProvider(); + } + + private static class SimpleAuthorProvider implements AuthorProvider { + @Override + public String provide() { + return "Baeldung Author"; + } + } +} diff --git a/spring-boot-data/src/main/java/com/baeldung/javers/domain/Address.java b/spring-boot-data/src/main/java/com/baeldung/javers/domain/Address.java new file mode 100644 index 0000000000..930276b3ee --- /dev/null +++ b/spring-boot-data/src/main/java/com/baeldung/javers/domain/Address.java @@ -0,0 +1,33 @@ +package com.baeldung.javers.domain; + +import javax.persistence.Embeddable; + +@Embeddable +public class Address { + private String address; + private Integer zipCode; + + public Address(String address, Integer zipCode) { + this.address = address; + this.zipCode = zipCode; + } + + public Address() { + } + + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + public Integer getZipCode() { + return zipCode; + } + + public void setZipCode(Integer zipCode) { + this.zipCode = zipCode; + } +} diff --git a/spring-boot-data/src/main/java/com/baeldung/javers/domain/Product.java b/spring-boot-data/src/main/java/com/baeldung/javers/domain/Product.java new file mode 100644 index 0000000000..61a2993bb9 --- /dev/null +++ b/spring-boot-data/src/main/java/com/baeldung/javers/domain/Product.java @@ -0,0 +1,61 @@ +package com.baeldung.javers.domain; + +import javax.persistence.*; + +@Entity +public class Product { + @Id + @GeneratedValue + private int id; + + private String name; + private double price; + + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "store_id") + private Store store; + + public Product(String name, double price) { + this.name = name; + this.price = price; + } + + public Product() { + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getPrice() { + return price; + } + + public void setPrice(double price) { + this.price = price; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public Store getStore() { + return store; + } + + public void setStore(Store store) { + this.store = store; + } + + public void setNamePrefix(String prefix) { + this.name = prefix + this.name; + } +} diff --git a/spring-boot-data/src/main/java/com/baeldung/javers/domain/Store.java b/spring-boot-data/src/main/java/com/baeldung/javers/domain/Store.java new file mode 100644 index 0000000000..5aa6686261 --- /dev/null +++ b/spring-boot-data/src/main/java/com/baeldung/javers/domain/Store.java @@ -0,0 +1,62 @@ +package com.baeldung.javers.domain; + +import javax.persistence.*; +import java.util.ArrayList; +import java.util.List; + +@Entity +public class Store { + @Id + @GeneratedValue + private int id; + private String name; + @Embedded + private Address address; + @OneToMany( + mappedBy = "store", + cascade = CascadeType.ALL, + orphanRemoval = true + ) + private List products = new ArrayList<>(); + + public Store(String name, Address address) { + this.name = name; + this.address = address; + } + + public Store() { + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Address getAddress() { + return address; + } + + public void setAddress(Address address) { + this.address = address; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public void addProduct(Product product) { + product.setStore(this); + this.products.add(product); + } + + public List getProducts() { + return this.products; + } +} diff --git a/spring-boot-data/src/main/java/com/baeldung/javers/repo/ProductRepository.java b/spring-boot-data/src/main/java/com/baeldung/javers/repo/ProductRepository.java new file mode 100644 index 0000000000..090ebe6742 --- /dev/null +++ b/spring-boot-data/src/main/java/com/baeldung/javers/repo/ProductRepository.java @@ -0,0 +1,11 @@ +package com.baeldung.javers.repo; + +import com.baeldung.javers.domain.Product; +import org.javers.spring.annotation.JaversAuditable; +import org.springframework.data.repository.CrudRepository; + +public interface ProductRepository extends CrudRepository { + @Override + @JaversAuditable + S save(S s); +} diff --git a/spring-boot-data/src/main/java/com/baeldung/javers/repo/StoreRepository.java b/spring-boot-data/src/main/java/com/baeldung/javers/repo/StoreRepository.java new file mode 100644 index 0000000000..aa9d07c4c8 --- /dev/null +++ b/spring-boot-data/src/main/java/com/baeldung/javers/repo/StoreRepository.java @@ -0,0 +1,9 @@ +package com.baeldung.javers.repo; + +import com.baeldung.javers.domain.Store; +import org.javers.spring.annotation.JaversSpringDataAuditable; +import org.springframework.data.repository.CrudRepository; + +@JaversSpringDataAuditable +public interface StoreRepository extends CrudRepository { +} diff --git a/spring-boot-data/src/main/java/com/baeldung/javers/service/StoreService.java b/spring-boot-data/src/main/java/com/baeldung/javers/service/StoreService.java new file mode 100644 index 0000000000..2977f715cb --- /dev/null +++ b/spring-boot-data/src/main/java/com/baeldung/javers/service/StoreService.java @@ -0,0 +1,59 @@ +package com.baeldung.javers.service; + + +import com.baeldung.javers.domain.Product; +import com.baeldung.javers.domain.Store; +import com.baeldung.javers.repo.ProductRepository; +import com.baeldung.javers.repo.StoreRepository; +import org.springframework.stereotype.Service; + +import java.util.Optional; +import java.util.Random; + +@Service +public class StoreService { + private final ProductRepository productRepository; + private final StoreRepository storeRepository; + + public StoreService(ProductRepository productRepository, StoreRepository storeRepository) { + this.productRepository = productRepository; + this.storeRepository = storeRepository; + } + + public void updateProductPrice(Integer productId, Double price) { + Optional productOpt = productRepository.findById(productId); + productOpt.ifPresent(product -> { + product.setPrice(price); + productRepository.save(product); + }); + } + + public void rebrandStore(int storeId, String updatedName) { + Optional storeOpt = storeRepository.findById(storeId); + storeOpt.ifPresent(store -> { + store.setName(updatedName); + store.getProducts().forEach(product -> { + product.setNamePrefix(updatedName); + }); + storeRepository.save(store); + }); + } + + public void createRandomProduct(Integer storeId) { + Optional storeOpt = this.storeRepository.findById(storeId); + storeOpt.ifPresent(store -> { + Random random = new Random(); + Product product = new Product("Product#" + random.nextInt(), random.nextDouble() * 100); + store.addProduct(product); + storeRepository.save(store); + }); + } + + public Store findStoreById(int storeId) { + return storeRepository.findById(storeId).get(); + } + + public Product findProductById(int id) { + return this.productRepository.findById(id).get(); + } +} diff --git a/spring-boot-data/src/main/java/com/baeldung/javers/web/RebrandStoreDto.java b/spring-boot-data/src/main/java/com/baeldung/javers/web/RebrandStoreDto.java new file mode 100644 index 0000000000..c9681add40 --- /dev/null +++ b/spring-boot-data/src/main/java/com/baeldung/javers/web/RebrandStoreDto.java @@ -0,0 +1,5 @@ +package com.baeldung.javers.web; + +public class RebrandStoreDto { + public String name; +} diff --git a/spring-boot-data/src/main/java/com/baeldung/javers/web/StoreController.java b/spring-boot-data/src/main/java/com/baeldung/javers/web/StoreController.java new file mode 100644 index 0000000000..89c3c03a11 --- /dev/null +++ b/spring-boot-data/src/main/java/com/baeldung/javers/web/StoreController.java @@ -0,0 +1,73 @@ +package com.baeldung.javers.web; + +import com.baeldung.javers.domain.Product; +import com.baeldung.javers.domain.Store; +import com.baeldung.javers.service.StoreService; +import org.javers.core.Changes; +import org.javers.core.Javers; +import org.javers.core.metamodel.object.CdoSnapshot; +import org.javers.repository.jql.JqlQuery; +import org.javers.repository.jql.QueryBuilder; +import org.javers.shadow.Shadow; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +public class StoreController { + private final StoreService storeService; + private final Javers javers; + + public StoreController(StoreService customerService, Javers javers) { + this.storeService = customerService; + this.javers = javers; + } + + @PostMapping("/stores/{storeId}/products/random") + public void createRandomProduct(@PathVariable final Integer storeId) { + storeService.createRandomProduct(storeId); + } + + @PostMapping("/stores/{storeId}/rebrand") + public void rebrandStore(@PathVariable final Integer storeId, @RequestBody RebrandStoreDto rebrandStoreDto) { + storeService.rebrandStore(storeId, rebrandStoreDto.name); + } + + @PostMapping(value = "/stores/{storeId}/products/{productId}/price", consumes = MediaType.APPLICATION_JSON_VALUE) + public void updateProductPrice(@PathVariable final Integer productId, @PathVariable String storeId, @RequestBody UpdatePriceDto priceDto) { + storeService.updateProductPrice(productId, priceDto.price); + } + + @GetMapping("/products/{productId}/changes") + public String getProductChanges(@PathVariable int productId) { + Product product = storeService.findProductById(productId); + QueryBuilder jqlQuery = QueryBuilder.byInstance(product); + Changes changes = javers.findChanges(jqlQuery.build()); + return javers.getJsonConverter().toJson(changes); + } + + @GetMapping("/products/snapshots") + public String getProductSnapshots() { + QueryBuilder jqlQuery = QueryBuilder.byClass(Product.class); + List snapshots = javers.findSnapshots(jqlQuery.build()); + return javers.getJsonConverter().toJson(snapshots); + } + + @GetMapping("/stores/{storeId}/shadows") + public String getStoreShadows(@PathVariable int storeId) { + Store store = storeService.findStoreById(storeId); + JqlQuery jqlQuery = QueryBuilder.byInstance(store) + .withChildValueObjects().build(); + List> shadows = javers.findShadows(jqlQuery); + return javers.getJsonConverter().toJson(shadows.get(0)); + } + + @GetMapping("/stores/snapshots") + public String getStoresSnapshots() { + QueryBuilder jqlQuery = QueryBuilder.byClass(Store.class); + List snapshots = javers.findSnapshots(jqlQuery.build()); + return javers.getJsonConverter().toJson(snapshots); + } + +} diff --git a/spring-boot-data/src/main/java/com/baeldung/javers/web/UpdatePriceDto.java b/spring-boot-data/src/main/java/com/baeldung/javers/web/UpdatePriceDto.java new file mode 100644 index 0000000000..02808a8134 --- /dev/null +++ b/spring-boot-data/src/main/java/com/baeldung/javers/web/UpdatePriceDto.java @@ -0,0 +1,5 @@ +package com.baeldung.javers.web; + +public class UpdatePriceDto { + public double price; +} diff --git a/spring-boot-data/src/main/resources/application.properties b/spring-boot-data/src/main/resources/application.properties index 845b783634..6378a48506 100644 --- a/spring-boot-data/src/main/resources/application.properties +++ b/spring-boot-data/src/main/resources/application.properties @@ -1,2 +1,25 @@ spring.jackson.date-format=yyyy-MM-dd HH:mm:ss -spring.jackson.time-zone=Europe/Zagreb \ No newline at end of file +spring.jackson.time-zone=Europe/Zagreb +spring.h2.console.path=/h2 +spring.h2.console.enabled=true +spring.datasource.url=jdbc:h2:mem:testdb +spring.datasource.driver-class-name=org.h2.Driver +spring.datasource.username=sa +spring.datasource.password= +spring.main.allow-bean-definition-overriding=true +javers.mappingStyle=FIELD +javers.algorithm=SIMPLE +javers.commitIdGenerator=synchronized_sequence +javers.prettyPrint=true +javers.typeSafeValues=false +javers.newObjectSnapshot=true +javers.packagesToScan= +javers.auditableAspectEnabled=true +javers.springDataAuditableRepositoryAspectEnabled=true +javers.sqlSchema= +javers.sqlSchemaManagementEnabled=true +javers.prettyPrintDateFormats.localDateTime=dd MMM yyyy, HH:mm:ss +javers.prettyPrintDateFormats.zonedDateTime=dd MMM yyyy, HH:mm:ssZ +javers.prettyPrintDateFormats.localDate=dd MMM yyyy +javers.prettyPrintDateFormats.localTime=HH:mm:ss + From 0eedbaa5f4da4570137da7105dd82a9089817a3d Mon Sep 17 00:00:00 2001 From: pazis Date: Wed, 28 Aug 2019 11:00:23 +0000 Subject: [PATCH 032/316] stax fix --- .../com/baeldung/xml/stax/StaxParser.java | 65 ++++++++++--------- .../baeldung/xml/stax/StaxParserUnitTest.java | 4 +- 2 files changed, 38 insertions(+), 31 deletions(-) diff --git a/xml/src/main/java/com/baeldung/xml/stax/StaxParser.java b/xml/src/main/java/com/baeldung/xml/stax/StaxParser.java index 6c06bfdb17..9e3b5e8b0f 100644 --- a/xml/src/main/java/com/baeldung/xml/stax/StaxParser.java +++ b/xml/src/main/java/com/baeldung/xml/stax/StaxParser.java @@ -1,4 +1,5 @@ package com.baeldung.xml.stax; + import java.io.FileInputStream; import java.io.FileNotFoundException; import java.util.List; @@ -16,52 +17,58 @@ import javax.xml.namespace.QName; public class StaxParser { public static List parse(String path) { - List webSites = new ArrayList(); - WebSite webSite = null; + List websites = new ArrayList(); + WebSite website = null; XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance(); try { XMLEventReader reader = xmlInputFactory.createXMLEventReader(new FileInputStream(path)); - while(reader.hasNext()){ + while (reader.hasNext()) { XMLEvent nextEvent = reader.nextEvent(); - if (nextEvent.isStartElement()){ + if (nextEvent.isStartElement()) { StartElement startElement = nextEvent.asStartElement(); - switch (startElement.getName().getLocalPart()) { - case "website": - webSite = new WebSite(); - Attribute url = startElement.getAttributeByName(new QName("url")); - if (url != null) { - webSite.setUrl(url.getValue()); - } - break; - case "name": - nextEvent = reader.nextEvent(); - webSite.setName(nextEvent.asCharacters().getData()); - break; - case "category": - nextEvent = reader.nextEvent(); - webSite.setCategory(nextEvent.asCharacters().getData()); - break; - case "status": - nextEvent = reader.nextEvent(); - webSite.setStatus(nextEvent.asCharacters().getData()); - break; + switch (startElement.getName() + .getLocalPart()) { + case "website": + website = new WebSite(); + Attribute url = startElement.getAttributeByName(new QName("url")); + if (url != null) { + website.setUrl(url.getValue()); + } + break; + case "name": + nextEvent = reader.nextEvent(); + website.setName(nextEvent.asCharacters() + .getData()); + break; + case "category": + nextEvent = reader.nextEvent(); + website.setCategory(nextEvent.asCharacters() + .getData()); + break; + case "status": + nextEvent = reader.nextEvent(); + website.setStatus(nextEvent.asCharacters() + .getData()); + break; } } - if(nextEvent.isEndElement()){ + if (nextEvent.isEndElement()) { EndElement endElement = nextEvent.asEndElement(); - if(endElement.getName().getLocalPart().equals("website")){ - webSites.add(webSite); + if (endElement.getName() + .getLocalPart() + .equals("website")) { + websites.add(website); } } } - } catch (XMLStreamException xse){ + } catch (XMLStreamException xse) { System.out.println("XMLStreamException"); xse.printStackTrace(); } catch (FileNotFoundException fnfe) { System.out.println("FileNotFoundException"); fnfe.printStackTrace(); } - return webSites; + return websites; } } diff --git a/xml/src/test/java/com/baeldung/xml/stax/StaxParserUnitTest.java b/xml/src/test/java/com/baeldung/xml/stax/StaxParserUnitTest.java index 7629487e11..587c2adf3b 100644 --- a/xml/src/test/java/com/baeldung/xml/stax/StaxParserUnitTest.java +++ b/xml/src/test/java/com/baeldung/xml/stax/StaxParserUnitTest.java @@ -20,12 +20,12 @@ public class StaxParserUnitTest { @Test public void givenWebsitesXML_whenParsed_thenSizeIsThree() { List websites = StaxParser.parse("src/test/resources/xml/websites.xml"); - assertTrue(websites.size() == 3); + assertEquals(3, websites.size()); } @Test public void givenWebsitesXML_whenParsed_thenLocalhostExists() { List websites = StaxParser.parse("src/test/resources/xml/websites.xml"); - assertEquals(websites.get(2).getName(),"Localhost"); + assertEquals("Localhost", websites.get(2).getName()); } } From 62eb0f742861df6122bba8812449e92d07948ce1 Mon Sep 17 00:00:00 2001 From: maryarm Date: Wed, 28 Aug 2019 20:00:29 +0430 Subject: [PATCH 033/316] BAEL-3009: Logging Spring WebClient calls --- spring-5-reactive-client/pom.xml | 12 +- .../WebClientLoggingIntegrationTest.java | 150 ++++++++++++++++++ .../reactive/logging/filters/LogFilters.java | 33 ++++ .../logging/jetty/RequestLogEnhancer.java | 88 ++++++++++ .../reactive/logging/netty/CustomLogger.java | 37 +++++ .../src/test/resources/logback-test.xml | 8 +- 6 files changed, 324 insertions(+), 4 deletions(-) create mode 100644 spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/WebClientLoggingIntegrationTest.java create mode 100644 spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/filters/LogFilters.java create mode 100644 spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/jetty/RequestLogEnhancer.java create mode 100644 spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/netty/CustomLogger.java diff --git a/spring-5-reactive-client/pom.xml b/spring-5-reactive-client/pom.xml index 1b71815eb4..5e9fdd9fb4 100644 --- a/spring-5-reactive-client/pom.xml +++ b/spring-5-reactive-client/pom.xml @@ -1,6 +1,6 @@ + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 spring-5-reactive-client spring-5-reactive-client @@ -56,7 +56,6 @@ - org.springframework.boot spring-boot-devtools @@ -89,6 +88,14 @@ org.projectlombok lombok + + + + org.eclipse.jetty + jetty-reactive-httpclient + ${jetty-reactive-httpclient.version} + test + @@ -110,6 +117,7 @@ 1.0 1.0 4.1 + 1.0.3 diff --git a/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/WebClientLoggingIntegrationTest.java b/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/WebClientLoggingIntegrationTest.java new file mode 100644 index 0000000000..bb88502132 --- /dev/null +++ b/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/WebClientLoggingIntegrationTest.java @@ -0,0 +1,150 @@ +package com.baeldung.reactive.logging; + +import ch.qos.logback.classic.spi.LoggingEvent; +import ch.qos.logback.core.Appender; +import com.baeldung.reactive.logging.filters.LogFilters; +import com.baeldung.reactive.logging.jetty.RequestLogEnhancer; +import com.baeldung.reactive.logging.netty.CustomLogger; +import com.fasterxml.jackson.databind.ObjectMapper; +import java.net.URI; +import lombok.AllArgsConstructor; +import lombok.Data; +import org.eclipse.jetty.client.api.Request; +import org.eclipse.jetty.util.ssl.SslContextFactory; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.slf4j.LoggerFactory; +import org.springframework.http.client.reactive.JettyClientHttpConnector; +import org.springframework.http.client.reactive.ReactorClientHttpConnector; +import org.springframework.web.reactive.function.BodyInserters; +import org.springframework.web.reactive.function.client.WebClient; +import reactor.netty.channel.BootstrapHandlers; +import reactor.netty.http.client.HttpClient; + +import static org.mockito.ArgumentMatchers.argThat; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + + +public class WebClientLoggingIntegrationTest { + + @AllArgsConstructor + @Data + class Post { + private String title; + private String body; + private int userId; + } + + private Appender jettyAppender; + private Appender nettyAppender; + private Appender mockAppender; + private String sampleUrl = "https://jsonplaceholder.typicode.com/posts"; + + private Post post; + private String sampleResponseBody; + + @BeforeEach + private void setup() throws Exception { + + post = new Post("Learn WebClient logging with Baeldung!", "", 1); + sampleResponseBody = new ObjectMapper().writeValueAsString(post); + + ch.qos.logback.classic.Logger jetty = (ch.qos.logback.classic.Logger) LoggerFactory.getLogger("com.baeldung.reactive.logging.jetty"); + jettyAppender = mock(Appender.class); + when(jettyAppender.getName()).thenReturn("com.baeldung.reactive.logging.jetty"); + jetty.addAppender(jettyAppender); + + ch.qos.logback.classic.Logger netty = (ch.qos.logback.classic.Logger) LoggerFactory.getLogger("reactor.netty.http.client"); + nettyAppender = mock(Appender.class); + when(nettyAppender.getName()).thenReturn("reactor.netty.http.client"); + netty.addAppender(nettyAppender); + + ch.qos.logback.classic.Logger test = (ch.qos.logback.classic.Logger) LoggerFactory.getLogger("com.baeldung.reactive"); + mockAppender = mock(Appender.class); + when(mockAppender.getName()).thenReturn("com.baeldung.reactive"); + test.addAppender(mockAppender); + + } + + @Test + public void givenJettyHttpClient_whenEndpointIsConsumed_thenRequestAndResponseBodyShouldBeLogged() { + SslContextFactory.Client sslContextFactory = new SslContextFactory.Client(); + org.eclipse.jetty.client.HttpClient httpClient = new org.eclipse.jetty.client.HttpClient(sslContextFactory) { + @Override + public Request newRequest(URI uri) { + Request request = super.newRequest(uri); + return new RequestLogEnhancer().enhance(request); + } + }; + + WebClient + .builder() + .clientConnector(new JettyClientHttpConnector(httpClient)) + .build() + .post() + .uri(sampleUrl) + .body(BodyInserters.fromObject(post)) + .retrieve() + .bodyToMono(String.class) + .block(); + + verify(jettyAppender).doAppend(argThat(argument -> (((LoggingEvent) argument).getFormattedMessage()).contains(sampleResponseBody))); + } + + @Test + public void givenNettyHttpClientWithWiretap_whenEndpointIsConsumed_thenRequestAndResponseBodyShouldBeLogged() { + + reactor.netty.http.client.HttpClient httpClient = HttpClient + .create() + .wiretap(true); + WebClient + .builder() + .clientConnector(new ReactorClientHttpConnector(httpClient)) + .build() + .post() + .uri(sampleUrl) + .body(BodyInserters.fromObject(post)) + .exchange() + .block(); + verify(nettyAppender).doAppend(argThat(argument -> (((LoggingEvent) argument).getFormattedMessage()).contains("00000300"))); + } + + @Test + public void givenNettyHttpClientWithCustomLogger_whenEndpointIsConsumed_thenRequestAndResponseBodyShouldBeLogged() { + + reactor.netty.http.client.HttpClient httpClient = HttpClient + .create() + .tcpConfiguration(tcpClient -> tcpClient.bootstrap(b -> BootstrapHandlers.updateLogSupport(b, new CustomLogger(HttpClient.class)))); + WebClient + .builder() + .clientConnector(new ReactorClientHttpConnector(httpClient)) + .build() + .post() + .uri(sampleUrl) + .body(BodyInserters.fromObject(post)) + .exchange() + .block(); + verify(nettyAppender).doAppend(argThat(argument -> (((LoggingEvent) argument).getFormattedMessage()).contains(sampleResponseBody))); + } + + @Test + public void givenDefaultHttpClientWithString_whenEndpointIsConsumed_thenRequestAndResponseLogged() { + WebClient + .builder() + .filters(exchangeFilterFunctions -> { + exchangeFilterFunctions.addAll(LogFilters.prepareFilters()); + }) + .build() + .post() + .uri(sampleUrl) + .body(BodyInserters.fromObject(post)) + .exchange() + .block(); + + verify(mockAppender).doAppend(argThat(argument -> (((LoggingEvent) argument).getFormattedMessage()).contains("domain=.typicode.com;"))); + } + + +} diff --git a/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/filters/LogFilters.java b/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/filters/LogFilters.java new file mode 100644 index 0000000000..8bb4c2aecd --- /dev/null +++ b/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/filters/LogFilters.java @@ -0,0 +1,33 @@ +package com.baeldung.reactive.logging.filters; + +import java.util.Arrays; +import java.util.List; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.reactive.function.client.ExchangeFilterFunction; +import reactor.core.publisher.Mono; + +@Slf4j +public class LogFilters { + public static List prepareFilters(){ + return Arrays.asList(ExchangeFilterFunction.ofRequestProcessor(clientRequest -> { + if ( log.isDebugEnabled()) { + StringBuilder sb = new StringBuilder("Request: \n").append(clientRequest.method()).append(" ").append(clientRequest.url()); + clientRequest + .headers() + .forEach((name, values) -> values.forEach(value -> sb.append("\n").append(name).append(":").append(value))); + log.debug(sb.toString()); + } + return Mono.just(clientRequest); + }), ExchangeFilterFunction.ofResponseProcessor(clientResponse -> { + if ( log.isDebugEnabled()) { + StringBuilder sb = new StringBuilder("Response: \n").append("Status: ").append(clientResponse.rawStatusCode()); + clientResponse + .headers() + .asHttpHeaders() + .forEach((key, value1) -> value1.forEach(value -> sb.append("\n").append(key).append(":").append(value))); + log.debug(sb.toString()); + } + return Mono.just(clientResponse); + })); + } +} diff --git a/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/jetty/RequestLogEnhancer.java b/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/jetty/RequestLogEnhancer.java new file mode 100644 index 0000000000..334faf2c91 --- /dev/null +++ b/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/jetty/RequestLogEnhancer.java @@ -0,0 +1,88 @@ +package com.baeldung.reactive.logging.jetty; + +import java.nio.ByteBuffer; +import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; +import java.util.Locale; +import lombok.extern.slf4j.Slf4j; +import org.eclipse.jetty.client.api.Request; +import org.eclipse.jetty.http.HttpField; +import org.eclipse.jetty.http.HttpFields; +import org.eclipse.jetty.http.HttpHeader; + +@Slf4j +public class RequestLogEnhancer { + + public Request enhance(Request request) { + StringBuilder group = new StringBuilder(); + request.onRequestBegin(theRequest -> group + .append("Request ") + .append(theRequest.getMethod()) + .append(" ") + .append(theRequest.getURI()) + .append("\n")); + request.onRequestHeaders(theRequest -> { + for (HttpField header : theRequest.getHeaders()) + group + .append(header) + .append("\n"); + }); + request.onRequestContent((theRequest, content) -> group.append(toString(content, getCharset(theRequest.getHeaders())))); + request.onRequestSuccess(theRequest -> { + log.debug(group.toString()); + group.delete(0, group.length()); + }); + group.append("\n"); + request.onResponseBegin(theResponse -> { + group + .append("Response \n ") + .append(theResponse.getVersion()) + .append(" ") + .append(theResponse.getStatus()); + if (theResponse.getReason() != null) group + .append(" ") + .append(theResponse.getReason()); + group.append("\n"); + }); + request.onResponseHeaders(theResponse -> { + for (HttpField header : theResponse.getHeaders()) + group + .append(header) + .append("\n"); + }); + request.onResponseContent((theResponse, content) -> group.append(toString(content, getCharset(theResponse.getHeaders())))); + request.onResponseSuccess(theResponse -> { + log.debug(group.toString()); + }); + return request; + } + + + private String toString(ByteBuffer buffer, Charset charset) + { + byte[] bytes; + if (buffer.hasArray()) { + bytes = new byte[buffer.capacity()]; + System.arraycopy(buffer.array(), 0, bytes, 0, buffer.capacity() ); + } + else + { + bytes = new byte[buffer.remaining()]; + buffer.get(bytes, 0, bytes.length); + } + return new String(bytes, charset); + } + + + private Charset getCharset(HttpFields headers) { + String contentType = headers.get(HttpHeader.CONTENT_TYPE); + if (contentType == null) return StandardCharsets.UTF_8; + String[] tokens = contentType + .toLowerCase(Locale.US) + .split("charset="); + if (tokens.length != 2) return StandardCharsets.UTF_8; + String encoding = tokens[1].replaceAll("[;\"]", ""); + return Charset.forName(encoding); + } +} + diff --git a/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/netty/CustomLogger.java b/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/netty/CustomLogger.java new file mode 100644 index 0000000000..df7c65f33f --- /dev/null +++ b/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/netty/CustomLogger.java @@ -0,0 +1,37 @@ +package com.baeldung.reactive.logging.netty; + +import io.netty.buffer.ByteBuf; +import io.netty.channel.ChannelHandlerContext; +import io.netty.handler.logging.LoggingHandler; +import io.netty.util.internal.PlatformDependent; +import java.nio.charset.Charset; + +public class CustomLogger extends LoggingHandler { + public CustomLogger(Class clazz) { + super(clazz); + } + + @Override + protected String format(ChannelHandlerContext ctx, String eventName, Object arg) { + if (arg instanceof ByteBuf) { + ByteBuf msg = (ByteBuf) arg; + return decodeString(msg, msg.readerIndex(), msg.readableBytes(), Charset.defaultCharset()); + } + return ""; + } + + private String decodeString(ByteBuf src, int readerIndex, int len, Charset charset) { + if (len == 0) return ""; + byte[] array; + int offset; + if (src.hasArray()) { + array = src.array(); + offset = src.arrayOffset() + readerIndex; + } else { + array = PlatformDependent.allocateUninitializedArray(Math.max(len, 1024)); + offset = 0; + src.getBytes(readerIndex, array, 0, len); + } + return new String(array, offset, len, charset); + } +} diff --git a/spring-5-reactive-client/src/test/resources/logback-test.xml b/spring-5-reactive-client/src/test/resources/logback-test.xml index 7072369b8d..42cb0865c5 100644 --- a/spring-5-reactive-client/src/test/resources/logback-test.xml +++ b/spring-5-reactive-client/src/test/resources/logback-test.xml @@ -6,11 +6,15 @@ %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n - + + + + + - + \ No newline at end of file From 52a90adf92e086cab6d2900064ed257f9ca070d8 Mon Sep 17 00:00:00 2001 From: maryarm Date: Thu, 29 Aug 2019 16:25:30 +0430 Subject: [PATCH 034/316] BAEL-3009: Apply review notes and formatting standards. --- spring-5-reactive-client/pom.xml | 2 +- .../WebClientLoggingIntegrationTest.java | 4 +- .../reactive/logging/filters/LogFilters.java | 41 +++++++++++++---- .../logging/jetty/RequestLogEnhancer.java | 46 ++++++++++--------- .../reactive/logging/netty/CustomLogger.java | 35 ++++++++------ 5 files changed, 80 insertions(+), 48 deletions(-) diff --git a/spring-5-reactive-client/pom.xml b/spring-5-reactive-client/pom.xml index 5e9fdd9fb4..70771f6832 100644 --- a/spring-5-reactive-client/pom.xml +++ b/spring-5-reactive-client/pom.xml @@ -1,6 +1,6 @@ + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 spring-5-reactive-client spring-5-reactive-client diff --git a/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/WebClientLoggingIntegrationTest.java b/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/WebClientLoggingIntegrationTest.java index bb88502132..d5f1ef77a0 100644 --- a/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/WebClientLoggingIntegrationTest.java +++ b/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/WebClientLoggingIntegrationTest.java @@ -116,7 +116,9 @@ public class WebClientLoggingIntegrationTest { reactor.netty.http.client.HttpClient httpClient = HttpClient .create() - .tcpConfiguration(tcpClient -> tcpClient.bootstrap(b -> BootstrapHandlers.updateLogSupport(b, new CustomLogger(HttpClient.class)))); + .tcpConfiguration( + tc -> tc.bootstrap( + b -> BootstrapHandlers.updateLogSupport(b, new CustomLogger(HttpClient.class)))); WebClient .builder() .clientConnector(new ReactorClientHttpConnector(httpClient)) diff --git a/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/filters/LogFilters.java b/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/filters/LogFilters.java index 8bb4c2aecd..c1c3d3e895 100644 --- a/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/filters/LogFilters.java +++ b/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/filters/LogFilters.java @@ -8,26 +8,47 @@ import reactor.core.publisher.Mono; @Slf4j public class LogFilters { - public static List prepareFilters(){ - return Arrays.asList(ExchangeFilterFunction.ofRequestProcessor(clientRequest -> { - if ( log.isDebugEnabled()) { - StringBuilder sb = new StringBuilder("Request: \n").append(clientRequest.method()).append(" ").append(clientRequest.url()); + public static List prepareFilters() { + return Arrays.asList(logRequest(), logResponse()); + } + + private static ExchangeFilterFunction logRequest() { + return ExchangeFilterFunction.ofRequestProcessor(clientRequest -> { + if (log.isDebugEnabled()) { + StringBuilder sb = new StringBuilder("Request: \n") + .append(clientRequest.method()) + .append(" ") + .append(clientRequest.url()); clientRequest .headers() - .forEach((name, values) -> values.forEach(value -> sb.append("\n").append(name).append(":").append(value))); + .forEach((name, values) -> values.forEach(value -> sb + .append("\n") + .append(name) + .append(":") + .append(value))); log.debug(sb.toString()); } return Mono.just(clientRequest); - }), ExchangeFilterFunction.ofResponseProcessor(clientResponse -> { - if ( log.isDebugEnabled()) { - StringBuilder sb = new StringBuilder("Response: \n").append("Status: ").append(clientResponse.rawStatusCode()); + }); + } + + private static ExchangeFilterFunction logResponse() { + return ExchangeFilterFunction.ofResponseProcessor(clientResponse -> { + if (log.isDebugEnabled()) { + StringBuilder sb = new StringBuilder("Response: \n") + .append("Status: ") + .append(clientResponse.rawStatusCode()); clientResponse .headers() .asHttpHeaders() - .forEach((key, value1) -> value1.forEach(value -> sb.append("\n").append(key).append(":").append(value))); + .forEach((key, value1) -> value1.forEach(value -> sb + .append("\n") + .append(key) + .append(":") + .append(value))); log.debug(sb.toString()); } return Mono.just(clientResponse); - })); + }); } } diff --git a/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/jetty/RequestLogEnhancer.java b/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/jetty/RequestLogEnhancer.java index 334faf2c91..ac333feb6c 100644 --- a/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/jetty/RequestLogEnhancer.java +++ b/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/jetty/RequestLogEnhancer.java @@ -27,7 +27,9 @@ public class RequestLogEnhancer { .append(header) .append("\n"); }); - request.onRequestContent((theRequest, content) -> group.append(toString(content, getCharset(theRequest.getHeaders())))); + request.onRequestContent((theRequest, content) -> { + group.append(toString(content, getCharset(theRequest.getHeaders()))); + }); request.onRequestSuccess(theRequest -> { log.debug(group.toString()); group.delete(0, group.length()); @@ -35,13 +37,15 @@ public class RequestLogEnhancer { group.append("\n"); request.onResponseBegin(theResponse -> { group - .append("Response \n ") + .append("Response \n") .append(theResponse.getVersion()) .append(" ") .append(theResponse.getStatus()); - if (theResponse.getReason() != null) group - .append(" ") - .append(theResponse.getReason()); + if (theResponse.getReason() != null) { + group + .append(" ") + .append(theResponse.getReason()); + } group.append("\n"); }); request.onResponseHeaders(theResponse -> { @@ -50,39 +54,39 @@ public class RequestLogEnhancer { .append(header) .append("\n"); }); - request.onResponseContent((theResponse, content) -> group.append(toString(content, getCharset(theResponse.getHeaders())))); + request.onResponseContent((theResponse, content) -> { + group.append(toString(content, getCharset(theResponse.getHeaders()))); + }); request.onResponseSuccess(theResponse -> { log.debug(group.toString()); }); return request; } - - private String toString(ByteBuffer buffer, Charset charset) - { + private String toString(ByteBuffer buffer, Charset charset) { byte[] bytes; if (buffer.hasArray()) { bytes = new byte[buffer.capacity()]; - System.arraycopy(buffer.array(), 0, bytes, 0, buffer.capacity() ); - } - else - { + System.arraycopy(buffer.array(), 0, bytes, 0, buffer.capacity()); + } else { bytes = new byte[buffer.remaining()]; buffer.get(bytes, 0, bytes.length); } return new String(bytes, charset); } - private Charset getCharset(HttpFields headers) { String contentType = headers.get(HttpHeader.CONTENT_TYPE); - if (contentType == null) return StandardCharsets.UTF_8; - String[] tokens = contentType - .toLowerCase(Locale.US) - .split("charset="); - if (tokens.length != 2) return StandardCharsets.UTF_8; - String encoding = tokens[1].replaceAll("[;\"]", ""); - return Charset.forName(encoding); + if (contentType != null) { + String[] tokens = contentType + .toLowerCase(Locale.US) + .split("charset="); + if (tokens.length == 2) { + String encoding = tokens[1].replaceAll("[;\"]", ""); + return Charset.forName(encoding); + } + } + return StandardCharsets.UTF_8; } } diff --git a/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/netty/CustomLogger.java b/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/netty/CustomLogger.java index df7c65f33f..529549f99b 100644 --- a/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/netty/CustomLogger.java +++ b/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/netty/CustomLogger.java @@ -3,35 +3,40 @@ package com.baeldung.reactive.logging.netty; import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandlerContext; import io.netty.handler.logging.LoggingHandler; -import io.netty.util.internal.PlatformDependent; import java.nio.charset.Charset; +import static io.netty.util.internal.PlatformDependent.allocateUninitializedArray; +import static java.lang.Math.max; +import static java.nio.charset.Charset.defaultCharset; + public class CustomLogger extends LoggingHandler { public CustomLogger(Class clazz) { super(clazz); } @Override - protected String format(ChannelHandlerContext ctx, String eventName, Object arg) { + protected String format(ChannelHandlerContext ctx, String event, Object arg) { if (arg instanceof ByteBuf) { ByteBuf msg = (ByteBuf) arg; - return decodeString(msg, msg.readerIndex(), msg.readableBytes(), Charset.defaultCharset()); + return decode(msg, msg.readerIndex(), msg.readableBytes(), defaultCharset()); } return ""; } - private String decodeString(ByteBuf src, int readerIndex, int len, Charset charset) { - if (len == 0) return ""; - byte[] array; - int offset; - if (src.hasArray()) { - array = src.array(); - offset = src.arrayOffset() + readerIndex; - } else { - array = PlatformDependent.allocateUninitializedArray(Math.max(len, 1024)); - offset = 0; - src.getBytes(readerIndex, array, 0, len); + private String decode(ByteBuf src, int readerIndex, int len, Charset charset) { + if (len != 0) { + byte[] array; + int offset; + if (src.hasArray()) { + array = src.array(); + offset = src.arrayOffset() + readerIndex; + } else { + array = allocateUninitializedArray(max(len, 1024)); + offset = 0; + src.getBytes(readerIndex, array, 0, len); + } + return new String(array, offset, len, charset); } - return new String(array, offset, len, charset); + return ""; } } From ff871516eefbf199d76e2583e7a454410d353e5f Mon Sep 17 00:00:00 2001 From: Sjmillington Date: Sat, 31 Aug 2019 11:38:35 +0100 Subject: [PATCH 035/316] [BAEL-16669] moved testing-modules/testing modules into relevant folders --- assertion-libraries/pom.xml | 81 ++++ .../main/java/com/baeldung}/assertj/Dog.java | 2 +- .../java/com/baeldung}/assertj/Member.java | 2 +- .../java/com/baeldung}/assertj/Person.java | 2 +- .../com/baeldung}/assertj/custom/Person.java | 2 +- .../main/java/com/baeldung/jspec/Animal.java | 0 .../main/java/com/baeldung/jspec/Cage.java | 0 .../src/main/java/com/baeldung/jspec/Cat.java | 0 .../src/main/java/com/baeldung/jspec/Dog.java | 0 .../java/com/baeldung/junit/Calculator.java | 0 .../main/java/com/baeldung}/truth/User.java | 2 +- .../java/com/baeldung}/truth/UserSubject.java | 2 +- .../assertj/AssertJConditionUnitTest.java | 2 +- .../assertj/AssertJCoreUnitTest.java | 2 +- .../assertj/AssertJGuavaUnitTest.java | 2 +- .../assertj/AssertJJava8UnitTest.java | 2 +- .../AssertJCustomAssertionsUnitTest.java | 4 +- .../baeldung}/assertj/custom/Assertions.java | 2 +- .../assertj/custom/PersonAssert.java | 2 +- .../exceptions/Java7StyleAssertions.java | 2 +- .../exceptions/Java8StyleAssertions.java | 2 +- .../jgotesting/JGoTestingUnitTest.java | 0 .../java/com/baeldung/jspec/CageUnitTest.java | 0 .../com/baeldung/jspec/JSpecUnitTest.java | 0 .../com/baeldung/junit/AdditionUnitTest.java | 0 .../baeldung/junit/AssertionsUnitTest.java | 0 .../baeldung/junit/BlockingTestRunner.java | 0 .../baeldung/junit/CalculatorUnitTest.java | 0 .../baeldung/junit/SubstractionUnitTest.java | 0 .../com/baeldung/junit/SuiteUnitTest.java | 0 .../java/com/baeldung/junit/TestRunner.java | 0 .../baeldung}/truth/GoogleTruthUnitTest.java | 4 +- pom.xml | 8 +- testing-libraries-2/README.md | 5 + testing-libraries-2/cucumber/pom.xml | 41 ++ .../com/baeldung/cucumber/Calculator.java | 0 .../calculator/CalculatorIntegrationTest.java | 2 +- .../calculator/CalculatorRunSteps.java | 2 +- .../shopping/ShoppingIntegrationTest.java | 2 +- .../baeldung}/shopping/ShoppingStepsDef.java | 2 +- .../calculator-scenario-outline.feature | 0 .../resources/features/calculator.feature | 0 .../test/resources/features/shopping.feature | 0 testing-libraries-2/lambdabehave/pom.xml | 28 ++ .../com/baeldung/lambdabehave/Calculator.java | 0 .../lambdabehave/CalculatorUnitTest.java | 0 testing-libraries-2/mutations/pom.xml | 16 + .../com/baeldung}/mutation/Palindrome.java | 0 .../mutation}/PalindromeUnitTest.java | 4 +- testing-libraries-2/pom.xml | 22 + .../README.md | 0 .../easy-random/README.md | 0 .../easy-random/pom.xml | 0 .../easy/random/model/Department.java | 0 .../baeldung/easy/random/model/Employee.java | 0 .../org/baeldung/easy/random/model/Grade.java | 0 .../baeldung/easy/random/model/Person.java | 0 .../easy/random/model/YearQuarter.java | 0 .../randomizer/YearQuarterRandomizer.java | 0 .../easy/random/EasyRandomUnitTest.java | 0 .../easymock/pom.xml | 0 .../testing/easymock/ForecastProcessor.java | 0 .../baeldung/testing/easymock/Location.java | 0 .../easymock/ServiceUnavailableException.java | 0 .../testing/easymock/WeatherService.java | 0 .../easymock/ForecastProcessorUnitTest.java | 0 .../gatling/README.md | 0 .../gatling/pom.xml | 272 ++++++------ .../gatling/src/test/resources/gatling.conf | 0 .../gatling/src/test/resources/logback.xml | 0 .../gatling/src/test/resources/recorder.conf | 0 .../gatling/src/test/scala/Engine.scala | 26 +- .../src/test/scala/IDEPathHelper.scala | 44 +- .../gatling/src/test/scala/Recorder.scala | 24 +- .../org/baeldung/RecordedSimulation.scala | 0 .../groovy-spock/.gitignore | 0 .../groovy-spock/README.md | 0 .../groovy-spock/pom.xml | 0 .../src/main/java/mocks/EventPublisher.java | 0 .../mocks/ExternalItemProviderException.java | 0 .../src/main/java/mocks/Item.java | 0 .../src/main/java/mocks/ItemProvider.java | 0 .../src/main/java/mocks/ItemService.java | 0 .../java/mocks/LoggingEventPublisher.java | 0 .../src/test/groovy/FirstSpecification.groovy | 0 .../src/test/groovy/Notifier.groovy | 0 .../src/test/groovy/PaymentGateway.groovy | 0 .../groovy/extensions/CustomTitleTest.groovy | 0 .../groovy/extensions/IgnoreIfTest.groovy | 0 .../groovy/extensions/IgnoreRestTest.groovy | 0 .../test/groovy/extensions/IgnoreTest.groovy | 0 .../test/groovy/extensions/IssueTest.groovy | 0 .../extensions/PendingFeatureTest.groovy | 0 .../groovy/extensions/RequiresTest.groovy | 0 .../RestoreSystemPropertiesTest.groovy | 0 .../test/groovy/extensions/RetryTest.groovy | 0 .../src/test/groovy/extensions/SeeTest.groovy | 0 .../groovy/extensions/StackTraceTest.groovy | 0 .../groovy/extensions/StepwiseTest.groovy | 0 .../test/groovy/extensions/SubjectTest.groovy | 0 .../test/groovy/extensions/TimeoutTest.groovy | 0 .../groovy/mocks/ItemServiceUnitTest.groovy | 0 .../src/test/resources/SpockConfig.groovy | 0 .../junit-4/README.md | 0 .../junit-4/pom.xml | 13 + .../junitparams/SafeAdditionUtil.java | 0 .../junit-4/src/main/resources/logback.xml | 0 .../junitparams/SafeAdditionUtilUnitTest.java | 0 .../junitparams/TestDataProvider.java | 0 .../com/baeldung/rules/MessageLogger.java | 0 .../com/baeldung/rules/RuleChainUnitTest.java | 0 .../com/baeldung/rules/RulesUnitTest.java | 0 .../baeldung/rules/TestMethodNameLogger.java | 0 .../baeldung/rules/VerifierRuleUnitTest.java | 0 .../baeldung/runfromjava/FirstUnitTest.java | 0 .../com/baeldung/runfromjava/MyTestSuite.java | 0 .../runfromjava/RunJUnit4TestsFromJava.java | 0 .../baeldung/runfromjava/SecondUnitTest.java | 0 .../resources/JunitParamsTestParameters.csv | 0 .../junit-5-advanced/README.md | 0 .../junit-5-advanced/pom.xml | 0 .../failure_vs_error/SimpleCalculator.java | 0 .../baeldung/junit5/testinstance/Tweet.java | 0 .../junit5/testinstance/TweetException.java | 0 .../junit5/testinstance/TweetSerializer.java | 0 .../src/main/resources/logback.xml | 0 .../DisplayNameGeneratorUnitTest.java | 0 .../ReplaceUnderscoresGeneratorUnitTest.java | 0 .../TestResultLoggerExtension.java | 0 .../testwatcher/TestWatcherAPIUnitTest.java | 0 .../SimpleCalculatorUnitTest.java | 0 .../junit5/testinstance/AdditionUnitTest.java | 0 .../junit5/testinstance/OrderUnitTest.java | 0 .../TweetSerializerJUnit4UnitTest.java | 0 .../testinstance/TweetSerializerUnitTest.java | 0 .../src/test/resources/lorem-ipsum.txt | 0 .../junit-5-basics/README.md | 0 .../junit-5-basics/pom.xml | 0 .../failure_vs_error/SimpleCalculator.java | 0 .../baeldung/junit/tags/example/Employee.java | 0 .../junit/tags/example/EmployeeDAO.java | 0 .../junit/tags/example/EmployeeRowMapper.java | 0 .../junit/tags/example/SpringJdbcConfig.java | 0 .../java/com/baeldung/junit5/Greetings.java | 0 .../com/baeldung/junit5/bean/NumbersBean.java | 0 .../src/main/resources/jdbc/schema.sql | 0 .../main/resources/jdbc/springJdbc-config.xml | 0 .../src/main/resources/jdbc/test-data.sql | 0 .../java/com/baeldung/ExceptionUnitTest.java | 0 .../test/java/com/baeldung/FirstUnitTest.java | 0 .../java/com/baeldung/GreetingsUnitTest.java | 0 .../baeldung/JUnit5NewFeaturesUnitTest.java | 0 .../src/test/java/com/baeldung/LiveTest.java | 0 .../EmployeeDAOCategoryIntegrationTest.java | 0 .../categories/EmployeeDAOUnitTestSuite.java | 0 .../baeldung/categories/IntegrationTest.java | 0 .../com/baeldung/categories/UnitTest.java | 0 .../example/EmployeeDAOIntegrationTest.java | 0 .../baeldung/example/EmployeeUnitTest.java | 0 .../exception/ExceptionAssertionUnitTest.java | 0 .../SharedTemporaryDirectoryUnitTest.java | 0 .../tempdir/TemporaryDirectoryUnitTest.java | 0 .../SimpleCalculatorUnitTest.java | 0 .../junit5/bean/test/NumbersBeanUnitTest.java | 0 .../spring/GreetingsSpringUnitTest.java | 0 .../spring/SpringTestConfiguration.java | 0 .../junit4/AnnotationTestExampleUnitTest.java | 0 .../junit4/AssertionsExampleUnitTest.java | 0 .../BeforeAndAfterAnnotationsUnitTest.java | 0 ...ClassAndAfterClassAnnotationsUnitTest.java | 0 .../junit4/ExceptionAssertionUnitTest.java | 0 .../migration/junit4/RuleExampleUnitTest.java | 0 .../junit4/categories/Annotations.java | 0 .../junit4/categories/JUnit4UnitTest.java | 0 .../junit4/rules/TraceUnitTestRule.java | 0 .../junit5/AnnotationTestExampleUnitTest.java | 0 .../junit5/AssertionsExampleUnitTest.java | 0 .../migration/junit5/AssumptionUnitTest.java | 0 ...foreAllAndAfterAllAnnotationsUnitTest.java | 0 ...reEachAndAfterEachAnnotationsUnitTest.java | 0 .../migration/junit5/RuleExampleUnitTest.java | 0 .../junit5/extensions/TraceUnitExtension.java | 0 .../ReadResourceDirectoryUnitTest.java | 0 .../java/com/baeldung/suites/AllUnitTest.java | 0 .../tags/EmployeeDAOIntegrationTest.java | 0 .../baeldung/tags/EmployeeDAOTestSuite.java | 0 .../src/test/resources/example_resource.txt | 0 .../junit-5/README.md | 0 .../junit-5/pom.xml | 0 .../abstractmethod/AbstractMethodCalling.java | 0 .../indepedentmethod/AbstractIndependent.java | 0 .../indepedentmethod/ConcreteImpl.java | 0 .../AbstractInstanceFields.java | 0 .../privatemethod/AbstractPrivateMethods.java | 0 .../com/baeldung/junit5/mockito/User.java | 0 .../junit5/mockito/repository/MailClient.java | 0 .../mockito/repository/SettingRepository.java | 0 .../mockito/repository/UserRepository.java | 0 .../mockito/service/DefaultUserService.java | 0 .../junit5/mockito/service/Errors.java | 0 .../junit5/mockito/service/UserService.java | 0 .../baeldung/junit5vstestng/Calculator.java | 0 .../junit5vstestng/DivideByZeroException.java | 0 .../junit-5/src/main/resources/logback.xml | 0 .../java/com/baeldung/AssertionUnitTest.java | 0 .../com/baeldung/DynamicTestsExample.java | 0 .../java/com/baeldung/EmployeesUnitTest.java | 0 .../baeldung/MultipleExtensionsUnitTest.java | 0 .../java/com/baeldung/NestedUnitTest.java | 0 .../ProgrammaticEmployeesUnitTest.java | 0 .../baeldung/RegisterExtensionUnitTest.java | 0 .../com/baeldung/RepeatedTestExample.java | 0 .../test/java/com/baeldung/StringUtils.java | 0 .../java/com/baeldung/TaggedUnitTest.java | 0 .../test/java/com/baeldung/TestLauncher.java | 0 .../AbstractMethodCallingUnitTest.java | 0 .../AbstractIndependentUnitTest.java | 0 .../AbstractInstanceFieldsUnitTest.java | 0 .../AbstractPrivateMethodsUnitTest.java | 0 .../ConditionalAnnotationsUnitTest.java | 0 .../EmployeeDaoParameterResolver.java | 0 .../EmployeeDatabaseSetupExtension.java | 0 .../extensions/EnvironmentExtension.java | 0 .../IgnoreFileNotFoundExceptionExtension.java | 0 .../baeldung/extensions/LoggingExtension.java | 0 .../RegisterExtensionSampleExtension.java | 0 .../java/com/baeldung/helpers/Employee.java | 0 .../com/baeldung/helpers/EmployeeDao.java | 0 .../com/baeldung/helpers/EmployeeJdbcDao.java | 0 .../baeldung/helpers/JdbcConnectionUtil.java | 0 .../junit4vstestng/SortedUnitTest.java | 0 .../SummationServiceIntegrationTest.java | 0 .../junit5/mockito/UserServiceUnitTest.java | 252 +++++------ .../order/AlphanumericOrderUnitTest.java | 0 .../baeldung/junit5/order/CustomOrder.java | 0 .../junit5/order/CustomOrderUnitTest.java | 0 .../junit5/order/OrderAnnotationUnitTest.java | 0 .../junit5vstestng/CalculatorUnitTest.java | 0 .../junit5vstestng/Class1UnitTest.java | 0 .../junit5vstestng/Class2UnitTest.java | 0 .../junit5vstestng/CustomNameUnitTest.java | 0 .../junit5vstestng/ParameterizedUnitTest.java | 0 .../junit5vstestng/PizzaDeliveryStrategy.java | 0 .../SelectClassesSuiteUnitTest.java | 0 .../SelectPackagesSuiteUnitTest.java | 0 .../SummationServiceUnitTest.java | 0 .../DefaultOrderOfExecutionUnitTest.java | 0 .../JVMOrderOfExecutionUnitTest.java | 0 ...NameAscendingOrderOfExecutionUnitTest.java | 0 .../param/InvalidPersonParameterResolver.java | 0 .../test/java/com/baeldung/param/Person.java | 0 .../com/baeldung/param/PersonValidator.java | 0 .../param/PersonValidatorUnitTest.java | 0 .../param/ValidPersonParameterResolver.java | 0 .../BlankStringsArgumentsProvider.java | 0 .../baeldung/parameterized/EnumsUnitTest.java | 0 .../parameterized/LocalDateUnitTest.java | 0 .../com/baeldung/parameterized/Numbers.java | 0 .../parameterized/NumbersUnitTest.java | 0 .../com/baeldung/parameterized/Person.java | 0 .../parameterized/PersonAggregator.java | 0 .../parameterized/PersonUnitTest.java | 0 .../parameterized/SlashyDateConverter.java | 0 .../baeldung/parameterized/StringParams.java | 0 .../com/baeldung/parameterized/Strings.java | 0 .../parameterized/StringsUnitTest.java | 0 .../VariableArgumentsProvider.java | 0 .../parameterized/VariableSource.java | 0 .../baeldung/runfromjava/FirstUnitTest.java | 0 .../runfromjava/RunJUnit5TestsFromJava.java | 0 .../baeldung/runfromjava/SecondUnitTest.java | 0 .../org.junit.jupiter.api.extension.Extension | 0 .../extensions/application.properties | 0 .../com/baeldung/helpers/jdbc.properties | 0 .../junit-5/src/test/resources/data.csv | 0 .../junit5-migration/README.md | 0 .../junit5-migration/pom.xml | 0 .../junit4/AnnotationTestExampleUnitTest.java | 0 .../baeldung/junit4/AssertionUnitTest.java | 0 .../com/baeldung/junit4/AssumeUnitTest.java | 0 .../junit4/ExceptionAssertionUnitTest.java | 0 .../baeldung/junit4/RuleExampleUnitTest.java | 0 .../junit4/TestAnnotationsUnitTest.java | 0 .../baeldung/junit4/TraceUnitTestRule.java | 0 .../junit4/categories/Annotations.java | 0 .../junit4/categories/JUnit4UnitTest.java | 0 .../junit5/AnnotationTestExampleUnitTest.java | 0 .../baeldung/junit5/AssertionUnitTest.java | 0 .../baeldung/junit5/AssumptionUnitTest.java | 0 .../junit5/ConditionalExecutionUnitTest.java | 0 .../com/baeldung/junit5/NestedUnitTest.java | 0 .../baeldung/junit5/RuleExampleUnitTest.java | 0 .../junit5/RuleMigrationSupportUnitTest.java | 0 .../junit5/TestAnnotationsUnitTest.java | 0 .../baeldung/junit5/TraceUnitExtension.java | 0 .../load-testing-comparison/README.md | 0 .../load-testing-comparison/pom.xml | 0 .../com/baeldung/loadtesting/Application.java | 0 .../loadtesting/RewardsController.java | 0 .../loadtesting/TransactionController.java | 0 .../model/CustomerRewardsAccount.java | 0 .../loadtesting/model/Transaction.java | 0 .../repository/CustomerRewardsRepository.java | 0 .../repository/TransactionRepository.java | 0 .../scripts/Gatling/GatlingScenario.scala | 0 .../resources/scripts/JMeter/Test Plan.jmx | 0 .../scripts/The Grinder/grinder.properties | 0 .../resources/scripts/The Grinder/grinder.py | 0 .../mockito-2/.gitignore | 0 .../mockito-2/README.md | 0 .../mockito-2/pom.xml | 0 .../baeldung/mockito/java8/JobPosition.java | 0 .../baeldung/mockito/java8/JobService.java | 0 .../com/baeldung/mockito/java8/Person.java | 0 .../mockito/java8/UnemploymentService.java | 0 .../java8/UnemploymentServiceImpl.java | 0 .../mockito-2/src/main/resources/logback.xml | 0 .../ArgumentMatcherWithLambdaUnitTest.java | 0 .../ArgumentMatcherWithoutLambdaUnitTest.java | 0 .../java8/CustomAnswerWithLambdaUnitTest.java | 0 .../CustomAnswerWithoutLambdaUnitTest.java | 0 .../mockito/java8/JobServiceUnitTest.java | 0 .../java8/LazyVerificationUnitTest.java | 0 .../UnemploymentServiceImplUnitTest.java | 0 .../misusing/ExpectedTestFailureRule.java | 0 .../MockitoUnecessaryStubUnitTest.java | 0 .../mockito/.gitignore | 0 .../mockito/README.md | 0 .../mockito/pom.xml | 0 .../main/java/org/baeldung/hamcrest/City.java | 0 .../java/org/baeldung/hamcrest/Location.java | 0 .../custommatchers/IsDivisibleBy.java | 0 .../hamcrest/custommatchers/IsOnlyDigits.java | 0 .../hamcrest/custommatchers/IsUppercase.java | 0 .../mockito/service/ActionHandler.java | 0 .../baeldung/mockito/service/Callback.java | 0 .../org/baeldung/mockito/service/Data.java | 0 .../baeldung/mockito/service/Response.java | 0 .../org/baeldung/mockito/service/Service.java | 0 .../mockito/src/main/resources/logback.xml | 0 .../CollaboratorForPartialMocking.java | 0 .../CollaboratorWithFinalMethods.java | 0 .../CollaboratorWithStaticMethods.java | 0 .../introduction/LuckyNumberGenerator.java | 0 .../LuckyNumberGeneratorIntegrationTest.java | 0 .../PowerMockitoIntegrationTest.java | 0 .../bddmockito/BDDMockitoIntegrationTest.java | 208 ++++----- .../bddmockito/PhoneBookRepository.java | 52 +-- .../baeldung/bddmockito/PhoneBookService.java | 68 +-- .../hamcrest/HamcrestBeansUnitTest.java | 0 .../HamcrestCoreMatchersUnitTest.java | 0 .../hamcrest/HamcrestCustomUnitTest.java | 0 .../hamcrest/HamcrestFileUnitTest.java | 0 .../hamcrest/HamcrestNumberUnitTest.java | 0 .../hamcrest/HamcrestObjectUnitTest.java | 0 .../hamcrest/HamcrestTextUnitTest.java | 0 .../java/org/baeldung/mockito/FinalList.java | 0 .../java/org/baeldung/mockito/MockFinals.java | 0 .../MockitoAnnotationIntegrationTest.java | 0 .../MockitoConfigExamplesIntegrationTest.java | 0 .../MockitoExceptionIntegrationTest.java | 0 .../mockito/MockitoInjectIntoSpyUnitTest.java | 0 .../mockito/MockitoMockIntegrationTest.java | 0 .../mockito/MockitoSpyIntegrationTest.java | 0 .../MockitoVerifyExamplesIntegrationTest.java | 0 .../mockito/MockitoVoidMethodsUnitTest.java | 0 .../org/baeldung/mockito/MyDictionary.java | 0 .../java/org/baeldung/mockito/MyList.java | 0 .../misusing/MockitoMisusingUnitTest.java | 0 .../service/ActionHandlerUnitTest.java | 0 .../org.mockito.plugins.MockMaker | 0 .../mockito/src/test/resources/test1.in | 0 .../mocks/README.md | 0 testing-libraries/mocks/javafaker/pom.xml | 26 ++ .../baeldung/javafaker/JavaFakerUnitTest.java | 0 .../mocks/jmockit/README.md | 0 .../mocks/jmockit/pom.xml | 0 .../baeldung/mocks/jmockit/AppManager.java | 0 .../mocks/jmockit/AdvancedCollaborator.java | 0 .../baeldung/mocks/jmockit/Collaborator.java | 0 .../jmockit/ExpectationsCollaborator.java | 0 .../org/baeldung/mocks/jmockit/Model.java | 0 .../org/baeldung/mocks/jmockit/Performer.java | 0 .../jmockit/src/main/resources/logback.xml | 0 .../mocks/jmockit/AppManagerUnitTest.java | 0 .../AdvancedCollaboratorIntegrationTest.java | 0 .../jmockit/ExpectationsIntegrationTest.java | 0 .../jmockit/PerformerIntegrationTest.java | 0 .../mocks/jmockit/ReusingIntegrationTest.java | 0 testing-libraries/mocks/jukito/pom.xml | 27 ++ .../introductionjukito/Calculator.java | 0 .../ScientificCalculator.java | 0 .../introductionjukito/SimpleCalculator.java | 0 .../CalculatorUnitTest.java | 0 .../mocks/mock-comparisons/README.md | 0 .../mocks/mock-comparisons/pom.xml | 0 .../com/baeldung/easymock/ArticleReader.java | 70 +-- .../baeldung/easymock/BaeldungArticle.java | 48 +-- .../com/baeldung/easymock/BaeldungReader.java | 78 ++-- .../com/baeldung/easymock/IArticleWriter.java | 12 +- .../com/baeldung/easymock/IUserService.java | 0 .../main/java/com/baeldung/easymock/User.java | 0 .../mocks/testCase/LoginController.java | 0 .../org/baeldung/mocks/testCase/LoginDao.java | 0 .../baeldung/mocks/testCase/LoginService.java | 0 .../org/baeldung/mocks/testCase/UserForm.java | 0 .../src/main/resources/logback.xml | 0 .../easymock/ArgumentMatchersUnitTest.java | 0 .../BaeldungReaderAnnotatedUnitTest.java | 114 ++--- ...eldungReaderAnnotatedWithRuleUnitTest.java | 114 ++--- .../BaeldungReaderMockDelegationUnitTest.java | 52 +-- .../BaeldungReaderMockSupportUnitTest.java | 82 ++-- .../easymock/BaeldungReaderUnitTest.java | 208 ++++----- .../LoginControllerIntegrationTest.java | 0 .../LoginControllerIntegrationTest.java | 0 .../LoginControllerIntegrationTest.java | 0 .../mocks/pom.xml | 0 .../mockserver/README.md | 0 .../mockserver/pom.xml | 0 .../server/ExpectationCallbackHandler.java | 0 .../mockserver/src/main/resources/logback.xml | 0 .../mock/server/MockServerLiveTest.java | 0 .../parallel-tests-junit/README.md | 0 .../math-test-functions/pom.xml | 0 .../baeldung/ArithmeticFunctionUnitTest.java | 0 .../baeldung/ComparisonFunctionUnitTest.java | 0 .../java/com/baeldung/FunctionTestSuite.java | 0 .../parallel-tests-junit/pom.xml | 0 .../string-test-functions/pom.xml | 0 .../com/baeldung/StringFunctionUnitTest.java | 0 .../pom.xml | 5 +- .../rest-assured/.gitignore | 0 .../rest-assured/README.md | 0 .../rest-assured/pom.xml | 0 .../com/baeldung/restassured/Application.java | 0 .../restassured/controller/AppController.java | 0 .../baeldung/restassured/learner/Course.java | 0 .../restassured/learner/CourseController.java | 0 .../CourseControllerExceptionHandler.java | 0 .../learner/CourseNotFoundException.java | 0 .../restassured/learner/CourseService.java | 0 .../com/baeldung/restassured/model/Movie.java | 0 .../restassured/service/AppService.java | 0 .../rest-assured/src/main/resources/1 | 0 .../rest-assured/src/main/resources/2 | 0 .../java/com/baeldung/restassured/Odd.java | 98 ++--- .../RestAssured2IntegrationTest.java | 0 .../RestAssuredAdvancedLiveTest.java | 0 .../RestAssuredIntegrationTest.java | 0 .../RestAssuredXML2IntegrationTest.java | 0 .../RestAssuredXMLIntegrationTest.java | 0 .../java/com/baeldung/restassured/Util.java | 0 .../BasicAuthenticationLiveTest.java | 0 .../BasicPreemtiveAuthenticationLiveTest.java | 0 .../DigestAuthenticationLiveTest.java | 0 .../FormAuthenticationLiveTest.java | 0 .../FormAutoconfAuthenticationLiveTest.java | 0 .../OAuth2AuthenticationLiveTest.java | 0 .../OAuthAuthenticationLiveTest.java | 0 .../AppControllerIntegrationTest.java | 0 .../CourseControllerIntegrationTest.java | 0 .../learner/CourseControllerUnitTest.java | 0 .../src/test/resources/employees.xml | 0 .../src/test/resources/event_0.json | 0 .../src/test/resources/logback.xml | 0 .../rest-assured/src/test/resources/odds.json | 0 .../src/test/resources/teachers.xml | 0 .../rest-assured/src/test/resources/test.txt | 0 .../rest-testing/.gitignore | 0 .../rest-testing/README.md | 0 .../rest-testing/pom.xml | 0 .../src/main/resources/cucumber.json | 0 .../main/resources/karate/cucumber.feature | 0 .../src/main/resources/logback.xml | 0 .../src/main/resources/wiremock_intro.json | 0 .../cucumber/CucumberIntegrationTest.java | 0 .../rest/cucumber/StepDefinition.java | 0 .../baeldung/rest/jbehave/AbstractStory.java | 0 .../rest/jbehave/GithubUserNotFoundSteps.java | 0 .../GithubUserNotFoundStoryLiveTest.java | 0 .../GithubUserResponseMediaTypeSteps.java | 0 ...hubUserResponseMediaTypeStoryLiveTest.java | 0 .../GithubUserResponsePayloadSteps.java | 0 ...ithubUserResponsePayloadStoryLiveTest.java | 0 .../baeldung/rest/jbehave/IncreaseSteps.java | 0 .../rest/jbehave/IncreaseStoryLiveTest.java | 0 .../rest/karate/KarateIntegrationTest.java | 0 .../JUnitManagedIntegrationTest.java | 0 .../ProgrammaticallyManagedLiveTest.java | 0 ...ireMockScenarioExampleIntegrationTest.java | 0 .../java/org/baeldung/rest/GitHubUser.java | 0 .../java/org/baeldung/rest/RetrieveUtil.java | 0 .../test/resources/Feature/cucumber.feature | 0 .../resources/github_user_not_found.story | 0 .../github_user_response_mediatype.story | 0 .../github_user_response_payload.story | 0 .../src/test/resources/increase.story | 0 .../src/test/resources/karate/user.feature | 0 .../src/main/resources/logback.xml | 0 .../junit4/runfromjava/FirstUnitTest.java | 0 .../junit4/runfromjava/SecondUnitTest.java | 0 .../junit5/runfromjava/FirstUnitTest.java | 0 .../junit5/runfromjava/SecondUnitTest.java | 0 .../selenium-junit-testng/README.md | 0 .../selenium-junit-testng/geckodriver.mac | Bin .../selenium-junit-testng/pom.xml | 0 .../baeldung/selenium/SeleniumExample.java | 0 .../selenium/config/SeleniumConfig.java | 0 .../selenium/models/BaeldungAbout.java | 0 .../selenium/pages/BaeldungAboutPage.java | 0 .../selenium/pages/BaeldungHomePage.java | 0 .../selenium/pages/StartHerePage.java | 0 .../src/main/resources/logback.xml | 0 .../junit/SeleniumPageObjectLiveTest.java | 0 .../junit/SeleniumWithJUnitLiveTest.java | 0 .../testng/SeleniumWithTestNGLiveTest.java | 0 .../spring-testing/README.md | 0 .../spring-testing/pom.xml | 0 .../com/baeldung/config/ScheduledConfig.java | 0 .../java/com/baeldung/config/WebConfig.java | 0 .../parameterized/EmployeeRoleController.java | 0 .../overrideproperties/Application.java | 0 .../resolver/PropertySourceResolver.java | 0 .../java/com/baeldung/scheduled/Counter.java | 0 .../ClassUsingProperty.java | 0 .../org/baeldung/mockito/repository/User.java | 0 .../mockito/repository/UserRepository.java | 0 .../repository/Employee.java | 46 +- .../repository/EmployeeService.java | 28 +- .../repository/HRService.java | 22 +- .../src/main/resources/logback.xml | 0 .../RoleControllerIntegrationTest.java | 0 ...ParameterizedClassRuleIntegrationTest.java | 0 ...ontrollerParameterizedIntegrationTest.java | 0 ...PropertySourceResolverIntegrationTest.java | 0 ...PropertySourceResolverIntegrationTest.java | 0 .../PropertyOverrideContextInitializer.java | 0 ...PropertySourceResolverIntegrationTest.java | 0 ...PropertySourceResolverIntegrationTest.java | 0 .../ScheduledAwaitilityIntegrationTest.java | 0 .../scheduled/ScheduledIntegrationTest.java | 0 ...aultTestPropertySourceIntegrationTest.java | 0 ...tionTestPropertySourceIntegrationTest.java | 0 ...tiesTestPropertySourceIntegrationTest.java | 0 .../mockito/MockAnnotationUnitTest.java | 0 .../MockBeanAnnotationIntegrationTest.java | 0 .../ReflectionTestUtilsUnitTest.java | 92 ++-- .../resources/application-test.properties | 0 .../src/test/resources/application.properties | 0 ...stPropertySourceIntegrationTest.properties | 0 .../context-override-application.properties | 0 .../test/resources/other-location.properties | 0 .../test-containers/README.md | 0 .../test-containers/pom.xml | 0 .../DockerComposeContainerLiveTest.java | 0 .../GenericContainerLiveTest.java | 0 .../PostgreSqlContainerLiveTest.java | 0 .../WebDriverContainerLiveTest.java | 0 .../src/test/resources/test-compose.yml | 0 .../testng/README.md | 0 .../testng/pom.xml | 94 ++-- .../DependentLongRunningUnitTest.java | 0 .../com/baeldung/GroupIntegrationTest.java | 0 .../MultiThreadedIntegrationTest.java | 0 .../ParametrizedLongRunningUnitTest.java | 0 .../baeldung/PriorityLongRunningUnitTest.java | 0 .../RegistrationLongRunningUnitTest.java | 0 .../baeldung/SignInLongRunningUnitTest.java | 0 .../baeldung/SimpleLongRunningUnitTest.java | 0 .../SummationServiceIntegrationTest.java | 0 .../com/baeldung/TimeOutIntegrationTest.java | 0 .../baeldung/reports/CustomisedListener.java | 134 +++--- .../baeldung/reports/CustomisedReports.java | 222 +++++----- .../testng/src/test/resources/logback.xml | 36 +- .../test/resources/parametrized_testng.xml | 24 +- .../src/test/resources/reportTemplate.html | 0 .../testng/src/test/resources/test_group.xml | 24 +- .../testng/src/test/resources/test_setup.xml | 32 +- .../testng/src/test/resources/test_suite.xml | 24 +- .../xmlunit-2/README.md | 0 .../xmlunit-2/pom.xml | 0 .../IgnoreAttributeDifferenceEvaluator.java | 0 .../xmlunit-2}/src/main/resources/logback.xml | 0 .../com/baeldung/xmlunit/XMLUnitTest.java | 0 .../xmlunit-2/src/test/resources/control.xml | 0 .../xmlunit-2/src/test/resources/students.xml | 0 .../xmlunit-2/src/test/resources/students.xsd | 0 .../test/resources/students_with_error.xml | 0 .../xmlunit-2/src/test/resources/teachers.xml | 0 .../xmlunit-2/src/test/resources/test.xml | 0 .../groovy-spock/report-2019-03-29.json | 402 ------------------ testing-modules/testing/README.md | 24 -- testing-modules/testing/pom.xml | 183 -------- .../xmlunit-2/src/main/resources/logback.xml | 13 - 594 files changed, 1591 insertions(+), 1951 deletions(-) create mode 100644 assertion-libraries/pom.xml rename {testing-modules/testing/src/main/java/com/baeldung/testing => assertion-libraries/src/main/java/com/baeldung}/assertj/Dog.java (88%) rename {testing-modules/testing/src/main/java/com/baeldung/testing => assertion-libraries/src/main/java/com/baeldung}/assertj/Member.java (88%) rename {testing-modules/testing/src/main/java/com/baeldung/testing => assertion-libraries/src/main/java/com/baeldung}/assertj/Person.java (88%) rename {testing-modules/testing/src/main/java/com/baeldung/testing => assertion-libraries/src/main/java/com/baeldung}/assertj/custom/Person.java (93%) rename {testing-modules/testing => assertion-libraries}/src/main/java/com/baeldung/jspec/Animal.java (100%) rename {testing-modules/testing => assertion-libraries}/src/main/java/com/baeldung/jspec/Cage.java (100%) rename {testing-modules/testing => assertion-libraries}/src/main/java/com/baeldung/jspec/Cat.java (100%) rename {testing-modules/testing => assertion-libraries}/src/main/java/com/baeldung/jspec/Dog.java (100%) rename {testing-modules/testing => assertion-libraries}/src/main/java/com/baeldung/junit/Calculator.java (100%) rename {testing-modules/testing/src/main/java/com/baeldung/testing => assertion-libraries/src/main/java/com/baeldung}/truth/User.java (97%) rename {testing-modules/testing/src/main/java/com/baeldung/testing => assertion-libraries/src/main/java/com/baeldung}/truth/UserSubject.java (97%) rename {testing-modules/testing/src/test/java/com/baeldung/testing => assertion-libraries/src/test/java/com/baeldung}/assertj/AssertJConditionUnitTest.java (98%) rename {testing-modules/testing/src/test/java/com/baeldung/testing => assertion-libraries/src/test/java/com/baeldung}/assertj/AssertJCoreUnitTest.java (98%) rename {testing-modules/testing/src/test/java/com/baeldung/testing => assertion-libraries/src/test/java/com/baeldung}/assertj/AssertJGuavaUnitTest.java (98%) rename {testing-modules/testing/src/test/java/com/baeldung/testing => assertion-libraries/src/test/java/com/baeldung}/assertj/AssertJJava8UnitTest.java (98%) rename {testing-modules/testing/src/test/java/com/baeldung/testing => assertion-libraries/src/test/java/com/baeldung}/assertj/custom/AssertJCustomAssertionsUnitTest.java (91%) rename {testing-modules/testing/src/test/java/com/baeldung/testing => assertion-libraries/src/test/java/com/baeldung}/assertj/custom/Assertions.java (81%) rename {testing-modules/testing/src/test/java/com/baeldung/testing => assertion-libraries/src/test/java/com/baeldung}/assertj/custom/PersonAssert.java (95%) rename {testing-modules/testing/src/test/java/com/baeldung/testing => assertion-libraries/src/test/java/com/baeldung}/assertj/exceptions/Java7StyleAssertions.java (94%) rename {testing-modules/testing/src/test/java/com/baeldung/testing => assertion-libraries/src/test/java/com/baeldung}/assertj/exceptions/Java8StyleAssertions.java (97%) rename {testing-modules/testing/src/test/java/com/baeldung/testing => assertion-libraries/src/test/java/com/baeldung}/jgotesting/JGoTestingUnitTest.java (100%) rename {testing-modules/testing => assertion-libraries}/src/test/java/com/baeldung/jspec/CageUnitTest.java (100%) rename {testing-modules/testing => assertion-libraries}/src/test/java/com/baeldung/jspec/JSpecUnitTest.java (100%) rename {testing-modules/testing => assertion-libraries}/src/test/java/com/baeldung/junit/AdditionUnitTest.java (100%) rename {testing-modules/testing => assertion-libraries}/src/test/java/com/baeldung/junit/AssertionsUnitTest.java (100%) rename {testing-modules/testing => assertion-libraries}/src/test/java/com/baeldung/junit/BlockingTestRunner.java (100%) rename {testing-modules/testing => assertion-libraries}/src/test/java/com/baeldung/junit/CalculatorUnitTest.java (100%) rename {testing-modules/testing => assertion-libraries}/src/test/java/com/baeldung/junit/SubstractionUnitTest.java (100%) rename {testing-modules/testing => assertion-libraries}/src/test/java/com/baeldung/junit/SuiteUnitTest.java (100%) rename {testing-modules/testing => assertion-libraries}/src/test/java/com/baeldung/junit/TestRunner.java (100%) rename {testing-modules/testing/src/test/java/com/baeldung/testing => assertion-libraries/src/test/java/com/baeldung}/truth/GoogleTruthUnitTest.java (99%) create mode 100644 testing-libraries-2/README.md create mode 100644 testing-libraries-2/cucumber/pom.xml rename {testing-modules/testing => testing-libraries-2/cucumber}/src/main/java/com/baeldung/cucumber/Calculator.java (100%) rename {testing-modules/testing/src/test/java/com/baeldung/testing => testing-libraries-2/cucumber/src/test/java/com/baeldung}/calculator/CalculatorIntegrationTest.java (91%) rename {testing-modules/testing/src/test/java/com/baeldung/testing => testing-libraries-2/cucumber/src/test/java/com/baeldung}/calculator/CalculatorRunSteps.java (95%) rename {testing-modules/testing/src/test/java/com/baeldung/testing => testing-libraries-2/cucumber/src/test/java/com/baeldung}/shopping/ShoppingIntegrationTest.java (86%) rename {testing-modules/testing/src/test/java/com/baeldung/testing => testing-libraries-2/cucumber/src/test/java/com/baeldung}/shopping/ShoppingStepsDef.java (92%) rename {testing-modules/testing => testing-libraries-2/cucumber}/src/test/resources/features/calculator-scenario-outline.feature (100%) rename {testing-modules/testing => testing-libraries-2/cucumber}/src/test/resources/features/calculator.feature (100%) rename {testing-modules/testing => testing-libraries-2/cucumber}/src/test/resources/features/shopping.feature (100%) create mode 100644 testing-libraries-2/lambdabehave/pom.xml rename {testing-modules/testing => testing-libraries-2/lambdabehave}/src/main/java/com/baeldung/lambdabehave/Calculator.java (100%) rename {testing-modules/testing => testing-libraries-2/lambdabehave}/src/test/java/com/baeldung/lambdabehave/CalculatorUnitTest.java (100%) create mode 100644 testing-libraries-2/mutations/pom.xml rename {testing-modules/testing/src/main/java/com/baeldung/testing => testing-libraries-2/mutations/src/main/java/com/baeldung}/mutation/Palindrome.java (100%) rename {testing-modules/testing/src/test/java/com/baeldung/mutation/test => testing-libraries-2/mutations/src/test/java/com/baeldung/mutation}/PalindromeUnitTest.java (90%) create mode 100644 testing-libraries-2/pom.xml rename {testing-modules => testing-libraries}/README.md (100%) rename {testing-modules => testing-libraries}/easy-random/README.md (100%) rename {testing-modules => testing-libraries}/easy-random/pom.xml (100%) rename {testing-modules => testing-libraries}/easy-random/src/main/java/org/baeldung/easy/random/model/Department.java (100%) rename {testing-modules => testing-libraries}/easy-random/src/main/java/org/baeldung/easy/random/model/Employee.java (100%) rename {testing-modules => testing-libraries}/easy-random/src/main/java/org/baeldung/easy/random/model/Grade.java (100%) rename {testing-modules => testing-libraries}/easy-random/src/main/java/org/baeldung/easy/random/model/Person.java (100%) rename {testing-modules => testing-libraries}/easy-random/src/main/java/org/baeldung/easy/random/model/YearQuarter.java (100%) rename {testing-modules => testing-libraries}/easy-random/src/main/java/org/baeldung/easy/random/randomizer/YearQuarterRandomizer.java (100%) rename {testing-modules => testing-libraries}/easy-random/src/test/java/org/baeldung/easy/random/EasyRandomUnitTest.java (100%) rename {testing-modules => testing-libraries}/easymock/pom.xml (100%) rename {testing-modules => testing-libraries}/easymock/src/main/java/com/baeldung/testing/easymock/ForecastProcessor.java (100%) rename {testing-modules => testing-libraries}/easymock/src/main/java/com/baeldung/testing/easymock/Location.java (100%) rename {testing-modules => testing-libraries}/easymock/src/main/java/com/baeldung/testing/easymock/ServiceUnavailableException.java (100%) rename {testing-modules => testing-libraries}/easymock/src/main/java/com/baeldung/testing/easymock/WeatherService.java (100%) rename {testing-modules => testing-libraries}/easymock/src/test/java/com/baeldung/testing/easymock/ForecastProcessorUnitTest.java (100%) rename {testing-modules => testing-libraries}/gatling/README.md (100%) rename {testing-modules => testing-libraries}/gatling/pom.xml (96%) rename {testing-modules => testing-libraries}/gatling/src/test/resources/gatling.conf (100%) rename {testing-modules => testing-libraries}/gatling/src/test/resources/logback.xml (100%) rename {testing-modules => testing-libraries}/gatling/src/test/resources/recorder.conf (100%) rename {testing-modules => testing-libraries}/gatling/src/test/scala/Engine.scala (97%) rename {testing-modules => testing-libraries}/gatling/src/test/scala/IDEPathHelper.scala (97%) rename {testing-modules => testing-libraries}/gatling/src/test/scala/Recorder.scala (97%) rename {testing-modules => testing-libraries}/gatling/src/test/scala/org/baeldung/RecordedSimulation.scala (100%) rename {testing-modules => testing-libraries}/groovy-spock/.gitignore (100%) rename {testing-modules => testing-libraries}/groovy-spock/README.md (100%) rename {testing-modules => testing-libraries}/groovy-spock/pom.xml (100%) rename {testing-modules => testing-libraries}/groovy-spock/src/main/java/mocks/EventPublisher.java (100%) rename {testing-modules => testing-libraries}/groovy-spock/src/main/java/mocks/ExternalItemProviderException.java (100%) rename {testing-modules => testing-libraries}/groovy-spock/src/main/java/mocks/Item.java (100%) rename {testing-modules => testing-libraries}/groovy-spock/src/main/java/mocks/ItemProvider.java (100%) rename {testing-modules => testing-libraries}/groovy-spock/src/main/java/mocks/ItemService.java (100%) rename {testing-modules => testing-libraries}/groovy-spock/src/main/java/mocks/LoggingEventPublisher.java (100%) rename {testing-modules => testing-libraries}/groovy-spock/src/test/groovy/FirstSpecification.groovy (100%) rename {testing-modules => testing-libraries}/groovy-spock/src/test/groovy/Notifier.groovy (100%) rename {testing-modules => testing-libraries}/groovy-spock/src/test/groovy/PaymentGateway.groovy (100%) rename {testing-modules => testing-libraries}/groovy-spock/src/test/groovy/extensions/CustomTitleTest.groovy (100%) rename {testing-modules => testing-libraries}/groovy-spock/src/test/groovy/extensions/IgnoreIfTest.groovy (100%) rename {testing-modules => testing-libraries}/groovy-spock/src/test/groovy/extensions/IgnoreRestTest.groovy (100%) rename {testing-modules => testing-libraries}/groovy-spock/src/test/groovy/extensions/IgnoreTest.groovy (100%) rename {testing-modules => testing-libraries}/groovy-spock/src/test/groovy/extensions/IssueTest.groovy (100%) rename {testing-modules => testing-libraries}/groovy-spock/src/test/groovy/extensions/PendingFeatureTest.groovy (100%) rename {testing-modules => testing-libraries}/groovy-spock/src/test/groovy/extensions/RequiresTest.groovy (100%) rename {testing-modules => testing-libraries}/groovy-spock/src/test/groovy/extensions/RestoreSystemPropertiesTest.groovy (100%) rename {testing-modules => testing-libraries}/groovy-spock/src/test/groovy/extensions/RetryTest.groovy (100%) rename {testing-modules => testing-libraries}/groovy-spock/src/test/groovy/extensions/SeeTest.groovy (100%) rename {testing-modules => testing-libraries}/groovy-spock/src/test/groovy/extensions/StackTraceTest.groovy (100%) rename {testing-modules => testing-libraries}/groovy-spock/src/test/groovy/extensions/StepwiseTest.groovy (100%) rename {testing-modules => testing-libraries}/groovy-spock/src/test/groovy/extensions/SubjectTest.groovy (100%) rename {testing-modules => testing-libraries}/groovy-spock/src/test/groovy/extensions/TimeoutTest.groovy (100%) rename {testing-modules => testing-libraries}/groovy-spock/src/test/groovy/mocks/ItemServiceUnitTest.groovy (100%) rename {testing-modules => testing-libraries}/groovy-spock/src/test/resources/SpockConfig.groovy (100%) rename {testing-modules => testing-libraries}/junit-4/README.md (100%) rename {testing-modules => testing-libraries}/junit-4/pom.xml (64%) rename {testing-modules/testing => testing-libraries/junit-4}/src/main/java/com/baeldung/junitparams/SafeAdditionUtil.java (100%) rename {testing-modules => testing-libraries}/junit-4/src/main/resources/logback.xml (100%) rename {testing-modules/testing => testing-libraries/junit-4}/src/test/java/com/baeldung/junitparams/SafeAdditionUtilUnitTest.java (100%) rename {testing-modules/testing => testing-libraries/junit-4}/src/test/java/com/baeldung/junitparams/TestDataProvider.java (100%) rename {testing-modules => testing-libraries}/junit-4/src/test/java/com/baeldung/rules/MessageLogger.java (100%) rename {testing-modules => testing-libraries}/junit-4/src/test/java/com/baeldung/rules/RuleChainUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-4/src/test/java/com/baeldung/rules/RulesUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-4/src/test/java/com/baeldung/rules/TestMethodNameLogger.java (100%) rename {testing-modules => testing-libraries}/junit-4/src/test/java/com/baeldung/rules/VerifierRuleUnitTest.java (100%) rename {testing-modules/testing => testing-libraries/junit-4}/src/test/java/com/baeldung/runfromjava/FirstUnitTest.java (100%) rename {testing-modules/testing => testing-libraries/junit-4}/src/test/java/com/baeldung/runfromjava/MyTestSuite.java (100%) rename {testing-modules/testing => testing-libraries/junit-4}/src/test/java/com/baeldung/runfromjava/RunJUnit4TestsFromJava.java (100%) rename {testing-modules/testing => testing-libraries/junit-4}/src/test/java/com/baeldung/runfromjava/SecondUnitTest.java (100%) rename {testing-modules/testing => testing-libraries/junit-4}/src/test/resources/JunitParamsTestParameters.csv (100%) rename {testing-modules => testing-libraries}/junit-5-advanced/README.md (100%) rename {testing-modules => testing-libraries}/junit-5-advanced/pom.xml (100%) rename {testing-modules => testing-libraries}/junit-5-advanced/src/main/java/com/baeldung/failure_vs_error/SimpleCalculator.java (100%) rename {testing-modules => testing-libraries}/junit-5-advanced/src/main/java/com/baeldung/junit5/testinstance/Tweet.java (100%) rename {testing-modules => testing-libraries}/junit-5-advanced/src/main/java/com/baeldung/junit5/testinstance/TweetException.java (100%) rename {testing-modules => testing-libraries}/junit-5-advanced/src/main/java/com/baeldung/junit5/testinstance/TweetSerializer.java (100%) rename {testing-modules => testing-libraries}/junit-5-advanced/src/main/resources/logback.xml (100%) rename {testing-modules => testing-libraries}/junit-5-advanced/src/test/java/com/baeldung/displayname/DisplayNameGeneratorUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-advanced/src/test/java/com/baeldung/displayname/ReplaceUnderscoresGeneratorUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-advanced/src/test/java/com/baeldung/extensions/testwatcher/TestResultLoggerExtension.java (100%) rename {testing-modules => testing-libraries}/junit-5-advanced/src/test/java/com/baeldung/extensions/testwatcher/TestWatcherAPIUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-advanced/src/test/java/com/baeldung/failure_vs_error/SimpleCalculatorUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/AdditionUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/OrderUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/TweetSerializerJUnit4UnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/TweetSerializerUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-advanced/src/test/resources/lorem-ipsum.txt (100%) rename {testing-modules => testing-libraries}/junit-5-basics/README.md (100%) rename {testing-modules => testing-libraries}/junit-5-basics/pom.xml (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/main/java/com/baeldung/failure_vs_error/SimpleCalculator.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/Employee.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/EmployeeDAO.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/EmployeeRowMapper.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/SpringJdbcConfig.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/main/java/com/baeldung/junit5/Greetings.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/main/java/com/baeldung/junit5/bean/NumbersBean.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/main/resources/jdbc/schema.sql (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/main/resources/jdbc/springJdbc-config.xml (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/main/resources/jdbc/test-data.sql (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/ExceptionUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/FirstUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/GreetingsUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/JUnit5NewFeaturesUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/LiveTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/categories/EmployeeDAOCategoryIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/categories/EmployeeDAOUnitTestSuite.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/categories/IntegrationTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/categories/UnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/example/EmployeeDAOIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/example/EmployeeUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/exception/ExceptionAssertionUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/extensions/tempdir/SharedTemporaryDirectoryUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/extensions/tempdir/TemporaryDirectoryUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/failure_vs_error/SimpleCalculatorUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/junit5/bean/test/NumbersBeanUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/junit5/spring/GreetingsSpringUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/junit5/spring/SpringTestConfiguration.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/migration/junit4/AnnotationTestExampleUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/migration/junit4/AssertionsExampleUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/migration/junit4/BeforeAndAfterAnnotationsUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/migration/junit4/BeforeClassAndAfterClassAnnotationsUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/migration/junit4/ExceptionAssertionUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/migration/junit4/RuleExampleUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/migration/junit4/categories/Annotations.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/migration/junit4/categories/JUnit4UnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/migration/junit4/rules/TraceUnitTestRule.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AnnotationTestExampleUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AssertionsExampleUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AssumptionUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/migration/junit5/BeforeAllAndAfterAllAnnotationsUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/migration/junit5/BeforeEachAndAfterEachAnnotationsUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/migration/junit5/RuleExampleUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/migration/junit5/extensions/TraceUnitExtension.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/resourcedirectory/ReadResourceDirectoryUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/suites/AllUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/tags/EmployeeDAOIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/java/com/baeldung/tags/EmployeeDAOTestSuite.java (100%) rename {testing-modules => testing-libraries}/junit-5-basics/src/test/resources/example_resource.txt (100%) rename {testing-modules => testing-libraries}/junit-5/README.md (100%) rename {testing-modules => testing-libraries}/junit-5/pom.xml (100%) rename {testing-modules => testing-libraries}/junit-5/src/main/java/com/baeldung/abstractclass/abstractmethod/AbstractMethodCalling.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/main/java/com/baeldung/abstractclass/indepedentmethod/AbstractIndependent.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/main/java/com/baeldung/abstractclass/indepedentmethod/ConcreteImpl.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/main/java/com/baeldung/abstractclass/instancefields/AbstractInstanceFields.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/main/java/com/baeldung/abstractclass/privatemethod/AbstractPrivateMethods.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/main/java/com/baeldung/junit5/mockito/User.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/MailClient.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/SettingRepository.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/UserRepository.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/main/java/com/baeldung/junit5/mockito/service/DefaultUserService.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/main/java/com/baeldung/junit5/mockito/service/Errors.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/main/java/com/baeldung/junit5/mockito/service/UserService.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/main/java/com/baeldung/junit5vstestng/Calculator.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/main/java/com/baeldung/junit5vstestng/DivideByZeroException.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/main/resources/logback.xml (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/AssertionUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/DynamicTestsExample.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/EmployeesUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/MultipleExtensionsUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/NestedUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/ProgrammaticEmployeesUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/RegisterExtensionUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/RepeatedTestExample.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/StringUtils.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/TaggedUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/TestLauncher.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/abstractclass/abstractmethod/AbstractMethodCallingUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/abstractclass/indepedentmethod/AbstractIndependentUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/abstractclass/instancefields/AbstractInstanceFieldsUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/abstractclass/privatemethod/AbstractPrivateMethodsUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/conditional/ConditionalAnnotationsUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/extensions/EmployeeDaoParameterResolver.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/extensions/EmployeeDatabaseSetupExtension.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/extensions/EnvironmentExtension.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/extensions/IgnoreFileNotFoundExceptionExtension.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/extensions/LoggingExtension.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/extensions/RegisterExtensionSampleExtension.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/helpers/Employee.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/helpers/EmployeeDao.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/helpers/EmployeeJdbcDao.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/helpers/JdbcConnectionUtil.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/junit4vstestng/SortedUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/junit4vstestng/SummationServiceIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/junit5/mockito/UserServiceUnitTest.java (97%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/junit5/order/AlphanumericOrderUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/junit5/order/CustomOrder.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/junit5/order/CustomOrderUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/junit5/order/OrderAnnotationUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/junit5vstestng/CalculatorUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/junit5vstestng/Class1UnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/junit5vstestng/Class2UnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/junit5vstestng/CustomNameUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/junit5vstestng/ParameterizedUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/junit5vstestng/PizzaDeliveryStrategy.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/junit5vstestng/SelectClassesSuiteUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/junit5vstestng/SelectPackagesSuiteUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/junit5vstestng/SummationServiceUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/methodorders/DefaultOrderOfExecutionUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/methodorders/JVMOrderOfExecutionUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/methodorders/NameAscendingOrderOfExecutionUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/param/InvalidPersonParameterResolver.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/param/Person.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/param/PersonValidator.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/param/PersonValidatorUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/param/ValidPersonParameterResolver.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/parameterized/BlankStringsArgumentsProvider.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/parameterized/EnumsUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/parameterized/LocalDateUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/parameterized/Numbers.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/parameterized/NumbersUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/parameterized/Person.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/parameterized/PersonAggregator.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/parameterized/PersonUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/parameterized/SlashyDateConverter.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/parameterized/StringParams.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/parameterized/Strings.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/parameterized/StringsUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/parameterized/VariableArgumentsProvider.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/parameterized/VariableSource.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/runfromjava/FirstUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/runfromjava/RunJUnit5TestsFromJava.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/java/com/baeldung/runfromjava/SecondUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/resources/com/baeldung/extensions/application.properties (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/resources/com/baeldung/helpers/jdbc.properties (100%) rename {testing-modules => testing-libraries}/junit-5/src/test/resources/data.csv (100%) rename {testing-modules => testing-libraries}/junit5-migration/README.md (100%) rename {testing-modules => testing-libraries}/junit5-migration/pom.xml (100%) rename {testing-modules => testing-libraries}/junit5-migration/src/test/java/com/baeldung/junit4/AnnotationTestExampleUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit5-migration/src/test/java/com/baeldung/junit4/AssertionUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit5-migration/src/test/java/com/baeldung/junit4/AssumeUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit5-migration/src/test/java/com/baeldung/junit4/ExceptionAssertionUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit5-migration/src/test/java/com/baeldung/junit4/RuleExampleUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit5-migration/src/test/java/com/baeldung/junit4/TestAnnotationsUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit5-migration/src/test/java/com/baeldung/junit4/TraceUnitTestRule.java (100%) rename {testing-modules => testing-libraries}/junit5-migration/src/test/java/com/baeldung/junit4/categories/Annotations.java (100%) rename {testing-modules => testing-libraries}/junit5-migration/src/test/java/com/baeldung/junit4/categories/JUnit4UnitTest.java (100%) rename {testing-modules => testing-libraries}/junit5-migration/src/test/java/com/baeldung/junit5/AnnotationTestExampleUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit5-migration/src/test/java/com/baeldung/junit5/AssertionUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit5-migration/src/test/java/com/baeldung/junit5/AssumptionUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit5-migration/src/test/java/com/baeldung/junit5/ConditionalExecutionUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit5-migration/src/test/java/com/baeldung/junit5/NestedUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit5-migration/src/test/java/com/baeldung/junit5/RuleExampleUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit5-migration/src/test/java/com/baeldung/junit5/RuleMigrationSupportUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit5-migration/src/test/java/com/baeldung/junit5/TestAnnotationsUnitTest.java (100%) rename {testing-modules => testing-libraries}/junit5-migration/src/test/java/com/baeldung/junit5/TraceUnitExtension.java (100%) rename {testing-modules => testing-libraries}/load-testing-comparison/README.md (100%) rename {testing-modules => testing-libraries}/load-testing-comparison/pom.xml (100%) rename {testing-modules => testing-libraries}/load-testing-comparison/src/main/java/com/baeldung/loadtesting/Application.java (100%) rename {testing-modules => testing-libraries}/load-testing-comparison/src/main/java/com/baeldung/loadtesting/RewardsController.java (100%) rename {testing-modules => testing-libraries}/load-testing-comparison/src/main/java/com/baeldung/loadtesting/TransactionController.java (100%) rename {testing-modules => testing-libraries}/load-testing-comparison/src/main/java/com/baeldung/loadtesting/model/CustomerRewardsAccount.java (100%) rename {testing-modules => testing-libraries}/load-testing-comparison/src/main/java/com/baeldung/loadtesting/model/Transaction.java (100%) rename {testing-modules => testing-libraries}/load-testing-comparison/src/main/java/com/baeldung/loadtesting/repository/CustomerRewardsRepository.java (100%) rename {testing-modules => testing-libraries}/load-testing-comparison/src/main/java/com/baeldung/loadtesting/repository/TransactionRepository.java (100%) rename {testing-modules => testing-libraries}/load-testing-comparison/src/main/resources/scripts/Gatling/GatlingScenario.scala (100%) rename {testing-modules => testing-libraries}/load-testing-comparison/src/main/resources/scripts/JMeter/Test Plan.jmx (100%) rename {testing-modules => testing-libraries}/load-testing-comparison/src/main/resources/scripts/The Grinder/grinder.properties (100%) rename {testing-modules => testing-libraries}/load-testing-comparison/src/main/resources/scripts/The Grinder/grinder.py (100%) rename {testing-modules => testing-libraries}/mockito-2/.gitignore (100%) rename {testing-modules => testing-libraries}/mockito-2/README.md (100%) rename {testing-modules => testing-libraries}/mockito-2/pom.xml (100%) rename {testing-modules => testing-libraries}/mockito-2/src/main/java/com/baeldung/mockito/java8/JobPosition.java (100%) rename {testing-modules => testing-libraries}/mockito-2/src/main/java/com/baeldung/mockito/java8/JobService.java (100%) rename {testing-modules => testing-libraries}/mockito-2/src/main/java/com/baeldung/mockito/java8/Person.java (100%) rename {testing-modules => testing-libraries}/mockito-2/src/main/java/com/baeldung/mockito/java8/UnemploymentService.java (100%) rename {testing-modules => testing-libraries}/mockito-2/src/main/java/com/baeldung/mockito/java8/UnemploymentServiceImpl.java (100%) rename {testing-modules => testing-libraries}/mockito-2/src/main/resources/logback.xml (100%) rename {testing-modules => testing-libraries}/mockito-2/src/test/java/com/baeldung/mockito/java8/ArgumentMatcherWithLambdaUnitTest.java (100%) rename {testing-modules => testing-libraries}/mockito-2/src/test/java/com/baeldung/mockito/java8/ArgumentMatcherWithoutLambdaUnitTest.java (100%) rename {testing-modules => testing-libraries}/mockito-2/src/test/java/com/baeldung/mockito/java8/CustomAnswerWithLambdaUnitTest.java (100%) rename {testing-modules => testing-libraries}/mockito-2/src/test/java/com/baeldung/mockito/java8/CustomAnswerWithoutLambdaUnitTest.java (100%) rename {testing-modules => testing-libraries}/mockito-2/src/test/java/com/baeldung/mockito/java8/JobServiceUnitTest.java (100%) rename {testing-modules => testing-libraries}/mockito-2/src/test/java/com/baeldung/mockito/java8/LazyVerificationUnitTest.java (100%) rename {testing-modules => testing-libraries}/mockito-2/src/test/java/com/baeldung/mockito/java8/UnemploymentServiceImplUnitTest.java (100%) rename {testing-modules => testing-libraries}/mockito-2/src/test/java/com/baeldung/mockito/misusing/ExpectedTestFailureRule.java (100%) rename {testing-modules => testing-libraries}/mockito-2/src/test/java/com/baeldung/mockito/misusing/MockitoUnecessaryStubUnitTest.java (100%) rename {testing-modules => testing-libraries}/mockito/.gitignore (100%) rename {testing-modules => testing-libraries}/mockito/README.md (100%) rename {testing-modules => testing-libraries}/mockito/pom.xml (100%) rename {testing-modules => testing-libraries}/mockito/src/main/java/org/baeldung/hamcrest/City.java (100%) rename {testing-modules => testing-libraries}/mockito/src/main/java/org/baeldung/hamcrest/Location.java (100%) rename {testing-modules => testing-libraries}/mockito/src/main/java/org/baeldung/hamcrest/custommatchers/IsDivisibleBy.java (100%) rename {testing-modules => testing-libraries}/mockito/src/main/java/org/baeldung/hamcrest/custommatchers/IsOnlyDigits.java (100%) rename {testing-modules => testing-libraries}/mockito/src/main/java/org/baeldung/hamcrest/custommatchers/IsUppercase.java (100%) rename {testing-modules => testing-libraries}/mockito/src/main/java/org/baeldung/mockito/service/ActionHandler.java (100%) rename {testing-modules => testing-libraries}/mockito/src/main/java/org/baeldung/mockito/service/Callback.java (100%) rename {testing-modules => testing-libraries}/mockito/src/main/java/org/baeldung/mockito/service/Data.java (100%) rename {testing-modules => testing-libraries}/mockito/src/main/java/org/baeldung/mockito/service/Response.java (100%) rename {testing-modules => testing-libraries}/mockito/src/main/java/org/baeldung/mockito/service/Service.java (100%) rename {testing-modules => testing-libraries}/mockito/src/main/resources/logback.xml (100%) rename {testing-modules => testing-libraries}/mockito/src/test/java/com/baeldung/powermockito/introduction/CollaboratorForPartialMocking.java (100%) rename {testing-modules => testing-libraries}/mockito/src/test/java/com/baeldung/powermockito/introduction/CollaboratorWithFinalMethods.java (100%) rename {testing-modules => testing-libraries}/mockito/src/test/java/com/baeldung/powermockito/introduction/CollaboratorWithStaticMethods.java (100%) rename {testing-modules => testing-libraries}/mockito/src/test/java/com/baeldung/powermockito/introduction/LuckyNumberGenerator.java (100%) rename {testing-modules => testing-libraries}/mockito/src/test/java/com/baeldung/powermockito/introduction/LuckyNumberGeneratorIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/mockito/src/test/java/com/baeldung/powermockito/introduction/PowerMockitoIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/mockito/src/test/java/org/baeldung/bddmockito/BDDMockitoIntegrationTest.java (97%) rename {testing-modules => testing-libraries}/mockito/src/test/java/org/baeldung/bddmockito/PhoneBookRepository.java (95%) rename {testing-modules => testing-libraries}/mockito/src/test/java/org/baeldung/bddmockito/PhoneBookService.java (96%) rename {testing-modules => testing-libraries}/mockito/src/test/java/org/baeldung/hamcrest/HamcrestBeansUnitTest.java (100%) rename {testing-modules => testing-libraries}/mockito/src/test/java/org/baeldung/hamcrest/HamcrestCoreMatchersUnitTest.java (100%) rename {testing-modules => testing-libraries}/mockito/src/test/java/org/baeldung/hamcrest/HamcrestCustomUnitTest.java (100%) rename {testing-modules => testing-libraries}/mockito/src/test/java/org/baeldung/hamcrest/HamcrestFileUnitTest.java (100%) rename {testing-modules => testing-libraries}/mockito/src/test/java/org/baeldung/hamcrest/HamcrestNumberUnitTest.java (100%) rename {testing-modules => testing-libraries}/mockito/src/test/java/org/baeldung/hamcrest/HamcrestObjectUnitTest.java (100%) rename {testing-modules => testing-libraries}/mockito/src/test/java/org/baeldung/hamcrest/HamcrestTextUnitTest.java (100%) rename {testing-modules => testing-libraries}/mockito/src/test/java/org/baeldung/mockito/FinalList.java (100%) rename {testing-modules => testing-libraries}/mockito/src/test/java/org/baeldung/mockito/MockFinals.java (100%) rename {testing-modules => testing-libraries}/mockito/src/test/java/org/baeldung/mockito/MockitoAnnotationIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/mockito/src/test/java/org/baeldung/mockito/MockitoConfigExamplesIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/mockito/src/test/java/org/baeldung/mockito/MockitoExceptionIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/mockito/src/test/java/org/baeldung/mockito/MockitoInjectIntoSpyUnitTest.java (100%) rename {testing-modules => testing-libraries}/mockito/src/test/java/org/baeldung/mockito/MockitoMockIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/mockito/src/test/java/org/baeldung/mockito/MockitoSpyIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/mockito/src/test/java/org/baeldung/mockito/MockitoVerifyExamplesIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/mockito/src/test/java/org/baeldung/mockito/MockitoVoidMethodsUnitTest.java (100%) rename {testing-modules => testing-libraries}/mockito/src/test/java/org/baeldung/mockito/MyDictionary.java (100%) rename {testing-modules => testing-libraries}/mockito/src/test/java/org/baeldung/mockito/MyList.java (100%) rename {testing-modules => testing-libraries}/mockito/src/test/java/org/baeldung/mockito/misusing/MockitoMisusingUnitTest.java (100%) rename {testing-modules => testing-libraries}/mockito/src/test/java/org/baeldung/mockito/service/ActionHandlerUnitTest.java (100%) rename {testing-modules => testing-libraries}/mockito/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker (100%) rename {testing-modules => testing-libraries}/mockito/src/test/resources/test1.in (100%) rename {testing-modules => testing-libraries}/mocks/README.md (100%) create mode 100644 testing-libraries/mocks/javafaker/pom.xml rename {testing-modules/testing => testing-libraries/mocks/javafaker}/src/test/java/com/baeldung/javafaker/JavaFakerUnitTest.java (100%) rename {testing-modules => testing-libraries}/mocks/jmockit/README.md (100%) rename {testing-modules => testing-libraries}/mocks/jmockit/pom.xml (100%) rename {testing-modules => testing-libraries}/mocks/jmockit/src/main/java/com/baeldung/mocks/jmockit/AppManager.java (100%) rename {testing-modules => testing-libraries}/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/AdvancedCollaborator.java (100%) rename {testing-modules => testing-libraries}/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/Collaborator.java (100%) rename {testing-modules => testing-libraries}/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/ExpectationsCollaborator.java (100%) rename {testing-modules => testing-libraries}/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/Model.java (100%) rename {testing-modules => testing-libraries}/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/Performer.java (100%) rename {testing-modules => testing-libraries}/mocks/jmockit/src/main/resources/logback.xml (100%) rename {testing-modules => testing-libraries}/mocks/jmockit/src/test/java/com/baeldung/mocks/jmockit/AppManagerUnitTest.java (100%) rename {testing-modules => testing-libraries}/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/AdvancedCollaboratorIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/ExpectationsIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/PerformerIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/ReusingIntegrationTest.java (100%) create mode 100644 testing-libraries/mocks/jukito/pom.xml rename {testing-modules/testing => testing-libraries/mocks/jukito}/src/main/java/com/baeldung/introductionjukito/Calculator.java (100%) rename {testing-modules/testing => testing-libraries/mocks/jukito}/src/main/java/com/baeldung/introductionjukito/ScientificCalculator.java (100%) rename {testing-modules/testing => testing-libraries/mocks/jukito}/src/main/java/com/baeldung/introductionjukito/SimpleCalculator.java (100%) rename {testing-modules/testing => testing-libraries/mocks/jukito}/src/test/java/com/baeldung/introductionjukito/CalculatorUnitTest.java (100%) rename {testing-modules => testing-libraries}/mocks/mock-comparisons/README.md (100%) rename {testing-modules => testing-libraries}/mocks/mock-comparisons/pom.xml (100%) rename {testing-modules => testing-libraries}/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/ArticleReader.java (95%) mode change 100755 => 100644 rename {testing-modules => testing-libraries}/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/BaeldungArticle.java (95%) mode change 100755 => 100644 rename {testing-modules => testing-libraries}/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/BaeldungReader.java (95%) mode change 100755 => 100644 rename {testing-modules => testing-libraries}/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/IArticleWriter.java (94%) mode change 100755 => 100644 rename {testing-modules => testing-libraries}/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/IUserService.java (100%) rename {testing-modules => testing-libraries}/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/User.java (100%) rename {testing-modules => testing-libraries}/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/LoginController.java (100%) rename {testing-modules => testing-libraries}/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/LoginDao.java (100%) rename {testing-modules => testing-libraries}/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/LoginService.java (100%) rename {testing-modules => testing-libraries}/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/UserForm.java (100%) rename {testing-modules => testing-libraries}/mocks/mock-comparisons/src/main/resources/logback.xml (100%) rename {testing-modules => testing-libraries}/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/ArgumentMatchersUnitTest.java (100%) rename {testing-modules => testing-libraries}/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderAnnotatedUnitTest.java (96%) mode change 100755 => 100644 rename {testing-modules => testing-libraries}/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderAnnotatedWithRuleUnitTest.java (96%) mode change 100755 => 100644 rename {testing-modules => testing-libraries}/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderMockDelegationUnitTest.java (97%) mode change 100755 => 100644 rename {testing-modules => testing-libraries}/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderMockSupportUnitTest.java (96%) mode change 100755 => 100644 rename {testing-modules => testing-libraries}/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderUnitTest.java (97%) mode change 100755 => 100644 rename {testing-modules => testing-libraries}/mocks/mock-comparisons/src/test/java/org/baeldung/mocks/easymock/LoginControllerIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/mocks/mock-comparisons/src/test/java/org/baeldung/mocks/jmockit/LoginControllerIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/mocks/mock-comparisons/src/test/java/org/baeldung/mocks/mockito/LoginControllerIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/mocks/pom.xml (100%) rename {testing-modules => testing-libraries}/mockserver/README.md (100%) rename {testing-modules => testing-libraries}/mockserver/pom.xml (100%) rename {testing-modules => testing-libraries}/mockserver/src/main/java/com/baeldung/mock/server/ExpectationCallbackHandler.java (100%) rename {testing-modules => testing-libraries}/mockserver/src/main/resources/logback.xml (100%) rename {testing-modules => testing-libraries}/mockserver/src/test/java/com/baeldung/mock/server/MockServerLiveTest.java (100%) rename {testing-modules => testing-libraries}/parallel-tests-junit/README.md (100%) rename {testing-modules => testing-libraries}/parallel-tests-junit/math-test-functions/pom.xml (100%) rename {testing-modules => testing-libraries}/parallel-tests-junit/math-test-functions/src/test/java/com/baeldung/ArithmeticFunctionUnitTest.java (100%) rename {testing-modules => testing-libraries}/parallel-tests-junit/math-test-functions/src/test/java/com/baeldung/ComparisonFunctionUnitTest.java (100%) rename {testing-modules => testing-libraries}/parallel-tests-junit/math-test-functions/src/test/java/com/baeldung/FunctionTestSuite.java (100%) rename {testing-modules => testing-libraries}/parallel-tests-junit/pom.xml (100%) rename {testing-modules => testing-libraries}/parallel-tests-junit/string-test-functions/pom.xml (100%) rename {testing-modules => testing-libraries}/parallel-tests-junit/string-test-functions/src/test/java/com/baeldung/StringFunctionUnitTest.java (100%) rename {testing-modules => testing-libraries}/pom.xml (92%) rename {testing-modules => testing-libraries}/rest-assured/.gitignore (100%) rename {testing-modules => testing-libraries}/rest-assured/README.md (100%) rename {testing-modules => testing-libraries}/rest-assured/pom.xml (100%) rename {testing-modules => testing-libraries}/rest-assured/src/main/java/com/baeldung/restassured/Application.java (100%) rename {testing-modules => testing-libraries}/rest-assured/src/main/java/com/baeldung/restassured/controller/AppController.java (100%) rename {testing-modules => testing-libraries}/rest-assured/src/main/java/com/baeldung/restassured/learner/Course.java (100%) rename {testing-modules => testing-libraries}/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseController.java (100%) rename {testing-modules => testing-libraries}/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseControllerExceptionHandler.java (100%) rename {testing-modules => testing-libraries}/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseNotFoundException.java (100%) rename {testing-modules => testing-libraries}/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseService.java (100%) rename {testing-modules => testing-libraries}/rest-assured/src/main/java/com/baeldung/restassured/model/Movie.java (100%) rename {testing-modules => testing-libraries}/rest-assured/src/main/java/com/baeldung/restassured/service/AppService.java (100%) rename {testing-modules => testing-libraries}/rest-assured/src/main/resources/1 (100%) rename {testing-modules => testing-libraries}/rest-assured/src/main/resources/2 (100%) rename {testing-modules => testing-libraries}/rest-assured/src/test/java/com/baeldung/restassured/Odd.java (94%) rename {testing-modules => testing-libraries}/rest-assured/src/test/java/com/baeldung/restassured/RestAssured2IntegrationTest.java (100%) rename {testing-modules => testing-libraries}/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredAdvancedLiveTest.java (100%) rename {testing-modules => testing-libraries}/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredXML2IntegrationTest.java (100%) rename {testing-modules => testing-libraries}/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredXMLIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/rest-assured/src/test/java/com/baeldung/restassured/Util.java (100%) rename {testing-modules => testing-libraries}/rest-assured/src/test/java/com/baeldung/restassured/authentication/BasicAuthenticationLiveTest.java (100%) rename {testing-modules => testing-libraries}/rest-assured/src/test/java/com/baeldung/restassured/authentication/BasicPreemtiveAuthenticationLiveTest.java (100%) rename {testing-modules => testing-libraries}/rest-assured/src/test/java/com/baeldung/restassured/authentication/DigestAuthenticationLiveTest.java (100%) rename {testing-modules => testing-libraries}/rest-assured/src/test/java/com/baeldung/restassured/authentication/FormAuthenticationLiveTest.java (100%) rename {testing-modules => testing-libraries}/rest-assured/src/test/java/com/baeldung/restassured/authentication/FormAutoconfAuthenticationLiveTest.java (100%) rename {testing-modules => testing-libraries}/rest-assured/src/test/java/com/baeldung/restassured/authentication/OAuth2AuthenticationLiveTest.java (100%) rename {testing-modules => testing-libraries}/rest-assured/src/test/java/com/baeldung/restassured/authentication/OAuthAuthenticationLiveTest.java (100%) rename {testing-modules => testing-libraries}/rest-assured/src/test/java/com/baeldung/restassured/controller/AppControllerIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/rest-assured/src/test/java/com/baeldung/restassured/learner/CourseControllerIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/rest-assured/src/test/java/com/baeldung/restassured/learner/CourseControllerUnitTest.java (100%) rename {testing-modules => testing-libraries}/rest-assured/src/test/resources/employees.xml (100%) rename {testing-modules => testing-libraries}/rest-assured/src/test/resources/event_0.json (100%) rename {testing-modules => testing-libraries}/rest-assured/src/test/resources/logback.xml (100%) rename {testing-modules => testing-libraries}/rest-assured/src/test/resources/odds.json (100%) rename {testing-modules => testing-libraries}/rest-assured/src/test/resources/teachers.xml (100%) rename {testing-modules => testing-libraries}/rest-assured/src/test/resources/test.txt (100%) rename {testing-modules => testing-libraries}/rest-testing/.gitignore (100%) rename {testing-modules => testing-libraries}/rest-testing/README.md (100%) rename {testing-modules => testing-libraries}/rest-testing/pom.xml (100%) rename {testing-modules => testing-libraries}/rest-testing/src/main/resources/cucumber.json (100%) rename {testing-modules => testing-libraries}/rest-testing/src/main/resources/karate/cucumber.feature (100%) rename {testing-modules => testing-libraries}/rest-testing/src/main/resources/logback.xml (100%) rename {testing-modules => testing-libraries}/rest-testing/src/main/resources/wiremock_intro.json (100%) rename {testing-modules => testing-libraries}/rest-testing/src/test/java/com/baeldung/rest/cucumber/CucumberIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/rest-testing/src/test/java/com/baeldung/rest/cucumber/StepDefinition.java (100%) rename {testing-modules => testing-libraries}/rest-testing/src/test/java/com/baeldung/rest/jbehave/AbstractStory.java (100%) rename {testing-modules => testing-libraries}/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserNotFoundSteps.java (100%) rename {testing-modules => testing-libraries}/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserNotFoundStoryLiveTest.java (100%) rename {testing-modules => testing-libraries}/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponseMediaTypeSteps.java (100%) rename {testing-modules => testing-libraries}/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponseMediaTypeStoryLiveTest.java (100%) rename {testing-modules => testing-libraries}/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponsePayloadSteps.java (100%) rename {testing-modules => testing-libraries}/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponsePayloadStoryLiveTest.java (100%) rename {testing-modules => testing-libraries}/rest-testing/src/test/java/com/baeldung/rest/jbehave/IncreaseSteps.java (100%) rename {testing-modules => testing-libraries}/rest-testing/src/test/java/com/baeldung/rest/jbehave/IncreaseStoryLiveTest.java (100%) rename {testing-modules => testing-libraries}/rest-testing/src/test/java/com/baeldung/rest/karate/KarateIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/rest-testing/src/test/java/com/baeldung/rest/wiremock/introduction/JUnitManagedIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/rest-testing/src/test/java/com/baeldung/rest/wiremock/introduction/ProgrammaticallyManagedLiveTest.java (100%) rename {testing-modules => testing-libraries}/rest-testing/src/test/java/com/baeldung/rest/wiremock/scenario/WireMockScenarioExampleIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/rest-testing/src/test/java/org/baeldung/rest/GitHubUser.java (100%) rename {testing-modules => testing-libraries}/rest-testing/src/test/java/org/baeldung/rest/RetrieveUtil.java (100%) rename {testing-modules => testing-libraries}/rest-testing/src/test/resources/Feature/cucumber.feature (100%) rename {testing-modules => testing-libraries}/rest-testing/src/test/resources/github_user_not_found.story (100%) rename {testing-modules => testing-libraries}/rest-testing/src/test/resources/github_user_response_mediatype.story (100%) rename {testing-modules => testing-libraries}/rest-testing/src/test/resources/github_user_response_payload.story (100%) rename {testing-modules => testing-libraries}/rest-testing/src/test/resources/increase.story (100%) rename {testing-modules => testing-libraries}/rest-testing/src/test/resources/karate/user.feature (100%) rename {testing-modules => testing-libraries}/runjunitfromjava/src/main/resources/logback.xml (100%) rename {testing-modules => testing-libraries}/runjunitfromjava/src/test/java/com/baeldung/junit4/runfromjava/FirstUnitTest.java (100%) rename {testing-modules => testing-libraries}/runjunitfromjava/src/test/java/com/baeldung/junit4/runfromjava/SecondUnitTest.java (100%) rename {testing-modules => testing-libraries}/runjunitfromjava/src/test/java/com/baeldung/junit5/runfromjava/FirstUnitTest.java (100%) rename {testing-modules => testing-libraries}/runjunitfromjava/src/test/java/com/baeldung/junit5/runfromjava/SecondUnitTest.java (100%) rename {testing-modules => testing-libraries}/selenium-junit-testng/README.md (100%) rename {testing-modules => testing-libraries}/selenium-junit-testng/geckodriver.mac (100%) mode change 100755 => 100644 rename {testing-modules => testing-libraries}/selenium-junit-testng/pom.xml (100%) rename {testing-modules => testing-libraries}/selenium-junit-testng/src/main/java/com/baeldung/selenium/SeleniumExample.java (100%) rename {testing-modules => testing-libraries}/selenium-junit-testng/src/main/java/com/baeldung/selenium/config/SeleniumConfig.java (100%) rename {testing-modules => testing-libraries}/selenium-junit-testng/src/main/java/com/baeldung/selenium/models/BaeldungAbout.java (100%) rename {testing-modules => testing-libraries}/selenium-junit-testng/src/main/java/com/baeldung/selenium/pages/BaeldungAboutPage.java (100%) rename {testing-modules => testing-libraries}/selenium-junit-testng/src/main/java/com/baeldung/selenium/pages/BaeldungHomePage.java (100%) rename {testing-modules => testing-libraries}/selenium-junit-testng/src/main/java/com/baeldung/selenium/pages/StartHerePage.java (100%) rename {testing-modules => testing-libraries}/selenium-junit-testng/src/main/resources/logback.xml (100%) rename {testing-modules => testing-libraries}/selenium-junit-testng/src/test/java/com/baeldung/selenium/junit/SeleniumPageObjectLiveTest.java (100%) rename {testing-modules => testing-libraries}/selenium-junit-testng/src/test/java/com/baeldung/selenium/junit/SeleniumWithJUnitLiveTest.java (100%) rename {testing-modules => testing-libraries}/selenium-junit-testng/src/test/java/com/baeldung/selenium/testng/SeleniumWithTestNGLiveTest.java (100%) rename {testing-modules => testing-libraries}/spring-testing/README.md (100%) rename {testing-modules => testing-libraries}/spring-testing/pom.xml (100%) rename {testing-modules => testing-libraries}/spring-testing/src/main/java/com/baeldung/config/ScheduledConfig.java (100%) rename {testing-modules => testing-libraries}/spring-testing/src/main/java/com/baeldung/config/WebConfig.java (100%) rename {testing-modules => testing-libraries}/spring-testing/src/main/java/com/baeldung/controller/parameterized/EmployeeRoleController.java (100%) rename {testing-modules => testing-libraries}/spring-testing/src/main/java/com/baeldung/overrideproperties/Application.java (100%) rename {testing-modules => testing-libraries}/spring-testing/src/main/java/com/baeldung/overrideproperties/resolver/PropertySourceResolver.java (100%) rename {testing-modules => testing-libraries}/spring-testing/src/main/java/com/baeldung/scheduled/Counter.java (100%) rename {testing-modules => testing-libraries}/spring-testing/src/main/java/com/baeldung/testpropertysource/ClassUsingProperty.java (100%) rename {testing-modules => testing-libraries}/spring-testing/src/main/java/org/baeldung/mockito/repository/User.java (100%) rename {testing-modules => testing-libraries}/spring-testing/src/main/java/org/baeldung/mockito/repository/UserRepository.java (100%) rename {testing-modules => testing-libraries}/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/Employee.java (94%) rename {testing-modules => testing-libraries}/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/EmployeeService.java (96%) rename {testing-modules => testing-libraries}/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/HRService.java (95%) rename {testing-modules => testing-libraries}/spring-testing/src/main/resources/logback.xml (100%) rename {testing-modules => testing-libraries}/spring-testing/src/test/java/com/baeldung/controller/parameterized/RoleControllerIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/spring-testing/src/test/java/com/baeldung/controller/parameterized/RoleControllerParameterizedClassRuleIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/spring-testing/src/test/java/com/baeldung/controller/parameterized/RoleControllerParameterizedIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/spring-testing/src/test/java/com/baeldung/overrideproperties/ContextPropertySourceResolverIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/spring-testing/src/test/java/com/baeldung/overrideproperties/ProfilePropertySourceResolverIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/spring-testing/src/test/java/com/baeldung/overrideproperties/PropertyOverrideContextInitializer.java (100%) rename {testing-modules => testing-libraries}/spring-testing/src/test/java/com/baeldung/overrideproperties/SpringBootPropertySourceResolverIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/spring-testing/src/test/java/com/baeldung/overrideproperties/TestResourcePropertySourceResolverIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/spring-testing/src/test/java/com/baeldung/scheduled/ScheduledAwaitilityIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/spring-testing/src/test/java/com/baeldung/scheduled/ScheduledIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/spring-testing/src/test/java/com/baeldung/testpropertysource/DefaultTestPropertySourceIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/spring-testing/src/test/java/com/baeldung/testpropertysource/LocationTestPropertySourceIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/spring-testing/src/test/java/com/baeldung/testpropertysource/PropertiesTestPropertySourceIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/spring-testing/src/test/java/org/baeldung/mockito/MockAnnotationUnitTest.java (100%) rename {testing-modules => testing-libraries}/spring-testing/src/test/java/org/baeldung/mockito/MockBeanAnnotationIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/spring-testing/src/test/java/org/baeldung/reflectiontestutils/ReflectionTestUtilsUnitTest.java (97%) rename {testing-modules => testing-libraries}/spring-testing/src/test/resources/application-test.properties (100%) rename {testing-modules => testing-libraries}/spring-testing/src/test/resources/application.properties (100%) rename {testing-modules => testing-libraries}/spring-testing/src/test/resources/com/baeldung/testpropertysource/DefaultTestPropertySourceIntegrationTest.properties (100%) rename {testing-modules => testing-libraries}/spring-testing/src/test/resources/context-override-application.properties (100%) rename {testing-modules => testing-libraries}/spring-testing/src/test/resources/other-location.properties (100%) rename {testing-modules => testing-libraries}/test-containers/README.md (100%) rename {testing-modules => testing-libraries}/test-containers/pom.xml (100%) rename {testing-modules => testing-libraries}/test-containers/src/test/java/com/baeldung/testconainers/DockerComposeContainerLiveTest.java (100%) rename {testing-modules => testing-libraries}/test-containers/src/test/java/com/baeldung/testconainers/GenericContainerLiveTest.java (100%) rename {testing-modules => testing-libraries}/test-containers/src/test/java/com/baeldung/testconainers/PostgreSqlContainerLiveTest.java (100%) rename {testing-modules => testing-libraries}/test-containers/src/test/java/com/baeldung/testconainers/WebDriverContainerLiveTest.java (100%) rename {testing-modules => testing-libraries}/test-containers/src/test/resources/test-compose.yml (100%) rename {testing-modules => testing-libraries}/testng/README.md (100%) rename {testing-modules => testing-libraries}/testng/pom.xml (96%) rename {testing-modules => testing-libraries}/testng/src/test/java/com/baeldung/DependentLongRunningUnitTest.java (100%) rename {testing-modules => testing-libraries}/testng/src/test/java/com/baeldung/GroupIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/testng/src/test/java/com/baeldung/MultiThreadedIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/testng/src/test/java/com/baeldung/ParametrizedLongRunningUnitTest.java (100%) rename {testing-modules => testing-libraries}/testng/src/test/java/com/baeldung/PriorityLongRunningUnitTest.java (100%) rename {testing-modules => testing-libraries}/testng/src/test/java/com/baeldung/RegistrationLongRunningUnitTest.java (100%) rename {testing-modules => testing-libraries}/testng/src/test/java/com/baeldung/SignInLongRunningUnitTest.java (100%) rename {testing-modules => testing-libraries}/testng/src/test/java/com/baeldung/SimpleLongRunningUnitTest.java (100%) rename {testing-modules => testing-libraries}/testng/src/test/java/com/baeldung/SummationServiceIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/testng/src/test/java/com/baeldung/TimeOutIntegrationTest.java (100%) rename {testing-modules => testing-libraries}/testng/src/test/java/com/baeldung/reports/CustomisedListener.java (96%) rename {testing-modules => testing-libraries}/testng/src/test/java/com/baeldung/reports/CustomisedReports.java (97%) rename {testing-modules => testing-libraries}/testng/src/test/resources/logback.xml (94%) rename {testing-modules => testing-libraries}/testng/src/test/resources/parametrized_testng.xml (95%) rename {testing-modules => testing-libraries}/testng/src/test/resources/reportTemplate.html (100%) rename {testing-modules => testing-libraries}/testng/src/test/resources/test_group.xml (94%) rename {testing-modules => testing-libraries}/testng/src/test/resources/test_setup.xml (95%) rename {testing-modules => testing-libraries}/testng/src/test/resources/test_suite.xml (96%) rename {testing-modules => testing-libraries}/xmlunit-2/README.md (100%) rename {testing-modules => testing-libraries}/xmlunit-2/pom.xml (100%) rename {testing-modules => testing-libraries}/xmlunit-2/src/main/java/com/baeldung/xmlunit/IgnoreAttributeDifferenceEvaluator.java (100%) rename {testing-modules/testing => testing-libraries/xmlunit-2}/src/main/resources/logback.xml (100%) rename {testing-modules => testing-libraries}/xmlunit-2/src/test/java/com/baeldung/xmlunit/XMLUnitTest.java (100%) rename {testing-modules => testing-libraries}/xmlunit-2/src/test/resources/control.xml (100%) rename {testing-modules => testing-libraries}/xmlunit-2/src/test/resources/students.xml (100%) rename {testing-modules => testing-libraries}/xmlunit-2/src/test/resources/students.xsd (100%) rename {testing-modules => testing-libraries}/xmlunit-2/src/test/resources/students_with_error.xml (100%) rename {testing-modules => testing-libraries}/xmlunit-2/src/test/resources/teachers.xml (100%) rename {testing-modules => testing-libraries}/xmlunit-2/src/test/resources/test.xml (100%) delete mode 100644 testing-modules/groovy-spock/report-2019-03-29.json delete mode 100644 testing-modules/testing/README.md delete mode 100644 testing-modules/testing/pom.xml delete mode 100644 testing-modules/xmlunit-2/src/main/resources/logback.xml diff --git a/assertion-libraries/pom.xml b/assertion-libraries/pom.xml new file mode 100644 index 0000000000..274806d336 --- /dev/null +++ b/assertion-libraries/pom.xml @@ -0,0 +1,81 @@ + + 4.0.0 + com.baeldung + assertion-libraries + 0.1-SNAPSHOT + assertion-libraries + + + com.baeldung + parent-java + 0.0.1-SNAPSHOT + ../parent-java + + + + + com.google.truth + truth + ${truth.version} + + + com.google.truth.extensions + truth-java8-extension + ${truth.version} + test + + + org.assertj + assertj-guava + ${assertj-guava.version} + + + org.assertj + assertj-core + ${assertj-core.version} + test + + + org.javalite + javalite-common + ${javalite.version} + + + org.jgotesting + jgotesting + ${jgotesting.version} + test + + + + + + + + org.assertj + assertj-assertions-generator-maven-plugin + ${assertj-generator.version} + + + com.baeldung.testing.assertj.custom.Person + + + + + + + + 0.32 + 3.1.0 + 3.9.0 + 2.1.0 + 1.4.13 + 0.12 + + + + + + + diff --git a/testing-modules/testing/src/main/java/com/baeldung/testing/assertj/Dog.java b/assertion-libraries/src/main/java/com/baeldung/assertj/Dog.java similarity index 88% rename from testing-modules/testing/src/main/java/com/baeldung/testing/assertj/Dog.java rename to assertion-libraries/src/main/java/com/baeldung/assertj/Dog.java index 7a1c158500..6c049e1a10 100644 --- a/testing-modules/testing/src/main/java/com/baeldung/testing/assertj/Dog.java +++ b/assertion-libraries/src/main/java/com/baeldung/assertj/Dog.java @@ -1,4 +1,4 @@ -package com.baeldung.testing.assertj; +package com.baeldung.assertj; public class Dog { private String name; diff --git a/testing-modules/testing/src/main/java/com/baeldung/testing/assertj/Member.java b/assertion-libraries/src/main/java/com/baeldung/assertj/Member.java similarity index 88% rename from testing-modules/testing/src/main/java/com/baeldung/testing/assertj/Member.java rename to assertion-libraries/src/main/java/com/baeldung/assertj/Member.java index a0b3d0daac..baf3c2df52 100644 --- a/testing-modules/testing/src/main/java/com/baeldung/testing/assertj/Member.java +++ b/assertion-libraries/src/main/java/com/baeldung/assertj/Member.java @@ -1,4 +1,4 @@ -package com.baeldung.testing.assertj; +package com.baeldung.assertj; public class Member { private String name; diff --git a/testing-modules/testing/src/main/java/com/baeldung/testing/assertj/Person.java b/assertion-libraries/src/main/java/com/baeldung/assertj/Person.java similarity index 88% rename from testing-modules/testing/src/main/java/com/baeldung/testing/assertj/Person.java rename to assertion-libraries/src/main/java/com/baeldung/assertj/Person.java index 43e9ff8884..09b16b4f5b 100644 --- a/testing-modules/testing/src/main/java/com/baeldung/testing/assertj/Person.java +++ b/assertion-libraries/src/main/java/com/baeldung/assertj/Person.java @@ -1,4 +1,4 @@ -package com.baeldung.testing.assertj; +package com.baeldung.assertj; public class Person { private String name; diff --git a/testing-modules/testing/src/main/java/com/baeldung/testing/assertj/custom/Person.java b/assertion-libraries/src/main/java/com/baeldung/assertj/custom/Person.java similarity index 93% rename from testing-modules/testing/src/main/java/com/baeldung/testing/assertj/custom/Person.java rename to assertion-libraries/src/main/java/com/baeldung/assertj/custom/Person.java index 34afc480e4..5506a56b51 100644 --- a/testing-modules/testing/src/main/java/com/baeldung/testing/assertj/custom/Person.java +++ b/assertion-libraries/src/main/java/com/baeldung/assertj/custom/Person.java @@ -1,4 +1,4 @@ -package com.baeldung.testing.assertj.custom; +package com.baeldung.assertj.custom; import java.util.ArrayList; import java.util.List; diff --git a/testing-modules/testing/src/main/java/com/baeldung/jspec/Animal.java b/assertion-libraries/src/main/java/com/baeldung/jspec/Animal.java similarity index 100% rename from testing-modules/testing/src/main/java/com/baeldung/jspec/Animal.java rename to assertion-libraries/src/main/java/com/baeldung/jspec/Animal.java diff --git a/testing-modules/testing/src/main/java/com/baeldung/jspec/Cage.java b/assertion-libraries/src/main/java/com/baeldung/jspec/Cage.java similarity index 100% rename from testing-modules/testing/src/main/java/com/baeldung/jspec/Cage.java rename to assertion-libraries/src/main/java/com/baeldung/jspec/Cage.java diff --git a/testing-modules/testing/src/main/java/com/baeldung/jspec/Cat.java b/assertion-libraries/src/main/java/com/baeldung/jspec/Cat.java similarity index 100% rename from testing-modules/testing/src/main/java/com/baeldung/jspec/Cat.java rename to assertion-libraries/src/main/java/com/baeldung/jspec/Cat.java diff --git a/testing-modules/testing/src/main/java/com/baeldung/jspec/Dog.java b/assertion-libraries/src/main/java/com/baeldung/jspec/Dog.java similarity index 100% rename from testing-modules/testing/src/main/java/com/baeldung/jspec/Dog.java rename to assertion-libraries/src/main/java/com/baeldung/jspec/Dog.java diff --git a/testing-modules/testing/src/main/java/com/baeldung/junit/Calculator.java b/assertion-libraries/src/main/java/com/baeldung/junit/Calculator.java similarity index 100% rename from testing-modules/testing/src/main/java/com/baeldung/junit/Calculator.java rename to assertion-libraries/src/main/java/com/baeldung/junit/Calculator.java diff --git a/testing-modules/testing/src/main/java/com/baeldung/testing/truth/User.java b/assertion-libraries/src/main/java/com/baeldung/truth/User.java similarity index 97% rename from testing-modules/testing/src/main/java/com/baeldung/testing/truth/User.java rename to assertion-libraries/src/main/java/com/baeldung/truth/User.java index fe857dd265..2b5ffde19f 100644 --- a/testing-modules/testing/src/main/java/com/baeldung/testing/truth/User.java +++ b/assertion-libraries/src/main/java/com/baeldung/truth/User.java @@ -1,4 +1,4 @@ -package com.baeldung.testing.truth; +package com.baeldung.truth; import java.util.Arrays; import java.util.List; diff --git a/testing-modules/testing/src/main/java/com/baeldung/testing/truth/UserSubject.java b/assertion-libraries/src/main/java/com/baeldung/truth/UserSubject.java similarity index 97% rename from testing-modules/testing/src/main/java/com/baeldung/testing/truth/UserSubject.java rename to assertion-libraries/src/main/java/com/baeldung/truth/UserSubject.java index 2fd84085a0..b478043ad8 100644 --- a/testing-modules/testing/src/main/java/com/baeldung/testing/truth/UserSubject.java +++ b/assertion-libraries/src/main/java/com/baeldung/truth/UserSubject.java @@ -1,4 +1,4 @@ -package com.baeldung.testing.truth; +package com.baeldung.truth; import com.google.common.truth.ComparableSubject; import com.google.common.truth.FailureStrategy; diff --git a/testing-modules/testing/src/test/java/com/baeldung/testing/assertj/AssertJConditionUnitTest.java b/assertion-libraries/src/test/java/com/baeldung/assertj/AssertJConditionUnitTest.java similarity index 98% rename from testing-modules/testing/src/test/java/com/baeldung/testing/assertj/AssertJConditionUnitTest.java rename to assertion-libraries/src/test/java/com/baeldung/assertj/AssertJConditionUnitTest.java index 6fa09d8dfc..ec2d93500f 100644 --- a/testing-modules/testing/src/test/java/com/baeldung/testing/assertj/AssertJConditionUnitTest.java +++ b/assertion-libraries/src/test/java/com/baeldung/assertj/AssertJConditionUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.testing.assertj; +package com.baeldung.assertj; import static org.assertj.core.api.Assertions.allOf; import static org.assertj.core.api.Assertions.anyOf; diff --git a/testing-modules/testing/src/test/java/com/baeldung/testing/assertj/AssertJCoreUnitTest.java b/assertion-libraries/src/test/java/com/baeldung/assertj/AssertJCoreUnitTest.java similarity index 98% rename from testing-modules/testing/src/test/java/com/baeldung/testing/assertj/AssertJCoreUnitTest.java rename to assertion-libraries/src/test/java/com/baeldung/assertj/AssertJCoreUnitTest.java index 6836bb79c5..73b9b373a1 100644 --- a/testing-modules/testing/src/test/java/com/baeldung/testing/assertj/AssertJCoreUnitTest.java +++ b/assertion-libraries/src/test/java/com/baeldung/assertj/AssertJCoreUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.testing.assertj; +package com.baeldung.assertj; import org.assertj.core.util.Maps; import org.junit.Ignore; diff --git a/testing-modules/testing/src/test/java/com/baeldung/testing/assertj/AssertJGuavaUnitTest.java b/assertion-libraries/src/test/java/com/baeldung/assertj/AssertJGuavaUnitTest.java similarity index 98% rename from testing-modules/testing/src/test/java/com/baeldung/testing/assertj/AssertJGuavaUnitTest.java rename to assertion-libraries/src/test/java/com/baeldung/assertj/AssertJGuavaUnitTest.java index 2056d7e61a..6a552aee78 100644 --- a/testing-modules/testing/src/test/java/com/baeldung/testing/assertj/AssertJGuavaUnitTest.java +++ b/assertion-libraries/src/test/java/com/baeldung/assertj/AssertJGuavaUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.testing.assertj; +package com.baeldung.assertj; import com.google.common.base.Optional; import com.google.common.collect.ArrayListMultimap; diff --git a/testing-modules/testing/src/test/java/com/baeldung/testing/assertj/AssertJJava8UnitTest.java b/assertion-libraries/src/test/java/com/baeldung/assertj/AssertJJava8UnitTest.java similarity index 98% rename from testing-modules/testing/src/test/java/com/baeldung/testing/assertj/AssertJJava8UnitTest.java rename to assertion-libraries/src/test/java/com/baeldung/assertj/AssertJJava8UnitTest.java index 7ec6d0caa7..a2f58d677d 100644 --- a/testing-modules/testing/src/test/java/com/baeldung/testing/assertj/AssertJJava8UnitTest.java +++ b/assertion-libraries/src/test/java/com/baeldung/assertj/AssertJJava8UnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.testing.assertj; +package com.baeldung.assertj; import org.junit.Test; diff --git a/testing-modules/testing/src/test/java/com/baeldung/testing/assertj/custom/AssertJCustomAssertionsUnitTest.java b/assertion-libraries/src/test/java/com/baeldung/assertj/custom/AssertJCustomAssertionsUnitTest.java similarity index 91% rename from testing-modules/testing/src/test/java/com/baeldung/testing/assertj/custom/AssertJCustomAssertionsUnitTest.java rename to assertion-libraries/src/test/java/com/baeldung/assertj/custom/AssertJCustomAssertionsUnitTest.java index 4c09311bac..98f50568a8 100644 --- a/testing-modules/testing/src/test/java/com/baeldung/testing/assertj/custom/AssertJCustomAssertionsUnitTest.java +++ b/assertion-libraries/src/test/java/com/baeldung/assertj/custom/AssertJCustomAssertionsUnitTest.java @@ -1,6 +1,6 @@ -package com.baeldung.testing.assertj.custom; +package com.baeldung.assertj.custom; -import static com.baeldung.testing.assertj.custom.Assertions.assertThat; +import static com.baeldung.assertj.custom.Assertions.assertThat; import static org.junit.Assert.fail; import org.junit.Rule; diff --git a/testing-modules/testing/src/test/java/com/baeldung/testing/assertj/custom/Assertions.java b/assertion-libraries/src/test/java/com/baeldung/assertj/custom/Assertions.java similarity index 81% rename from testing-modules/testing/src/test/java/com/baeldung/testing/assertj/custom/Assertions.java rename to assertion-libraries/src/test/java/com/baeldung/assertj/custom/Assertions.java index fcffb8fc6c..3e1021851e 100644 --- a/testing-modules/testing/src/test/java/com/baeldung/testing/assertj/custom/Assertions.java +++ b/assertion-libraries/src/test/java/com/baeldung/assertj/custom/Assertions.java @@ -1,4 +1,4 @@ -package com.baeldung.testing.assertj.custom; +package com.baeldung.assertj.custom; public class Assertions { public static PersonAssert assertThat(Person actual) { diff --git a/testing-modules/testing/src/test/java/com/baeldung/testing/assertj/custom/PersonAssert.java b/assertion-libraries/src/test/java/com/baeldung/assertj/custom/PersonAssert.java similarity index 95% rename from testing-modules/testing/src/test/java/com/baeldung/testing/assertj/custom/PersonAssert.java rename to assertion-libraries/src/test/java/com/baeldung/assertj/custom/PersonAssert.java index d6cc585e96..5be093644a 100644 --- a/testing-modules/testing/src/test/java/com/baeldung/testing/assertj/custom/PersonAssert.java +++ b/assertion-libraries/src/test/java/com/baeldung/assertj/custom/PersonAssert.java @@ -1,4 +1,4 @@ -package com.baeldung.testing.assertj.custom; +package com.baeldung.assertj.custom; import org.assertj.core.api.AbstractAssert; diff --git a/testing-modules/testing/src/test/java/com/baeldung/testing/assertj/exceptions/Java7StyleAssertions.java b/assertion-libraries/src/test/java/com/baeldung/assertj/exceptions/Java7StyleAssertions.java similarity index 94% rename from testing-modules/testing/src/test/java/com/baeldung/testing/assertj/exceptions/Java7StyleAssertions.java rename to assertion-libraries/src/test/java/com/baeldung/assertj/exceptions/Java7StyleAssertions.java index 07a5be1118..ab93f8eac7 100644 --- a/testing-modules/testing/src/test/java/com/baeldung/testing/assertj/exceptions/Java7StyleAssertions.java +++ b/assertion-libraries/src/test/java/com/baeldung/assertj/exceptions/Java7StyleAssertions.java @@ -1,4 +1,4 @@ -package com.baeldung.testing.assertj.exceptions; +package com.baeldung.assertj.exceptions; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.fail; diff --git a/testing-modules/testing/src/test/java/com/baeldung/testing/assertj/exceptions/Java8StyleAssertions.java b/assertion-libraries/src/test/java/com/baeldung/assertj/exceptions/Java8StyleAssertions.java similarity index 97% rename from testing-modules/testing/src/test/java/com/baeldung/testing/assertj/exceptions/Java8StyleAssertions.java rename to assertion-libraries/src/test/java/com/baeldung/assertj/exceptions/Java8StyleAssertions.java index 973b921654..4d4e2aedfc 100644 --- a/testing-modules/testing/src/test/java/com/baeldung/testing/assertj/exceptions/Java8StyleAssertions.java +++ b/assertion-libraries/src/test/java/com/baeldung/assertj/exceptions/Java8StyleAssertions.java @@ -1,4 +1,4 @@ -package com.baeldung.testing.assertj.exceptions; +package com.baeldung.assertj.exceptions; import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.assertj.core.api.Assertions.assertThat; diff --git a/testing-modules/testing/src/test/java/com/baeldung/testing/jgotesting/JGoTestingUnitTest.java b/assertion-libraries/src/test/java/com/baeldung/jgotesting/JGoTestingUnitTest.java similarity index 100% rename from testing-modules/testing/src/test/java/com/baeldung/testing/jgotesting/JGoTestingUnitTest.java rename to assertion-libraries/src/test/java/com/baeldung/jgotesting/JGoTestingUnitTest.java diff --git a/testing-modules/testing/src/test/java/com/baeldung/jspec/CageUnitTest.java b/assertion-libraries/src/test/java/com/baeldung/jspec/CageUnitTest.java similarity index 100% rename from testing-modules/testing/src/test/java/com/baeldung/jspec/CageUnitTest.java rename to assertion-libraries/src/test/java/com/baeldung/jspec/CageUnitTest.java diff --git a/testing-modules/testing/src/test/java/com/baeldung/jspec/JSpecUnitTest.java b/assertion-libraries/src/test/java/com/baeldung/jspec/JSpecUnitTest.java similarity index 100% rename from testing-modules/testing/src/test/java/com/baeldung/jspec/JSpecUnitTest.java rename to assertion-libraries/src/test/java/com/baeldung/jspec/JSpecUnitTest.java diff --git a/testing-modules/testing/src/test/java/com/baeldung/junit/AdditionUnitTest.java b/assertion-libraries/src/test/java/com/baeldung/junit/AdditionUnitTest.java similarity index 100% rename from testing-modules/testing/src/test/java/com/baeldung/junit/AdditionUnitTest.java rename to assertion-libraries/src/test/java/com/baeldung/junit/AdditionUnitTest.java diff --git a/testing-modules/testing/src/test/java/com/baeldung/junit/AssertionsUnitTest.java b/assertion-libraries/src/test/java/com/baeldung/junit/AssertionsUnitTest.java similarity index 100% rename from testing-modules/testing/src/test/java/com/baeldung/junit/AssertionsUnitTest.java rename to assertion-libraries/src/test/java/com/baeldung/junit/AssertionsUnitTest.java diff --git a/testing-modules/testing/src/test/java/com/baeldung/junit/BlockingTestRunner.java b/assertion-libraries/src/test/java/com/baeldung/junit/BlockingTestRunner.java similarity index 100% rename from testing-modules/testing/src/test/java/com/baeldung/junit/BlockingTestRunner.java rename to assertion-libraries/src/test/java/com/baeldung/junit/BlockingTestRunner.java diff --git a/testing-modules/testing/src/test/java/com/baeldung/junit/CalculatorUnitTest.java b/assertion-libraries/src/test/java/com/baeldung/junit/CalculatorUnitTest.java similarity index 100% rename from testing-modules/testing/src/test/java/com/baeldung/junit/CalculatorUnitTest.java rename to assertion-libraries/src/test/java/com/baeldung/junit/CalculatorUnitTest.java diff --git a/testing-modules/testing/src/test/java/com/baeldung/junit/SubstractionUnitTest.java b/assertion-libraries/src/test/java/com/baeldung/junit/SubstractionUnitTest.java similarity index 100% rename from testing-modules/testing/src/test/java/com/baeldung/junit/SubstractionUnitTest.java rename to assertion-libraries/src/test/java/com/baeldung/junit/SubstractionUnitTest.java diff --git a/testing-modules/testing/src/test/java/com/baeldung/junit/SuiteUnitTest.java b/assertion-libraries/src/test/java/com/baeldung/junit/SuiteUnitTest.java similarity index 100% rename from testing-modules/testing/src/test/java/com/baeldung/junit/SuiteUnitTest.java rename to assertion-libraries/src/test/java/com/baeldung/junit/SuiteUnitTest.java diff --git a/testing-modules/testing/src/test/java/com/baeldung/junit/TestRunner.java b/assertion-libraries/src/test/java/com/baeldung/junit/TestRunner.java similarity index 100% rename from testing-modules/testing/src/test/java/com/baeldung/junit/TestRunner.java rename to assertion-libraries/src/test/java/com/baeldung/junit/TestRunner.java diff --git a/testing-modules/testing/src/test/java/com/baeldung/testing/truth/GoogleTruthUnitTest.java b/assertion-libraries/src/test/java/com/baeldung/truth/GoogleTruthUnitTest.java similarity index 99% rename from testing-modules/testing/src/test/java/com/baeldung/testing/truth/GoogleTruthUnitTest.java rename to assertion-libraries/src/test/java/com/baeldung/truth/GoogleTruthUnitTest.java index 5be27db9db..b7919a29ca 100644 --- a/testing-modules/testing/src/test/java/com/baeldung/testing/truth/GoogleTruthUnitTest.java +++ b/assertion-libraries/src/test/java/com/baeldung/truth/GoogleTruthUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.testing.truth; +package com.baeldung.truth; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Multimap; @@ -6,7 +6,7 @@ import com.google.common.collect.Range; import com.google.common.collect.Table; import com.google.common.collect.TreeBasedTable; import com.google.common.collect.TreeMultiset; -import static com.baeldung.testing.truth.UserSubject.*; +import static com.baeldung.truth.UserSubject.*; import static com.google.common.truth.Truth.*; import static com.google.common.truth.Truth8.*; import java.math.BigDecimal; diff --git a/pom.xml b/pom.xml index a4f2a13c28..0ac31c03eb 100644 --- a/pom.xml +++ b/pom.xml @@ -780,7 +780,9 @@ structurizr struts-2 - testing-modules + assertion-libraries + testing-libraries + testing-libraries-2 twilio twitter4j @@ -1458,7 +1460,9 @@ structurizr struts-2 - testing-modules + assertion-libraries + testing-libraries + testing-libraries-2 twilio twitter4j diff --git a/testing-libraries-2/README.md b/testing-libraries-2/README.md new file mode 100644 index 0000000000..949ae7f760 --- /dev/null +++ b/testing-libraries-2/README.md @@ -0,0 +1,5 @@ + +## Testing Modules + +This is a aggregator module containing several modules focused on testing libraries 2. + diff --git a/testing-libraries-2/cucumber/pom.xml b/testing-libraries-2/cucumber/pom.xml new file mode 100644 index 0000000000..b12a3297bb --- /dev/null +++ b/testing-libraries-2/cucumber/pom.xml @@ -0,0 +1,41 @@ + + + 4.0.0 + cucumber + cucumber + pom + + + com.baeldung + parent-modules + 1.0.0-SNAPSHOT + ../.. + + + + + info.cukes + cucumber-junit + ${cucumber.version} + test + + + info.cukes + cucumber-java + ${cucumber.version} + test + + + info.cukes + cucumber-java8 + ${cucumber.version} + test + + + + + 1.2.5 + + + \ No newline at end of file diff --git a/testing-modules/testing/src/main/java/com/baeldung/cucumber/Calculator.java b/testing-libraries-2/cucumber/src/main/java/com/baeldung/cucumber/Calculator.java similarity index 100% rename from testing-modules/testing/src/main/java/com/baeldung/cucumber/Calculator.java rename to testing-libraries-2/cucumber/src/main/java/com/baeldung/cucumber/Calculator.java diff --git a/testing-modules/testing/src/test/java/com/baeldung/testing/calculator/CalculatorIntegrationTest.java b/testing-libraries-2/cucumber/src/test/java/com/baeldung/calculator/CalculatorIntegrationTest.java similarity index 91% rename from testing-modules/testing/src/test/java/com/baeldung/testing/calculator/CalculatorIntegrationTest.java rename to testing-libraries-2/cucumber/src/test/java/com/baeldung/calculator/CalculatorIntegrationTest.java index 20bd62396c..00f666db2d 100644 --- a/testing-modules/testing/src/test/java/com/baeldung/testing/calculator/CalculatorIntegrationTest.java +++ b/testing-libraries-2/cucumber/src/test/java/com/baeldung/calculator/CalculatorIntegrationTest.java @@ -1,4 +1,4 @@ -package com.baeldung.testing.calculator; +package com.baeldung.calculator; import cucumber.api.CucumberOptions; import cucumber.api.junit.Cucumber; diff --git a/testing-modules/testing/src/test/java/com/baeldung/testing/calculator/CalculatorRunSteps.java b/testing-libraries-2/cucumber/src/test/java/com/baeldung/calculator/CalculatorRunSteps.java similarity index 95% rename from testing-modules/testing/src/test/java/com/baeldung/testing/calculator/CalculatorRunSteps.java rename to testing-libraries-2/cucumber/src/test/java/com/baeldung/calculator/CalculatorRunSteps.java index ef6dff9617..7eda618566 100644 --- a/testing-modules/testing/src/test/java/com/baeldung/testing/calculator/CalculatorRunSteps.java +++ b/testing-libraries-2/cucumber/src/test/java/com/baeldung/calculator/CalculatorRunSteps.java @@ -1,4 +1,4 @@ -package com.baeldung.testing.calculator; +package com.baeldung.calculator; import com.baeldung.cucumber.Calculator; import cucumber.api.java.Before; diff --git a/testing-modules/testing/src/test/java/com/baeldung/testing/shopping/ShoppingIntegrationTest.java b/testing-libraries-2/cucumber/src/test/java/com/baeldung/shopping/ShoppingIntegrationTest.java similarity index 86% rename from testing-modules/testing/src/test/java/com/baeldung/testing/shopping/ShoppingIntegrationTest.java rename to testing-libraries-2/cucumber/src/test/java/com/baeldung/shopping/ShoppingIntegrationTest.java index 7bf8641ed6..20fd65b02a 100644 --- a/testing-modules/testing/src/test/java/com/baeldung/testing/shopping/ShoppingIntegrationTest.java +++ b/testing-libraries-2/cucumber/src/test/java/com/baeldung/shopping/ShoppingIntegrationTest.java @@ -1,4 +1,4 @@ -package com.baeldung.testing.shopping; +package com.baeldung.shopping; import org.junit.runner.RunWith; diff --git a/testing-modules/testing/src/test/java/com/baeldung/testing/shopping/ShoppingStepsDef.java b/testing-libraries-2/cucumber/src/test/java/com/baeldung/shopping/ShoppingStepsDef.java similarity index 92% rename from testing-modules/testing/src/test/java/com/baeldung/testing/shopping/ShoppingStepsDef.java rename to testing-libraries-2/cucumber/src/test/java/com/baeldung/shopping/ShoppingStepsDef.java index 2c4bf2eeae..c56ec95883 100644 --- a/testing-modules/testing/src/test/java/com/baeldung/testing/shopping/ShoppingStepsDef.java +++ b/testing-libraries-2/cucumber/src/test/java/com/baeldung/shopping/ShoppingStepsDef.java @@ -1,4 +1,4 @@ -package com.baeldung.testing.shopping; +package com.baeldung.shopping; import static org.junit.Assert.assertEquals; import cucumber.api.java8.En; diff --git a/testing-modules/testing/src/test/resources/features/calculator-scenario-outline.feature b/testing-libraries-2/cucumber/src/test/resources/features/calculator-scenario-outline.feature similarity index 100% rename from testing-modules/testing/src/test/resources/features/calculator-scenario-outline.feature rename to testing-libraries-2/cucumber/src/test/resources/features/calculator-scenario-outline.feature diff --git a/testing-modules/testing/src/test/resources/features/calculator.feature b/testing-libraries-2/cucumber/src/test/resources/features/calculator.feature similarity index 100% rename from testing-modules/testing/src/test/resources/features/calculator.feature rename to testing-libraries-2/cucumber/src/test/resources/features/calculator.feature diff --git a/testing-modules/testing/src/test/resources/features/shopping.feature b/testing-libraries-2/cucumber/src/test/resources/features/shopping.feature similarity index 100% rename from testing-modules/testing/src/test/resources/features/shopping.feature rename to testing-libraries-2/cucumber/src/test/resources/features/shopping.feature diff --git a/testing-libraries-2/lambdabehave/pom.xml b/testing-libraries-2/lambdabehave/pom.xml new file mode 100644 index 0000000000..61fd20da03 --- /dev/null +++ b/testing-libraries-2/lambdabehave/pom.xml @@ -0,0 +1,28 @@ + + + 4.0.0 + lambdabehave + lambdabehave + pom + + + com.baeldung + parent-modules + 1.0.0-SNAPSHOT + ../.. + + + + + com.insightfullogic + lambda-behave + ${lambda-behave.version} + + + + + 0.4 + + + \ No newline at end of file diff --git a/testing-modules/testing/src/main/java/com/baeldung/lambdabehave/Calculator.java b/testing-libraries-2/lambdabehave/src/main/java/com/baeldung/lambdabehave/Calculator.java similarity index 100% rename from testing-modules/testing/src/main/java/com/baeldung/lambdabehave/Calculator.java rename to testing-libraries-2/lambdabehave/src/main/java/com/baeldung/lambdabehave/Calculator.java diff --git a/testing-modules/testing/src/test/java/com/baeldung/lambdabehave/CalculatorUnitTest.java b/testing-libraries-2/lambdabehave/src/test/java/com/baeldung/lambdabehave/CalculatorUnitTest.java similarity index 100% rename from testing-modules/testing/src/test/java/com/baeldung/lambdabehave/CalculatorUnitTest.java rename to testing-libraries-2/lambdabehave/src/test/java/com/baeldung/lambdabehave/CalculatorUnitTest.java diff --git a/testing-libraries-2/mutations/pom.xml b/testing-libraries-2/mutations/pom.xml new file mode 100644 index 0000000000..c4ff0660b0 --- /dev/null +++ b/testing-libraries-2/mutations/pom.xml @@ -0,0 +1,16 @@ + + + 4.0.0 + mutations + mutations + pom + + + com.baeldung + parent-modules + 1.0.0-SNAPSHOT + ../.. + + + \ No newline at end of file diff --git a/testing-modules/testing/src/main/java/com/baeldung/testing/mutation/Palindrome.java b/testing-libraries-2/mutations/src/main/java/com/baeldung/mutation/Palindrome.java similarity index 100% rename from testing-modules/testing/src/main/java/com/baeldung/testing/mutation/Palindrome.java rename to testing-libraries-2/mutations/src/main/java/com/baeldung/mutation/Palindrome.java diff --git a/testing-modules/testing/src/test/java/com/baeldung/mutation/test/PalindromeUnitTest.java b/testing-libraries-2/mutations/src/test/java/com/baeldung/mutation/PalindromeUnitTest.java similarity index 90% rename from testing-modules/testing/src/test/java/com/baeldung/mutation/test/PalindromeUnitTest.java rename to testing-libraries-2/mutations/src/test/java/com/baeldung/mutation/PalindromeUnitTest.java index 5321735469..cb4830a6fb 100644 --- a/testing-modules/testing/src/test/java/com/baeldung/mutation/test/PalindromeUnitTest.java +++ b/testing-libraries-2/mutations/src/test/java/com/baeldung/mutation/PalindromeUnitTest.java @@ -1,11 +1,11 @@ -package com.baeldung.mutation.test; +package com.baeldung.mutation; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import org.junit.Test; -import com.baeldung.testing.mutation.Palindrome; +import com.baeldung.mutation.Palindrome; public class PalindromeUnitTest { @Test diff --git a/testing-libraries-2/pom.xml b/testing-libraries-2/pom.xml new file mode 100644 index 0000000000..728a510430 --- /dev/null +++ b/testing-libraries-2/pom.xml @@ -0,0 +1,22 @@ + + + 4.0.0 + testing-libraries-2 + testing-libraries-2 + pom + + + com.baeldung + parent-modules + 1.0.0-SNAPSHOT + .. + + + + mutations + cucumber + lambdabehave + + + diff --git a/testing-modules/README.md b/testing-libraries/README.md similarity index 100% rename from testing-modules/README.md rename to testing-libraries/README.md diff --git a/testing-modules/easy-random/README.md b/testing-libraries/easy-random/README.md similarity index 100% rename from testing-modules/easy-random/README.md rename to testing-libraries/easy-random/README.md diff --git a/testing-modules/easy-random/pom.xml b/testing-libraries/easy-random/pom.xml similarity index 100% rename from testing-modules/easy-random/pom.xml rename to testing-libraries/easy-random/pom.xml diff --git a/testing-modules/easy-random/src/main/java/org/baeldung/easy/random/model/Department.java b/testing-libraries/easy-random/src/main/java/org/baeldung/easy/random/model/Department.java similarity index 100% rename from testing-modules/easy-random/src/main/java/org/baeldung/easy/random/model/Department.java rename to testing-libraries/easy-random/src/main/java/org/baeldung/easy/random/model/Department.java diff --git a/testing-modules/easy-random/src/main/java/org/baeldung/easy/random/model/Employee.java b/testing-libraries/easy-random/src/main/java/org/baeldung/easy/random/model/Employee.java similarity index 100% rename from testing-modules/easy-random/src/main/java/org/baeldung/easy/random/model/Employee.java rename to testing-libraries/easy-random/src/main/java/org/baeldung/easy/random/model/Employee.java diff --git a/testing-modules/easy-random/src/main/java/org/baeldung/easy/random/model/Grade.java b/testing-libraries/easy-random/src/main/java/org/baeldung/easy/random/model/Grade.java similarity index 100% rename from testing-modules/easy-random/src/main/java/org/baeldung/easy/random/model/Grade.java rename to testing-libraries/easy-random/src/main/java/org/baeldung/easy/random/model/Grade.java diff --git a/testing-modules/easy-random/src/main/java/org/baeldung/easy/random/model/Person.java b/testing-libraries/easy-random/src/main/java/org/baeldung/easy/random/model/Person.java similarity index 100% rename from testing-modules/easy-random/src/main/java/org/baeldung/easy/random/model/Person.java rename to testing-libraries/easy-random/src/main/java/org/baeldung/easy/random/model/Person.java diff --git a/testing-modules/easy-random/src/main/java/org/baeldung/easy/random/model/YearQuarter.java b/testing-libraries/easy-random/src/main/java/org/baeldung/easy/random/model/YearQuarter.java similarity index 100% rename from testing-modules/easy-random/src/main/java/org/baeldung/easy/random/model/YearQuarter.java rename to testing-libraries/easy-random/src/main/java/org/baeldung/easy/random/model/YearQuarter.java diff --git a/testing-modules/easy-random/src/main/java/org/baeldung/easy/random/randomizer/YearQuarterRandomizer.java b/testing-libraries/easy-random/src/main/java/org/baeldung/easy/random/randomizer/YearQuarterRandomizer.java similarity index 100% rename from testing-modules/easy-random/src/main/java/org/baeldung/easy/random/randomizer/YearQuarterRandomizer.java rename to testing-libraries/easy-random/src/main/java/org/baeldung/easy/random/randomizer/YearQuarterRandomizer.java diff --git a/testing-modules/easy-random/src/test/java/org/baeldung/easy/random/EasyRandomUnitTest.java b/testing-libraries/easy-random/src/test/java/org/baeldung/easy/random/EasyRandomUnitTest.java similarity index 100% rename from testing-modules/easy-random/src/test/java/org/baeldung/easy/random/EasyRandomUnitTest.java rename to testing-libraries/easy-random/src/test/java/org/baeldung/easy/random/EasyRandomUnitTest.java diff --git a/testing-modules/easymock/pom.xml b/testing-libraries/easymock/pom.xml similarity index 100% rename from testing-modules/easymock/pom.xml rename to testing-libraries/easymock/pom.xml diff --git a/testing-modules/easymock/src/main/java/com/baeldung/testing/easymock/ForecastProcessor.java b/testing-libraries/easymock/src/main/java/com/baeldung/testing/easymock/ForecastProcessor.java similarity index 100% rename from testing-modules/easymock/src/main/java/com/baeldung/testing/easymock/ForecastProcessor.java rename to testing-libraries/easymock/src/main/java/com/baeldung/testing/easymock/ForecastProcessor.java diff --git a/testing-modules/easymock/src/main/java/com/baeldung/testing/easymock/Location.java b/testing-libraries/easymock/src/main/java/com/baeldung/testing/easymock/Location.java similarity index 100% rename from testing-modules/easymock/src/main/java/com/baeldung/testing/easymock/Location.java rename to testing-libraries/easymock/src/main/java/com/baeldung/testing/easymock/Location.java diff --git a/testing-modules/easymock/src/main/java/com/baeldung/testing/easymock/ServiceUnavailableException.java b/testing-libraries/easymock/src/main/java/com/baeldung/testing/easymock/ServiceUnavailableException.java similarity index 100% rename from testing-modules/easymock/src/main/java/com/baeldung/testing/easymock/ServiceUnavailableException.java rename to testing-libraries/easymock/src/main/java/com/baeldung/testing/easymock/ServiceUnavailableException.java diff --git a/testing-modules/easymock/src/main/java/com/baeldung/testing/easymock/WeatherService.java b/testing-libraries/easymock/src/main/java/com/baeldung/testing/easymock/WeatherService.java similarity index 100% rename from testing-modules/easymock/src/main/java/com/baeldung/testing/easymock/WeatherService.java rename to testing-libraries/easymock/src/main/java/com/baeldung/testing/easymock/WeatherService.java diff --git a/testing-modules/easymock/src/test/java/com/baeldung/testing/easymock/ForecastProcessorUnitTest.java b/testing-libraries/easymock/src/test/java/com/baeldung/testing/easymock/ForecastProcessorUnitTest.java similarity index 100% rename from testing-modules/easymock/src/test/java/com/baeldung/testing/easymock/ForecastProcessorUnitTest.java rename to testing-libraries/easymock/src/test/java/com/baeldung/testing/easymock/ForecastProcessorUnitTest.java diff --git a/testing-modules/gatling/README.md b/testing-libraries/gatling/README.md similarity index 100% rename from testing-modules/gatling/README.md rename to testing-libraries/gatling/README.md diff --git a/testing-modules/gatling/pom.xml b/testing-libraries/gatling/pom.xml similarity index 96% rename from testing-modules/gatling/pom.xml rename to testing-libraries/gatling/pom.xml index e708d939e4..37693ebfee 100644 --- a/testing-modules/gatling/pom.xml +++ b/testing-libraries/gatling/pom.xml @@ -1,136 +1,136 @@ - - - 4.0.0 - org.baeldung - gatling - 1.0-SNAPSHOT - gatling - - - com.baeldung - parent-modules - 1.0.0-SNAPSHOT - ../../ - - - - - - io.gatling - gatling-app - ${gatling.version} - - - io.gatling - gatling-recorder - ${gatling.version} - - - io.gatling.highcharts - gatling-charts-highcharts - ${gatling.version} - - - org.scala-lang - scala-library - ${scala.version} - - - - - - - io.gatling.highcharts - gatling-charts-highcharts - - - io.gatling - gatling-app - - - io.gatling - gatling-recorder - - - org.scala-lang - scala-library - - - - - src/test/scala - - - - net.alchim31.maven - scala-maven-plugin - ${scala-maven-plugin.version} - - - - - - net.alchim31.maven - scala-maven-plugin - - - - testCompile - - - - - -Ydelambdafy:method - -target:jvm-1.8 - -deprecation - -feature - -unchecked - -language:implicitConversions - -language:postfixOps - - - - - - - - - - - simulation - - - - io.gatling - gatling-maven-plugin - ${gatling-maven-plugin.version} - - - test - - execute - - - true - - - - - - - - - - - 1.8 - 1.8 - UTF-8 - 2.12.6 - 2.3.1 - 3.2.2 - 2.2.4 - - - + + + 4.0.0 + org.baeldung + gatling + 1.0-SNAPSHOT + gatling + + + com.baeldung + parent-modules + 1.0.0-SNAPSHOT + ../../ + + + + + + io.gatling + gatling-app + ${gatling.version} + + + io.gatling + gatling-recorder + ${gatling.version} + + + io.gatling.highcharts + gatling-charts-highcharts + ${gatling.version} + + + org.scala-lang + scala-library + ${scala.version} + + + + + + + io.gatling.highcharts + gatling-charts-highcharts + + + io.gatling + gatling-app + + + io.gatling + gatling-recorder + + + org.scala-lang + scala-library + + + + + src/test/scala + + + + net.alchim31.maven + scala-maven-plugin + ${scala-maven-plugin.version} + + + + + + net.alchim31.maven + scala-maven-plugin + + + + testCompile + + + + + -Ydelambdafy:method + -target:jvm-1.8 + -deprecation + -feature + -unchecked + -language:implicitConversions + -language:postfixOps + + + + + + + + + + + simulation + + + + io.gatling + gatling-maven-plugin + ${gatling-maven-plugin.version} + + + test + + execute + + + true + + + + + + + + + + + 1.8 + 1.8 + UTF-8 + 2.12.6 + 2.3.1 + 3.2.2 + 2.2.4 + + + diff --git a/testing-modules/gatling/src/test/resources/gatling.conf b/testing-libraries/gatling/src/test/resources/gatling.conf similarity index 100% rename from testing-modules/gatling/src/test/resources/gatling.conf rename to testing-libraries/gatling/src/test/resources/gatling.conf diff --git a/testing-modules/gatling/src/test/resources/logback.xml b/testing-libraries/gatling/src/test/resources/logback.xml similarity index 100% rename from testing-modules/gatling/src/test/resources/logback.xml rename to testing-libraries/gatling/src/test/resources/logback.xml diff --git a/testing-modules/gatling/src/test/resources/recorder.conf b/testing-libraries/gatling/src/test/resources/recorder.conf similarity index 100% rename from testing-modules/gatling/src/test/resources/recorder.conf rename to testing-libraries/gatling/src/test/resources/recorder.conf diff --git a/testing-modules/gatling/src/test/scala/Engine.scala b/testing-libraries/gatling/src/test/scala/Engine.scala similarity index 97% rename from testing-modules/gatling/src/test/scala/Engine.scala rename to testing-libraries/gatling/src/test/scala/Engine.scala index 32c85fbe45..c2884fc218 100644 --- a/testing-modules/gatling/src/test/scala/Engine.scala +++ b/testing-libraries/gatling/src/test/scala/Engine.scala @@ -1,13 +1,13 @@ -import io.gatling.app.Gatling -import io.gatling.core.config.GatlingPropertiesBuilder - -object Engine extends App { - - val props = new GatlingPropertiesBuilder - props.dataDirectory(IDEPathHelper.dataDirectory.toString) - props.resultsDirectory(IDEPathHelper.resultsDirectory.toString) - props.bodiesDirectory(IDEPathHelper.bodiesDirectory.toString) - props.binariesDirectory(IDEPathHelper.mavenBinariesDirectory.toString) - - Gatling.fromMap(props.build) -} +import io.gatling.app.Gatling +import io.gatling.core.config.GatlingPropertiesBuilder + +object Engine extends App { + + val props = new GatlingPropertiesBuilder + props.dataDirectory(IDEPathHelper.dataDirectory.toString) + props.resultsDirectory(IDEPathHelper.resultsDirectory.toString) + props.bodiesDirectory(IDEPathHelper.bodiesDirectory.toString) + props.binariesDirectory(IDEPathHelper.mavenBinariesDirectory.toString) + + Gatling.fromMap(props.build) +} diff --git a/testing-modules/gatling/src/test/scala/IDEPathHelper.scala b/testing-libraries/gatling/src/test/scala/IDEPathHelper.scala similarity index 97% rename from testing-modules/gatling/src/test/scala/IDEPathHelper.scala rename to testing-libraries/gatling/src/test/scala/IDEPathHelper.scala index 0abf6a42ef..9fb1d7d5c8 100644 --- a/testing-modules/gatling/src/test/scala/IDEPathHelper.scala +++ b/testing-libraries/gatling/src/test/scala/IDEPathHelper.scala @@ -1,22 +1,22 @@ -import java.nio.file.Path - -import io.gatling.commons.util.PathHelper._ - -object IDEPathHelper { - - val gatlingConfUrl: Path = getClass.getClassLoader.getResource("gatling.conf").toURI - val projectRootDir = gatlingConfUrl.ancestor(3) - - val mavenSourcesDirectory = projectRootDir / "src" / "test" / "scala" - val mavenResourcesDirectory = projectRootDir / "src" / "test" / "resources" - val mavenTargetDirectory = projectRootDir / "target" - val mavenBinariesDirectory = mavenTargetDirectory / "test-classes" - - val dataDirectory = mavenResourcesDirectory / "data" - val bodiesDirectory = mavenResourcesDirectory / "bodies" - - val recorderOutputDirectory = mavenSourcesDirectory - val resultsDirectory = mavenTargetDirectory / "gatling" - - val recorderConfigFile = mavenResourcesDirectory / "recorder.conf" -} +import java.nio.file.Path + +import io.gatling.commons.util.PathHelper._ + +object IDEPathHelper { + + val gatlingConfUrl: Path = getClass.getClassLoader.getResource("gatling.conf").toURI + val projectRootDir = gatlingConfUrl.ancestor(3) + + val mavenSourcesDirectory = projectRootDir / "src" / "test" / "scala" + val mavenResourcesDirectory = projectRootDir / "src" / "test" / "resources" + val mavenTargetDirectory = projectRootDir / "target" + val mavenBinariesDirectory = mavenTargetDirectory / "test-classes" + + val dataDirectory = mavenResourcesDirectory / "data" + val bodiesDirectory = mavenResourcesDirectory / "bodies" + + val recorderOutputDirectory = mavenSourcesDirectory + val resultsDirectory = mavenTargetDirectory / "gatling" + + val recorderConfigFile = mavenResourcesDirectory / "recorder.conf" +} diff --git a/testing-modules/gatling/src/test/scala/Recorder.scala b/testing-libraries/gatling/src/test/scala/Recorder.scala similarity index 97% rename from testing-modules/gatling/src/test/scala/Recorder.scala rename to testing-libraries/gatling/src/test/scala/Recorder.scala index 6ad320618b..9c38e52f12 100644 --- a/testing-modules/gatling/src/test/scala/Recorder.scala +++ b/testing-libraries/gatling/src/test/scala/Recorder.scala @@ -1,12 +1,12 @@ -import io.gatling.recorder.GatlingRecorder -import io.gatling.recorder.config.RecorderPropertiesBuilder - -object Recorder extends App { - - val props = new RecorderPropertiesBuilder - props.simulationOutputFolder(IDEPathHelper.recorderOutputDirectory.toString) - props.simulationPackage("org.baeldung") - props.bodiesFolder(IDEPathHelper.bodiesDirectory.toString) - - GatlingRecorder.fromMap(props.build, Some(IDEPathHelper.recorderConfigFile)) -} +import io.gatling.recorder.GatlingRecorder +import io.gatling.recorder.config.RecorderPropertiesBuilder + +object Recorder extends App { + + val props = new RecorderPropertiesBuilder + props.simulationOutputFolder(IDEPathHelper.recorderOutputDirectory.toString) + props.simulationPackage("org.baeldung") + props.bodiesFolder(IDEPathHelper.bodiesDirectory.toString) + + GatlingRecorder.fromMap(props.build, Some(IDEPathHelper.recorderConfigFile)) +} diff --git a/testing-modules/gatling/src/test/scala/org/baeldung/RecordedSimulation.scala b/testing-libraries/gatling/src/test/scala/org/baeldung/RecordedSimulation.scala similarity index 100% rename from testing-modules/gatling/src/test/scala/org/baeldung/RecordedSimulation.scala rename to testing-libraries/gatling/src/test/scala/org/baeldung/RecordedSimulation.scala diff --git a/testing-modules/groovy-spock/.gitignore b/testing-libraries/groovy-spock/.gitignore similarity index 100% rename from testing-modules/groovy-spock/.gitignore rename to testing-libraries/groovy-spock/.gitignore diff --git a/testing-modules/groovy-spock/README.md b/testing-libraries/groovy-spock/README.md similarity index 100% rename from testing-modules/groovy-spock/README.md rename to testing-libraries/groovy-spock/README.md diff --git a/testing-modules/groovy-spock/pom.xml b/testing-libraries/groovy-spock/pom.xml similarity index 100% rename from testing-modules/groovy-spock/pom.xml rename to testing-libraries/groovy-spock/pom.xml diff --git a/testing-modules/groovy-spock/src/main/java/mocks/EventPublisher.java b/testing-libraries/groovy-spock/src/main/java/mocks/EventPublisher.java similarity index 100% rename from testing-modules/groovy-spock/src/main/java/mocks/EventPublisher.java rename to testing-libraries/groovy-spock/src/main/java/mocks/EventPublisher.java diff --git a/testing-modules/groovy-spock/src/main/java/mocks/ExternalItemProviderException.java b/testing-libraries/groovy-spock/src/main/java/mocks/ExternalItemProviderException.java similarity index 100% rename from testing-modules/groovy-spock/src/main/java/mocks/ExternalItemProviderException.java rename to testing-libraries/groovy-spock/src/main/java/mocks/ExternalItemProviderException.java diff --git a/testing-modules/groovy-spock/src/main/java/mocks/Item.java b/testing-libraries/groovy-spock/src/main/java/mocks/Item.java similarity index 100% rename from testing-modules/groovy-spock/src/main/java/mocks/Item.java rename to testing-libraries/groovy-spock/src/main/java/mocks/Item.java diff --git a/testing-modules/groovy-spock/src/main/java/mocks/ItemProvider.java b/testing-libraries/groovy-spock/src/main/java/mocks/ItemProvider.java similarity index 100% rename from testing-modules/groovy-spock/src/main/java/mocks/ItemProvider.java rename to testing-libraries/groovy-spock/src/main/java/mocks/ItemProvider.java diff --git a/testing-modules/groovy-spock/src/main/java/mocks/ItemService.java b/testing-libraries/groovy-spock/src/main/java/mocks/ItemService.java similarity index 100% rename from testing-modules/groovy-spock/src/main/java/mocks/ItemService.java rename to testing-libraries/groovy-spock/src/main/java/mocks/ItemService.java diff --git a/testing-modules/groovy-spock/src/main/java/mocks/LoggingEventPublisher.java b/testing-libraries/groovy-spock/src/main/java/mocks/LoggingEventPublisher.java similarity index 100% rename from testing-modules/groovy-spock/src/main/java/mocks/LoggingEventPublisher.java rename to testing-libraries/groovy-spock/src/main/java/mocks/LoggingEventPublisher.java diff --git a/testing-modules/groovy-spock/src/test/groovy/FirstSpecification.groovy b/testing-libraries/groovy-spock/src/test/groovy/FirstSpecification.groovy similarity index 100% rename from testing-modules/groovy-spock/src/test/groovy/FirstSpecification.groovy rename to testing-libraries/groovy-spock/src/test/groovy/FirstSpecification.groovy diff --git a/testing-modules/groovy-spock/src/test/groovy/Notifier.groovy b/testing-libraries/groovy-spock/src/test/groovy/Notifier.groovy similarity index 100% rename from testing-modules/groovy-spock/src/test/groovy/Notifier.groovy rename to testing-libraries/groovy-spock/src/test/groovy/Notifier.groovy diff --git a/testing-modules/groovy-spock/src/test/groovy/PaymentGateway.groovy b/testing-libraries/groovy-spock/src/test/groovy/PaymentGateway.groovy similarity index 100% rename from testing-modules/groovy-spock/src/test/groovy/PaymentGateway.groovy rename to testing-libraries/groovy-spock/src/test/groovy/PaymentGateway.groovy diff --git a/testing-modules/groovy-spock/src/test/groovy/extensions/CustomTitleTest.groovy b/testing-libraries/groovy-spock/src/test/groovy/extensions/CustomTitleTest.groovy similarity index 100% rename from testing-modules/groovy-spock/src/test/groovy/extensions/CustomTitleTest.groovy rename to testing-libraries/groovy-spock/src/test/groovy/extensions/CustomTitleTest.groovy diff --git a/testing-modules/groovy-spock/src/test/groovy/extensions/IgnoreIfTest.groovy b/testing-libraries/groovy-spock/src/test/groovy/extensions/IgnoreIfTest.groovy similarity index 100% rename from testing-modules/groovy-spock/src/test/groovy/extensions/IgnoreIfTest.groovy rename to testing-libraries/groovy-spock/src/test/groovy/extensions/IgnoreIfTest.groovy diff --git a/testing-modules/groovy-spock/src/test/groovy/extensions/IgnoreRestTest.groovy b/testing-libraries/groovy-spock/src/test/groovy/extensions/IgnoreRestTest.groovy similarity index 100% rename from testing-modules/groovy-spock/src/test/groovy/extensions/IgnoreRestTest.groovy rename to testing-libraries/groovy-spock/src/test/groovy/extensions/IgnoreRestTest.groovy diff --git a/testing-modules/groovy-spock/src/test/groovy/extensions/IgnoreTest.groovy b/testing-libraries/groovy-spock/src/test/groovy/extensions/IgnoreTest.groovy similarity index 100% rename from testing-modules/groovy-spock/src/test/groovy/extensions/IgnoreTest.groovy rename to testing-libraries/groovy-spock/src/test/groovy/extensions/IgnoreTest.groovy diff --git a/testing-modules/groovy-spock/src/test/groovy/extensions/IssueTest.groovy b/testing-libraries/groovy-spock/src/test/groovy/extensions/IssueTest.groovy similarity index 100% rename from testing-modules/groovy-spock/src/test/groovy/extensions/IssueTest.groovy rename to testing-libraries/groovy-spock/src/test/groovy/extensions/IssueTest.groovy diff --git a/testing-modules/groovy-spock/src/test/groovy/extensions/PendingFeatureTest.groovy b/testing-libraries/groovy-spock/src/test/groovy/extensions/PendingFeatureTest.groovy similarity index 100% rename from testing-modules/groovy-spock/src/test/groovy/extensions/PendingFeatureTest.groovy rename to testing-libraries/groovy-spock/src/test/groovy/extensions/PendingFeatureTest.groovy diff --git a/testing-modules/groovy-spock/src/test/groovy/extensions/RequiresTest.groovy b/testing-libraries/groovy-spock/src/test/groovy/extensions/RequiresTest.groovy similarity index 100% rename from testing-modules/groovy-spock/src/test/groovy/extensions/RequiresTest.groovy rename to testing-libraries/groovy-spock/src/test/groovy/extensions/RequiresTest.groovy diff --git a/testing-modules/groovy-spock/src/test/groovy/extensions/RestoreSystemPropertiesTest.groovy b/testing-libraries/groovy-spock/src/test/groovy/extensions/RestoreSystemPropertiesTest.groovy similarity index 100% rename from testing-modules/groovy-spock/src/test/groovy/extensions/RestoreSystemPropertiesTest.groovy rename to testing-libraries/groovy-spock/src/test/groovy/extensions/RestoreSystemPropertiesTest.groovy diff --git a/testing-modules/groovy-spock/src/test/groovy/extensions/RetryTest.groovy b/testing-libraries/groovy-spock/src/test/groovy/extensions/RetryTest.groovy similarity index 100% rename from testing-modules/groovy-spock/src/test/groovy/extensions/RetryTest.groovy rename to testing-libraries/groovy-spock/src/test/groovy/extensions/RetryTest.groovy diff --git a/testing-modules/groovy-spock/src/test/groovy/extensions/SeeTest.groovy b/testing-libraries/groovy-spock/src/test/groovy/extensions/SeeTest.groovy similarity index 100% rename from testing-modules/groovy-spock/src/test/groovy/extensions/SeeTest.groovy rename to testing-libraries/groovy-spock/src/test/groovy/extensions/SeeTest.groovy diff --git a/testing-modules/groovy-spock/src/test/groovy/extensions/StackTraceTest.groovy b/testing-libraries/groovy-spock/src/test/groovy/extensions/StackTraceTest.groovy similarity index 100% rename from testing-modules/groovy-spock/src/test/groovy/extensions/StackTraceTest.groovy rename to testing-libraries/groovy-spock/src/test/groovy/extensions/StackTraceTest.groovy diff --git a/testing-modules/groovy-spock/src/test/groovy/extensions/StepwiseTest.groovy b/testing-libraries/groovy-spock/src/test/groovy/extensions/StepwiseTest.groovy similarity index 100% rename from testing-modules/groovy-spock/src/test/groovy/extensions/StepwiseTest.groovy rename to testing-libraries/groovy-spock/src/test/groovy/extensions/StepwiseTest.groovy diff --git a/testing-modules/groovy-spock/src/test/groovy/extensions/SubjectTest.groovy b/testing-libraries/groovy-spock/src/test/groovy/extensions/SubjectTest.groovy similarity index 100% rename from testing-modules/groovy-spock/src/test/groovy/extensions/SubjectTest.groovy rename to testing-libraries/groovy-spock/src/test/groovy/extensions/SubjectTest.groovy diff --git a/testing-modules/groovy-spock/src/test/groovy/extensions/TimeoutTest.groovy b/testing-libraries/groovy-spock/src/test/groovy/extensions/TimeoutTest.groovy similarity index 100% rename from testing-modules/groovy-spock/src/test/groovy/extensions/TimeoutTest.groovy rename to testing-libraries/groovy-spock/src/test/groovy/extensions/TimeoutTest.groovy diff --git a/testing-modules/groovy-spock/src/test/groovy/mocks/ItemServiceUnitTest.groovy b/testing-libraries/groovy-spock/src/test/groovy/mocks/ItemServiceUnitTest.groovy similarity index 100% rename from testing-modules/groovy-spock/src/test/groovy/mocks/ItemServiceUnitTest.groovy rename to testing-libraries/groovy-spock/src/test/groovy/mocks/ItemServiceUnitTest.groovy diff --git a/testing-modules/groovy-spock/src/test/resources/SpockConfig.groovy b/testing-libraries/groovy-spock/src/test/resources/SpockConfig.groovy similarity index 100% rename from testing-modules/groovy-spock/src/test/resources/SpockConfig.groovy rename to testing-libraries/groovy-spock/src/test/resources/SpockConfig.groovy diff --git a/testing-modules/junit-4/README.md b/testing-libraries/junit-4/README.md similarity index 100% rename from testing-modules/junit-4/README.md rename to testing-libraries/junit-4/README.md diff --git a/testing-modules/junit-4/pom.xml b/testing-libraries/junit-4/pom.xml similarity index 64% rename from testing-modules/junit-4/pom.xml rename to testing-libraries/junit-4/pom.xml index 272a9380b5..be0f51ea23 100644 --- a/testing-modules/junit-4/pom.xml +++ b/testing-libraries/junit-4/pom.xml @@ -15,4 +15,17 @@ ../../ + + + pl.pragmatists + JUnitParams + ${jUnitParams.version} + test + + + + + 1.1.0 + + diff --git a/testing-modules/testing/src/main/java/com/baeldung/junitparams/SafeAdditionUtil.java b/testing-libraries/junit-4/src/main/java/com/baeldung/junitparams/SafeAdditionUtil.java similarity index 100% rename from testing-modules/testing/src/main/java/com/baeldung/junitparams/SafeAdditionUtil.java rename to testing-libraries/junit-4/src/main/java/com/baeldung/junitparams/SafeAdditionUtil.java diff --git a/testing-modules/junit-4/src/main/resources/logback.xml b/testing-libraries/junit-4/src/main/resources/logback.xml similarity index 100% rename from testing-modules/junit-4/src/main/resources/logback.xml rename to testing-libraries/junit-4/src/main/resources/logback.xml diff --git a/testing-modules/testing/src/test/java/com/baeldung/junitparams/SafeAdditionUtilUnitTest.java b/testing-libraries/junit-4/src/test/java/com/baeldung/junitparams/SafeAdditionUtilUnitTest.java similarity index 100% rename from testing-modules/testing/src/test/java/com/baeldung/junitparams/SafeAdditionUtilUnitTest.java rename to testing-libraries/junit-4/src/test/java/com/baeldung/junitparams/SafeAdditionUtilUnitTest.java diff --git a/testing-modules/testing/src/test/java/com/baeldung/junitparams/TestDataProvider.java b/testing-libraries/junit-4/src/test/java/com/baeldung/junitparams/TestDataProvider.java similarity index 100% rename from testing-modules/testing/src/test/java/com/baeldung/junitparams/TestDataProvider.java rename to testing-libraries/junit-4/src/test/java/com/baeldung/junitparams/TestDataProvider.java diff --git a/testing-modules/junit-4/src/test/java/com/baeldung/rules/MessageLogger.java b/testing-libraries/junit-4/src/test/java/com/baeldung/rules/MessageLogger.java similarity index 100% rename from testing-modules/junit-4/src/test/java/com/baeldung/rules/MessageLogger.java rename to testing-libraries/junit-4/src/test/java/com/baeldung/rules/MessageLogger.java diff --git a/testing-modules/junit-4/src/test/java/com/baeldung/rules/RuleChainUnitTest.java b/testing-libraries/junit-4/src/test/java/com/baeldung/rules/RuleChainUnitTest.java similarity index 100% rename from testing-modules/junit-4/src/test/java/com/baeldung/rules/RuleChainUnitTest.java rename to testing-libraries/junit-4/src/test/java/com/baeldung/rules/RuleChainUnitTest.java diff --git a/testing-modules/junit-4/src/test/java/com/baeldung/rules/RulesUnitTest.java b/testing-libraries/junit-4/src/test/java/com/baeldung/rules/RulesUnitTest.java similarity index 100% rename from testing-modules/junit-4/src/test/java/com/baeldung/rules/RulesUnitTest.java rename to testing-libraries/junit-4/src/test/java/com/baeldung/rules/RulesUnitTest.java diff --git a/testing-modules/junit-4/src/test/java/com/baeldung/rules/TestMethodNameLogger.java b/testing-libraries/junit-4/src/test/java/com/baeldung/rules/TestMethodNameLogger.java similarity index 100% rename from testing-modules/junit-4/src/test/java/com/baeldung/rules/TestMethodNameLogger.java rename to testing-libraries/junit-4/src/test/java/com/baeldung/rules/TestMethodNameLogger.java diff --git a/testing-modules/junit-4/src/test/java/com/baeldung/rules/VerifierRuleUnitTest.java b/testing-libraries/junit-4/src/test/java/com/baeldung/rules/VerifierRuleUnitTest.java similarity index 100% rename from testing-modules/junit-4/src/test/java/com/baeldung/rules/VerifierRuleUnitTest.java rename to testing-libraries/junit-4/src/test/java/com/baeldung/rules/VerifierRuleUnitTest.java diff --git a/testing-modules/testing/src/test/java/com/baeldung/runfromjava/FirstUnitTest.java b/testing-libraries/junit-4/src/test/java/com/baeldung/runfromjava/FirstUnitTest.java similarity index 100% rename from testing-modules/testing/src/test/java/com/baeldung/runfromjava/FirstUnitTest.java rename to testing-libraries/junit-4/src/test/java/com/baeldung/runfromjava/FirstUnitTest.java diff --git a/testing-modules/testing/src/test/java/com/baeldung/runfromjava/MyTestSuite.java b/testing-libraries/junit-4/src/test/java/com/baeldung/runfromjava/MyTestSuite.java similarity index 100% rename from testing-modules/testing/src/test/java/com/baeldung/runfromjava/MyTestSuite.java rename to testing-libraries/junit-4/src/test/java/com/baeldung/runfromjava/MyTestSuite.java diff --git a/testing-modules/testing/src/test/java/com/baeldung/runfromjava/RunJUnit4TestsFromJava.java b/testing-libraries/junit-4/src/test/java/com/baeldung/runfromjava/RunJUnit4TestsFromJava.java similarity index 100% rename from testing-modules/testing/src/test/java/com/baeldung/runfromjava/RunJUnit4TestsFromJava.java rename to testing-libraries/junit-4/src/test/java/com/baeldung/runfromjava/RunJUnit4TestsFromJava.java diff --git a/testing-modules/testing/src/test/java/com/baeldung/runfromjava/SecondUnitTest.java b/testing-libraries/junit-4/src/test/java/com/baeldung/runfromjava/SecondUnitTest.java similarity index 100% rename from testing-modules/testing/src/test/java/com/baeldung/runfromjava/SecondUnitTest.java rename to testing-libraries/junit-4/src/test/java/com/baeldung/runfromjava/SecondUnitTest.java diff --git a/testing-modules/testing/src/test/resources/JunitParamsTestParameters.csv b/testing-libraries/junit-4/src/test/resources/JunitParamsTestParameters.csv similarity index 100% rename from testing-modules/testing/src/test/resources/JunitParamsTestParameters.csv rename to testing-libraries/junit-4/src/test/resources/JunitParamsTestParameters.csv diff --git a/testing-modules/junit-5-advanced/README.md b/testing-libraries/junit-5-advanced/README.md similarity index 100% rename from testing-modules/junit-5-advanced/README.md rename to testing-libraries/junit-5-advanced/README.md diff --git a/testing-modules/junit-5-advanced/pom.xml b/testing-libraries/junit-5-advanced/pom.xml similarity index 100% rename from testing-modules/junit-5-advanced/pom.xml rename to testing-libraries/junit-5-advanced/pom.xml diff --git a/testing-modules/junit-5-advanced/src/main/java/com/baeldung/failure_vs_error/SimpleCalculator.java b/testing-libraries/junit-5-advanced/src/main/java/com/baeldung/failure_vs_error/SimpleCalculator.java similarity index 100% rename from testing-modules/junit-5-advanced/src/main/java/com/baeldung/failure_vs_error/SimpleCalculator.java rename to testing-libraries/junit-5-advanced/src/main/java/com/baeldung/failure_vs_error/SimpleCalculator.java diff --git a/testing-modules/junit-5-advanced/src/main/java/com/baeldung/junit5/testinstance/Tweet.java b/testing-libraries/junit-5-advanced/src/main/java/com/baeldung/junit5/testinstance/Tweet.java similarity index 100% rename from testing-modules/junit-5-advanced/src/main/java/com/baeldung/junit5/testinstance/Tweet.java rename to testing-libraries/junit-5-advanced/src/main/java/com/baeldung/junit5/testinstance/Tweet.java diff --git a/testing-modules/junit-5-advanced/src/main/java/com/baeldung/junit5/testinstance/TweetException.java b/testing-libraries/junit-5-advanced/src/main/java/com/baeldung/junit5/testinstance/TweetException.java similarity index 100% rename from testing-modules/junit-5-advanced/src/main/java/com/baeldung/junit5/testinstance/TweetException.java rename to testing-libraries/junit-5-advanced/src/main/java/com/baeldung/junit5/testinstance/TweetException.java diff --git a/testing-modules/junit-5-advanced/src/main/java/com/baeldung/junit5/testinstance/TweetSerializer.java b/testing-libraries/junit-5-advanced/src/main/java/com/baeldung/junit5/testinstance/TweetSerializer.java similarity index 100% rename from testing-modules/junit-5-advanced/src/main/java/com/baeldung/junit5/testinstance/TweetSerializer.java rename to testing-libraries/junit-5-advanced/src/main/java/com/baeldung/junit5/testinstance/TweetSerializer.java diff --git a/testing-modules/junit-5-advanced/src/main/resources/logback.xml b/testing-libraries/junit-5-advanced/src/main/resources/logback.xml similarity index 100% rename from testing-modules/junit-5-advanced/src/main/resources/logback.xml rename to testing-libraries/junit-5-advanced/src/main/resources/logback.xml diff --git a/testing-modules/junit-5-advanced/src/test/java/com/baeldung/displayname/DisplayNameGeneratorUnitTest.java b/testing-libraries/junit-5-advanced/src/test/java/com/baeldung/displayname/DisplayNameGeneratorUnitTest.java similarity index 100% rename from testing-modules/junit-5-advanced/src/test/java/com/baeldung/displayname/DisplayNameGeneratorUnitTest.java rename to testing-libraries/junit-5-advanced/src/test/java/com/baeldung/displayname/DisplayNameGeneratorUnitTest.java diff --git a/testing-modules/junit-5-advanced/src/test/java/com/baeldung/displayname/ReplaceUnderscoresGeneratorUnitTest.java b/testing-libraries/junit-5-advanced/src/test/java/com/baeldung/displayname/ReplaceUnderscoresGeneratorUnitTest.java similarity index 100% rename from testing-modules/junit-5-advanced/src/test/java/com/baeldung/displayname/ReplaceUnderscoresGeneratorUnitTest.java rename to testing-libraries/junit-5-advanced/src/test/java/com/baeldung/displayname/ReplaceUnderscoresGeneratorUnitTest.java diff --git a/testing-modules/junit-5-advanced/src/test/java/com/baeldung/extensions/testwatcher/TestResultLoggerExtension.java b/testing-libraries/junit-5-advanced/src/test/java/com/baeldung/extensions/testwatcher/TestResultLoggerExtension.java similarity index 100% rename from testing-modules/junit-5-advanced/src/test/java/com/baeldung/extensions/testwatcher/TestResultLoggerExtension.java rename to testing-libraries/junit-5-advanced/src/test/java/com/baeldung/extensions/testwatcher/TestResultLoggerExtension.java diff --git a/testing-modules/junit-5-advanced/src/test/java/com/baeldung/extensions/testwatcher/TestWatcherAPIUnitTest.java b/testing-libraries/junit-5-advanced/src/test/java/com/baeldung/extensions/testwatcher/TestWatcherAPIUnitTest.java similarity index 100% rename from testing-modules/junit-5-advanced/src/test/java/com/baeldung/extensions/testwatcher/TestWatcherAPIUnitTest.java rename to testing-libraries/junit-5-advanced/src/test/java/com/baeldung/extensions/testwatcher/TestWatcherAPIUnitTest.java diff --git a/testing-modules/junit-5-advanced/src/test/java/com/baeldung/failure_vs_error/SimpleCalculatorUnitTest.java b/testing-libraries/junit-5-advanced/src/test/java/com/baeldung/failure_vs_error/SimpleCalculatorUnitTest.java similarity index 100% rename from testing-modules/junit-5-advanced/src/test/java/com/baeldung/failure_vs_error/SimpleCalculatorUnitTest.java rename to testing-libraries/junit-5-advanced/src/test/java/com/baeldung/failure_vs_error/SimpleCalculatorUnitTest.java diff --git a/testing-modules/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/AdditionUnitTest.java b/testing-libraries/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/AdditionUnitTest.java similarity index 100% rename from testing-modules/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/AdditionUnitTest.java rename to testing-libraries/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/AdditionUnitTest.java diff --git a/testing-modules/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/OrderUnitTest.java b/testing-libraries/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/OrderUnitTest.java similarity index 100% rename from testing-modules/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/OrderUnitTest.java rename to testing-libraries/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/OrderUnitTest.java diff --git a/testing-modules/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/TweetSerializerJUnit4UnitTest.java b/testing-libraries/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/TweetSerializerJUnit4UnitTest.java similarity index 100% rename from testing-modules/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/TweetSerializerJUnit4UnitTest.java rename to testing-libraries/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/TweetSerializerJUnit4UnitTest.java diff --git a/testing-modules/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/TweetSerializerUnitTest.java b/testing-libraries/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/TweetSerializerUnitTest.java similarity index 100% rename from testing-modules/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/TweetSerializerUnitTest.java rename to testing-libraries/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/TweetSerializerUnitTest.java diff --git a/testing-modules/junit-5-advanced/src/test/resources/lorem-ipsum.txt b/testing-libraries/junit-5-advanced/src/test/resources/lorem-ipsum.txt similarity index 100% rename from testing-modules/junit-5-advanced/src/test/resources/lorem-ipsum.txt rename to testing-libraries/junit-5-advanced/src/test/resources/lorem-ipsum.txt diff --git a/testing-modules/junit-5-basics/README.md b/testing-libraries/junit-5-basics/README.md similarity index 100% rename from testing-modules/junit-5-basics/README.md rename to testing-libraries/junit-5-basics/README.md diff --git a/testing-modules/junit-5-basics/pom.xml b/testing-libraries/junit-5-basics/pom.xml similarity index 100% rename from testing-modules/junit-5-basics/pom.xml rename to testing-libraries/junit-5-basics/pom.xml diff --git a/testing-modules/junit-5-basics/src/main/java/com/baeldung/failure_vs_error/SimpleCalculator.java b/testing-libraries/junit-5-basics/src/main/java/com/baeldung/failure_vs_error/SimpleCalculator.java similarity index 100% rename from testing-modules/junit-5-basics/src/main/java/com/baeldung/failure_vs_error/SimpleCalculator.java rename to testing-libraries/junit-5-basics/src/main/java/com/baeldung/failure_vs_error/SimpleCalculator.java diff --git a/testing-modules/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/Employee.java b/testing-libraries/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/Employee.java similarity index 100% rename from testing-modules/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/Employee.java rename to testing-libraries/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/Employee.java diff --git a/testing-modules/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/EmployeeDAO.java b/testing-libraries/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/EmployeeDAO.java similarity index 100% rename from testing-modules/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/EmployeeDAO.java rename to testing-libraries/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/EmployeeDAO.java diff --git a/testing-modules/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/EmployeeRowMapper.java b/testing-libraries/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/EmployeeRowMapper.java similarity index 100% rename from testing-modules/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/EmployeeRowMapper.java rename to testing-libraries/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/EmployeeRowMapper.java diff --git a/testing-modules/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/SpringJdbcConfig.java b/testing-libraries/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/SpringJdbcConfig.java similarity index 100% rename from testing-modules/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/SpringJdbcConfig.java rename to testing-libraries/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/SpringJdbcConfig.java diff --git a/testing-modules/junit-5-basics/src/main/java/com/baeldung/junit5/Greetings.java b/testing-libraries/junit-5-basics/src/main/java/com/baeldung/junit5/Greetings.java similarity index 100% rename from testing-modules/junit-5-basics/src/main/java/com/baeldung/junit5/Greetings.java rename to testing-libraries/junit-5-basics/src/main/java/com/baeldung/junit5/Greetings.java diff --git a/testing-modules/junit-5-basics/src/main/java/com/baeldung/junit5/bean/NumbersBean.java b/testing-libraries/junit-5-basics/src/main/java/com/baeldung/junit5/bean/NumbersBean.java similarity index 100% rename from testing-modules/junit-5-basics/src/main/java/com/baeldung/junit5/bean/NumbersBean.java rename to testing-libraries/junit-5-basics/src/main/java/com/baeldung/junit5/bean/NumbersBean.java diff --git a/testing-modules/junit-5-basics/src/main/resources/jdbc/schema.sql b/testing-libraries/junit-5-basics/src/main/resources/jdbc/schema.sql similarity index 100% rename from testing-modules/junit-5-basics/src/main/resources/jdbc/schema.sql rename to testing-libraries/junit-5-basics/src/main/resources/jdbc/schema.sql diff --git a/testing-modules/junit-5-basics/src/main/resources/jdbc/springJdbc-config.xml b/testing-libraries/junit-5-basics/src/main/resources/jdbc/springJdbc-config.xml similarity index 100% rename from testing-modules/junit-5-basics/src/main/resources/jdbc/springJdbc-config.xml rename to testing-libraries/junit-5-basics/src/main/resources/jdbc/springJdbc-config.xml diff --git a/testing-modules/junit-5-basics/src/main/resources/jdbc/test-data.sql b/testing-libraries/junit-5-basics/src/main/resources/jdbc/test-data.sql similarity index 100% rename from testing-modules/junit-5-basics/src/main/resources/jdbc/test-data.sql rename to testing-libraries/junit-5-basics/src/main/resources/jdbc/test-data.sql diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/ExceptionUnitTest.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/ExceptionUnitTest.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/ExceptionUnitTest.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/ExceptionUnitTest.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/FirstUnitTest.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/FirstUnitTest.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/FirstUnitTest.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/FirstUnitTest.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/GreetingsUnitTest.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/GreetingsUnitTest.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/GreetingsUnitTest.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/GreetingsUnitTest.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/JUnit5NewFeaturesUnitTest.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/JUnit5NewFeaturesUnitTest.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/JUnit5NewFeaturesUnitTest.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/JUnit5NewFeaturesUnitTest.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/LiveTest.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/LiveTest.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/LiveTest.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/LiveTest.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/categories/EmployeeDAOCategoryIntegrationTest.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/categories/EmployeeDAOCategoryIntegrationTest.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/categories/EmployeeDAOCategoryIntegrationTest.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/categories/EmployeeDAOCategoryIntegrationTest.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/categories/EmployeeDAOUnitTestSuite.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/categories/EmployeeDAOUnitTestSuite.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/categories/EmployeeDAOUnitTestSuite.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/categories/EmployeeDAOUnitTestSuite.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/categories/IntegrationTest.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/categories/IntegrationTest.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/categories/IntegrationTest.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/categories/IntegrationTest.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/categories/UnitTest.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/categories/UnitTest.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/categories/UnitTest.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/categories/UnitTest.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/example/EmployeeDAOIntegrationTest.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/example/EmployeeDAOIntegrationTest.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/example/EmployeeDAOIntegrationTest.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/example/EmployeeDAOIntegrationTest.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/example/EmployeeUnitTest.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/example/EmployeeUnitTest.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/example/EmployeeUnitTest.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/example/EmployeeUnitTest.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/exception/ExceptionAssertionUnitTest.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/exception/ExceptionAssertionUnitTest.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/exception/ExceptionAssertionUnitTest.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/exception/ExceptionAssertionUnitTest.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/extensions/tempdir/SharedTemporaryDirectoryUnitTest.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/extensions/tempdir/SharedTemporaryDirectoryUnitTest.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/extensions/tempdir/SharedTemporaryDirectoryUnitTest.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/extensions/tempdir/SharedTemporaryDirectoryUnitTest.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/extensions/tempdir/TemporaryDirectoryUnitTest.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/extensions/tempdir/TemporaryDirectoryUnitTest.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/extensions/tempdir/TemporaryDirectoryUnitTest.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/extensions/tempdir/TemporaryDirectoryUnitTest.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/failure_vs_error/SimpleCalculatorUnitTest.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/failure_vs_error/SimpleCalculatorUnitTest.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/failure_vs_error/SimpleCalculatorUnitTest.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/failure_vs_error/SimpleCalculatorUnitTest.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/junit5/bean/test/NumbersBeanUnitTest.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/junit5/bean/test/NumbersBeanUnitTest.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/junit5/bean/test/NumbersBeanUnitTest.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/junit5/bean/test/NumbersBeanUnitTest.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/junit5/spring/GreetingsSpringUnitTest.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/junit5/spring/GreetingsSpringUnitTest.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/junit5/spring/GreetingsSpringUnitTest.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/junit5/spring/GreetingsSpringUnitTest.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/junit5/spring/SpringTestConfiguration.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/junit5/spring/SpringTestConfiguration.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/junit5/spring/SpringTestConfiguration.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/junit5/spring/SpringTestConfiguration.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/AnnotationTestExampleUnitTest.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/AnnotationTestExampleUnitTest.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/AnnotationTestExampleUnitTest.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/AnnotationTestExampleUnitTest.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/AssertionsExampleUnitTest.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/AssertionsExampleUnitTest.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/AssertionsExampleUnitTest.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/AssertionsExampleUnitTest.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/BeforeAndAfterAnnotationsUnitTest.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/BeforeAndAfterAnnotationsUnitTest.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/BeforeAndAfterAnnotationsUnitTest.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/BeforeAndAfterAnnotationsUnitTest.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/BeforeClassAndAfterClassAnnotationsUnitTest.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/BeforeClassAndAfterClassAnnotationsUnitTest.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/BeforeClassAndAfterClassAnnotationsUnitTest.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/BeforeClassAndAfterClassAnnotationsUnitTest.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/ExceptionAssertionUnitTest.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/ExceptionAssertionUnitTest.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/ExceptionAssertionUnitTest.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/ExceptionAssertionUnitTest.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/RuleExampleUnitTest.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/RuleExampleUnitTest.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/RuleExampleUnitTest.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/RuleExampleUnitTest.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/categories/Annotations.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/categories/Annotations.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/categories/Annotations.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/categories/Annotations.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/categories/JUnit4UnitTest.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/categories/JUnit4UnitTest.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/categories/JUnit4UnitTest.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/categories/JUnit4UnitTest.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/rules/TraceUnitTestRule.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/rules/TraceUnitTestRule.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/rules/TraceUnitTestRule.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/rules/TraceUnitTestRule.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AnnotationTestExampleUnitTest.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AnnotationTestExampleUnitTest.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AnnotationTestExampleUnitTest.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AnnotationTestExampleUnitTest.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AssertionsExampleUnitTest.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AssertionsExampleUnitTest.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AssertionsExampleUnitTest.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AssertionsExampleUnitTest.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AssumptionUnitTest.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AssumptionUnitTest.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AssumptionUnitTest.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AssumptionUnitTest.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit5/BeforeAllAndAfterAllAnnotationsUnitTest.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit5/BeforeAllAndAfterAllAnnotationsUnitTest.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit5/BeforeAllAndAfterAllAnnotationsUnitTest.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit5/BeforeAllAndAfterAllAnnotationsUnitTest.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit5/BeforeEachAndAfterEachAnnotationsUnitTest.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit5/BeforeEachAndAfterEachAnnotationsUnitTest.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit5/BeforeEachAndAfterEachAnnotationsUnitTest.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit5/BeforeEachAndAfterEachAnnotationsUnitTest.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit5/RuleExampleUnitTest.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit5/RuleExampleUnitTest.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit5/RuleExampleUnitTest.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit5/RuleExampleUnitTest.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit5/extensions/TraceUnitExtension.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit5/extensions/TraceUnitExtension.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit5/extensions/TraceUnitExtension.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit5/extensions/TraceUnitExtension.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/resourcedirectory/ReadResourceDirectoryUnitTest.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/resourcedirectory/ReadResourceDirectoryUnitTest.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/resourcedirectory/ReadResourceDirectoryUnitTest.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/resourcedirectory/ReadResourceDirectoryUnitTest.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/suites/AllUnitTest.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/suites/AllUnitTest.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/suites/AllUnitTest.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/suites/AllUnitTest.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/tags/EmployeeDAOIntegrationTest.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/tags/EmployeeDAOIntegrationTest.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/tags/EmployeeDAOIntegrationTest.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/tags/EmployeeDAOIntegrationTest.java diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/tags/EmployeeDAOTestSuite.java b/testing-libraries/junit-5-basics/src/test/java/com/baeldung/tags/EmployeeDAOTestSuite.java similarity index 100% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/tags/EmployeeDAOTestSuite.java rename to testing-libraries/junit-5-basics/src/test/java/com/baeldung/tags/EmployeeDAOTestSuite.java diff --git a/testing-modules/junit-5-basics/src/test/resources/example_resource.txt b/testing-libraries/junit-5-basics/src/test/resources/example_resource.txt similarity index 100% rename from testing-modules/junit-5-basics/src/test/resources/example_resource.txt rename to testing-libraries/junit-5-basics/src/test/resources/example_resource.txt diff --git a/testing-modules/junit-5/README.md b/testing-libraries/junit-5/README.md similarity index 100% rename from testing-modules/junit-5/README.md rename to testing-libraries/junit-5/README.md diff --git a/testing-modules/junit-5/pom.xml b/testing-libraries/junit-5/pom.xml similarity index 100% rename from testing-modules/junit-5/pom.xml rename to testing-libraries/junit-5/pom.xml diff --git a/testing-modules/junit-5/src/main/java/com/baeldung/abstractclass/abstractmethod/AbstractMethodCalling.java b/testing-libraries/junit-5/src/main/java/com/baeldung/abstractclass/abstractmethod/AbstractMethodCalling.java similarity index 100% rename from testing-modules/junit-5/src/main/java/com/baeldung/abstractclass/abstractmethod/AbstractMethodCalling.java rename to testing-libraries/junit-5/src/main/java/com/baeldung/abstractclass/abstractmethod/AbstractMethodCalling.java diff --git a/testing-modules/junit-5/src/main/java/com/baeldung/abstractclass/indepedentmethod/AbstractIndependent.java b/testing-libraries/junit-5/src/main/java/com/baeldung/abstractclass/indepedentmethod/AbstractIndependent.java similarity index 100% rename from testing-modules/junit-5/src/main/java/com/baeldung/abstractclass/indepedentmethod/AbstractIndependent.java rename to testing-libraries/junit-5/src/main/java/com/baeldung/abstractclass/indepedentmethod/AbstractIndependent.java diff --git a/testing-modules/junit-5/src/main/java/com/baeldung/abstractclass/indepedentmethod/ConcreteImpl.java b/testing-libraries/junit-5/src/main/java/com/baeldung/abstractclass/indepedentmethod/ConcreteImpl.java similarity index 100% rename from testing-modules/junit-5/src/main/java/com/baeldung/abstractclass/indepedentmethod/ConcreteImpl.java rename to testing-libraries/junit-5/src/main/java/com/baeldung/abstractclass/indepedentmethod/ConcreteImpl.java diff --git a/testing-modules/junit-5/src/main/java/com/baeldung/abstractclass/instancefields/AbstractInstanceFields.java b/testing-libraries/junit-5/src/main/java/com/baeldung/abstractclass/instancefields/AbstractInstanceFields.java similarity index 100% rename from testing-modules/junit-5/src/main/java/com/baeldung/abstractclass/instancefields/AbstractInstanceFields.java rename to testing-libraries/junit-5/src/main/java/com/baeldung/abstractclass/instancefields/AbstractInstanceFields.java diff --git a/testing-modules/junit-5/src/main/java/com/baeldung/abstractclass/privatemethod/AbstractPrivateMethods.java b/testing-libraries/junit-5/src/main/java/com/baeldung/abstractclass/privatemethod/AbstractPrivateMethods.java similarity index 100% rename from testing-modules/junit-5/src/main/java/com/baeldung/abstractclass/privatemethod/AbstractPrivateMethods.java rename to testing-libraries/junit-5/src/main/java/com/baeldung/abstractclass/privatemethod/AbstractPrivateMethods.java diff --git a/testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/User.java b/testing-libraries/junit-5/src/main/java/com/baeldung/junit5/mockito/User.java similarity index 100% rename from testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/User.java rename to testing-libraries/junit-5/src/main/java/com/baeldung/junit5/mockito/User.java diff --git a/testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/MailClient.java b/testing-libraries/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/MailClient.java similarity index 100% rename from testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/MailClient.java rename to testing-libraries/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/MailClient.java diff --git a/testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/SettingRepository.java b/testing-libraries/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/SettingRepository.java similarity index 100% rename from testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/SettingRepository.java rename to testing-libraries/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/SettingRepository.java diff --git a/testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/UserRepository.java b/testing-libraries/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/UserRepository.java similarity index 100% rename from testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/UserRepository.java rename to testing-libraries/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/UserRepository.java diff --git a/testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/service/DefaultUserService.java b/testing-libraries/junit-5/src/main/java/com/baeldung/junit5/mockito/service/DefaultUserService.java similarity index 100% rename from testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/service/DefaultUserService.java rename to testing-libraries/junit-5/src/main/java/com/baeldung/junit5/mockito/service/DefaultUserService.java diff --git a/testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/service/Errors.java b/testing-libraries/junit-5/src/main/java/com/baeldung/junit5/mockito/service/Errors.java similarity index 100% rename from testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/service/Errors.java rename to testing-libraries/junit-5/src/main/java/com/baeldung/junit5/mockito/service/Errors.java diff --git a/testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/service/UserService.java b/testing-libraries/junit-5/src/main/java/com/baeldung/junit5/mockito/service/UserService.java similarity index 100% rename from testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/service/UserService.java rename to testing-libraries/junit-5/src/main/java/com/baeldung/junit5/mockito/service/UserService.java diff --git a/testing-modules/junit-5/src/main/java/com/baeldung/junit5vstestng/Calculator.java b/testing-libraries/junit-5/src/main/java/com/baeldung/junit5vstestng/Calculator.java similarity index 100% rename from testing-modules/junit-5/src/main/java/com/baeldung/junit5vstestng/Calculator.java rename to testing-libraries/junit-5/src/main/java/com/baeldung/junit5vstestng/Calculator.java diff --git a/testing-modules/junit-5/src/main/java/com/baeldung/junit5vstestng/DivideByZeroException.java b/testing-libraries/junit-5/src/main/java/com/baeldung/junit5vstestng/DivideByZeroException.java similarity index 100% rename from testing-modules/junit-5/src/main/java/com/baeldung/junit5vstestng/DivideByZeroException.java rename to testing-libraries/junit-5/src/main/java/com/baeldung/junit5vstestng/DivideByZeroException.java diff --git a/testing-modules/junit-5/src/main/resources/logback.xml b/testing-libraries/junit-5/src/main/resources/logback.xml similarity index 100% rename from testing-modules/junit-5/src/main/resources/logback.xml rename to testing-libraries/junit-5/src/main/resources/logback.xml diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/AssertionUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/AssertionUnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/AssertionUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/AssertionUnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/DynamicTestsExample.java b/testing-libraries/junit-5/src/test/java/com/baeldung/DynamicTestsExample.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/DynamicTestsExample.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/DynamicTestsExample.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/EmployeesUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/EmployeesUnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/EmployeesUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/EmployeesUnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/MultipleExtensionsUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/MultipleExtensionsUnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/MultipleExtensionsUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/MultipleExtensionsUnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/NestedUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/NestedUnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/NestedUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/NestedUnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/ProgrammaticEmployeesUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/ProgrammaticEmployeesUnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/ProgrammaticEmployeesUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/ProgrammaticEmployeesUnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/RegisterExtensionUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/RegisterExtensionUnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/RegisterExtensionUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/RegisterExtensionUnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/RepeatedTestExample.java b/testing-libraries/junit-5/src/test/java/com/baeldung/RepeatedTestExample.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/RepeatedTestExample.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/RepeatedTestExample.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/StringUtils.java b/testing-libraries/junit-5/src/test/java/com/baeldung/StringUtils.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/StringUtils.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/StringUtils.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/TaggedUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/TaggedUnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/TaggedUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/TaggedUnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/TestLauncher.java b/testing-libraries/junit-5/src/test/java/com/baeldung/TestLauncher.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/TestLauncher.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/TestLauncher.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/abstractclass/abstractmethod/AbstractMethodCallingUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/abstractclass/abstractmethod/AbstractMethodCallingUnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/abstractclass/abstractmethod/AbstractMethodCallingUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/abstractclass/abstractmethod/AbstractMethodCallingUnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/abstractclass/indepedentmethod/AbstractIndependentUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/abstractclass/indepedentmethod/AbstractIndependentUnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/abstractclass/indepedentmethod/AbstractIndependentUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/abstractclass/indepedentmethod/AbstractIndependentUnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/abstractclass/instancefields/AbstractInstanceFieldsUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/abstractclass/instancefields/AbstractInstanceFieldsUnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/abstractclass/instancefields/AbstractInstanceFieldsUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/abstractclass/instancefields/AbstractInstanceFieldsUnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/abstractclass/privatemethod/AbstractPrivateMethodsUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/abstractclass/privatemethod/AbstractPrivateMethodsUnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/abstractclass/privatemethod/AbstractPrivateMethodsUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/abstractclass/privatemethod/AbstractPrivateMethodsUnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/conditional/ConditionalAnnotationsUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/conditional/ConditionalAnnotationsUnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/conditional/ConditionalAnnotationsUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/conditional/ConditionalAnnotationsUnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/extensions/EmployeeDaoParameterResolver.java b/testing-libraries/junit-5/src/test/java/com/baeldung/extensions/EmployeeDaoParameterResolver.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/extensions/EmployeeDaoParameterResolver.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/extensions/EmployeeDaoParameterResolver.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/extensions/EmployeeDatabaseSetupExtension.java b/testing-libraries/junit-5/src/test/java/com/baeldung/extensions/EmployeeDatabaseSetupExtension.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/extensions/EmployeeDatabaseSetupExtension.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/extensions/EmployeeDatabaseSetupExtension.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/extensions/EnvironmentExtension.java b/testing-libraries/junit-5/src/test/java/com/baeldung/extensions/EnvironmentExtension.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/extensions/EnvironmentExtension.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/extensions/EnvironmentExtension.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/extensions/IgnoreFileNotFoundExceptionExtension.java b/testing-libraries/junit-5/src/test/java/com/baeldung/extensions/IgnoreFileNotFoundExceptionExtension.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/extensions/IgnoreFileNotFoundExceptionExtension.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/extensions/IgnoreFileNotFoundExceptionExtension.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/extensions/LoggingExtension.java b/testing-libraries/junit-5/src/test/java/com/baeldung/extensions/LoggingExtension.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/extensions/LoggingExtension.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/extensions/LoggingExtension.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/extensions/RegisterExtensionSampleExtension.java b/testing-libraries/junit-5/src/test/java/com/baeldung/extensions/RegisterExtensionSampleExtension.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/extensions/RegisterExtensionSampleExtension.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/extensions/RegisterExtensionSampleExtension.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/helpers/Employee.java b/testing-libraries/junit-5/src/test/java/com/baeldung/helpers/Employee.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/helpers/Employee.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/helpers/Employee.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/helpers/EmployeeDao.java b/testing-libraries/junit-5/src/test/java/com/baeldung/helpers/EmployeeDao.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/helpers/EmployeeDao.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/helpers/EmployeeDao.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/helpers/EmployeeJdbcDao.java b/testing-libraries/junit-5/src/test/java/com/baeldung/helpers/EmployeeJdbcDao.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/helpers/EmployeeJdbcDao.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/helpers/EmployeeJdbcDao.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/helpers/JdbcConnectionUtil.java b/testing-libraries/junit-5/src/test/java/com/baeldung/helpers/JdbcConnectionUtil.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/helpers/JdbcConnectionUtil.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/helpers/JdbcConnectionUtil.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/junit4vstestng/SortedUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/junit4vstestng/SortedUnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/junit4vstestng/SortedUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/junit4vstestng/SortedUnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/junit4vstestng/SummationServiceIntegrationTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/junit4vstestng/SummationServiceIntegrationTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/junit4vstestng/SummationServiceIntegrationTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/junit4vstestng/SummationServiceIntegrationTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/junit5/mockito/UserServiceUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/junit5/mockito/UserServiceUnitTest.java similarity index 97% rename from testing-modules/junit-5/src/test/java/com/baeldung/junit5/mockito/UserServiceUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/junit5/mockito/UserServiceUnitTest.java index d4195e3b12..e13b4e24be 100644 --- a/testing-modules/junit-5/src/test/java/com/baeldung/junit5/mockito/UserServiceUnitTest.java +++ b/testing-libraries/junit-5/src/test/java/com/baeldung/junit5/mockito/UserServiceUnitTest.java @@ -1,126 +1,126 @@ -package com.baeldung.junit5.mockito; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.fail; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.*; - -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; -import org.junit.platform.runner.JUnitPlatform; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.Mockito; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.junit.jupiter.MockitoExtension; -import org.mockito.stubbing.Answer; - -import com.baeldung.junit5.mockito.repository.MailClient; -import com.baeldung.junit5.mockito.repository.SettingRepository; -import com.baeldung.junit5.mockito.repository.UserRepository; -import com.baeldung.junit5.mockito.service.DefaultUserService; -import com.baeldung.junit5.mockito.service.Errors; -import com.baeldung.junit5.mockito.service.UserService; - -@ExtendWith(MockitoExtension.class) -@RunWith(JUnitPlatform.class) -public class UserServiceUnitTest { - - UserService userService; - SettingRepository settingRepository; - @Mock UserRepository userRepository; - @Mock MailClient mailClient; - - User user; - - @BeforeEach - void init(@Mock SettingRepository settingRepository) { - userService = new DefaultUserService(userRepository, settingRepository, mailClient); - lenient().when(settingRepository.getUserMinAge()).thenReturn(10); - when(settingRepository.getUserNameMinLength()).thenReturn(4); - lenient().when(userRepository.isUsernameAlreadyExists(any(String.class))).thenReturn(false); - this.settingRepository = settingRepository; - } - - @Test - void givenValidUser_whenSaveUser_thenSucceed(@Mock MailClient mailClient) { - // Given - user = new User("Jerry", 12); - when(userRepository.insert(any(User.class))).then(new Answer() { - int sequence = 1; - - @Override - public User answer(InvocationOnMock invocation) throws Throwable { - User user = (User) invocation.getArgument(0); - user.setId(sequence++); - return user; - } - }); - - userService = new DefaultUserService(userRepository, settingRepository, mailClient); - - // When - User insertedUser = userService.register(user); - - // Then - verify(userRepository).insert(user); - Assertions.assertNotNull(user.getId()); - verify(mailClient).sendUserRegistrationMail(insertedUser); - } - - @Test - void givenShortName_whenSaveUser_thenGiveShortUsernameError() { - // Given - user = new User("tom", 12); - - // When - try { - userService.register(user); - fail("Should give an error"); - } catch(Exception ex) { - assertEquals(ex.getMessage(), Errors.USER_NAME_SHORT); - } - - // Then - verify(userRepository, never()).insert(user); - } - - @Test - void givenSmallAge_whenSaveUser_thenGiveYoungUserError() { - // Given - user = new User("jerry", 3); - - // When - try { - userService.register(user); - fail("Should give an error"); - } catch(Exception ex) { - assertEquals(ex.getMessage(), Errors.USER_AGE_YOUNG); - } - - // Then - verify(userRepository, never()).insert(user); - } - - @Test - void givenUserWithExistingName_whenSaveUser_thenGiveUsernameAlreadyExistsError() { - // Given - user = new User("jerry", 12); - Mockito.reset(userRepository); - when(userRepository.isUsernameAlreadyExists(any(String.class))).thenReturn(true); - - // When - try { - userService.register(user); - fail("Should give an error"); - } catch(Exception ex) { - assertEquals(ex.getMessage(), Errors.USER_NAME_DUPLICATE); - } - - // Then - verify(userRepository, never()).insert(user); - } - -} +package com.baeldung.junit5.mockito; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.*; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.junit.platform.runner.JUnitPlatform; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.invocation.InvocationOnMock; +import org.mockito.junit.jupiter.MockitoExtension; +import org.mockito.stubbing.Answer; + +import com.baeldung.junit5.mockito.repository.MailClient; +import com.baeldung.junit5.mockito.repository.SettingRepository; +import com.baeldung.junit5.mockito.repository.UserRepository; +import com.baeldung.junit5.mockito.service.DefaultUserService; +import com.baeldung.junit5.mockito.service.Errors; +import com.baeldung.junit5.mockito.service.UserService; + +@ExtendWith(MockitoExtension.class) +@RunWith(JUnitPlatform.class) +public class UserServiceUnitTest { + + UserService userService; + SettingRepository settingRepository; + @Mock UserRepository userRepository; + @Mock MailClient mailClient; + + User user; + + @BeforeEach + void init(@Mock SettingRepository settingRepository) { + userService = new DefaultUserService(userRepository, settingRepository, mailClient); + lenient().when(settingRepository.getUserMinAge()).thenReturn(10); + when(settingRepository.getUserNameMinLength()).thenReturn(4); + lenient().when(userRepository.isUsernameAlreadyExists(any(String.class))).thenReturn(false); + this.settingRepository = settingRepository; + } + + @Test + void givenValidUser_whenSaveUser_thenSucceed(@Mock MailClient mailClient) { + // Given + user = new User("Jerry", 12); + when(userRepository.insert(any(User.class))).then(new Answer() { + int sequence = 1; + + @Override + public User answer(InvocationOnMock invocation) throws Throwable { + User user = (User) invocation.getArgument(0); + user.setId(sequence++); + return user; + } + }); + + userService = new DefaultUserService(userRepository, settingRepository, mailClient); + + // When + User insertedUser = userService.register(user); + + // Then + verify(userRepository).insert(user); + Assertions.assertNotNull(user.getId()); + verify(mailClient).sendUserRegistrationMail(insertedUser); + } + + @Test + void givenShortName_whenSaveUser_thenGiveShortUsernameError() { + // Given + user = new User("tom", 12); + + // When + try { + userService.register(user); + fail("Should give an error"); + } catch(Exception ex) { + assertEquals(ex.getMessage(), Errors.USER_NAME_SHORT); + } + + // Then + verify(userRepository, never()).insert(user); + } + + @Test + void givenSmallAge_whenSaveUser_thenGiveYoungUserError() { + // Given + user = new User("jerry", 3); + + // When + try { + userService.register(user); + fail("Should give an error"); + } catch(Exception ex) { + assertEquals(ex.getMessage(), Errors.USER_AGE_YOUNG); + } + + // Then + verify(userRepository, never()).insert(user); + } + + @Test + void givenUserWithExistingName_whenSaveUser_thenGiveUsernameAlreadyExistsError() { + // Given + user = new User("jerry", 12); + Mockito.reset(userRepository); + when(userRepository.isUsernameAlreadyExists(any(String.class))).thenReturn(true); + + // When + try { + userService.register(user); + fail("Should give an error"); + } catch(Exception ex) { + assertEquals(ex.getMessage(), Errors.USER_NAME_DUPLICATE); + } + + // Then + verify(userRepository, never()).insert(user); + } + +} diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/AlphanumericOrderUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/junit5/order/AlphanumericOrderUnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/AlphanumericOrderUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/junit5/order/AlphanumericOrderUnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/CustomOrder.java b/testing-libraries/junit-5/src/test/java/com/baeldung/junit5/order/CustomOrder.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/CustomOrder.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/junit5/order/CustomOrder.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/CustomOrderUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/junit5/order/CustomOrderUnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/CustomOrderUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/junit5/order/CustomOrderUnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/OrderAnnotationUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/junit5/order/OrderAnnotationUnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/OrderAnnotationUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/junit5/order/OrderAnnotationUnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/CalculatorUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/CalculatorUnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/CalculatorUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/CalculatorUnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/Class1UnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/Class1UnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/Class1UnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/Class1UnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/Class2UnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/Class2UnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/Class2UnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/Class2UnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/CustomNameUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/CustomNameUnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/CustomNameUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/CustomNameUnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/ParameterizedUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/ParameterizedUnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/ParameterizedUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/ParameterizedUnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/PizzaDeliveryStrategy.java b/testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/PizzaDeliveryStrategy.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/PizzaDeliveryStrategy.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/PizzaDeliveryStrategy.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/SelectClassesSuiteUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/SelectClassesSuiteUnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/SelectClassesSuiteUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/SelectClassesSuiteUnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/SelectPackagesSuiteUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/SelectPackagesSuiteUnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/SelectPackagesSuiteUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/SelectPackagesSuiteUnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/SummationServiceUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/SummationServiceUnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/SummationServiceUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/SummationServiceUnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/methodorders/DefaultOrderOfExecutionUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/methodorders/DefaultOrderOfExecutionUnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/methodorders/DefaultOrderOfExecutionUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/methodorders/DefaultOrderOfExecutionUnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/methodorders/JVMOrderOfExecutionUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/methodorders/JVMOrderOfExecutionUnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/methodorders/JVMOrderOfExecutionUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/methodorders/JVMOrderOfExecutionUnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/methodorders/NameAscendingOrderOfExecutionUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/methodorders/NameAscendingOrderOfExecutionUnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/methodorders/NameAscendingOrderOfExecutionUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/methodorders/NameAscendingOrderOfExecutionUnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/param/InvalidPersonParameterResolver.java b/testing-libraries/junit-5/src/test/java/com/baeldung/param/InvalidPersonParameterResolver.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/param/InvalidPersonParameterResolver.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/param/InvalidPersonParameterResolver.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/param/Person.java b/testing-libraries/junit-5/src/test/java/com/baeldung/param/Person.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/param/Person.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/param/Person.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/param/PersonValidator.java b/testing-libraries/junit-5/src/test/java/com/baeldung/param/PersonValidator.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/param/PersonValidator.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/param/PersonValidator.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/param/PersonValidatorUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/param/PersonValidatorUnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/param/PersonValidatorUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/param/PersonValidatorUnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/param/ValidPersonParameterResolver.java b/testing-libraries/junit-5/src/test/java/com/baeldung/param/ValidPersonParameterResolver.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/param/ValidPersonParameterResolver.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/param/ValidPersonParameterResolver.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/parameterized/BlankStringsArgumentsProvider.java b/testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/BlankStringsArgumentsProvider.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/parameterized/BlankStringsArgumentsProvider.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/BlankStringsArgumentsProvider.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/parameterized/EnumsUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/EnumsUnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/parameterized/EnumsUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/EnumsUnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/parameterized/LocalDateUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/LocalDateUnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/parameterized/LocalDateUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/LocalDateUnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/parameterized/Numbers.java b/testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/Numbers.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/parameterized/Numbers.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/Numbers.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/parameterized/NumbersUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/NumbersUnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/parameterized/NumbersUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/NumbersUnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/parameterized/Person.java b/testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/Person.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/parameterized/Person.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/Person.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/parameterized/PersonAggregator.java b/testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/PersonAggregator.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/parameterized/PersonAggregator.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/PersonAggregator.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/parameterized/PersonUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/PersonUnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/parameterized/PersonUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/PersonUnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/parameterized/SlashyDateConverter.java b/testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/SlashyDateConverter.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/parameterized/SlashyDateConverter.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/SlashyDateConverter.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/parameterized/StringParams.java b/testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/StringParams.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/parameterized/StringParams.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/StringParams.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/parameterized/Strings.java b/testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/Strings.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/parameterized/Strings.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/Strings.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/parameterized/StringsUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/StringsUnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/parameterized/StringsUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/StringsUnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/parameterized/VariableArgumentsProvider.java b/testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/VariableArgumentsProvider.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/parameterized/VariableArgumentsProvider.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/VariableArgumentsProvider.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/parameterized/VariableSource.java b/testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/VariableSource.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/parameterized/VariableSource.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/VariableSource.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/runfromjava/FirstUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/runfromjava/FirstUnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/runfromjava/FirstUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/runfromjava/FirstUnitTest.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/runfromjava/RunJUnit5TestsFromJava.java b/testing-libraries/junit-5/src/test/java/com/baeldung/runfromjava/RunJUnit5TestsFromJava.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/runfromjava/RunJUnit5TestsFromJava.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/runfromjava/RunJUnit5TestsFromJava.java diff --git a/testing-modules/junit-5/src/test/java/com/baeldung/runfromjava/SecondUnitTest.java b/testing-libraries/junit-5/src/test/java/com/baeldung/runfromjava/SecondUnitTest.java similarity index 100% rename from testing-modules/junit-5/src/test/java/com/baeldung/runfromjava/SecondUnitTest.java rename to testing-libraries/junit-5/src/test/java/com/baeldung/runfromjava/SecondUnitTest.java diff --git a/testing-modules/junit-5/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension b/testing-libraries/junit-5/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension similarity index 100% rename from testing-modules/junit-5/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension rename to testing-libraries/junit-5/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension diff --git a/testing-modules/junit-5/src/test/resources/com/baeldung/extensions/application.properties b/testing-libraries/junit-5/src/test/resources/com/baeldung/extensions/application.properties similarity index 100% rename from testing-modules/junit-5/src/test/resources/com/baeldung/extensions/application.properties rename to testing-libraries/junit-5/src/test/resources/com/baeldung/extensions/application.properties diff --git a/testing-modules/junit-5/src/test/resources/com/baeldung/helpers/jdbc.properties b/testing-libraries/junit-5/src/test/resources/com/baeldung/helpers/jdbc.properties similarity index 100% rename from testing-modules/junit-5/src/test/resources/com/baeldung/helpers/jdbc.properties rename to testing-libraries/junit-5/src/test/resources/com/baeldung/helpers/jdbc.properties diff --git a/testing-modules/junit-5/src/test/resources/data.csv b/testing-libraries/junit-5/src/test/resources/data.csv similarity index 100% rename from testing-modules/junit-5/src/test/resources/data.csv rename to testing-libraries/junit-5/src/test/resources/data.csv diff --git a/testing-modules/junit5-migration/README.md b/testing-libraries/junit5-migration/README.md similarity index 100% rename from testing-modules/junit5-migration/README.md rename to testing-libraries/junit5-migration/README.md diff --git a/testing-modules/junit5-migration/pom.xml b/testing-libraries/junit5-migration/pom.xml similarity index 100% rename from testing-modules/junit5-migration/pom.xml rename to testing-libraries/junit5-migration/pom.xml diff --git a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/AnnotationTestExampleUnitTest.java b/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/AnnotationTestExampleUnitTest.java similarity index 100% rename from testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/AnnotationTestExampleUnitTest.java rename to testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/AnnotationTestExampleUnitTest.java diff --git a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/AssertionUnitTest.java b/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/AssertionUnitTest.java similarity index 100% rename from testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/AssertionUnitTest.java rename to testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/AssertionUnitTest.java diff --git a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/AssumeUnitTest.java b/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/AssumeUnitTest.java similarity index 100% rename from testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/AssumeUnitTest.java rename to testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/AssumeUnitTest.java diff --git a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/ExceptionAssertionUnitTest.java b/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/ExceptionAssertionUnitTest.java similarity index 100% rename from testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/ExceptionAssertionUnitTest.java rename to testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/ExceptionAssertionUnitTest.java diff --git a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/RuleExampleUnitTest.java b/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/RuleExampleUnitTest.java similarity index 100% rename from testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/RuleExampleUnitTest.java rename to testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/RuleExampleUnitTest.java diff --git a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/TestAnnotationsUnitTest.java b/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/TestAnnotationsUnitTest.java similarity index 100% rename from testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/TestAnnotationsUnitTest.java rename to testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/TestAnnotationsUnitTest.java diff --git a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/TraceUnitTestRule.java b/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/TraceUnitTestRule.java similarity index 100% rename from testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/TraceUnitTestRule.java rename to testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/TraceUnitTestRule.java diff --git a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/categories/Annotations.java b/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/categories/Annotations.java similarity index 100% rename from testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/categories/Annotations.java rename to testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/categories/Annotations.java diff --git a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/categories/JUnit4UnitTest.java b/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/categories/JUnit4UnitTest.java similarity index 100% rename from testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/categories/JUnit4UnitTest.java rename to testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/categories/JUnit4UnitTest.java diff --git a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/AnnotationTestExampleUnitTest.java b/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/AnnotationTestExampleUnitTest.java similarity index 100% rename from testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/AnnotationTestExampleUnitTest.java rename to testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/AnnotationTestExampleUnitTest.java diff --git a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/AssertionUnitTest.java b/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/AssertionUnitTest.java similarity index 100% rename from testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/AssertionUnitTest.java rename to testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/AssertionUnitTest.java diff --git a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/AssumptionUnitTest.java b/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/AssumptionUnitTest.java similarity index 100% rename from testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/AssumptionUnitTest.java rename to testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/AssumptionUnitTest.java diff --git a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/ConditionalExecutionUnitTest.java b/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/ConditionalExecutionUnitTest.java similarity index 100% rename from testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/ConditionalExecutionUnitTest.java rename to testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/ConditionalExecutionUnitTest.java diff --git a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/NestedUnitTest.java b/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/NestedUnitTest.java similarity index 100% rename from testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/NestedUnitTest.java rename to testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/NestedUnitTest.java diff --git a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/RuleExampleUnitTest.java b/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/RuleExampleUnitTest.java similarity index 100% rename from testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/RuleExampleUnitTest.java rename to testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/RuleExampleUnitTest.java diff --git a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/RuleMigrationSupportUnitTest.java b/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/RuleMigrationSupportUnitTest.java similarity index 100% rename from testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/RuleMigrationSupportUnitTest.java rename to testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/RuleMigrationSupportUnitTest.java diff --git a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/TestAnnotationsUnitTest.java b/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/TestAnnotationsUnitTest.java similarity index 100% rename from testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/TestAnnotationsUnitTest.java rename to testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/TestAnnotationsUnitTest.java diff --git a/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/TraceUnitExtension.java b/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/TraceUnitExtension.java similarity index 100% rename from testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/TraceUnitExtension.java rename to testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/TraceUnitExtension.java diff --git a/testing-modules/load-testing-comparison/README.md b/testing-libraries/load-testing-comparison/README.md similarity index 100% rename from testing-modules/load-testing-comparison/README.md rename to testing-libraries/load-testing-comparison/README.md diff --git a/testing-modules/load-testing-comparison/pom.xml b/testing-libraries/load-testing-comparison/pom.xml similarity index 100% rename from testing-modules/load-testing-comparison/pom.xml rename to testing-libraries/load-testing-comparison/pom.xml diff --git a/testing-modules/load-testing-comparison/src/main/java/com/baeldung/loadtesting/Application.java b/testing-libraries/load-testing-comparison/src/main/java/com/baeldung/loadtesting/Application.java similarity index 100% rename from testing-modules/load-testing-comparison/src/main/java/com/baeldung/loadtesting/Application.java rename to testing-libraries/load-testing-comparison/src/main/java/com/baeldung/loadtesting/Application.java diff --git a/testing-modules/load-testing-comparison/src/main/java/com/baeldung/loadtesting/RewardsController.java b/testing-libraries/load-testing-comparison/src/main/java/com/baeldung/loadtesting/RewardsController.java similarity index 100% rename from testing-modules/load-testing-comparison/src/main/java/com/baeldung/loadtesting/RewardsController.java rename to testing-libraries/load-testing-comparison/src/main/java/com/baeldung/loadtesting/RewardsController.java diff --git a/testing-modules/load-testing-comparison/src/main/java/com/baeldung/loadtesting/TransactionController.java b/testing-libraries/load-testing-comparison/src/main/java/com/baeldung/loadtesting/TransactionController.java similarity index 100% rename from testing-modules/load-testing-comparison/src/main/java/com/baeldung/loadtesting/TransactionController.java rename to testing-libraries/load-testing-comparison/src/main/java/com/baeldung/loadtesting/TransactionController.java diff --git a/testing-modules/load-testing-comparison/src/main/java/com/baeldung/loadtesting/model/CustomerRewardsAccount.java b/testing-libraries/load-testing-comparison/src/main/java/com/baeldung/loadtesting/model/CustomerRewardsAccount.java similarity index 100% rename from testing-modules/load-testing-comparison/src/main/java/com/baeldung/loadtesting/model/CustomerRewardsAccount.java rename to testing-libraries/load-testing-comparison/src/main/java/com/baeldung/loadtesting/model/CustomerRewardsAccount.java diff --git a/testing-modules/load-testing-comparison/src/main/java/com/baeldung/loadtesting/model/Transaction.java b/testing-libraries/load-testing-comparison/src/main/java/com/baeldung/loadtesting/model/Transaction.java similarity index 100% rename from testing-modules/load-testing-comparison/src/main/java/com/baeldung/loadtesting/model/Transaction.java rename to testing-libraries/load-testing-comparison/src/main/java/com/baeldung/loadtesting/model/Transaction.java diff --git a/testing-modules/load-testing-comparison/src/main/java/com/baeldung/loadtesting/repository/CustomerRewardsRepository.java b/testing-libraries/load-testing-comparison/src/main/java/com/baeldung/loadtesting/repository/CustomerRewardsRepository.java similarity index 100% rename from testing-modules/load-testing-comparison/src/main/java/com/baeldung/loadtesting/repository/CustomerRewardsRepository.java rename to testing-libraries/load-testing-comparison/src/main/java/com/baeldung/loadtesting/repository/CustomerRewardsRepository.java diff --git a/testing-modules/load-testing-comparison/src/main/java/com/baeldung/loadtesting/repository/TransactionRepository.java b/testing-libraries/load-testing-comparison/src/main/java/com/baeldung/loadtesting/repository/TransactionRepository.java similarity index 100% rename from testing-modules/load-testing-comparison/src/main/java/com/baeldung/loadtesting/repository/TransactionRepository.java rename to testing-libraries/load-testing-comparison/src/main/java/com/baeldung/loadtesting/repository/TransactionRepository.java diff --git a/testing-modules/load-testing-comparison/src/main/resources/scripts/Gatling/GatlingScenario.scala b/testing-libraries/load-testing-comparison/src/main/resources/scripts/Gatling/GatlingScenario.scala similarity index 100% rename from testing-modules/load-testing-comparison/src/main/resources/scripts/Gatling/GatlingScenario.scala rename to testing-libraries/load-testing-comparison/src/main/resources/scripts/Gatling/GatlingScenario.scala diff --git a/testing-modules/load-testing-comparison/src/main/resources/scripts/JMeter/Test Plan.jmx b/testing-libraries/load-testing-comparison/src/main/resources/scripts/JMeter/Test Plan.jmx similarity index 100% rename from testing-modules/load-testing-comparison/src/main/resources/scripts/JMeter/Test Plan.jmx rename to testing-libraries/load-testing-comparison/src/main/resources/scripts/JMeter/Test Plan.jmx diff --git a/testing-modules/load-testing-comparison/src/main/resources/scripts/The Grinder/grinder.properties b/testing-libraries/load-testing-comparison/src/main/resources/scripts/The Grinder/grinder.properties similarity index 100% rename from testing-modules/load-testing-comparison/src/main/resources/scripts/The Grinder/grinder.properties rename to testing-libraries/load-testing-comparison/src/main/resources/scripts/The Grinder/grinder.properties diff --git a/testing-modules/load-testing-comparison/src/main/resources/scripts/The Grinder/grinder.py b/testing-libraries/load-testing-comparison/src/main/resources/scripts/The Grinder/grinder.py similarity index 100% rename from testing-modules/load-testing-comparison/src/main/resources/scripts/The Grinder/grinder.py rename to testing-libraries/load-testing-comparison/src/main/resources/scripts/The Grinder/grinder.py diff --git a/testing-modules/mockito-2/.gitignore b/testing-libraries/mockito-2/.gitignore similarity index 100% rename from testing-modules/mockito-2/.gitignore rename to testing-libraries/mockito-2/.gitignore diff --git a/testing-modules/mockito-2/README.md b/testing-libraries/mockito-2/README.md similarity index 100% rename from testing-modules/mockito-2/README.md rename to testing-libraries/mockito-2/README.md diff --git a/testing-modules/mockito-2/pom.xml b/testing-libraries/mockito-2/pom.xml similarity index 100% rename from testing-modules/mockito-2/pom.xml rename to testing-libraries/mockito-2/pom.xml diff --git a/testing-modules/mockito-2/src/main/java/com/baeldung/mockito/java8/JobPosition.java b/testing-libraries/mockito-2/src/main/java/com/baeldung/mockito/java8/JobPosition.java similarity index 100% rename from testing-modules/mockito-2/src/main/java/com/baeldung/mockito/java8/JobPosition.java rename to testing-libraries/mockito-2/src/main/java/com/baeldung/mockito/java8/JobPosition.java diff --git a/testing-modules/mockito-2/src/main/java/com/baeldung/mockito/java8/JobService.java b/testing-libraries/mockito-2/src/main/java/com/baeldung/mockito/java8/JobService.java similarity index 100% rename from testing-modules/mockito-2/src/main/java/com/baeldung/mockito/java8/JobService.java rename to testing-libraries/mockito-2/src/main/java/com/baeldung/mockito/java8/JobService.java diff --git a/testing-modules/mockito-2/src/main/java/com/baeldung/mockito/java8/Person.java b/testing-libraries/mockito-2/src/main/java/com/baeldung/mockito/java8/Person.java similarity index 100% rename from testing-modules/mockito-2/src/main/java/com/baeldung/mockito/java8/Person.java rename to testing-libraries/mockito-2/src/main/java/com/baeldung/mockito/java8/Person.java diff --git a/testing-modules/mockito-2/src/main/java/com/baeldung/mockito/java8/UnemploymentService.java b/testing-libraries/mockito-2/src/main/java/com/baeldung/mockito/java8/UnemploymentService.java similarity index 100% rename from testing-modules/mockito-2/src/main/java/com/baeldung/mockito/java8/UnemploymentService.java rename to testing-libraries/mockito-2/src/main/java/com/baeldung/mockito/java8/UnemploymentService.java diff --git a/testing-modules/mockito-2/src/main/java/com/baeldung/mockito/java8/UnemploymentServiceImpl.java b/testing-libraries/mockito-2/src/main/java/com/baeldung/mockito/java8/UnemploymentServiceImpl.java similarity index 100% rename from testing-modules/mockito-2/src/main/java/com/baeldung/mockito/java8/UnemploymentServiceImpl.java rename to testing-libraries/mockito-2/src/main/java/com/baeldung/mockito/java8/UnemploymentServiceImpl.java diff --git a/testing-modules/mockito-2/src/main/resources/logback.xml b/testing-libraries/mockito-2/src/main/resources/logback.xml similarity index 100% rename from testing-modules/mockito-2/src/main/resources/logback.xml rename to testing-libraries/mockito-2/src/main/resources/logback.xml diff --git a/testing-modules/mockito-2/src/test/java/com/baeldung/mockito/java8/ArgumentMatcherWithLambdaUnitTest.java b/testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/java8/ArgumentMatcherWithLambdaUnitTest.java similarity index 100% rename from testing-modules/mockito-2/src/test/java/com/baeldung/mockito/java8/ArgumentMatcherWithLambdaUnitTest.java rename to testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/java8/ArgumentMatcherWithLambdaUnitTest.java diff --git a/testing-modules/mockito-2/src/test/java/com/baeldung/mockito/java8/ArgumentMatcherWithoutLambdaUnitTest.java b/testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/java8/ArgumentMatcherWithoutLambdaUnitTest.java similarity index 100% rename from testing-modules/mockito-2/src/test/java/com/baeldung/mockito/java8/ArgumentMatcherWithoutLambdaUnitTest.java rename to testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/java8/ArgumentMatcherWithoutLambdaUnitTest.java diff --git a/testing-modules/mockito-2/src/test/java/com/baeldung/mockito/java8/CustomAnswerWithLambdaUnitTest.java b/testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/java8/CustomAnswerWithLambdaUnitTest.java similarity index 100% rename from testing-modules/mockito-2/src/test/java/com/baeldung/mockito/java8/CustomAnswerWithLambdaUnitTest.java rename to testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/java8/CustomAnswerWithLambdaUnitTest.java diff --git a/testing-modules/mockito-2/src/test/java/com/baeldung/mockito/java8/CustomAnswerWithoutLambdaUnitTest.java b/testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/java8/CustomAnswerWithoutLambdaUnitTest.java similarity index 100% rename from testing-modules/mockito-2/src/test/java/com/baeldung/mockito/java8/CustomAnswerWithoutLambdaUnitTest.java rename to testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/java8/CustomAnswerWithoutLambdaUnitTest.java diff --git a/testing-modules/mockito-2/src/test/java/com/baeldung/mockito/java8/JobServiceUnitTest.java b/testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/java8/JobServiceUnitTest.java similarity index 100% rename from testing-modules/mockito-2/src/test/java/com/baeldung/mockito/java8/JobServiceUnitTest.java rename to testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/java8/JobServiceUnitTest.java diff --git a/testing-modules/mockito-2/src/test/java/com/baeldung/mockito/java8/LazyVerificationUnitTest.java b/testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/java8/LazyVerificationUnitTest.java similarity index 100% rename from testing-modules/mockito-2/src/test/java/com/baeldung/mockito/java8/LazyVerificationUnitTest.java rename to testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/java8/LazyVerificationUnitTest.java diff --git a/testing-modules/mockito-2/src/test/java/com/baeldung/mockito/java8/UnemploymentServiceImplUnitTest.java b/testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/java8/UnemploymentServiceImplUnitTest.java similarity index 100% rename from testing-modules/mockito-2/src/test/java/com/baeldung/mockito/java8/UnemploymentServiceImplUnitTest.java rename to testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/java8/UnemploymentServiceImplUnitTest.java diff --git a/testing-modules/mockito-2/src/test/java/com/baeldung/mockito/misusing/ExpectedTestFailureRule.java b/testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/misusing/ExpectedTestFailureRule.java similarity index 100% rename from testing-modules/mockito-2/src/test/java/com/baeldung/mockito/misusing/ExpectedTestFailureRule.java rename to testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/misusing/ExpectedTestFailureRule.java diff --git a/testing-modules/mockito-2/src/test/java/com/baeldung/mockito/misusing/MockitoUnecessaryStubUnitTest.java b/testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/misusing/MockitoUnecessaryStubUnitTest.java similarity index 100% rename from testing-modules/mockito-2/src/test/java/com/baeldung/mockito/misusing/MockitoUnecessaryStubUnitTest.java rename to testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/misusing/MockitoUnecessaryStubUnitTest.java diff --git a/testing-modules/mockito/.gitignore b/testing-libraries/mockito/.gitignore similarity index 100% rename from testing-modules/mockito/.gitignore rename to testing-libraries/mockito/.gitignore diff --git a/testing-modules/mockito/README.md b/testing-libraries/mockito/README.md similarity index 100% rename from testing-modules/mockito/README.md rename to testing-libraries/mockito/README.md diff --git a/testing-modules/mockito/pom.xml b/testing-libraries/mockito/pom.xml similarity index 100% rename from testing-modules/mockito/pom.xml rename to testing-libraries/mockito/pom.xml diff --git a/testing-modules/mockito/src/main/java/org/baeldung/hamcrest/City.java b/testing-libraries/mockito/src/main/java/org/baeldung/hamcrest/City.java similarity index 100% rename from testing-modules/mockito/src/main/java/org/baeldung/hamcrest/City.java rename to testing-libraries/mockito/src/main/java/org/baeldung/hamcrest/City.java diff --git a/testing-modules/mockito/src/main/java/org/baeldung/hamcrest/Location.java b/testing-libraries/mockito/src/main/java/org/baeldung/hamcrest/Location.java similarity index 100% rename from testing-modules/mockito/src/main/java/org/baeldung/hamcrest/Location.java rename to testing-libraries/mockito/src/main/java/org/baeldung/hamcrest/Location.java diff --git a/testing-modules/mockito/src/main/java/org/baeldung/hamcrest/custommatchers/IsDivisibleBy.java b/testing-libraries/mockito/src/main/java/org/baeldung/hamcrest/custommatchers/IsDivisibleBy.java similarity index 100% rename from testing-modules/mockito/src/main/java/org/baeldung/hamcrest/custommatchers/IsDivisibleBy.java rename to testing-libraries/mockito/src/main/java/org/baeldung/hamcrest/custommatchers/IsDivisibleBy.java diff --git a/testing-modules/mockito/src/main/java/org/baeldung/hamcrest/custommatchers/IsOnlyDigits.java b/testing-libraries/mockito/src/main/java/org/baeldung/hamcrest/custommatchers/IsOnlyDigits.java similarity index 100% rename from testing-modules/mockito/src/main/java/org/baeldung/hamcrest/custommatchers/IsOnlyDigits.java rename to testing-libraries/mockito/src/main/java/org/baeldung/hamcrest/custommatchers/IsOnlyDigits.java diff --git a/testing-modules/mockito/src/main/java/org/baeldung/hamcrest/custommatchers/IsUppercase.java b/testing-libraries/mockito/src/main/java/org/baeldung/hamcrest/custommatchers/IsUppercase.java similarity index 100% rename from testing-modules/mockito/src/main/java/org/baeldung/hamcrest/custommatchers/IsUppercase.java rename to testing-libraries/mockito/src/main/java/org/baeldung/hamcrest/custommatchers/IsUppercase.java diff --git a/testing-modules/mockito/src/main/java/org/baeldung/mockito/service/ActionHandler.java b/testing-libraries/mockito/src/main/java/org/baeldung/mockito/service/ActionHandler.java similarity index 100% rename from testing-modules/mockito/src/main/java/org/baeldung/mockito/service/ActionHandler.java rename to testing-libraries/mockito/src/main/java/org/baeldung/mockito/service/ActionHandler.java diff --git a/testing-modules/mockito/src/main/java/org/baeldung/mockito/service/Callback.java b/testing-libraries/mockito/src/main/java/org/baeldung/mockito/service/Callback.java similarity index 100% rename from testing-modules/mockito/src/main/java/org/baeldung/mockito/service/Callback.java rename to testing-libraries/mockito/src/main/java/org/baeldung/mockito/service/Callback.java diff --git a/testing-modules/mockito/src/main/java/org/baeldung/mockito/service/Data.java b/testing-libraries/mockito/src/main/java/org/baeldung/mockito/service/Data.java similarity index 100% rename from testing-modules/mockito/src/main/java/org/baeldung/mockito/service/Data.java rename to testing-libraries/mockito/src/main/java/org/baeldung/mockito/service/Data.java diff --git a/testing-modules/mockito/src/main/java/org/baeldung/mockito/service/Response.java b/testing-libraries/mockito/src/main/java/org/baeldung/mockito/service/Response.java similarity index 100% rename from testing-modules/mockito/src/main/java/org/baeldung/mockito/service/Response.java rename to testing-libraries/mockito/src/main/java/org/baeldung/mockito/service/Response.java diff --git a/testing-modules/mockito/src/main/java/org/baeldung/mockito/service/Service.java b/testing-libraries/mockito/src/main/java/org/baeldung/mockito/service/Service.java similarity index 100% rename from testing-modules/mockito/src/main/java/org/baeldung/mockito/service/Service.java rename to testing-libraries/mockito/src/main/java/org/baeldung/mockito/service/Service.java diff --git a/testing-modules/mockito/src/main/resources/logback.xml b/testing-libraries/mockito/src/main/resources/logback.xml similarity index 100% rename from testing-modules/mockito/src/main/resources/logback.xml rename to testing-libraries/mockito/src/main/resources/logback.xml diff --git a/testing-modules/mockito/src/test/java/com/baeldung/powermockito/introduction/CollaboratorForPartialMocking.java b/testing-libraries/mockito/src/test/java/com/baeldung/powermockito/introduction/CollaboratorForPartialMocking.java similarity index 100% rename from testing-modules/mockito/src/test/java/com/baeldung/powermockito/introduction/CollaboratorForPartialMocking.java rename to testing-libraries/mockito/src/test/java/com/baeldung/powermockito/introduction/CollaboratorForPartialMocking.java diff --git a/testing-modules/mockito/src/test/java/com/baeldung/powermockito/introduction/CollaboratorWithFinalMethods.java b/testing-libraries/mockito/src/test/java/com/baeldung/powermockito/introduction/CollaboratorWithFinalMethods.java similarity index 100% rename from testing-modules/mockito/src/test/java/com/baeldung/powermockito/introduction/CollaboratorWithFinalMethods.java rename to testing-libraries/mockito/src/test/java/com/baeldung/powermockito/introduction/CollaboratorWithFinalMethods.java diff --git a/testing-modules/mockito/src/test/java/com/baeldung/powermockito/introduction/CollaboratorWithStaticMethods.java b/testing-libraries/mockito/src/test/java/com/baeldung/powermockito/introduction/CollaboratorWithStaticMethods.java similarity index 100% rename from testing-modules/mockito/src/test/java/com/baeldung/powermockito/introduction/CollaboratorWithStaticMethods.java rename to testing-libraries/mockito/src/test/java/com/baeldung/powermockito/introduction/CollaboratorWithStaticMethods.java diff --git a/testing-modules/mockito/src/test/java/com/baeldung/powermockito/introduction/LuckyNumberGenerator.java b/testing-libraries/mockito/src/test/java/com/baeldung/powermockito/introduction/LuckyNumberGenerator.java similarity index 100% rename from testing-modules/mockito/src/test/java/com/baeldung/powermockito/introduction/LuckyNumberGenerator.java rename to testing-libraries/mockito/src/test/java/com/baeldung/powermockito/introduction/LuckyNumberGenerator.java diff --git a/testing-modules/mockito/src/test/java/com/baeldung/powermockito/introduction/LuckyNumberGeneratorIntegrationTest.java b/testing-libraries/mockito/src/test/java/com/baeldung/powermockito/introduction/LuckyNumberGeneratorIntegrationTest.java similarity index 100% rename from testing-modules/mockito/src/test/java/com/baeldung/powermockito/introduction/LuckyNumberGeneratorIntegrationTest.java rename to testing-libraries/mockito/src/test/java/com/baeldung/powermockito/introduction/LuckyNumberGeneratorIntegrationTest.java diff --git a/testing-modules/mockito/src/test/java/com/baeldung/powermockito/introduction/PowerMockitoIntegrationTest.java b/testing-libraries/mockito/src/test/java/com/baeldung/powermockito/introduction/PowerMockitoIntegrationTest.java similarity index 100% rename from testing-modules/mockito/src/test/java/com/baeldung/powermockito/introduction/PowerMockitoIntegrationTest.java rename to testing-libraries/mockito/src/test/java/com/baeldung/powermockito/introduction/PowerMockitoIntegrationTest.java diff --git a/testing-modules/mockito/src/test/java/org/baeldung/bddmockito/BDDMockitoIntegrationTest.java b/testing-libraries/mockito/src/test/java/org/baeldung/bddmockito/BDDMockitoIntegrationTest.java similarity index 97% rename from testing-modules/mockito/src/test/java/org/baeldung/bddmockito/BDDMockitoIntegrationTest.java rename to testing-libraries/mockito/src/test/java/org/baeldung/bddmockito/BDDMockitoIntegrationTest.java index e772b5e049..e0ca6f0a35 100644 --- a/testing-modules/mockito/src/test/java/org/baeldung/bddmockito/BDDMockitoIntegrationTest.java +++ b/testing-libraries/mockito/src/test/java/org/baeldung/bddmockito/BDDMockitoIntegrationTest.java @@ -1,104 +1,104 @@ -package org.baeldung.bddmockito; - -import static org.junit.Assert.fail; -import static org.mockito.BDDMockito.*; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.mockito.Mockito; -import org.mockito.invocation.InvocationOnMock; - - -public class BDDMockitoIntegrationTest { - - PhoneBookService phoneBookService; - PhoneBookRepository phoneBookRepository; - - String momContactName = "Mom"; - String momPhoneNumber = "01234"; - String xContactName = "x"; - String tooLongPhoneNumber = "01111111111111"; - - @Before - public void init() { - phoneBookRepository = Mockito.mock(PhoneBookRepository.class); - phoneBookService = new PhoneBookService(phoneBookRepository); - } - - @Test - public void givenValidContactName_whenSearchInPhoneBook_thenRetunPhoneNumber() { - given(phoneBookRepository.contains(momContactName)).willReturn(true); - given(phoneBookRepository.getPhoneNumberByContactName(momContactName)) - .will((InvocationOnMock invocation) -> { - if(invocation.getArgument(0).equals(momContactName)) { - return momPhoneNumber; - } else { - return null; - } - }); - - String phoneNumber = phoneBookService.search(momContactName); - - then(phoneBookRepository).should().contains(momContactName); - then(phoneBookRepository).should().getPhoneNumberByContactName(momContactName); - Assert.assertEquals(phoneNumber, momPhoneNumber); - } - - @Test - public void givenInvalidContactName_whenSearch_thenRetunNull() { - given(phoneBookRepository.contains(xContactName)).willReturn(false); - - String phoneNumber = phoneBookService.search(xContactName); - - then(phoneBookRepository).should().contains(xContactName); - then(phoneBookRepository).should(never()).getPhoneNumberByContactName(xContactName); - Assert.assertEquals(phoneNumber, null); - } - - @Test - public void givenValidContactNameAndPhoneNumber_whenRegister_thenSucceed() { - given(phoneBookRepository.contains(momContactName)).willReturn(false); - - phoneBookService.register(momContactName, momPhoneNumber); - - verify(phoneBookRepository).insert(momContactName, momPhoneNumber); - } - - @Test - public void givenEmptyPhoneNumber_whenRegister_thenFail() { - given(phoneBookRepository.contains(momContactName)).willReturn(false); - - phoneBookService.register(xContactName, ""); - - then(phoneBookRepository).should(never()).insert(momContactName, momPhoneNumber); - } - - @Test - public void givenLongPhoneNumber_whenRegister_thenFail() { - given(phoneBookRepository.contains(xContactName)).willReturn(false); - willThrow(new RuntimeException()) - .given(phoneBookRepository).insert(any(String.class), eq(tooLongPhoneNumber)); - - try { - phoneBookService.register(xContactName, tooLongPhoneNumber); - fail("Should throw exception"); - } catch (RuntimeException ex) { } - - then(phoneBookRepository).should(never()).insert(momContactName, tooLongPhoneNumber); - } - - @Test - public void givenExistentContactName_whenRegister_thenFail() { - given(phoneBookRepository.contains(momContactName)) - .willThrow(new RuntimeException("Name already exist")); - - try { - phoneBookService.register(momContactName, momPhoneNumber); - fail("Should throw exception"); - } catch(Exception ex) { } - - then(phoneBookRepository).should(never()).insert(momContactName, momPhoneNumber); - } - -} +package org.baeldung.bddmockito; + +import static org.junit.Assert.fail; +import static org.mockito.BDDMockito.*; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mockito; +import org.mockito.invocation.InvocationOnMock; + + +public class BDDMockitoIntegrationTest { + + PhoneBookService phoneBookService; + PhoneBookRepository phoneBookRepository; + + String momContactName = "Mom"; + String momPhoneNumber = "01234"; + String xContactName = "x"; + String tooLongPhoneNumber = "01111111111111"; + + @Before + public void init() { + phoneBookRepository = Mockito.mock(PhoneBookRepository.class); + phoneBookService = new PhoneBookService(phoneBookRepository); + } + + @Test + public void givenValidContactName_whenSearchInPhoneBook_thenRetunPhoneNumber() { + given(phoneBookRepository.contains(momContactName)).willReturn(true); + given(phoneBookRepository.getPhoneNumberByContactName(momContactName)) + .will((InvocationOnMock invocation) -> { + if(invocation.getArgument(0).equals(momContactName)) { + return momPhoneNumber; + } else { + return null; + } + }); + + String phoneNumber = phoneBookService.search(momContactName); + + then(phoneBookRepository).should().contains(momContactName); + then(phoneBookRepository).should().getPhoneNumberByContactName(momContactName); + Assert.assertEquals(phoneNumber, momPhoneNumber); + } + + @Test + public void givenInvalidContactName_whenSearch_thenRetunNull() { + given(phoneBookRepository.contains(xContactName)).willReturn(false); + + String phoneNumber = phoneBookService.search(xContactName); + + then(phoneBookRepository).should().contains(xContactName); + then(phoneBookRepository).should(never()).getPhoneNumberByContactName(xContactName); + Assert.assertEquals(phoneNumber, null); + } + + @Test + public void givenValidContactNameAndPhoneNumber_whenRegister_thenSucceed() { + given(phoneBookRepository.contains(momContactName)).willReturn(false); + + phoneBookService.register(momContactName, momPhoneNumber); + + verify(phoneBookRepository).insert(momContactName, momPhoneNumber); + } + + @Test + public void givenEmptyPhoneNumber_whenRegister_thenFail() { + given(phoneBookRepository.contains(momContactName)).willReturn(false); + + phoneBookService.register(xContactName, ""); + + then(phoneBookRepository).should(never()).insert(momContactName, momPhoneNumber); + } + + @Test + public void givenLongPhoneNumber_whenRegister_thenFail() { + given(phoneBookRepository.contains(xContactName)).willReturn(false); + willThrow(new RuntimeException()) + .given(phoneBookRepository).insert(any(String.class), eq(tooLongPhoneNumber)); + + try { + phoneBookService.register(xContactName, tooLongPhoneNumber); + fail("Should throw exception"); + } catch (RuntimeException ex) { } + + then(phoneBookRepository).should(never()).insert(momContactName, tooLongPhoneNumber); + } + + @Test + public void givenExistentContactName_whenRegister_thenFail() { + given(phoneBookRepository.contains(momContactName)) + .willThrow(new RuntimeException("Name already exist")); + + try { + phoneBookService.register(momContactName, momPhoneNumber); + fail("Should throw exception"); + } catch(Exception ex) { } + + then(phoneBookRepository).should(never()).insert(momContactName, momPhoneNumber); + } + +} diff --git a/testing-modules/mockito/src/test/java/org/baeldung/bddmockito/PhoneBookRepository.java b/testing-libraries/mockito/src/test/java/org/baeldung/bddmockito/PhoneBookRepository.java similarity index 95% rename from testing-modules/mockito/src/test/java/org/baeldung/bddmockito/PhoneBookRepository.java rename to testing-libraries/mockito/src/test/java/org/baeldung/bddmockito/PhoneBookRepository.java index b73a1d835c..94d4a90d4b 100644 --- a/testing-modules/mockito/src/test/java/org/baeldung/bddmockito/PhoneBookRepository.java +++ b/testing-libraries/mockito/src/test/java/org/baeldung/bddmockito/PhoneBookRepository.java @@ -1,26 +1,26 @@ -package org.baeldung.bddmockito; - -public interface PhoneBookRepository { - - /** - * Insert phone record - * @param name Contact name - * @param phone Phone number - */ - void insert(String name, String phone); - - /** - * Search for contact phone number - * @param name Contact name - * @return phone number - */ - String getPhoneNumberByContactName(String name); - - /** - * Check if the phonebook contains this contact - * @param name Contact name - * @return true if this contact name exists - */ - boolean contains(String name); - -} +package org.baeldung.bddmockito; + +public interface PhoneBookRepository { + + /** + * Insert phone record + * @param name Contact name + * @param phone Phone number + */ + void insert(String name, String phone); + + /** + * Search for contact phone number + * @param name Contact name + * @return phone number + */ + String getPhoneNumberByContactName(String name); + + /** + * Check if the phonebook contains this contact + * @param name Contact name + * @return true if this contact name exists + */ + boolean contains(String name); + +} diff --git a/testing-modules/mockito/src/test/java/org/baeldung/bddmockito/PhoneBookService.java b/testing-libraries/mockito/src/test/java/org/baeldung/bddmockito/PhoneBookService.java similarity index 96% rename from testing-modules/mockito/src/test/java/org/baeldung/bddmockito/PhoneBookService.java rename to testing-libraries/mockito/src/test/java/org/baeldung/bddmockito/PhoneBookService.java index 645884af02..8fc49b026d 100644 --- a/testing-modules/mockito/src/test/java/org/baeldung/bddmockito/PhoneBookService.java +++ b/testing-libraries/mockito/src/test/java/org/baeldung/bddmockito/PhoneBookService.java @@ -1,34 +1,34 @@ -package org.baeldung.bddmockito; - -public class PhoneBookService { - - private PhoneBookRepository phoneBookRepository; - - public PhoneBookService(PhoneBookRepository phoneBookRepository) { - this.phoneBookRepository = phoneBookRepository; - } - - /** - * Register a contact - * @param name Contact name - * @param phone Phone number - */ - public void register(String name, String phone) { - if(!name.isEmpty() && !phone.isEmpty() && !phoneBookRepository.contains(name)) { - phoneBookRepository.insert(name, phone); - } - } - - /** - * Search for a phone number by contact name - * @param name Contact name - * @return Phone number - */ - public String search(String name) { - if(!name.isEmpty() && phoneBookRepository.contains(name)) { - return phoneBookRepository.getPhoneNumberByContactName(name); - } - return null; - } - -} +package org.baeldung.bddmockito; + +public class PhoneBookService { + + private PhoneBookRepository phoneBookRepository; + + public PhoneBookService(PhoneBookRepository phoneBookRepository) { + this.phoneBookRepository = phoneBookRepository; + } + + /** + * Register a contact + * @param name Contact name + * @param phone Phone number + */ + public void register(String name, String phone) { + if(!name.isEmpty() && !phone.isEmpty() && !phoneBookRepository.contains(name)) { + phoneBookRepository.insert(name, phone); + } + } + + /** + * Search for a phone number by contact name + * @param name Contact name + * @return Phone number + */ + public String search(String name) { + if(!name.isEmpty() && phoneBookRepository.contains(name)) { + return phoneBookRepository.getPhoneNumberByContactName(name); + } + return null; + } + +} diff --git a/testing-modules/mockito/src/test/java/org/baeldung/hamcrest/HamcrestBeansUnitTest.java b/testing-libraries/mockito/src/test/java/org/baeldung/hamcrest/HamcrestBeansUnitTest.java similarity index 100% rename from testing-modules/mockito/src/test/java/org/baeldung/hamcrest/HamcrestBeansUnitTest.java rename to testing-libraries/mockito/src/test/java/org/baeldung/hamcrest/HamcrestBeansUnitTest.java diff --git a/testing-modules/mockito/src/test/java/org/baeldung/hamcrest/HamcrestCoreMatchersUnitTest.java b/testing-libraries/mockito/src/test/java/org/baeldung/hamcrest/HamcrestCoreMatchersUnitTest.java similarity index 100% rename from testing-modules/mockito/src/test/java/org/baeldung/hamcrest/HamcrestCoreMatchersUnitTest.java rename to testing-libraries/mockito/src/test/java/org/baeldung/hamcrest/HamcrestCoreMatchersUnitTest.java diff --git a/testing-modules/mockito/src/test/java/org/baeldung/hamcrest/HamcrestCustomUnitTest.java b/testing-libraries/mockito/src/test/java/org/baeldung/hamcrest/HamcrestCustomUnitTest.java similarity index 100% rename from testing-modules/mockito/src/test/java/org/baeldung/hamcrest/HamcrestCustomUnitTest.java rename to testing-libraries/mockito/src/test/java/org/baeldung/hamcrest/HamcrestCustomUnitTest.java diff --git a/testing-modules/mockito/src/test/java/org/baeldung/hamcrest/HamcrestFileUnitTest.java b/testing-libraries/mockito/src/test/java/org/baeldung/hamcrest/HamcrestFileUnitTest.java similarity index 100% rename from testing-modules/mockito/src/test/java/org/baeldung/hamcrest/HamcrestFileUnitTest.java rename to testing-libraries/mockito/src/test/java/org/baeldung/hamcrest/HamcrestFileUnitTest.java diff --git a/testing-modules/mockito/src/test/java/org/baeldung/hamcrest/HamcrestNumberUnitTest.java b/testing-libraries/mockito/src/test/java/org/baeldung/hamcrest/HamcrestNumberUnitTest.java similarity index 100% rename from testing-modules/mockito/src/test/java/org/baeldung/hamcrest/HamcrestNumberUnitTest.java rename to testing-libraries/mockito/src/test/java/org/baeldung/hamcrest/HamcrestNumberUnitTest.java diff --git a/testing-modules/mockito/src/test/java/org/baeldung/hamcrest/HamcrestObjectUnitTest.java b/testing-libraries/mockito/src/test/java/org/baeldung/hamcrest/HamcrestObjectUnitTest.java similarity index 100% rename from testing-modules/mockito/src/test/java/org/baeldung/hamcrest/HamcrestObjectUnitTest.java rename to testing-libraries/mockito/src/test/java/org/baeldung/hamcrest/HamcrestObjectUnitTest.java diff --git a/testing-modules/mockito/src/test/java/org/baeldung/hamcrest/HamcrestTextUnitTest.java b/testing-libraries/mockito/src/test/java/org/baeldung/hamcrest/HamcrestTextUnitTest.java similarity index 100% rename from testing-modules/mockito/src/test/java/org/baeldung/hamcrest/HamcrestTextUnitTest.java rename to testing-libraries/mockito/src/test/java/org/baeldung/hamcrest/HamcrestTextUnitTest.java diff --git a/testing-modules/mockito/src/test/java/org/baeldung/mockito/FinalList.java b/testing-libraries/mockito/src/test/java/org/baeldung/mockito/FinalList.java similarity index 100% rename from testing-modules/mockito/src/test/java/org/baeldung/mockito/FinalList.java rename to testing-libraries/mockito/src/test/java/org/baeldung/mockito/FinalList.java diff --git a/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockFinals.java b/testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockFinals.java similarity index 100% rename from testing-modules/mockito/src/test/java/org/baeldung/mockito/MockFinals.java rename to testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockFinals.java diff --git a/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoAnnotationIntegrationTest.java b/testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockitoAnnotationIntegrationTest.java similarity index 100% rename from testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoAnnotationIntegrationTest.java rename to testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockitoAnnotationIntegrationTest.java diff --git a/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoConfigExamplesIntegrationTest.java b/testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockitoConfigExamplesIntegrationTest.java similarity index 100% rename from testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoConfigExamplesIntegrationTest.java rename to testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockitoConfigExamplesIntegrationTest.java diff --git a/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoExceptionIntegrationTest.java b/testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockitoExceptionIntegrationTest.java similarity index 100% rename from testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoExceptionIntegrationTest.java rename to testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockitoExceptionIntegrationTest.java diff --git a/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoInjectIntoSpyUnitTest.java b/testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockitoInjectIntoSpyUnitTest.java similarity index 100% rename from testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoInjectIntoSpyUnitTest.java rename to testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockitoInjectIntoSpyUnitTest.java diff --git a/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoMockIntegrationTest.java b/testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockitoMockIntegrationTest.java similarity index 100% rename from testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoMockIntegrationTest.java rename to testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockitoMockIntegrationTest.java diff --git a/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoSpyIntegrationTest.java b/testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockitoSpyIntegrationTest.java similarity index 100% rename from testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoSpyIntegrationTest.java rename to testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockitoSpyIntegrationTest.java diff --git a/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoVerifyExamplesIntegrationTest.java b/testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockitoVerifyExamplesIntegrationTest.java similarity index 100% rename from testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoVerifyExamplesIntegrationTest.java rename to testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockitoVerifyExamplesIntegrationTest.java diff --git a/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoVoidMethodsUnitTest.java b/testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockitoVoidMethodsUnitTest.java similarity index 100% rename from testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoVoidMethodsUnitTest.java rename to testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockitoVoidMethodsUnitTest.java diff --git a/testing-modules/mockito/src/test/java/org/baeldung/mockito/MyDictionary.java b/testing-libraries/mockito/src/test/java/org/baeldung/mockito/MyDictionary.java similarity index 100% rename from testing-modules/mockito/src/test/java/org/baeldung/mockito/MyDictionary.java rename to testing-libraries/mockito/src/test/java/org/baeldung/mockito/MyDictionary.java diff --git a/testing-modules/mockito/src/test/java/org/baeldung/mockito/MyList.java b/testing-libraries/mockito/src/test/java/org/baeldung/mockito/MyList.java similarity index 100% rename from testing-modules/mockito/src/test/java/org/baeldung/mockito/MyList.java rename to testing-libraries/mockito/src/test/java/org/baeldung/mockito/MyList.java diff --git a/testing-modules/mockito/src/test/java/org/baeldung/mockito/misusing/MockitoMisusingUnitTest.java b/testing-libraries/mockito/src/test/java/org/baeldung/mockito/misusing/MockitoMisusingUnitTest.java similarity index 100% rename from testing-modules/mockito/src/test/java/org/baeldung/mockito/misusing/MockitoMisusingUnitTest.java rename to testing-libraries/mockito/src/test/java/org/baeldung/mockito/misusing/MockitoMisusingUnitTest.java diff --git a/testing-modules/mockito/src/test/java/org/baeldung/mockito/service/ActionHandlerUnitTest.java b/testing-libraries/mockito/src/test/java/org/baeldung/mockito/service/ActionHandlerUnitTest.java similarity index 100% rename from testing-modules/mockito/src/test/java/org/baeldung/mockito/service/ActionHandlerUnitTest.java rename to testing-libraries/mockito/src/test/java/org/baeldung/mockito/service/ActionHandlerUnitTest.java diff --git a/testing-modules/mockito/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker b/testing-libraries/mockito/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker similarity index 100% rename from testing-modules/mockito/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker rename to testing-libraries/mockito/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker diff --git a/testing-modules/mockito/src/test/resources/test1.in b/testing-libraries/mockito/src/test/resources/test1.in similarity index 100% rename from testing-modules/mockito/src/test/resources/test1.in rename to testing-libraries/mockito/src/test/resources/test1.in diff --git a/testing-modules/mocks/README.md b/testing-libraries/mocks/README.md similarity index 100% rename from testing-modules/mocks/README.md rename to testing-libraries/mocks/README.md diff --git a/testing-libraries/mocks/javafaker/pom.xml b/testing-libraries/mocks/javafaker/pom.xml new file mode 100644 index 0000000000..8c1f8c080e --- /dev/null +++ b/testing-libraries/mocks/javafaker/pom.xml @@ -0,0 +1,26 @@ + + 4.0.0 + javafaker + javafaker + + + com.baeldung + mocks + 1.0.0-SNAPSHOT + ../ + + + + + com.github.javafaker + javafaker + ${javafaker.version} + + + + + 0.15 + + + diff --git a/testing-modules/testing/src/test/java/com/baeldung/javafaker/JavaFakerUnitTest.java b/testing-libraries/mocks/javafaker/src/test/java/com/baeldung/javafaker/JavaFakerUnitTest.java similarity index 100% rename from testing-modules/testing/src/test/java/com/baeldung/javafaker/JavaFakerUnitTest.java rename to testing-libraries/mocks/javafaker/src/test/java/com/baeldung/javafaker/JavaFakerUnitTest.java diff --git a/testing-modules/mocks/jmockit/README.md b/testing-libraries/mocks/jmockit/README.md similarity index 100% rename from testing-modules/mocks/jmockit/README.md rename to testing-libraries/mocks/jmockit/README.md diff --git a/testing-modules/mocks/jmockit/pom.xml b/testing-libraries/mocks/jmockit/pom.xml similarity index 100% rename from testing-modules/mocks/jmockit/pom.xml rename to testing-libraries/mocks/jmockit/pom.xml diff --git a/testing-modules/mocks/jmockit/src/main/java/com/baeldung/mocks/jmockit/AppManager.java b/testing-libraries/mocks/jmockit/src/main/java/com/baeldung/mocks/jmockit/AppManager.java similarity index 100% rename from testing-modules/mocks/jmockit/src/main/java/com/baeldung/mocks/jmockit/AppManager.java rename to testing-libraries/mocks/jmockit/src/main/java/com/baeldung/mocks/jmockit/AppManager.java diff --git a/testing-modules/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/AdvancedCollaborator.java b/testing-libraries/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/AdvancedCollaborator.java similarity index 100% rename from testing-modules/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/AdvancedCollaborator.java rename to testing-libraries/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/AdvancedCollaborator.java diff --git a/testing-modules/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/Collaborator.java b/testing-libraries/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/Collaborator.java similarity index 100% rename from testing-modules/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/Collaborator.java rename to testing-libraries/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/Collaborator.java diff --git a/testing-modules/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/ExpectationsCollaborator.java b/testing-libraries/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/ExpectationsCollaborator.java similarity index 100% rename from testing-modules/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/ExpectationsCollaborator.java rename to testing-libraries/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/ExpectationsCollaborator.java diff --git a/testing-modules/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/Model.java b/testing-libraries/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/Model.java similarity index 100% rename from testing-modules/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/Model.java rename to testing-libraries/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/Model.java diff --git a/testing-modules/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/Performer.java b/testing-libraries/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/Performer.java similarity index 100% rename from testing-modules/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/Performer.java rename to testing-libraries/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/Performer.java diff --git a/testing-modules/mocks/jmockit/src/main/resources/logback.xml b/testing-libraries/mocks/jmockit/src/main/resources/logback.xml similarity index 100% rename from testing-modules/mocks/jmockit/src/main/resources/logback.xml rename to testing-libraries/mocks/jmockit/src/main/resources/logback.xml diff --git a/testing-modules/mocks/jmockit/src/test/java/com/baeldung/mocks/jmockit/AppManagerUnitTest.java b/testing-libraries/mocks/jmockit/src/test/java/com/baeldung/mocks/jmockit/AppManagerUnitTest.java similarity index 100% rename from testing-modules/mocks/jmockit/src/test/java/com/baeldung/mocks/jmockit/AppManagerUnitTest.java rename to testing-libraries/mocks/jmockit/src/test/java/com/baeldung/mocks/jmockit/AppManagerUnitTest.java diff --git a/testing-modules/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/AdvancedCollaboratorIntegrationTest.java b/testing-libraries/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/AdvancedCollaboratorIntegrationTest.java similarity index 100% rename from testing-modules/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/AdvancedCollaboratorIntegrationTest.java rename to testing-libraries/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/AdvancedCollaboratorIntegrationTest.java diff --git a/testing-modules/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/ExpectationsIntegrationTest.java b/testing-libraries/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/ExpectationsIntegrationTest.java similarity index 100% rename from testing-modules/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/ExpectationsIntegrationTest.java rename to testing-libraries/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/ExpectationsIntegrationTest.java diff --git a/testing-modules/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/PerformerIntegrationTest.java b/testing-libraries/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/PerformerIntegrationTest.java similarity index 100% rename from testing-modules/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/PerformerIntegrationTest.java rename to testing-libraries/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/PerformerIntegrationTest.java diff --git a/testing-modules/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/ReusingIntegrationTest.java b/testing-libraries/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/ReusingIntegrationTest.java similarity index 100% rename from testing-modules/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/ReusingIntegrationTest.java rename to testing-libraries/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/ReusingIntegrationTest.java diff --git a/testing-libraries/mocks/jukito/pom.xml b/testing-libraries/mocks/jukito/pom.xml new file mode 100644 index 0000000000..752f097482 --- /dev/null +++ b/testing-libraries/mocks/jukito/pom.xml @@ -0,0 +1,27 @@ + + 4.0.0 + jukito + jukito + + + com.baeldung + mocks + 1.0.0-SNAPSHOT + ../ + + + + + org.jukito + jukito + ${jukito.version} + test + + + + + 1.5 + + + diff --git a/testing-modules/testing/src/main/java/com/baeldung/introductionjukito/Calculator.java b/testing-libraries/mocks/jukito/src/main/java/com/baeldung/introductionjukito/Calculator.java similarity index 100% rename from testing-modules/testing/src/main/java/com/baeldung/introductionjukito/Calculator.java rename to testing-libraries/mocks/jukito/src/main/java/com/baeldung/introductionjukito/Calculator.java diff --git a/testing-modules/testing/src/main/java/com/baeldung/introductionjukito/ScientificCalculator.java b/testing-libraries/mocks/jukito/src/main/java/com/baeldung/introductionjukito/ScientificCalculator.java similarity index 100% rename from testing-modules/testing/src/main/java/com/baeldung/introductionjukito/ScientificCalculator.java rename to testing-libraries/mocks/jukito/src/main/java/com/baeldung/introductionjukito/ScientificCalculator.java diff --git a/testing-modules/testing/src/main/java/com/baeldung/introductionjukito/SimpleCalculator.java b/testing-libraries/mocks/jukito/src/main/java/com/baeldung/introductionjukito/SimpleCalculator.java similarity index 100% rename from testing-modules/testing/src/main/java/com/baeldung/introductionjukito/SimpleCalculator.java rename to testing-libraries/mocks/jukito/src/main/java/com/baeldung/introductionjukito/SimpleCalculator.java diff --git a/testing-modules/testing/src/test/java/com/baeldung/introductionjukito/CalculatorUnitTest.java b/testing-libraries/mocks/jukito/src/test/java/com/baeldung/introductionjukito/CalculatorUnitTest.java similarity index 100% rename from testing-modules/testing/src/test/java/com/baeldung/introductionjukito/CalculatorUnitTest.java rename to testing-libraries/mocks/jukito/src/test/java/com/baeldung/introductionjukito/CalculatorUnitTest.java diff --git a/testing-modules/mocks/mock-comparisons/README.md b/testing-libraries/mocks/mock-comparisons/README.md similarity index 100% rename from testing-modules/mocks/mock-comparisons/README.md rename to testing-libraries/mocks/mock-comparisons/README.md diff --git a/testing-modules/mocks/mock-comparisons/pom.xml b/testing-libraries/mocks/mock-comparisons/pom.xml similarity index 100% rename from testing-modules/mocks/mock-comparisons/pom.xml rename to testing-libraries/mocks/mock-comparisons/pom.xml diff --git a/testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/ArticleReader.java b/testing-libraries/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/ArticleReader.java old mode 100755 new mode 100644 similarity index 95% rename from testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/ArticleReader.java rename to testing-libraries/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/ArticleReader.java index 9e4a15c27a..c4732e3452 --- a/testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/ArticleReader.java +++ b/testing-libraries/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/ArticleReader.java @@ -1,36 +1,36 @@ -package com.baeldung.easymock; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import static java.util.stream.Collectors.toList; - -public class ArticleReader { - - private List articles; - private Iterator articleIter; - - public ArticleReader() { - this(new ArrayList<>()); - } - - public ArticleReader(List articles) { - this.articles = articles; - this.articleIter = this.articles.iterator(); - } - - public List ofTopic(String topic) { - return articles - .stream() - .filter(article -> article - .title() - .contains(topic)) - .collect(toList()); - } - - public BaeldungArticle next() { - return this.articleIter.next(); - } - +package com.baeldung.easymock; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import static java.util.stream.Collectors.toList; + +public class ArticleReader { + + private List articles; + private Iterator articleIter; + + public ArticleReader() { + this(new ArrayList<>()); + } + + public ArticleReader(List articles) { + this.articles = articles; + this.articleIter = this.articles.iterator(); + } + + public List ofTopic(String topic) { + return articles + .stream() + .filter(article -> article + .title() + .contains(topic)) + .collect(toList()); + } + + public BaeldungArticle next() { + return this.articleIter.next(); + } + } \ No newline at end of file diff --git a/testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/BaeldungArticle.java b/testing-libraries/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/BaeldungArticle.java old mode 100755 new mode 100644 similarity index 95% rename from testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/BaeldungArticle.java rename to testing-libraries/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/BaeldungArticle.java index f386c980f4..9f332a9bac --- a/testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/BaeldungArticle.java +++ b/testing-libraries/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/BaeldungArticle.java @@ -1,25 +1,25 @@ -package com.baeldung.easymock; - -public class BaeldungArticle { - - public static BaeldungArticle simpleArticle(String title, String content) { - return new BaeldungArticle(title, content); - } - - private String title; - private String content; - - private BaeldungArticle(String title, String content) { - this.title = title; - this.content = content; - } - - public String title() { - return this.title; - } - - public String content() { - return this.content; - } - +package com.baeldung.easymock; + +public class BaeldungArticle { + + public static BaeldungArticle simpleArticle(String title, String content) { + return new BaeldungArticle(title, content); + } + + private String title; + private String content; + + private BaeldungArticle(String title, String content) { + this.title = title; + this.content = content; + } + + public String title() { + return this.title; + } + + public String content() { + return this.content; + } + } \ No newline at end of file diff --git a/testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/BaeldungReader.java b/testing-libraries/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/BaeldungReader.java old mode 100755 new mode 100644 similarity index 95% rename from testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/BaeldungReader.java rename to testing-libraries/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/BaeldungReader.java index 319dfc5d77..fc37b9f94a --- a/testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/BaeldungReader.java +++ b/testing-libraries/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/BaeldungReader.java @@ -1,40 +1,40 @@ -package com.baeldung.easymock; - -import java.util.List; - -public class BaeldungReader { - - private ArticleReader articleReader; - private IArticleWriter articleWriter; - - public BaeldungReader() { - } - - ; - - public BaeldungReader(ArticleReader articleReader) { - this.articleReader = articleReader; - } - - public BaeldungReader(IArticleWriter writer) { - this.articleWriter = writer; - } - - public BaeldungReader(ArticleReader articleReader, IArticleWriter writer) { - this.articleReader = articleReader; - this.articleWriter = writer; - } - - public BaeldungArticle readNext() { - return articleReader.next(); - } - - public List readTopic(String topic) { - return articleReader.ofTopic(topic); - } - - public String write(String title, String content) { - return articleWriter.write(title, content); - } - +package com.baeldung.easymock; + +import java.util.List; + +public class BaeldungReader { + + private ArticleReader articleReader; + private IArticleWriter articleWriter; + + public BaeldungReader() { + } + + ; + + public BaeldungReader(ArticleReader articleReader) { + this.articleReader = articleReader; + } + + public BaeldungReader(IArticleWriter writer) { + this.articleWriter = writer; + } + + public BaeldungReader(ArticleReader articleReader, IArticleWriter writer) { + this.articleReader = articleReader; + this.articleWriter = writer; + } + + public BaeldungArticle readNext() { + return articleReader.next(); + } + + public List readTopic(String topic) { + return articleReader.ofTopic(topic); + } + + public String write(String title, String content) { + return articleWriter.write(title, content); + } + } \ No newline at end of file diff --git a/testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/IArticleWriter.java b/testing-libraries/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/IArticleWriter.java old mode 100755 new mode 100644 similarity index 94% rename from testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/IArticleWriter.java rename to testing-libraries/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/IArticleWriter.java index 4c8b190464..26970d5eb5 --- a/testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/IArticleWriter.java +++ b/testing-libraries/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/IArticleWriter.java @@ -1,7 +1,7 @@ -package com.baeldung.easymock; - -public interface IArticleWriter { - - String write(String title, String content); - +package com.baeldung.easymock; + +public interface IArticleWriter { + + String write(String title, String content); + } \ No newline at end of file diff --git a/testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/IUserService.java b/testing-libraries/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/IUserService.java similarity index 100% rename from testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/IUserService.java rename to testing-libraries/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/IUserService.java diff --git a/testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/User.java b/testing-libraries/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/User.java similarity index 100% rename from testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/User.java rename to testing-libraries/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/User.java diff --git a/testing-modules/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/LoginController.java b/testing-libraries/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/LoginController.java similarity index 100% rename from testing-modules/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/LoginController.java rename to testing-libraries/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/LoginController.java diff --git a/testing-modules/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/LoginDao.java b/testing-libraries/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/LoginDao.java similarity index 100% rename from testing-modules/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/LoginDao.java rename to testing-libraries/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/LoginDao.java diff --git a/testing-modules/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/LoginService.java b/testing-libraries/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/LoginService.java similarity index 100% rename from testing-modules/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/LoginService.java rename to testing-libraries/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/LoginService.java diff --git a/testing-modules/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/UserForm.java b/testing-libraries/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/UserForm.java similarity index 100% rename from testing-modules/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/UserForm.java rename to testing-libraries/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/UserForm.java diff --git a/testing-modules/mocks/mock-comparisons/src/main/resources/logback.xml b/testing-libraries/mocks/mock-comparisons/src/main/resources/logback.xml similarity index 100% rename from testing-modules/mocks/mock-comparisons/src/main/resources/logback.xml rename to testing-libraries/mocks/mock-comparisons/src/main/resources/logback.xml diff --git a/testing-modules/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/ArgumentMatchersUnitTest.java b/testing-libraries/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/ArgumentMatchersUnitTest.java similarity index 100% rename from testing-modules/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/ArgumentMatchersUnitTest.java rename to testing-libraries/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/ArgumentMatchersUnitTest.java diff --git a/testing-modules/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderAnnotatedUnitTest.java b/testing-libraries/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderAnnotatedUnitTest.java old mode 100755 new mode 100644 similarity index 96% rename from testing-modules/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderAnnotatedUnitTest.java rename to testing-libraries/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderAnnotatedUnitTest.java index afacd8d8ad..56a58dd6e8 --- a/testing-modules/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderAnnotatedUnitTest.java +++ b/testing-libraries/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderAnnotatedUnitTest.java @@ -1,57 +1,57 @@ -package com.baeldung.easymock; - -import org.easymock.EasyMockRunner; -import org.easymock.Mock; -import org.easymock.TestSubject; -import org.junit.*; -import org.junit.runner.RunWith; - -import java.util.NoSuchElementException; - -import static org.easymock.EasyMock.*; - -@RunWith(EasyMockRunner.class) -public class BaeldungReaderAnnotatedUnitTest { - - @Mock ArticleReader mockArticleReader; - - @Mock IArticleWriter mockArticleWriter; - - @TestSubject BaeldungReader baeldungReader = new BaeldungReader(); - - @Test - public void givenBaeldungReader_whenReadNext_thenNextArticleRead() { - expect(mockArticleReader.next()).andReturn(null); - replay(mockArticleReader); - baeldungReader.readNext(); - verify(mockArticleReader); - } - - @Mock BaeldungReader mockBaeldungReader; - - @Test - public void givenBaeldungReader_whenWrite_thenWriterCalled() { - expect(mockArticleWriter.write("title", "content")).andReturn(null); - replay(mockArticleWriter); - baeldungReader.write("title", "content"); - verify(mockArticleWriter); - } - - @Test - public void givenArticlesInReader_whenReadTillEnd_thenThrowException() { - expect(mockArticleReader.next()) - .andReturn(null) - .times(2) - .andThrow(new NoSuchElementException()); - replay(mockArticleReader); - try { - for (int i = 0; i < 3; i++) { - baeldungReader.readNext(); - } - } catch (Exception ignored) { - } - verify(mockArticleReader); - } - -} - +package com.baeldung.easymock; + +import org.easymock.EasyMockRunner; +import org.easymock.Mock; +import org.easymock.TestSubject; +import org.junit.*; +import org.junit.runner.RunWith; + +import java.util.NoSuchElementException; + +import static org.easymock.EasyMock.*; + +@RunWith(EasyMockRunner.class) +public class BaeldungReaderAnnotatedUnitTest { + + @Mock ArticleReader mockArticleReader; + + @Mock IArticleWriter mockArticleWriter; + + @TestSubject BaeldungReader baeldungReader = new BaeldungReader(); + + @Test + public void givenBaeldungReader_whenReadNext_thenNextArticleRead() { + expect(mockArticleReader.next()).andReturn(null); + replay(mockArticleReader); + baeldungReader.readNext(); + verify(mockArticleReader); + } + + @Mock BaeldungReader mockBaeldungReader; + + @Test + public void givenBaeldungReader_whenWrite_thenWriterCalled() { + expect(mockArticleWriter.write("title", "content")).andReturn(null); + replay(mockArticleWriter); + baeldungReader.write("title", "content"); + verify(mockArticleWriter); + } + + @Test + public void givenArticlesInReader_whenReadTillEnd_thenThrowException() { + expect(mockArticleReader.next()) + .andReturn(null) + .times(2) + .andThrow(new NoSuchElementException()); + replay(mockArticleReader); + try { + for (int i = 0; i < 3; i++) { + baeldungReader.readNext(); + } + } catch (Exception ignored) { + } + verify(mockArticleReader); + } + +} + diff --git a/testing-modules/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderAnnotatedWithRuleUnitTest.java b/testing-libraries/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderAnnotatedWithRuleUnitTest.java old mode 100755 new mode 100644 similarity index 96% rename from testing-modules/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderAnnotatedWithRuleUnitTest.java rename to testing-libraries/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderAnnotatedWithRuleUnitTest.java index 086ed88888..5b4219d263 --- a/testing-modules/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderAnnotatedWithRuleUnitTest.java +++ b/testing-libraries/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderAnnotatedWithRuleUnitTest.java @@ -1,57 +1,57 @@ -package com.baeldung.easymock; - -import org.easymock.EasyMockRule; -import org.easymock.Mock; -import org.easymock.TestSubject; -import org.junit.*; - -import java.util.NoSuchElementException; - -import static org.easymock.EasyMock.*; - -public class BaeldungReaderAnnotatedWithRuleUnitTest { - - @Rule public EasyMockRule mockRule = new EasyMockRule(this); - - @Mock ArticleReader mockArticleReader; - - @Mock IArticleWriter mockArticleWriter; - - @TestSubject BaeldungReader baeldungReader = new BaeldungReader(); - - @Test - public void givenBaeldungReader_whenReadNext_thenNextArticleRead() { - expect(mockArticleReader.next()).andReturn(null); - replay(mockArticleReader); - baeldungReader.readNext(); - verify(mockArticleReader); - } - - @Mock BaeldungReader mockBaeldungReader; - - @Test - public void givenBaeldungReader_whenWrite_thenWriterCalled() { - expect(mockArticleWriter.write("title", "content")).andReturn(null); - replay(mockArticleWriter); - baeldungReader.write("title", "content"); - verify(mockArticleWriter); - } - - @Test - public void givenArticlesInReader_whenReadTillEnd_thenThrowException() { - expect(mockArticleReader.next()) - .andReturn(null) - .times(2) - .andThrow(new NoSuchElementException()); - replay(mockArticleReader); - try { - for (int i = 0; i < 3; i++) { - baeldungReader.readNext(); - } - } catch (Exception ignored) { - } - verify(mockArticleReader); - } - -} - +package com.baeldung.easymock; + +import org.easymock.EasyMockRule; +import org.easymock.Mock; +import org.easymock.TestSubject; +import org.junit.*; + +import java.util.NoSuchElementException; + +import static org.easymock.EasyMock.*; + +public class BaeldungReaderAnnotatedWithRuleUnitTest { + + @Rule public EasyMockRule mockRule = new EasyMockRule(this); + + @Mock ArticleReader mockArticleReader; + + @Mock IArticleWriter mockArticleWriter; + + @TestSubject BaeldungReader baeldungReader = new BaeldungReader(); + + @Test + public void givenBaeldungReader_whenReadNext_thenNextArticleRead() { + expect(mockArticleReader.next()).andReturn(null); + replay(mockArticleReader); + baeldungReader.readNext(); + verify(mockArticleReader); + } + + @Mock BaeldungReader mockBaeldungReader; + + @Test + public void givenBaeldungReader_whenWrite_thenWriterCalled() { + expect(mockArticleWriter.write("title", "content")).andReturn(null); + replay(mockArticleWriter); + baeldungReader.write("title", "content"); + verify(mockArticleWriter); + } + + @Test + public void givenArticlesInReader_whenReadTillEnd_thenThrowException() { + expect(mockArticleReader.next()) + .andReturn(null) + .times(2) + .andThrow(new NoSuchElementException()); + replay(mockArticleReader); + try { + for (int i = 0; i < 3; i++) { + baeldungReader.readNext(); + } + } catch (Exception ignored) { + } + verify(mockArticleReader); + } + +} + diff --git a/testing-modules/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderMockDelegationUnitTest.java b/testing-libraries/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderMockDelegationUnitTest.java old mode 100755 new mode 100644 similarity index 97% rename from testing-modules/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderMockDelegationUnitTest.java rename to testing-libraries/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderMockDelegationUnitTest.java index 89d3a2baee..6d8b553df7 --- a/testing-modules/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderMockDelegationUnitTest.java +++ b/testing-libraries/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderMockDelegationUnitTest.java @@ -1,27 +1,27 @@ -package com.baeldung.easymock; - -import org.easymock.*; -import org.junit.*; - -import static org.easymock.EasyMock.*; - -public class BaeldungReaderMockDelegationUnitTest { - - EasyMockSupport easyMockSupport = new EasyMockSupport(); - - @Test - public void givenBaeldungReader_whenReadAndWriteSequencially_thenWorks() { - ArticleReader mockArticleReader = easyMockSupport.createMock(ArticleReader.class); - IArticleWriter mockArticleWriter = easyMockSupport.createMock(IArticleWriter.class); - BaeldungReader baeldungReader = new BaeldungReader(mockArticleReader, mockArticleWriter); - - expect(mockArticleReader.next()).andReturn(null); - expect(mockArticleWriter.write("title", "content")).andReturn(""); - easyMockSupport.replayAll(); - - baeldungReader.readNext(); - baeldungReader.write("title", "content"); - easyMockSupport.verifyAll(); - } - +package com.baeldung.easymock; + +import org.easymock.*; +import org.junit.*; + +import static org.easymock.EasyMock.*; + +public class BaeldungReaderMockDelegationUnitTest { + + EasyMockSupport easyMockSupport = new EasyMockSupport(); + + @Test + public void givenBaeldungReader_whenReadAndWriteSequencially_thenWorks() { + ArticleReader mockArticleReader = easyMockSupport.createMock(ArticleReader.class); + IArticleWriter mockArticleWriter = easyMockSupport.createMock(IArticleWriter.class); + BaeldungReader baeldungReader = new BaeldungReader(mockArticleReader, mockArticleWriter); + + expect(mockArticleReader.next()).andReturn(null); + expect(mockArticleWriter.write("title", "content")).andReturn(""); + easyMockSupport.replayAll(); + + baeldungReader.readNext(); + baeldungReader.write("title", "content"); + easyMockSupport.verifyAll(); + } + } \ No newline at end of file diff --git a/testing-modules/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderMockSupportUnitTest.java b/testing-libraries/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderMockSupportUnitTest.java old mode 100755 new mode 100644 similarity index 96% rename from testing-modules/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderMockSupportUnitTest.java rename to testing-libraries/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderMockSupportUnitTest.java index cd0c906949..8b5c4d9d41 --- a/testing-modules/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderMockSupportUnitTest.java +++ b/testing-libraries/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderMockSupportUnitTest.java @@ -1,42 +1,42 @@ -package com.baeldung.easymock; - -import org.easymock.*; -import org.junit.*; -import org.junit.runner.RunWith; - -import java.util.NoSuchElementException; - -import static org.easymock.EasyMock.*; -import static org.junit.Assert.assertEquals; - -@RunWith(EasyMockRunner.class) -public class BaeldungReaderMockSupportUnitTest extends EasyMockSupport { - - @TestSubject BaeldungReader baeldungReader = new BaeldungReader(); - @Mock ArticleReader mockArticleReader; - @Mock IArticleWriter mockArticleWriter; - - @Test - public void givenBaeldungReader_whenReadAndWriteSequencially_thenWorks() { - expect(mockArticleReader.next()) - .andReturn(null) - .times(2) - .andThrow(new NoSuchElementException()); - expect(mockArticleWriter.write("title", "content")).andReturn("BAEL-201801"); - replayAll(); - - Exception expectedException = null; - try { - for (int i = 0; i < 3; i++) { - baeldungReader.readNext(); - } - } catch (Exception exception) { - expectedException = exception; - } - String articleId = baeldungReader.write("title", "content"); - verifyAll(); - assertEquals(NoSuchElementException.class, expectedException.getClass()); - assertEquals("BAEL-201801", articleId); - } - +package com.baeldung.easymock; + +import org.easymock.*; +import org.junit.*; +import org.junit.runner.RunWith; + +import java.util.NoSuchElementException; + +import static org.easymock.EasyMock.*; +import static org.junit.Assert.assertEquals; + +@RunWith(EasyMockRunner.class) +public class BaeldungReaderMockSupportUnitTest extends EasyMockSupport { + + @TestSubject BaeldungReader baeldungReader = new BaeldungReader(); + @Mock ArticleReader mockArticleReader; + @Mock IArticleWriter mockArticleWriter; + + @Test + public void givenBaeldungReader_whenReadAndWriteSequencially_thenWorks() { + expect(mockArticleReader.next()) + .andReturn(null) + .times(2) + .andThrow(new NoSuchElementException()); + expect(mockArticleWriter.write("title", "content")).andReturn("BAEL-201801"); + replayAll(); + + Exception expectedException = null; + try { + for (int i = 0; i < 3; i++) { + baeldungReader.readNext(); + } + } catch (Exception exception) { + expectedException = exception; + } + String articleId = baeldungReader.write("title", "content"); + verifyAll(); + assertEquals(NoSuchElementException.class, expectedException.getClass()); + assertEquals("BAEL-201801", articleId); + } + } \ No newline at end of file diff --git a/testing-modules/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderUnitTest.java b/testing-libraries/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderUnitTest.java old mode 100755 new mode 100644 similarity index 97% rename from testing-modules/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderUnitTest.java rename to testing-libraries/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderUnitTest.java index 31f6af116c..12fce4b07a --- a/testing-modules/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderUnitTest.java +++ b/testing-libraries/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderUnitTest.java @@ -1,105 +1,105 @@ -package com.baeldung.easymock; - -import org.junit.*; - -import java.util.NoSuchElementException; - -import static org.easymock.EasyMock.*; -import static org.junit.Assert.assertEquals; - -public class BaeldungReaderUnitTest { - - private BaeldungReader baeldungReader; - - private ArticleReader mockArticleReader; - - private IArticleWriter mockArticleWriter; - - @Test - public void givenBaeldungReader_whenReadNext_thenNextArticleRead() { - mockArticleReader = mock(ArticleReader.class); - baeldungReader = new BaeldungReader(mockArticleReader); - - expect(mockArticleReader.next()).andReturn(null); - replay(mockArticleReader); - - BaeldungArticle article = baeldungReader.readNext(); - verify(mockArticleReader); - assertEquals(null, article); - } - - @Test - public void givenBaeldungReader_whenReadNextAndSkimTopics_thenAllAllowed() { - mockArticleReader = strictMock(ArticleReader.class); - baeldungReader = new BaeldungReader(mockArticleReader); - - expect(mockArticleReader.next()).andReturn(null); - expect(mockArticleReader.ofTopic("easymock")).andReturn(null); - replay(mockArticleReader); - - baeldungReader.readNext(); - baeldungReader.readTopic("easymock"); - verify(mockArticleReader); - } - - @Test - public void givenBaeldungReader_whenReadNextAndOthers_thenAllowed() { - mockArticleReader = niceMock(ArticleReader.class); - baeldungReader = new BaeldungReader(mockArticleReader); - - expect(mockArticleReader.next()).andReturn(null); - replay(mockArticleReader); - - baeldungReader.readNext(); - baeldungReader.readTopic("easymock"); - verify(mockArticleReader); - } - - @Test - public void givenBaeldungReader_whenWriteMaliciousContent_thenArgumentIllegal() { - mockArticleWriter = mock(IArticleWriter.class); - baeldungReader = new BaeldungReader(mockArticleWriter); - expect(mockArticleWriter.write("easymock", "")).andThrow(new IllegalArgumentException()); - replay(mockArticleWriter); - - Exception expectedException = null; - try { - baeldungReader.write("easymock", ""); - } catch (Exception exception) { - expectedException = exception; - } - - verify(mockArticleWriter); - assertEquals(IllegalArgumentException.class, expectedException.getClass()); - } - - @Test - public void givenBaeldungReader_whenWrite_thenWriterCalled() { - mockArticleWriter = mock(IArticleWriter.class); - baeldungReader = new BaeldungReader(mockArticleWriter); - expect(mockArticleWriter.write("title", "content")).andReturn(null); - replay(mockArticleWriter); - String articleId = baeldungReader.write("title", "content"); - verify(mockArticleWriter); - assertEquals(null, articleId); - } - - @Test - public void givenArticlesInReader_whenReadTillEnd_thenThrowException() { - ArticleReader mockArticleReader = mock(ArticleReader.class); - baeldungReader = new BaeldungReader(mockArticleReader); - expect(mockArticleReader.next()) - .andReturn(null) - .times(2) - .andThrow(new NoSuchElementException()); - replay(mockArticleReader); - try { - for (int i = 0; i < 3; i++) { - baeldungReader.readNext(); - } - } catch (Exception ignored) { - } - verify(mockArticleReader); - } - +package com.baeldung.easymock; + +import org.junit.*; + +import java.util.NoSuchElementException; + +import static org.easymock.EasyMock.*; +import static org.junit.Assert.assertEquals; + +public class BaeldungReaderUnitTest { + + private BaeldungReader baeldungReader; + + private ArticleReader mockArticleReader; + + private IArticleWriter mockArticleWriter; + + @Test + public void givenBaeldungReader_whenReadNext_thenNextArticleRead() { + mockArticleReader = mock(ArticleReader.class); + baeldungReader = new BaeldungReader(mockArticleReader); + + expect(mockArticleReader.next()).andReturn(null); + replay(mockArticleReader); + + BaeldungArticle article = baeldungReader.readNext(); + verify(mockArticleReader); + assertEquals(null, article); + } + + @Test + public void givenBaeldungReader_whenReadNextAndSkimTopics_thenAllAllowed() { + mockArticleReader = strictMock(ArticleReader.class); + baeldungReader = new BaeldungReader(mockArticleReader); + + expect(mockArticleReader.next()).andReturn(null); + expect(mockArticleReader.ofTopic("easymock")).andReturn(null); + replay(mockArticleReader); + + baeldungReader.readNext(); + baeldungReader.readTopic("easymock"); + verify(mockArticleReader); + } + + @Test + public void givenBaeldungReader_whenReadNextAndOthers_thenAllowed() { + mockArticleReader = niceMock(ArticleReader.class); + baeldungReader = new BaeldungReader(mockArticleReader); + + expect(mockArticleReader.next()).andReturn(null); + replay(mockArticleReader); + + baeldungReader.readNext(); + baeldungReader.readTopic("easymock"); + verify(mockArticleReader); + } + + @Test + public void givenBaeldungReader_whenWriteMaliciousContent_thenArgumentIllegal() { + mockArticleWriter = mock(IArticleWriter.class); + baeldungReader = new BaeldungReader(mockArticleWriter); + expect(mockArticleWriter.write("easymock", "")).andThrow(new IllegalArgumentException()); + replay(mockArticleWriter); + + Exception expectedException = null; + try { + baeldungReader.write("easymock", ""); + } catch (Exception exception) { + expectedException = exception; + } + + verify(mockArticleWriter); + assertEquals(IllegalArgumentException.class, expectedException.getClass()); + } + + @Test + public void givenBaeldungReader_whenWrite_thenWriterCalled() { + mockArticleWriter = mock(IArticleWriter.class); + baeldungReader = new BaeldungReader(mockArticleWriter); + expect(mockArticleWriter.write("title", "content")).andReturn(null); + replay(mockArticleWriter); + String articleId = baeldungReader.write("title", "content"); + verify(mockArticleWriter); + assertEquals(null, articleId); + } + + @Test + public void givenArticlesInReader_whenReadTillEnd_thenThrowException() { + ArticleReader mockArticleReader = mock(ArticleReader.class); + baeldungReader = new BaeldungReader(mockArticleReader); + expect(mockArticleReader.next()) + .andReturn(null) + .times(2) + .andThrow(new NoSuchElementException()); + replay(mockArticleReader); + try { + for (int i = 0; i < 3; i++) { + baeldungReader.readNext(); + } + } catch (Exception ignored) { + } + verify(mockArticleReader); + } + } \ No newline at end of file diff --git a/testing-modules/mocks/mock-comparisons/src/test/java/org/baeldung/mocks/easymock/LoginControllerIntegrationTest.java b/testing-libraries/mocks/mock-comparisons/src/test/java/org/baeldung/mocks/easymock/LoginControllerIntegrationTest.java similarity index 100% rename from testing-modules/mocks/mock-comparisons/src/test/java/org/baeldung/mocks/easymock/LoginControllerIntegrationTest.java rename to testing-libraries/mocks/mock-comparisons/src/test/java/org/baeldung/mocks/easymock/LoginControllerIntegrationTest.java diff --git a/testing-modules/mocks/mock-comparisons/src/test/java/org/baeldung/mocks/jmockit/LoginControllerIntegrationTest.java b/testing-libraries/mocks/mock-comparisons/src/test/java/org/baeldung/mocks/jmockit/LoginControllerIntegrationTest.java similarity index 100% rename from testing-modules/mocks/mock-comparisons/src/test/java/org/baeldung/mocks/jmockit/LoginControllerIntegrationTest.java rename to testing-libraries/mocks/mock-comparisons/src/test/java/org/baeldung/mocks/jmockit/LoginControllerIntegrationTest.java diff --git a/testing-modules/mocks/mock-comparisons/src/test/java/org/baeldung/mocks/mockito/LoginControllerIntegrationTest.java b/testing-libraries/mocks/mock-comparisons/src/test/java/org/baeldung/mocks/mockito/LoginControllerIntegrationTest.java similarity index 100% rename from testing-modules/mocks/mock-comparisons/src/test/java/org/baeldung/mocks/mockito/LoginControllerIntegrationTest.java rename to testing-libraries/mocks/mock-comparisons/src/test/java/org/baeldung/mocks/mockito/LoginControllerIntegrationTest.java diff --git a/testing-modules/mocks/pom.xml b/testing-libraries/mocks/pom.xml similarity index 100% rename from testing-modules/mocks/pom.xml rename to testing-libraries/mocks/pom.xml diff --git a/testing-modules/mockserver/README.md b/testing-libraries/mockserver/README.md similarity index 100% rename from testing-modules/mockserver/README.md rename to testing-libraries/mockserver/README.md diff --git a/testing-modules/mockserver/pom.xml b/testing-libraries/mockserver/pom.xml similarity index 100% rename from testing-modules/mockserver/pom.xml rename to testing-libraries/mockserver/pom.xml diff --git a/testing-modules/mockserver/src/main/java/com/baeldung/mock/server/ExpectationCallbackHandler.java b/testing-libraries/mockserver/src/main/java/com/baeldung/mock/server/ExpectationCallbackHandler.java similarity index 100% rename from testing-modules/mockserver/src/main/java/com/baeldung/mock/server/ExpectationCallbackHandler.java rename to testing-libraries/mockserver/src/main/java/com/baeldung/mock/server/ExpectationCallbackHandler.java diff --git a/testing-modules/mockserver/src/main/resources/logback.xml b/testing-libraries/mockserver/src/main/resources/logback.xml similarity index 100% rename from testing-modules/mockserver/src/main/resources/logback.xml rename to testing-libraries/mockserver/src/main/resources/logback.xml diff --git a/testing-modules/mockserver/src/test/java/com/baeldung/mock/server/MockServerLiveTest.java b/testing-libraries/mockserver/src/test/java/com/baeldung/mock/server/MockServerLiveTest.java similarity index 100% rename from testing-modules/mockserver/src/test/java/com/baeldung/mock/server/MockServerLiveTest.java rename to testing-libraries/mockserver/src/test/java/com/baeldung/mock/server/MockServerLiveTest.java diff --git a/testing-modules/parallel-tests-junit/README.md b/testing-libraries/parallel-tests-junit/README.md similarity index 100% rename from testing-modules/parallel-tests-junit/README.md rename to testing-libraries/parallel-tests-junit/README.md diff --git a/testing-modules/parallel-tests-junit/math-test-functions/pom.xml b/testing-libraries/parallel-tests-junit/math-test-functions/pom.xml similarity index 100% rename from testing-modules/parallel-tests-junit/math-test-functions/pom.xml rename to testing-libraries/parallel-tests-junit/math-test-functions/pom.xml diff --git a/testing-modules/parallel-tests-junit/math-test-functions/src/test/java/com/baeldung/ArithmeticFunctionUnitTest.java b/testing-libraries/parallel-tests-junit/math-test-functions/src/test/java/com/baeldung/ArithmeticFunctionUnitTest.java similarity index 100% rename from testing-modules/parallel-tests-junit/math-test-functions/src/test/java/com/baeldung/ArithmeticFunctionUnitTest.java rename to testing-libraries/parallel-tests-junit/math-test-functions/src/test/java/com/baeldung/ArithmeticFunctionUnitTest.java diff --git a/testing-modules/parallel-tests-junit/math-test-functions/src/test/java/com/baeldung/ComparisonFunctionUnitTest.java b/testing-libraries/parallel-tests-junit/math-test-functions/src/test/java/com/baeldung/ComparisonFunctionUnitTest.java similarity index 100% rename from testing-modules/parallel-tests-junit/math-test-functions/src/test/java/com/baeldung/ComparisonFunctionUnitTest.java rename to testing-libraries/parallel-tests-junit/math-test-functions/src/test/java/com/baeldung/ComparisonFunctionUnitTest.java diff --git a/testing-modules/parallel-tests-junit/math-test-functions/src/test/java/com/baeldung/FunctionTestSuite.java b/testing-libraries/parallel-tests-junit/math-test-functions/src/test/java/com/baeldung/FunctionTestSuite.java similarity index 100% rename from testing-modules/parallel-tests-junit/math-test-functions/src/test/java/com/baeldung/FunctionTestSuite.java rename to testing-libraries/parallel-tests-junit/math-test-functions/src/test/java/com/baeldung/FunctionTestSuite.java diff --git a/testing-modules/parallel-tests-junit/pom.xml b/testing-libraries/parallel-tests-junit/pom.xml similarity index 100% rename from testing-modules/parallel-tests-junit/pom.xml rename to testing-libraries/parallel-tests-junit/pom.xml diff --git a/testing-modules/parallel-tests-junit/string-test-functions/pom.xml b/testing-libraries/parallel-tests-junit/string-test-functions/pom.xml similarity index 100% rename from testing-modules/parallel-tests-junit/string-test-functions/pom.xml rename to testing-libraries/parallel-tests-junit/string-test-functions/pom.xml diff --git a/testing-modules/parallel-tests-junit/string-test-functions/src/test/java/com/baeldung/StringFunctionUnitTest.java b/testing-libraries/parallel-tests-junit/string-test-functions/src/test/java/com/baeldung/StringFunctionUnitTest.java similarity index 100% rename from testing-modules/parallel-tests-junit/string-test-functions/src/test/java/com/baeldung/StringFunctionUnitTest.java rename to testing-libraries/parallel-tests-junit/string-test-functions/src/test/java/com/baeldung/StringFunctionUnitTest.java diff --git a/testing-modules/pom.xml b/testing-libraries/pom.xml similarity index 92% rename from testing-modules/pom.xml rename to testing-libraries/pom.xml index e15fdb4a37..5102e09349 100644 --- a/testing-modules/pom.xml +++ b/testing-libraries/pom.xml @@ -2,8 +2,8 @@ 4.0.0 - testing-modules - testing-modules + testing-libraries + testing-libraries pom @@ -31,7 +31,6 @@ selenium-junit-testng spring-testing test-containers - testing testng junit-5-basics easymock diff --git a/testing-modules/rest-assured/.gitignore b/testing-libraries/rest-assured/.gitignore similarity index 100% rename from testing-modules/rest-assured/.gitignore rename to testing-libraries/rest-assured/.gitignore diff --git a/testing-modules/rest-assured/README.md b/testing-libraries/rest-assured/README.md similarity index 100% rename from testing-modules/rest-assured/README.md rename to testing-libraries/rest-assured/README.md diff --git a/testing-modules/rest-assured/pom.xml b/testing-libraries/rest-assured/pom.xml similarity index 100% rename from testing-modules/rest-assured/pom.xml rename to testing-libraries/rest-assured/pom.xml diff --git a/testing-modules/rest-assured/src/main/java/com/baeldung/restassured/Application.java b/testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/Application.java similarity index 100% rename from testing-modules/rest-assured/src/main/java/com/baeldung/restassured/Application.java rename to testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/Application.java diff --git a/testing-modules/rest-assured/src/main/java/com/baeldung/restassured/controller/AppController.java b/testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/controller/AppController.java similarity index 100% rename from testing-modules/rest-assured/src/main/java/com/baeldung/restassured/controller/AppController.java rename to testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/controller/AppController.java diff --git a/testing-modules/rest-assured/src/main/java/com/baeldung/restassured/learner/Course.java b/testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/learner/Course.java similarity index 100% rename from testing-modules/rest-assured/src/main/java/com/baeldung/restassured/learner/Course.java rename to testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/learner/Course.java diff --git a/testing-modules/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseController.java b/testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseController.java similarity index 100% rename from testing-modules/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseController.java rename to testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseController.java diff --git a/testing-modules/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseControllerExceptionHandler.java b/testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseControllerExceptionHandler.java similarity index 100% rename from testing-modules/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseControllerExceptionHandler.java rename to testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseControllerExceptionHandler.java diff --git a/testing-modules/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseNotFoundException.java b/testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseNotFoundException.java similarity index 100% rename from testing-modules/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseNotFoundException.java rename to testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseNotFoundException.java diff --git a/testing-modules/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseService.java b/testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseService.java similarity index 100% rename from testing-modules/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseService.java rename to testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseService.java diff --git a/testing-modules/rest-assured/src/main/java/com/baeldung/restassured/model/Movie.java b/testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/model/Movie.java similarity index 100% rename from testing-modules/rest-assured/src/main/java/com/baeldung/restassured/model/Movie.java rename to testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/model/Movie.java diff --git a/testing-modules/rest-assured/src/main/java/com/baeldung/restassured/service/AppService.java b/testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/service/AppService.java similarity index 100% rename from testing-modules/rest-assured/src/main/java/com/baeldung/restassured/service/AppService.java rename to testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/service/AppService.java diff --git a/testing-modules/rest-assured/src/main/resources/1 b/testing-libraries/rest-assured/src/main/resources/1 similarity index 100% rename from testing-modules/rest-assured/src/main/resources/1 rename to testing-libraries/rest-assured/src/main/resources/1 diff --git a/testing-modules/rest-assured/src/main/resources/2 b/testing-libraries/rest-assured/src/main/resources/2 similarity index 100% rename from testing-modules/rest-assured/src/main/resources/2 rename to testing-libraries/rest-assured/src/main/resources/2 diff --git a/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/Odd.java b/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/Odd.java similarity index 94% rename from testing-modules/rest-assured/src/test/java/com/baeldung/restassured/Odd.java rename to testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/Odd.java index f60f1764c6..c3f82f0836 100644 --- a/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/Odd.java +++ b/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/Odd.java @@ -1,49 +1,49 @@ -package com.baeldung.restassured; - -public class Odd { - - float price; - int status; - float ck; - String name; - - Odd(float price, int status, float ck, String name) { - this.price = price; - this.status = status; - this.ck = ck; - this.name = name; - } - - public float getPrice() { - return price; - } - - public void setPrice(float price) { - this.price = price; - } - - public int getStatus() { - return status; - } - - public void setStatus(int status) { - this.status = status; - } - - public float getCk() { - return ck; - } - - public void setCk(float ck) { - this.ck = ck; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - -} +package com.baeldung.restassured; + +public class Odd { + + float price; + int status; + float ck; + String name; + + Odd(float price, int status, float ck, String name) { + this.price = price; + this.status = status; + this.ck = ck; + this.name = name; + } + + public float getPrice() { + return price; + } + + public void setPrice(float price) { + this.price = price; + } + + public int getStatus() { + return status; + } + + public void setStatus(int status) { + this.status = status; + } + + public float getCk() { + return ck; + } + + public void setCk(float ck) { + this.ck = ck; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + +} diff --git a/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/RestAssured2IntegrationTest.java b/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/RestAssured2IntegrationTest.java similarity index 100% rename from testing-modules/rest-assured/src/test/java/com/baeldung/restassured/RestAssured2IntegrationTest.java rename to testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/RestAssured2IntegrationTest.java diff --git a/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredAdvancedLiveTest.java b/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredAdvancedLiveTest.java similarity index 100% rename from testing-modules/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredAdvancedLiveTest.java rename to testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredAdvancedLiveTest.java diff --git a/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredIntegrationTest.java b/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredIntegrationTest.java similarity index 100% rename from testing-modules/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredIntegrationTest.java rename to testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredIntegrationTest.java diff --git a/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredXML2IntegrationTest.java b/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredXML2IntegrationTest.java similarity index 100% rename from testing-modules/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredXML2IntegrationTest.java rename to testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredXML2IntegrationTest.java diff --git a/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredXMLIntegrationTest.java b/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredXMLIntegrationTest.java similarity index 100% rename from testing-modules/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredXMLIntegrationTest.java rename to testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredXMLIntegrationTest.java diff --git a/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/Util.java b/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/Util.java similarity index 100% rename from testing-modules/rest-assured/src/test/java/com/baeldung/restassured/Util.java rename to testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/Util.java diff --git a/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/authentication/BasicAuthenticationLiveTest.java b/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/authentication/BasicAuthenticationLiveTest.java similarity index 100% rename from testing-modules/rest-assured/src/test/java/com/baeldung/restassured/authentication/BasicAuthenticationLiveTest.java rename to testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/authentication/BasicAuthenticationLiveTest.java diff --git a/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/authentication/BasicPreemtiveAuthenticationLiveTest.java b/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/authentication/BasicPreemtiveAuthenticationLiveTest.java similarity index 100% rename from testing-modules/rest-assured/src/test/java/com/baeldung/restassured/authentication/BasicPreemtiveAuthenticationLiveTest.java rename to testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/authentication/BasicPreemtiveAuthenticationLiveTest.java diff --git a/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/authentication/DigestAuthenticationLiveTest.java b/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/authentication/DigestAuthenticationLiveTest.java similarity index 100% rename from testing-modules/rest-assured/src/test/java/com/baeldung/restassured/authentication/DigestAuthenticationLiveTest.java rename to testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/authentication/DigestAuthenticationLiveTest.java diff --git a/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/authentication/FormAuthenticationLiveTest.java b/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/authentication/FormAuthenticationLiveTest.java similarity index 100% rename from testing-modules/rest-assured/src/test/java/com/baeldung/restassured/authentication/FormAuthenticationLiveTest.java rename to testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/authentication/FormAuthenticationLiveTest.java diff --git a/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/authentication/FormAutoconfAuthenticationLiveTest.java b/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/authentication/FormAutoconfAuthenticationLiveTest.java similarity index 100% rename from testing-modules/rest-assured/src/test/java/com/baeldung/restassured/authentication/FormAutoconfAuthenticationLiveTest.java rename to testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/authentication/FormAutoconfAuthenticationLiveTest.java diff --git a/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/authentication/OAuth2AuthenticationLiveTest.java b/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/authentication/OAuth2AuthenticationLiveTest.java similarity index 100% rename from testing-modules/rest-assured/src/test/java/com/baeldung/restassured/authentication/OAuth2AuthenticationLiveTest.java rename to testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/authentication/OAuth2AuthenticationLiveTest.java diff --git a/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/authentication/OAuthAuthenticationLiveTest.java b/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/authentication/OAuthAuthenticationLiveTest.java similarity index 100% rename from testing-modules/rest-assured/src/test/java/com/baeldung/restassured/authentication/OAuthAuthenticationLiveTest.java rename to testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/authentication/OAuthAuthenticationLiveTest.java diff --git a/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/controller/AppControllerIntegrationTest.java b/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/controller/AppControllerIntegrationTest.java similarity index 100% rename from testing-modules/rest-assured/src/test/java/com/baeldung/restassured/controller/AppControllerIntegrationTest.java rename to testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/controller/AppControllerIntegrationTest.java diff --git a/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/learner/CourseControllerIntegrationTest.java b/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/learner/CourseControllerIntegrationTest.java similarity index 100% rename from testing-modules/rest-assured/src/test/java/com/baeldung/restassured/learner/CourseControllerIntegrationTest.java rename to testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/learner/CourseControllerIntegrationTest.java diff --git a/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/learner/CourseControllerUnitTest.java b/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/learner/CourseControllerUnitTest.java similarity index 100% rename from testing-modules/rest-assured/src/test/java/com/baeldung/restassured/learner/CourseControllerUnitTest.java rename to testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/learner/CourseControllerUnitTest.java diff --git a/testing-modules/rest-assured/src/test/resources/employees.xml b/testing-libraries/rest-assured/src/test/resources/employees.xml similarity index 100% rename from testing-modules/rest-assured/src/test/resources/employees.xml rename to testing-libraries/rest-assured/src/test/resources/employees.xml diff --git a/testing-modules/rest-assured/src/test/resources/event_0.json b/testing-libraries/rest-assured/src/test/resources/event_0.json similarity index 100% rename from testing-modules/rest-assured/src/test/resources/event_0.json rename to testing-libraries/rest-assured/src/test/resources/event_0.json diff --git a/testing-modules/rest-assured/src/test/resources/logback.xml b/testing-libraries/rest-assured/src/test/resources/logback.xml similarity index 100% rename from testing-modules/rest-assured/src/test/resources/logback.xml rename to testing-libraries/rest-assured/src/test/resources/logback.xml diff --git a/testing-modules/rest-assured/src/test/resources/odds.json b/testing-libraries/rest-assured/src/test/resources/odds.json similarity index 100% rename from testing-modules/rest-assured/src/test/resources/odds.json rename to testing-libraries/rest-assured/src/test/resources/odds.json diff --git a/testing-modules/rest-assured/src/test/resources/teachers.xml b/testing-libraries/rest-assured/src/test/resources/teachers.xml similarity index 100% rename from testing-modules/rest-assured/src/test/resources/teachers.xml rename to testing-libraries/rest-assured/src/test/resources/teachers.xml diff --git a/testing-modules/rest-assured/src/test/resources/test.txt b/testing-libraries/rest-assured/src/test/resources/test.txt similarity index 100% rename from testing-modules/rest-assured/src/test/resources/test.txt rename to testing-libraries/rest-assured/src/test/resources/test.txt diff --git a/testing-modules/rest-testing/.gitignore b/testing-libraries/rest-testing/.gitignore similarity index 100% rename from testing-modules/rest-testing/.gitignore rename to testing-libraries/rest-testing/.gitignore diff --git a/testing-modules/rest-testing/README.md b/testing-libraries/rest-testing/README.md similarity index 100% rename from testing-modules/rest-testing/README.md rename to testing-libraries/rest-testing/README.md diff --git a/testing-modules/rest-testing/pom.xml b/testing-libraries/rest-testing/pom.xml similarity index 100% rename from testing-modules/rest-testing/pom.xml rename to testing-libraries/rest-testing/pom.xml diff --git a/testing-modules/rest-testing/src/main/resources/cucumber.json b/testing-libraries/rest-testing/src/main/resources/cucumber.json similarity index 100% rename from testing-modules/rest-testing/src/main/resources/cucumber.json rename to testing-libraries/rest-testing/src/main/resources/cucumber.json diff --git a/testing-modules/rest-testing/src/main/resources/karate/cucumber.feature b/testing-libraries/rest-testing/src/main/resources/karate/cucumber.feature similarity index 100% rename from testing-modules/rest-testing/src/main/resources/karate/cucumber.feature rename to testing-libraries/rest-testing/src/main/resources/karate/cucumber.feature diff --git a/testing-modules/rest-testing/src/main/resources/logback.xml b/testing-libraries/rest-testing/src/main/resources/logback.xml similarity index 100% rename from testing-modules/rest-testing/src/main/resources/logback.xml rename to testing-libraries/rest-testing/src/main/resources/logback.xml diff --git a/testing-modules/rest-testing/src/main/resources/wiremock_intro.json b/testing-libraries/rest-testing/src/main/resources/wiremock_intro.json similarity index 100% rename from testing-modules/rest-testing/src/main/resources/wiremock_intro.json rename to testing-libraries/rest-testing/src/main/resources/wiremock_intro.json diff --git a/testing-modules/rest-testing/src/test/java/com/baeldung/rest/cucumber/CucumberIntegrationTest.java b/testing-libraries/rest-testing/src/test/java/com/baeldung/rest/cucumber/CucumberIntegrationTest.java similarity index 100% rename from testing-modules/rest-testing/src/test/java/com/baeldung/rest/cucumber/CucumberIntegrationTest.java rename to testing-libraries/rest-testing/src/test/java/com/baeldung/rest/cucumber/CucumberIntegrationTest.java diff --git a/testing-modules/rest-testing/src/test/java/com/baeldung/rest/cucumber/StepDefinition.java b/testing-libraries/rest-testing/src/test/java/com/baeldung/rest/cucumber/StepDefinition.java similarity index 100% rename from testing-modules/rest-testing/src/test/java/com/baeldung/rest/cucumber/StepDefinition.java rename to testing-libraries/rest-testing/src/test/java/com/baeldung/rest/cucumber/StepDefinition.java diff --git a/testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/AbstractStory.java b/testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/AbstractStory.java similarity index 100% rename from testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/AbstractStory.java rename to testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/AbstractStory.java diff --git a/testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserNotFoundSteps.java b/testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserNotFoundSteps.java similarity index 100% rename from testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserNotFoundSteps.java rename to testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserNotFoundSteps.java diff --git a/testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserNotFoundStoryLiveTest.java b/testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserNotFoundStoryLiveTest.java similarity index 100% rename from testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserNotFoundStoryLiveTest.java rename to testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserNotFoundStoryLiveTest.java diff --git a/testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponseMediaTypeSteps.java b/testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponseMediaTypeSteps.java similarity index 100% rename from testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponseMediaTypeSteps.java rename to testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponseMediaTypeSteps.java diff --git a/testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponseMediaTypeStoryLiveTest.java b/testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponseMediaTypeStoryLiveTest.java similarity index 100% rename from testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponseMediaTypeStoryLiveTest.java rename to testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponseMediaTypeStoryLiveTest.java diff --git a/testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponsePayloadSteps.java b/testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponsePayloadSteps.java similarity index 100% rename from testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponsePayloadSteps.java rename to testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponsePayloadSteps.java diff --git a/testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponsePayloadStoryLiveTest.java b/testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponsePayloadStoryLiveTest.java similarity index 100% rename from testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponsePayloadStoryLiveTest.java rename to testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponsePayloadStoryLiveTest.java diff --git a/testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/IncreaseSteps.java b/testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/IncreaseSteps.java similarity index 100% rename from testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/IncreaseSteps.java rename to testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/IncreaseSteps.java diff --git a/testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/IncreaseStoryLiveTest.java b/testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/IncreaseStoryLiveTest.java similarity index 100% rename from testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/IncreaseStoryLiveTest.java rename to testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/IncreaseStoryLiveTest.java diff --git a/testing-modules/rest-testing/src/test/java/com/baeldung/rest/karate/KarateIntegrationTest.java b/testing-libraries/rest-testing/src/test/java/com/baeldung/rest/karate/KarateIntegrationTest.java similarity index 100% rename from testing-modules/rest-testing/src/test/java/com/baeldung/rest/karate/KarateIntegrationTest.java rename to testing-libraries/rest-testing/src/test/java/com/baeldung/rest/karate/KarateIntegrationTest.java diff --git a/testing-modules/rest-testing/src/test/java/com/baeldung/rest/wiremock/introduction/JUnitManagedIntegrationTest.java b/testing-libraries/rest-testing/src/test/java/com/baeldung/rest/wiremock/introduction/JUnitManagedIntegrationTest.java similarity index 100% rename from testing-modules/rest-testing/src/test/java/com/baeldung/rest/wiremock/introduction/JUnitManagedIntegrationTest.java rename to testing-libraries/rest-testing/src/test/java/com/baeldung/rest/wiremock/introduction/JUnitManagedIntegrationTest.java diff --git a/testing-modules/rest-testing/src/test/java/com/baeldung/rest/wiremock/introduction/ProgrammaticallyManagedLiveTest.java b/testing-libraries/rest-testing/src/test/java/com/baeldung/rest/wiremock/introduction/ProgrammaticallyManagedLiveTest.java similarity index 100% rename from testing-modules/rest-testing/src/test/java/com/baeldung/rest/wiremock/introduction/ProgrammaticallyManagedLiveTest.java rename to testing-libraries/rest-testing/src/test/java/com/baeldung/rest/wiremock/introduction/ProgrammaticallyManagedLiveTest.java diff --git a/testing-modules/rest-testing/src/test/java/com/baeldung/rest/wiremock/scenario/WireMockScenarioExampleIntegrationTest.java b/testing-libraries/rest-testing/src/test/java/com/baeldung/rest/wiremock/scenario/WireMockScenarioExampleIntegrationTest.java similarity index 100% rename from testing-modules/rest-testing/src/test/java/com/baeldung/rest/wiremock/scenario/WireMockScenarioExampleIntegrationTest.java rename to testing-libraries/rest-testing/src/test/java/com/baeldung/rest/wiremock/scenario/WireMockScenarioExampleIntegrationTest.java diff --git a/testing-modules/rest-testing/src/test/java/org/baeldung/rest/GitHubUser.java b/testing-libraries/rest-testing/src/test/java/org/baeldung/rest/GitHubUser.java similarity index 100% rename from testing-modules/rest-testing/src/test/java/org/baeldung/rest/GitHubUser.java rename to testing-libraries/rest-testing/src/test/java/org/baeldung/rest/GitHubUser.java diff --git a/testing-modules/rest-testing/src/test/java/org/baeldung/rest/RetrieveUtil.java b/testing-libraries/rest-testing/src/test/java/org/baeldung/rest/RetrieveUtil.java similarity index 100% rename from testing-modules/rest-testing/src/test/java/org/baeldung/rest/RetrieveUtil.java rename to testing-libraries/rest-testing/src/test/java/org/baeldung/rest/RetrieveUtil.java diff --git a/testing-modules/rest-testing/src/test/resources/Feature/cucumber.feature b/testing-libraries/rest-testing/src/test/resources/Feature/cucumber.feature similarity index 100% rename from testing-modules/rest-testing/src/test/resources/Feature/cucumber.feature rename to testing-libraries/rest-testing/src/test/resources/Feature/cucumber.feature diff --git a/testing-modules/rest-testing/src/test/resources/github_user_not_found.story b/testing-libraries/rest-testing/src/test/resources/github_user_not_found.story similarity index 100% rename from testing-modules/rest-testing/src/test/resources/github_user_not_found.story rename to testing-libraries/rest-testing/src/test/resources/github_user_not_found.story diff --git a/testing-modules/rest-testing/src/test/resources/github_user_response_mediatype.story b/testing-libraries/rest-testing/src/test/resources/github_user_response_mediatype.story similarity index 100% rename from testing-modules/rest-testing/src/test/resources/github_user_response_mediatype.story rename to testing-libraries/rest-testing/src/test/resources/github_user_response_mediatype.story diff --git a/testing-modules/rest-testing/src/test/resources/github_user_response_payload.story b/testing-libraries/rest-testing/src/test/resources/github_user_response_payload.story similarity index 100% rename from testing-modules/rest-testing/src/test/resources/github_user_response_payload.story rename to testing-libraries/rest-testing/src/test/resources/github_user_response_payload.story diff --git a/testing-modules/rest-testing/src/test/resources/increase.story b/testing-libraries/rest-testing/src/test/resources/increase.story similarity index 100% rename from testing-modules/rest-testing/src/test/resources/increase.story rename to testing-libraries/rest-testing/src/test/resources/increase.story diff --git a/testing-modules/rest-testing/src/test/resources/karate/user.feature b/testing-libraries/rest-testing/src/test/resources/karate/user.feature similarity index 100% rename from testing-modules/rest-testing/src/test/resources/karate/user.feature rename to testing-libraries/rest-testing/src/test/resources/karate/user.feature diff --git a/testing-modules/runjunitfromjava/src/main/resources/logback.xml b/testing-libraries/runjunitfromjava/src/main/resources/logback.xml similarity index 100% rename from testing-modules/runjunitfromjava/src/main/resources/logback.xml rename to testing-libraries/runjunitfromjava/src/main/resources/logback.xml diff --git a/testing-modules/runjunitfromjava/src/test/java/com/baeldung/junit4/runfromjava/FirstUnitTest.java b/testing-libraries/runjunitfromjava/src/test/java/com/baeldung/junit4/runfromjava/FirstUnitTest.java similarity index 100% rename from testing-modules/runjunitfromjava/src/test/java/com/baeldung/junit4/runfromjava/FirstUnitTest.java rename to testing-libraries/runjunitfromjava/src/test/java/com/baeldung/junit4/runfromjava/FirstUnitTest.java diff --git a/testing-modules/runjunitfromjava/src/test/java/com/baeldung/junit4/runfromjava/SecondUnitTest.java b/testing-libraries/runjunitfromjava/src/test/java/com/baeldung/junit4/runfromjava/SecondUnitTest.java similarity index 100% rename from testing-modules/runjunitfromjava/src/test/java/com/baeldung/junit4/runfromjava/SecondUnitTest.java rename to testing-libraries/runjunitfromjava/src/test/java/com/baeldung/junit4/runfromjava/SecondUnitTest.java diff --git a/testing-modules/runjunitfromjava/src/test/java/com/baeldung/junit5/runfromjava/FirstUnitTest.java b/testing-libraries/runjunitfromjava/src/test/java/com/baeldung/junit5/runfromjava/FirstUnitTest.java similarity index 100% rename from testing-modules/runjunitfromjava/src/test/java/com/baeldung/junit5/runfromjava/FirstUnitTest.java rename to testing-libraries/runjunitfromjava/src/test/java/com/baeldung/junit5/runfromjava/FirstUnitTest.java diff --git a/testing-modules/runjunitfromjava/src/test/java/com/baeldung/junit5/runfromjava/SecondUnitTest.java b/testing-libraries/runjunitfromjava/src/test/java/com/baeldung/junit5/runfromjava/SecondUnitTest.java similarity index 100% rename from testing-modules/runjunitfromjava/src/test/java/com/baeldung/junit5/runfromjava/SecondUnitTest.java rename to testing-libraries/runjunitfromjava/src/test/java/com/baeldung/junit5/runfromjava/SecondUnitTest.java diff --git a/testing-modules/selenium-junit-testng/README.md b/testing-libraries/selenium-junit-testng/README.md similarity index 100% rename from testing-modules/selenium-junit-testng/README.md rename to testing-libraries/selenium-junit-testng/README.md diff --git a/testing-modules/selenium-junit-testng/geckodriver.mac b/testing-libraries/selenium-junit-testng/geckodriver.mac old mode 100755 new mode 100644 similarity index 100% rename from testing-modules/selenium-junit-testng/geckodriver.mac rename to testing-libraries/selenium-junit-testng/geckodriver.mac diff --git a/testing-modules/selenium-junit-testng/pom.xml b/testing-libraries/selenium-junit-testng/pom.xml similarity index 100% rename from testing-modules/selenium-junit-testng/pom.xml rename to testing-libraries/selenium-junit-testng/pom.xml diff --git a/testing-modules/selenium-junit-testng/src/main/java/com/baeldung/selenium/SeleniumExample.java b/testing-libraries/selenium-junit-testng/src/main/java/com/baeldung/selenium/SeleniumExample.java similarity index 100% rename from testing-modules/selenium-junit-testng/src/main/java/com/baeldung/selenium/SeleniumExample.java rename to testing-libraries/selenium-junit-testng/src/main/java/com/baeldung/selenium/SeleniumExample.java diff --git a/testing-modules/selenium-junit-testng/src/main/java/com/baeldung/selenium/config/SeleniumConfig.java b/testing-libraries/selenium-junit-testng/src/main/java/com/baeldung/selenium/config/SeleniumConfig.java similarity index 100% rename from testing-modules/selenium-junit-testng/src/main/java/com/baeldung/selenium/config/SeleniumConfig.java rename to testing-libraries/selenium-junit-testng/src/main/java/com/baeldung/selenium/config/SeleniumConfig.java diff --git a/testing-modules/selenium-junit-testng/src/main/java/com/baeldung/selenium/models/BaeldungAbout.java b/testing-libraries/selenium-junit-testng/src/main/java/com/baeldung/selenium/models/BaeldungAbout.java similarity index 100% rename from testing-modules/selenium-junit-testng/src/main/java/com/baeldung/selenium/models/BaeldungAbout.java rename to testing-libraries/selenium-junit-testng/src/main/java/com/baeldung/selenium/models/BaeldungAbout.java diff --git a/testing-modules/selenium-junit-testng/src/main/java/com/baeldung/selenium/pages/BaeldungAboutPage.java b/testing-libraries/selenium-junit-testng/src/main/java/com/baeldung/selenium/pages/BaeldungAboutPage.java similarity index 100% rename from testing-modules/selenium-junit-testng/src/main/java/com/baeldung/selenium/pages/BaeldungAboutPage.java rename to testing-libraries/selenium-junit-testng/src/main/java/com/baeldung/selenium/pages/BaeldungAboutPage.java diff --git a/testing-modules/selenium-junit-testng/src/main/java/com/baeldung/selenium/pages/BaeldungHomePage.java b/testing-libraries/selenium-junit-testng/src/main/java/com/baeldung/selenium/pages/BaeldungHomePage.java similarity index 100% rename from testing-modules/selenium-junit-testng/src/main/java/com/baeldung/selenium/pages/BaeldungHomePage.java rename to testing-libraries/selenium-junit-testng/src/main/java/com/baeldung/selenium/pages/BaeldungHomePage.java diff --git a/testing-modules/selenium-junit-testng/src/main/java/com/baeldung/selenium/pages/StartHerePage.java b/testing-libraries/selenium-junit-testng/src/main/java/com/baeldung/selenium/pages/StartHerePage.java similarity index 100% rename from testing-modules/selenium-junit-testng/src/main/java/com/baeldung/selenium/pages/StartHerePage.java rename to testing-libraries/selenium-junit-testng/src/main/java/com/baeldung/selenium/pages/StartHerePage.java diff --git a/testing-modules/selenium-junit-testng/src/main/resources/logback.xml b/testing-libraries/selenium-junit-testng/src/main/resources/logback.xml similarity index 100% rename from testing-modules/selenium-junit-testng/src/main/resources/logback.xml rename to testing-libraries/selenium-junit-testng/src/main/resources/logback.xml diff --git a/testing-modules/selenium-junit-testng/src/test/java/com/baeldung/selenium/junit/SeleniumPageObjectLiveTest.java b/testing-libraries/selenium-junit-testng/src/test/java/com/baeldung/selenium/junit/SeleniumPageObjectLiveTest.java similarity index 100% rename from testing-modules/selenium-junit-testng/src/test/java/com/baeldung/selenium/junit/SeleniumPageObjectLiveTest.java rename to testing-libraries/selenium-junit-testng/src/test/java/com/baeldung/selenium/junit/SeleniumPageObjectLiveTest.java diff --git a/testing-modules/selenium-junit-testng/src/test/java/com/baeldung/selenium/junit/SeleniumWithJUnitLiveTest.java b/testing-libraries/selenium-junit-testng/src/test/java/com/baeldung/selenium/junit/SeleniumWithJUnitLiveTest.java similarity index 100% rename from testing-modules/selenium-junit-testng/src/test/java/com/baeldung/selenium/junit/SeleniumWithJUnitLiveTest.java rename to testing-libraries/selenium-junit-testng/src/test/java/com/baeldung/selenium/junit/SeleniumWithJUnitLiveTest.java diff --git a/testing-modules/selenium-junit-testng/src/test/java/com/baeldung/selenium/testng/SeleniumWithTestNGLiveTest.java b/testing-libraries/selenium-junit-testng/src/test/java/com/baeldung/selenium/testng/SeleniumWithTestNGLiveTest.java similarity index 100% rename from testing-modules/selenium-junit-testng/src/test/java/com/baeldung/selenium/testng/SeleniumWithTestNGLiveTest.java rename to testing-libraries/selenium-junit-testng/src/test/java/com/baeldung/selenium/testng/SeleniumWithTestNGLiveTest.java diff --git a/testing-modules/spring-testing/README.md b/testing-libraries/spring-testing/README.md similarity index 100% rename from testing-modules/spring-testing/README.md rename to testing-libraries/spring-testing/README.md diff --git a/testing-modules/spring-testing/pom.xml b/testing-libraries/spring-testing/pom.xml similarity index 100% rename from testing-modules/spring-testing/pom.xml rename to testing-libraries/spring-testing/pom.xml diff --git a/testing-modules/spring-testing/src/main/java/com/baeldung/config/ScheduledConfig.java b/testing-libraries/spring-testing/src/main/java/com/baeldung/config/ScheduledConfig.java similarity index 100% rename from testing-modules/spring-testing/src/main/java/com/baeldung/config/ScheduledConfig.java rename to testing-libraries/spring-testing/src/main/java/com/baeldung/config/ScheduledConfig.java diff --git a/testing-modules/spring-testing/src/main/java/com/baeldung/config/WebConfig.java b/testing-libraries/spring-testing/src/main/java/com/baeldung/config/WebConfig.java similarity index 100% rename from testing-modules/spring-testing/src/main/java/com/baeldung/config/WebConfig.java rename to testing-libraries/spring-testing/src/main/java/com/baeldung/config/WebConfig.java diff --git a/testing-modules/spring-testing/src/main/java/com/baeldung/controller/parameterized/EmployeeRoleController.java b/testing-libraries/spring-testing/src/main/java/com/baeldung/controller/parameterized/EmployeeRoleController.java similarity index 100% rename from testing-modules/spring-testing/src/main/java/com/baeldung/controller/parameterized/EmployeeRoleController.java rename to testing-libraries/spring-testing/src/main/java/com/baeldung/controller/parameterized/EmployeeRoleController.java diff --git a/testing-modules/spring-testing/src/main/java/com/baeldung/overrideproperties/Application.java b/testing-libraries/spring-testing/src/main/java/com/baeldung/overrideproperties/Application.java similarity index 100% rename from testing-modules/spring-testing/src/main/java/com/baeldung/overrideproperties/Application.java rename to testing-libraries/spring-testing/src/main/java/com/baeldung/overrideproperties/Application.java diff --git a/testing-modules/spring-testing/src/main/java/com/baeldung/overrideproperties/resolver/PropertySourceResolver.java b/testing-libraries/spring-testing/src/main/java/com/baeldung/overrideproperties/resolver/PropertySourceResolver.java similarity index 100% rename from testing-modules/spring-testing/src/main/java/com/baeldung/overrideproperties/resolver/PropertySourceResolver.java rename to testing-libraries/spring-testing/src/main/java/com/baeldung/overrideproperties/resolver/PropertySourceResolver.java diff --git a/testing-modules/spring-testing/src/main/java/com/baeldung/scheduled/Counter.java b/testing-libraries/spring-testing/src/main/java/com/baeldung/scheduled/Counter.java similarity index 100% rename from testing-modules/spring-testing/src/main/java/com/baeldung/scheduled/Counter.java rename to testing-libraries/spring-testing/src/main/java/com/baeldung/scheduled/Counter.java diff --git a/testing-modules/spring-testing/src/main/java/com/baeldung/testpropertysource/ClassUsingProperty.java b/testing-libraries/spring-testing/src/main/java/com/baeldung/testpropertysource/ClassUsingProperty.java similarity index 100% rename from testing-modules/spring-testing/src/main/java/com/baeldung/testpropertysource/ClassUsingProperty.java rename to testing-libraries/spring-testing/src/main/java/com/baeldung/testpropertysource/ClassUsingProperty.java diff --git a/testing-modules/spring-testing/src/main/java/org/baeldung/mockito/repository/User.java b/testing-libraries/spring-testing/src/main/java/org/baeldung/mockito/repository/User.java similarity index 100% rename from testing-modules/spring-testing/src/main/java/org/baeldung/mockito/repository/User.java rename to testing-libraries/spring-testing/src/main/java/org/baeldung/mockito/repository/User.java diff --git a/testing-modules/spring-testing/src/main/java/org/baeldung/mockito/repository/UserRepository.java b/testing-libraries/spring-testing/src/main/java/org/baeldung/mockito/repository/UserRepository.java similarity index 100% rename from testing-modules/spring-testing/src/main/java/org/baeldung/mockito/repository/UserRepository.java rename to testing-libraries/spring-testing/src/main/java/org/baeldung/mockito/repository/UserRepository.java diff --git a/testing-modules/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/Employee.java b/testing-libraries/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/Employee.java similarity index 94% rename from testing-modules/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/Employee.java rename to testing-libraries/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/Employee.java index 0677b05d66..8d4eeb57c4 100644 --- a/testing-modules/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/Employee.java +++ b/testing-libraries/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/Employee.java @@ -1,23 +1,23 @@ -package org.baeldung.reflectiontestutils.repository; - -public class Employee { - private Integer id; - private String name; - - public Integer getId() { - return id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - private String employeeToString() { - return "id: " + getId() + "; name: " + getName(); - } - -} +package org.baeldung.reflectiontestutils.repository; + +public class Employee { + private Integer id; + private String name; + + public Integer getId() { + return id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + private String employeeToString() { + return "id: " + getId() + "; name: " + getName(); + } + +} diff --git a/testing-modules/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/EmployeeService.java b/testing-libraries/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/EmployeeService.java similarity index 96% rename from testing-modules/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/EmployeeService.java rename to testing-libraries/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/EmployeeService.java index 699ec3236c..d28745e2ab 100644 --- a/testing-modules/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/EmployeeService.java +++ b/testing-libraries/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/EmployeeService.java @@ -1,14 +1,14 @@ -package org.baeldung.reflectiontestutils.repository; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -@Component -public class EmployeeService { - @Autowired - private HRService hrService; - - public String findEmployeeStatus(Integer employeeId) { - return "Employee " + employeeId + " status: " + hrService.getEmployeeStatus(employeeId); - } -} +package org.baeldung.reflectiontestutils.repository; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component +public class EmployeeService { + @Autowired + private HRService hrService; + + public String findEmployeeStatus(Integer employeeId) { + return "Employee " + employeeId + " status: " + hrService.getEmployeeStatus(employeeId); + } +} diff --git a/testing-modules/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/HRService.java b/testing-libraries/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/HRService.java similarity index 95% rename from testing-modules/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/HRService.java rename to testing-libraries/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/HRService.java index e693aca764..13a5973ee8 100644 --- a/testing-modules/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/HRService.java +++ b/testing-libraries/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/HRService.java @@ -1,11 +1,11 @@ -package org.baeldung.reflectiontestutils.repository; - -import org.springframework.stereotype.Component; - -@Component -public class HRService { - - public String getEmployeeStatus(Integer employeeId) { - return "Inactive"; - } -} +package org.baeldung.reflectiontestutils.repository; + +import org.springframework.stereotype.Component; + +@Component +public class HRService { + + public String getEmployeeStatus(Integer employeeId) { + return "Inactive"; + } +} diff --git a/testing-modules/spring-testing/src/main/resources/logback.xml b/testing-libraries/spring-testing/src/main/resources/logback.xml similarity index 100% rename from testing-modules/spring-testing/src/main/resources/logback.xml rename to testing-libraries/spring-testing/src/main/resources/logback.xml diff --git a/testing-modules/spring-testing/src/test/java/com/baeldung/controller/parameterized/RoleControllerIntegrationTest.java b/testing-libraries/spring-testing/src/test/java/com/baeldung/controller/parameterized/RoleControllerIntegrationTest.java similarity index 100% rename from testing-modules/spring-testing/src/test/java/com/baeldung/controller/parameterized/RoleControllerIntegrationTest.java rename to testing-libraries/spring-testing/src/test/java/com/baeldung/controller/parameterized/RoleControllerIntegrationTest.java diff --git a/testing-modules/spring-testing/src/test/java/com/baeldung/controller/parameterized/RoleControllerParameterizedClassRuleIntegrationTest.java b/testing-libraries/spring-testing/src/test/java/com/baeldung/controller/parameterized/RoleControllerParameterizedClassRuleIntegrationTest.java similarity index 100% rename from testing-modules/spring-testing/src/test/java/com/baeldung/controller/parameterized/RoleControllerParameterizedClassRuleIntegrationTest.java rename to testing-libraries/spring-testing/src/test/java/com/baeldung/controller/parameterized/RoleControllerParameterizedClassRuleIntegrationTest.java diff --git a/testing-modules/spring-testing/src/test/java/com/baeldung/controller/parameterized/RoleControllerParameterizedIntegrationTest.java b/testing-libraries/spring-testing/src/test/java/com/baeldung/controller/parameterized/RoleControllerParameterizedIntegrationTest.java similarity index 100% rename from testing-modules/spring-testing/src/test/java/com/baeldung/controller/parameterized/RoleControllerParameterizedIntegrationTest.java rename to testing-libraries/spring-testing/src/test/java/com/baeldung/controller/parameterized/RoleControllerParameterizedIntegrationTest.java diff --git a/testing-modules/spring-testing/src/test/java/com/baeldung/overrideproperties/ContextPropertySourceResolverIntegrationTest.java b/testing-libraries/spring-testing/src/test/java/com/baeldung/overrideproperties/ContextPropertySourceResolverIntegrationTest.java similarity index 100% rename from testing-modules/spring-testing/src/test/java/com/baeldung/overrideproperties/ContextPropertySourceResolverIntegrationTest.java rename to testing-libraries/spring-testing/src/test/java/com/baeldung/overrideproperties/ContextPropertySourceResolverIntegrationTest.java diff --git a/testing-modules/spring-testing/src/test/java/com/baeldung/overrideproperties/ProfilePropertySourceResolverIntegrationTest.java b/testing-libraries/spring-testing/src/test/java/com/baeldung/overrideproperties/ProfilePropertySourceResolverIntegrationTest.java similarity index 100% rename from testing-modules/spring-testing/src/test/java/com/baeldung/overrideproperties/ProfilePropertySourceResolverIntegrationTest.java rename to testing-libraries/spring-testing/src/test/java/com/baeldung/overrideproperties/ProfilePropertySourceResolverIntegrationTest.java diff --git a/testing-modules/spring-testing/src/test/java/com/baeldung/overrideproperties/PropertyOverrideContextInitializer.java b/testing-libraries/spring-testing/src/test/java/com/baeldung/overrideproperties/PropertyOverrideContextInitializer.java similarity index 100% rename from testing-modules/spring-testing/src/test/java/com/baeldung/overrideproperties/PropertyOverrideContextInitializer.java rename to testing-libraries/spring-testing/src/test/java/com/baeldung/overrideproperties/PropertyOverrideContextInitializer.java diff --git a/testing-modules/spring-testing/src/test/java/com/baeldung/overrideproperties/SpringBootPropertySourceResolverIntegrationTest.java b/testing-libraries/spring-testing/src/test/java/com/baeldung/overrideproperties/SpringBootPropertySourceResolverIntegrationTest.java similarity index 100% rename from testing-modules/spring-testing/src/test/java/com/baeldung/overrideproperties/SpringBootPropertySourceResolverIntegrationTest.java rename to testing-libraries/spring-testing/src/test/java/com/baeldung/overrideproperties/SpringBootPropertySourceResolverIntegrationTest.java diff --git a/testing-modules/spring-testing/src/test/java/com/baeldung/overrideproperties/TestResourcePropertySourceResolverIntegrationTest.java b/testing-libraries/spring-testing/src/test/java/com/baeldung/overrideproperties/TestResourcePropertySourceResolverIntegrationTest.java similarity index 100% rename from testing-modules/spring-testing/src/test/java/com/baeldung/overrideproperties/TestResourcePropertySourceResolverIntegrationTest.java rename to testing-libraries/spring-testing/src/test/java/com/baeldung/overrideproperties/TestResourcePropertySourceResolverIntegrationTest.java diff --git a/testing-modules/spring-testing/src/test/java/com/baeldung/scheduled/ScheduledAwaitilityIntegrationTest.java b/testing-libraries/spring-testing/src/test/java/com/baeldung/scheduled/ScheduledAwaitilityIntegrationTest.java similarity index 100% rename from testing-modules/spring-testing/src/test/java/com/baeldung/scheduled/ScheduledAwaitilityIntegrationTest.java rename to testing-libraries/spring-testing/src/test/java/com/baeldung/scheduled/ScheduledAwaitilityIntegrationTest.java diff --git a/testing-modules/spring-testing/src/test/java/com/baeldung/scheduled/ScheduledIntegrationTest.java b/testing-libraries/spring-testing/src/test/java/com/baeldung/scheduled/ScheduledIntegrationTest.java similarity index 100% rename from testing-modules/spring-testing/src/test/java/com/baeldung/scheduled/ScheduledIntegrationTest.java rename to testing-libraries/spring-testing/src/test/java/com/baeldung/scheduled/ScheduledIntegrationTest.java diff --git a/testing-modules/spring-testing/src/test/java/com/baeldung/testpropertysource/DefaultTestPropertySourceIntegrationTest.java b/testing-libraries/spring-testing/src/test/java/com/baeldung/testpropertysource/DefaultTestPropertySourceIntegrationTest.java similarity index 100% rename from testing-modules/spring-testing/src/test/java/com/baeldung/testpropertysource/DefaultTestPropertySourceIntegrationTest.java rename to testing-libraries/spring-testing/src/test/java/com/baeldung/testpropertysource/DefaultTestPropertySourceIntegrationTest.java diff --git a/testing-modules/spring-testing/src/test/java/com/baeldung/testpropertysource/LocationTestPropertySourceIntegrationTest.java b/testing-libraries/spring-testing/src/test/java/com/baeldung/testpropertysource/LocationTestPropertySourceIntegrationTest.java similarity index 100% rename from testing-modules/spring-testing/src/test/java/com/baeldung/testpropertysource/LocationTestPropertySourceIntegrationTest.java rename to testing-libraries/spring-testing/src/test/java/com/baeldung/testpropertysource/LocationTestPropertySourceIntegrationTest.java diff --git a/testing-modules/spring-testing/src/test/java/com/baeldung/testpropertysource/PropertiesTestPropertySourceIntegrationTest.java b/testing-libraries/spring-testing/src/test/java/com/baeldung/testpropertysource/PropertiesTestPropertySourceIntegrationTest.java similarity index 100% rename from testing-modules/spring-testing/src/test/java/com/baeldung/testpropertysource/PropertiesTestPropertySourceIntegrationTest.java rename to testing-libraries/spring-testing/src/test/java/com/baeldung/testpropertysource/PropertiesTestPropertySourceIntegrationTest.java diff --git a/testing-modules/spring-testing/src/test/java/org/baeldung/mockito/MockAnnotationUnitTest.java b/testing-libraries/spring-testing/src/test/java/org/baeldung/mockito/MockAnnotationUnitTest.java similarity index 100% rename from testing-modules/spring-testing/src/test/java/org/baeldung/mockito/MockAnnotationUnitTest.java rename to testing-libraries/spring-testing/src/test/java/org/baeldung/mockito/MockAnnotationUnitTest.java diff --git a/testing-modules/spring-testing/src/test/java/org/baeldung/mockito/MockBeanAnnotationIntegrationTest.java b/testing-libraries/spring-testing/src/test/java/org/baeldung/mockito/MockBeanAnnotationIntegrationTest.java similarity index 100% rename from testing-modules/spring-testing/src/test/java/org/baeldung/mockito/MockBeanAnnotationIntegrationTest.java rename to testing-libraries/spring-testing/src/test/java/org/baeldung/mockito/MockBeanAnnotationIntegrationTest.java diff --git a/testing-modules/spring-testing/src/test/java/org/baeldung/reflectiontestutils/ReflectionTestUtilsUnitTest.java b/testing-libraries/spring-testing/src/test/java/org/baeldung/reflectiontestutils/ReflectionTestUtilsUnitTest.java similarity index 97% rename from testing-modules/spring-testing/src/test/java/org/baeldung/reflectiontestutils/ReflectionTestUtilsUnitTest.java rename to testing-libraries/spring-testing/src/test/java/org/baeldung/reflectiontestutils/ReflectionTestUtilsUnitTest.java index 64c7ca19ef..36e5428b58 100644 --- a/testing-modules/spring-testing/src/test/java/org/baeldung/reflectiontestutils/ReflectionTestUtilsUnitTest.java +++ b/testing-libraries/spring-testing/src/test/java/org/baeldung/reflectiontestutils/ReflectionTestUtilsUnitTest.java @@ -1,46 +1,46 @@ -package org.baeldung.reflectiontestutils; - -import static org.junit.Assert.*; -import static org.mockito.Mockito.mock; - -import org.baeldung.reflectiontestutils.repository.Employee; -import org.baeldung.reflectiontestutils.repository.EmployeeService; -import org.baeldung.reflectiontestutils.repository.HRService; -import org.junit.Test; -import org.springframework.test.util.ReflectionTestUtils; - -import static org.mockito.Mockito.when; - -public class ReflectionTestUtilsUnitTest { - - @Test - public void whenNonPublicField_thenReflectionTestUtilsSetField() { - Employee employee = new Employee(); - ReflectionTestUtils.setField(employee, "id", 1); - assertTrue(employee.getId().equals(1)); - - } - - @Test - public void whenNonPublicMethod_thenReflectionTestUtilsInvokeMethod() { - Employee employee = new Employee(); - ReflectionTestUtils.setField(employee, "id", 1); - employee.setName("Smith, John"); - assertTrue(ReflectionTestUtils.invokeMethod(employee, "employeeToString").equals("id: 1; name: Smith, John")); - } - - @Test - public void whenInjectingMockOfDependency_thenReflectionTestUtilsSetField() { - Employee employee = new Employee(); - ReflectionTestUtils.setField(employee, "id", 1); - employee.setName("Smith, John"); - - HRService hrService = mock(HRService.class); - when(hrService.getEmployeeStatus(employee.getId())).thenReturn("Active"); - EmployeeService employeeService = new EmployeeService(); - - // Inject mock into the private field - ReflectionTestUtils.setField(employeeService, "hrService", hrService); - assertEquals("Employee " + employee.getId() + " status: Active", employeeService.findEmployeeStatus(employee.getId())); - } -} +package org.baeldung.reflectiontestutils; + +import static org.junit.Assert.*; +import static org.mockito.Mockito.mock; + +import org.baeldung.reflectiontestutils.repository.Employee; +import org.baeldung.reflectiontestutils.repository.EmployeeService; +import org.baeldung.reflectiontestutils.repository.HRService; +import org.junit.Test; +import org.springframework.test.util.ReflectionTestUtils; + +import static org.mockito.Mockito.when; + +public class ReflectionTestUtilsUnitTest { + + @Test + public void whenNonPublicField_thenReflectionTestUtilsSetField() { + Employee employee = new Employee(); + ReflectionTestUtils.setField(employee, "id", 1); + assertTrue(employee.getId().equals(1)); + + } + + @Test + public void whenNonPublicMethod_thenReflectionTestUtilsInvokeMethod() { + Employee employee = new Employee(); + ReflectionTestUtils.setField(employee, "id", 1); + employee.setName("Smith, John"); + assertTrue(ReflectionTestUtils.invokeMethod(employee, "employeeToString").equals("id: 1; name: Smith, John")); + } + + @Test + public void whenInjectingMockOfDependency_thenReflectionTestUtilsSetField() { + Employee employee = new Employee(); + ReflectionTestUtils.setField(employee, "id", 1); + employee.setName("Smith, John"); + + HRService hrService = mock(HRService.class); + when(hrService.getEmployeeStatus(employee.getId())).thenReturn("Active"); + EmployeeService employeeService = new EmployeeService(); + + // Inject mock into the private field + ReflectionTestUtils.setField(employeeService, "hrService", hrService); + assertEquals("Employee " + employee.getId() + " status: Active", employeeService.findEmployeeStatus(employee.getId())); + } +} diff --git a/testing-modules/spring-testing/src/test/resources/application-test.properties b/testing-libraries/spring-testing/src/test/resources/application-test.properties similarity index 100% rename from testing-modules/spring-testing/src/test/resources/application-test.properties rename to testing-libraries/spring-testing/src/test/resources/application-test.properties diff --git a/testing-modules/spring-testing/src/test/resources/application.properties b/testing-libraries/spring-testing/src/test/resources/application.properties similarity index 100% rename from testing-modules/spring-testing/src/test/resources/application.properties rename to testing-libraries/spring-testing/src/test/resources/application.properties diff --git a/testing-modules/spring-testing/src/test/resources/com/baeldung/testpropertysource/DefaultTestPropertySourceIntegrationTest.properties b/testing-libraries/spring-testing/src/test/resources/com/baeldung/testpropertysource/DefaultTestPropertySourceIntegrationTest.properties similarity index 100% rename from testing-modules/spring-testing/src/test/resources/com/baeldung/testpropertysource/DefaultTestPropertySourceIntegrationTest.properties rename to testing-libraries/spring-testing/src/test/resources/com/baeldung/testpropertysource/DefaultTestPropertySourceIntegrationTest.properties diff --git a/testing-modules/spring-testing/src/test/resources/context-override-application.properties b/testing-libraries/spring-testing/src/test/resources/context-override-application.properties similarity index 100% rename from testing-modules/spring-testing/src/test/resources/context-override-application.properties rename to testing-libraries/spring-testing/src/test/resources/context-override-application.properties diff --git a/testing-modules/spring-testing/src/test/resources/other-location.properties b/testing-libraries/spring-testing/src/test/resources/other-location.properties similarity index 100% rename from testing-modules/spring-testing/src/test/resources/other-location.properties rename to testing-libraries/spring-testing/src/test/resources/other-location.properties diff --git a/testing-modules/test-containers/README.md b/testing-libraries/test-containers/README.md similarity index 100% rename from testing-modules/test-containers/README.md rename to testing-libraries/test-containers/README.md diff --git a/testing-modules/test-containers/pom.xml b/testing-libraries/test-containers/pom.xml similarity index 100% rename from testing-modules/test-containers/pom.xml rename to testing-libraries/test-containers/pom.xml diff --git a/testing-modules/test-containers/src/test/java/com/baeldung/testconainers/DockerComposeContainerLiveTest.java b/testing-libraries/test-containers/src/test/java/com/baeldung/testconainers/DockerComposeContainerLiveTest.java similarity index 100% rename from testing-modules/test-containers/src/test/java/com/baeldung/testconainers/DockerComposeContainerLiveTest.java rename to testing-libraries/test-containers/src/test/java/com/baeldung/testconainers/DockerComposeContainerLiveTest.java diff --git a/testing-modules/test-containers/src/test/java/com/baeldung/testconainers/GenericContainerLiveTest.java b/testing-libraries/test-containers/src/test/java/com/baeldung/testconainers/GenericContainerLiveTest.java similarity index 100% rename from testing-modules/test-containers/src/test/java/com/baeldung/testconainers/GenericContainerLiveTest.java rename to testing-libraries/test-containers/src/test/java/com/baeldung/testconainers/GenericContainerLiveTest.java diff --git a/testing-modules/test-containers/src/test/java/com/baeldung/testconainers/PostgreSqlContainerLiveTest.java b/testing-libraries/test-containers/src/test/java/com/baeldung/testconainers/PostgreSqlContainerLiveTest.java similarity index 100% rename from testing-modules/test-containers/src/test/java/com/baeldung/testconainers/PostgreSqlContainerLiveTest.java rename to testing-libraries/test-containers/src/test/java/com/baeldung/testconainers/PostgreSqlContainerLiveTest.java diff --git a/testing-modules/test-containers/src/test/java/com/baeldung/testconainers/WebDriverContainerLiveTest.java b/testing-libraries/test-containers/src/test/java/com/baeldung/testconainers/WebDriverContainerLiveTest.java similarity index 100% rename from testing-modules/test-containers/src/test/java/com/baeldung/testconainers/WebDriverContainerLiveTest.java rename to testing-libraries/test-containers/src/test/java/com/baeldung/testconainers/WebDriverContainerLiveTest.java diff --git a/testing-modules/test-containers/src/test/resources/test-compose.yml b/testing-libraries/test-containers/src/test/resources/test-compose.yml similarity index 100% rename from testing-modules/test-containers/src/test/resources/test-compose.yml rename to testing-libraries/test-containers/src/test/resources/test-compose.yml diff --git a/testing-modules/testng/README.md b/testing-libraries/testng/README.md similarity index 100% rename from testing-modules/testng/README.md rename to testing-libraries/testng/README.md diff --git a/testing-modules/testng/pom.xml b/testing-libraries/testng/pom.xml similarity index 96% rename from testing-modules/testng/pom.xml rename to testing-libraries/testng/pom.xml index 8389604717..5d0c9f126b 100644 --- a/testing-modules/testng/pom.xml +++ b/testing-libraries/testng/pom.xml @@ -1,48 +1,48 @@ - - - 4.0.0 - testng - 0.1.0-SNAPSHOT - testng - jar - - - com.baeldung - parent-modules - 1.0.0-SNAPSHOT - ../../ - - - - - - org.testng - testng - ${testng.version} - test - - - - - testng - - - src/main/resources - true - - - - - src/main/resources - true - - - - - - - 6.10 - - + + + 4.0.0 + testng + 0.1.0-SNAPSHOT + testng + jar + + + com.baeldung + parent-modules + 1.0.0-SNAPSHOT + ../../ + + + + + + org.testng + testng + ${testng.version} + test + + + + + testng + + + src/main/resources + true + + + + + src/main/resources + true + + + + + + + 6.10 + + \ No newline at end of file diff --git a/testing-modules/testng/src/test/java/com/baeldung/DependentLongRunningUnitTest.java b/testing-libraries/testng/src/test/java/com/baeldung/DependentLongRunningUnitTest.java similarity index 100% rename from testing-modules/testng/src/test/java/com/baeldung/DependentLongRunningUnitTest.java rename to testing-libraries/testng/src/test/java/com/baeldung/DependentLongRunningUnitTest.java diff --git a/testing-modules/testng/src/test/java/com/baeldung/GroupIntegrationTest.java b/testing-libraries/testng/src/test/java/com/baeldung/GroupIntegrationTest.java similarity index 100% rename from testing-modules/testng/src/test/java/com/baeldung/GroupIntegrationTest.java rename to testing-libraries/testng/src/test/java/com/baeldung/GroupIntegrationTest.java diff --git a/testing-modules/testng/src/test/java/com/baeldung/MultiThreadedIntegrationTest.java b/testing-libraries/testng/src/test/java/com/baeldung/MultiThreadedIntegrationTest.java similarity index 100% rename from testing-modules/testng/src/test/java/com/baeldung/MultiThreadedIntegrationTest.java rename to testing-libraries/testng/src/test/java/com/baeldung/MultiThreadedIntegrationTest.java diff --git a/testing-modules/testng/src/test/java/com/baeldung/ParametrizedLongRunningUnitTest.java b/testing-libraries/testng/src/test/java/com/baeldung/ParametrizedLongRunningUnitTest.java similarity index 100% rename from testing-modules/testng/src/test/java/com/baeldung/ParametrizedLongRunningUnitTest.java rename to testing-libraries/testng/src/test/java/com/baeldung/ParametrizedLongRunningUnitTest.java diff --git a/testing-modules/testng/src/test/java/com/baeldung/PriorityLongRunningUnitTest.java b/testing-libraries/testng/src/test/java/com/baeldung/PriorityLongRunningUnitTest.java similarity index 100% rename from testing-modules/testng/src/test/java/com/baeldung/PriorityLongRunningUnitTest.java rename to testing-libraries/testng/src/test/java/com/baeldung/PriorityLongRunningUnitTest.java diff --git a/testing-modules/testng/src/test/java/com/baeldung/RegistrationLongRunningUnitTest.java b/testing-libraries/testng/src/test/java/com/baeldung/RegistrationLongRunningUnitTest.java similarity index 100% rename from testing-modules/testng/src/test/java/com/baeldung/RegistrationLongRunningUnitTest.java rename to testing-libraries/testng/src/test/java/com/baeldung/RegistrationLongRunningUnitTest.java diff --git a/testing-modules/testng/src/test/java/com/baeldung/SignInLongRunningUnitTest.java b/testing-libraries/testng/src/test/java/com/baeldung/SignInLongRunningUnitTest.java similarity index 100% rename from testing-modules/testng/src/test/java/com/baeldung/SignInLongRunningUnitTest.java rename to testing-libraries/testng/src/test/java/com/baeldung/SignInLongRunningUnitTest.java diff --git a/testing-modules/testng/src/test/java/com/baeldung/SimpleLongRunningUnitTest.java b/testing-libraries/testng/src/test/java/com/baeldung/SimpleLongRunningUnitTest.java similarity index 100% rename from testing-modules/testng/src/test/java/com/baeldung/SimpleLongRunningUnitTest.java rename to testing-libraries/testng/src/test/java/com/baeldung/SimpleLongRunningUnitTest.java diff --git a/testing-modules/testng/src/test/java/com/baeldung/SummationServiceIntegrationTest.java b/testing-libraries/testng/src/test/java/com/baeldung/SummationServiceIntegrationTest.java similarity index 100% rename from testing-modules/testng/src/test/java/com/baeldung/SummationServiceIntegrationTest.java rename to testing-libraries/testng/src/test/java/com/baeldung/SummationServiceIntegrationTest.java diff --git a/testing-modules/testng/src/test/java/com/baeldung/TimeOutIntegrationTest.java b/testing-libraries/testng/src/test/java/com/baeldung/TimeOutIntegrationTest.java similarity index 100% rename from testing-modules/testng/src/test/java/com/baeldung/TimeOutIntegrationTest.java rename to testing-libraries/testng/src/test/java/com/baeldung/TimeOutIntegrationTest.java diff --git a/testing-modules/testng/src/test/java/com/baeldung/reports/CustomisedListener.java b/testing-libraries/testng/src/test/java/com/baeldung/reports/CustomisedListener.java similarity index 96% rename from testing-modules/testng/src/test/java/com/baeldung/reports/CustomisedListener.java rename to testing-libraries/testng/src/test/java/com/baeldung/reports/CustomisedListener.java index 1a0ff190e3..669d6a1a4c 100644 --- a/testing-modules/testng/src/test/java/com/baeldung/reports/CustomisedListener.java +++ b/testing-libraries/testng/src/test/java/com/baeldung/reports/CustomisedListener.java @@ -1,67 +1,67 @@ -package com.baeldung.reports; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.testng.ITestContext; -import org.testng.ITestListener; -import org.testng.ITestResult; - -public class CustomisedListener implements ITestListener { - private static final Logger LOGGER = LoggerFactory.getLogger("CUSTOM_LOGS"); - - @Override - public void onFinish(ITestContext context) { - LOGGER.info("PASSED TEST CASES"); - context.getPassedTests() - .getAllResults() - .forEach(result -> { - LOGGER.info(result.getName()); - }); - LOGGER.info("FAILED TEST CASES"); - context.getFailedTests() - .getAllResults() - .forEach(result -> { - LOGGER.info(result.getName()); - }); - LOGGER.info("Test completed on: " + context.getEndDate() - .toString()); - } - - @Override - public void onStart(ITestContext arg0) { - LOGGER.info("Started testing on: " + arg0.getStartDate() - .toString()); - } - - @Override - public void onTestFailedButWithinSuccessPercentage(ITestResult arg0) { - // TODO Auto-generated method stub - - } - - @Override - public void onTestFailure(ITestResult arg0) { - LOGGER.info("Failed : " + arg0.getName()); - - } - - @Override - public void onTestSkipped(ITestResult arg0) { - LOGGER.info("Skipped Test: " + arg0.getName()); - - } - - @Override - public void onTestStart(ITestResult arg0) { - LOGGER.info("Testing: " + arg0.getName()); - - } - - @Override - public void onTestSuccess(ITestResult arg0) { - long timeTaken = ((arg0.getEndMillis() - arg0.getStartMillis())); - LOGGER.info("Tested: " + arg0.getName() + " Time taken:" + timeTaken + " ms"); - - } - -} +package com.baeldung.reports; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.testng.ITestContext; +import org.testng.ITestListener; +import org.testng.ITestResult; + +public class CustomisedListener implements ITestListener { + private static final Logger LOGGER = LoggerFactory.getLogger("CUSTOM_LOGS"); + + @Override + public void onFinish(ITestContext context) { + LOGGER.info("PASSED TEST CASES"); + context.getPassedTests() + .getAllResults() + .forEach(result -> { + LOGGER.info(result.getName()); + }); + LOGGER.info("FAILED TEST CASES"); + context.getFailedTests() + .getAllResults() + .forEach(result -> { + LOGGER.info(result.getName()); + }); + LOGGER.info("Test completed on: " + context.getEndDate() + .toString()); + } + + @Override + public void onStart(ITestContext arg0) { + LOGGER.info("Started testing on: " + arg0.getStartDate() + .toString()); + } + + @Override + public void onTestFailedButWithinSuccessPercentage(ITestResult arg0) { + // TODO Auto-generated method stub + + } + + @Override + public void onTestFailure(ITestResult arg0) { + LOGGER.info("Failed : " + arg0.getName()); + + } + + @Override + public void onTestSkipped(ITestResult arg0) { + LOGGER.info("Skipped Test: " + arg0.getName()); + + } + + @Override + public void onTestStart(ITestResult arg0) { + LOGGER.info("Testing: " + arg0.getName()); + + } + + @Override + public void onTestSuccess(ITestResult arg0) { + long timeTaken = ((arg0.getEndMillis() - arg0.getStartMillis())); + LOGGER.info("Tested: " + arg0.getName() + " Time taken:" + timeTaken + " ms"); + + } + +} diff --git a/testing-modules/testng/src/test/java/com/baeldung/reports/CustomisedReports.java b/testing-libraries/testng/src/test/java/com/baeldung/reports/CustomisedReports.java similarity index 97% rename from testing-modules/testng/src/test/java/com/baeldung/reports/CustomisedReports.java rename to testing-libraries/testng/src/test/java/com/baeldung/reports/CustomisedReports.java index 2c57993e0b..6d53043918 100644 --- a/testing-modules/testng/src/test/java/com/baeldung/reports/CustomisedReports.java +++ b/testing-libraries/testng/src/test/java/com/baeldung/reports/CustomisedReports.java @@ -1,111 +1,111 @@ -package com.baeldung.reports; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.testng.*; -import org.testng.xml.XmlSuite; - -import java.io.*; -import java.nio.file.Files; -import java.nio.file.Paths; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.function.Function; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -import static java.util.stream.Collectors.toList; - -public class CustomisedReports implements IReporter { - private static final Logger LOGGER = LoggerFactory.getLogger(CustomisedReports.class); - - private static final String ROW_TEMPLATE = "%s%s%s%s%s"; - - public void generateReport(List xmlSuites, List suites, String outputDirectory) { - String reportTemplate = initReportTemplate(); - - final String body = suites - .stream() - .flatMap(suiteToResults()) - .collect(Collectors.joining()); - - saveReportTemplate(outputDirectory, reportTemplate.replaceFirst("", String.format("%s", body))); - } - - private Function> suiteToResults() { - return suite -> suite.getResults().entrySet() - .stream() - .flatMap(resultsToRows(suite)); - } - - private Function, Stream> resultsToRows(ISuite suite) { - return e -> { - ITestContext testContext = e.getValue().getTestContext(); - - Set failedTests = testContext - .getFailedTests() - .getAllResults(); - Set passedTests = testContext - .getPassedTests() - .getAllResults(); - Set skippedTests = testContext - .getSkippedTests() - .getAllResults(); - - String suiteName = suite.getName(); - - return Stream - .of(failedTests, passedTests, skippedTests) - .flatMap(results -> generateReportRows(e.getKey(), suiteName, results).stream()); - }; - } - - private List generateReportRows(String testName, String suiteName, Set allTestResults) { - return allTestResults.stream() - .map(testResultToResultRow(testName, suiteName)) - .collect(toList()); - } - - private Function testResultToResultRow(String testName, String suiteName) { - return testResult -> { - switch (testResult.getStatus()) { - case ITestResult.FAILURE: - return String.format(ROW_TEMPLATE, "danger", suiteName, testName, testResult.getName(), "FAILED", "NA"); - - case ITestResult.SUCCESS: - return String.format(ROW_TEMPLATE, "success", suiteName, testName, testResult.getName(), "PASSED", String.valueOf(testResult.getEndMillis() - testResult.getStartMillis())); - - case ITestResult.SKIP: - return String.format(ROW_TEMPLATE, "warning", suiteName, testName, testResult.getName(), "SKIPPED", "NA"); - - default: - return ""; - } - }; - } - - private String initReportTemplate() { - String template = null; - byte[] reportTemplate; - try { - reportTemplate = Files.readAllBytes(Paths.get("src/test/resources/reportTemplate.html")); - template = new String(reportTemplate, "UTF-8"); - } catch (IOException e) { - LOGGER.error("Problem initializing template", e); - } - return template; - } - - private void saveReportTemplate(String outputDirectory, String reportTemplate) { - new File(outputDirectory).mkdirs(); - try { - PrintWriter reportWriter = new PrintWriter(new BufferedWriter(new FileWriter(new File(outputDirectory, "my-report.html")))); - reportWriter.println(reportTemplate); - reportWriter.flush(); - reportWriter.close(); - } catch (IOException e) { - LOGGER.error("Problem saving template", e); - } - } -} +package com.baeldung.reports; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.testng.*; +import org.testng.xml.XmlSuite; + +import java.io.*; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.function.Function; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +import static java.util.stream.Collectors.toList; + +public class CustomisedReports implements IReporter { + private static final Logger LOGGER = LoggerFactory.getLogger(CustomisedReports.class); + + private static final String ROW_TEMPLATE = "%s%s%s%s%s"; + + public void generateReport(List xmlSuites, List suites, String outputDirectory) { + String reportTemplate = initReportTemplate(); + + final String body = suites + .stream() + .flatMap(suiteToResults()) + .collect(Collectors.joining()); + + saveReportTemplate(outputDirectory, reportTemplate.replaceFirst("", String.format("%s", body))); + } + + private Function> suiteToResults() { + return suite -> suite.getResults().entrySet() + .stream() + .flatMap(resultsToRows(suite)); + } + + private Function, Stream> resultsToRows(ISuite suite) { + return e -> { + ITestContext testContext = e.getValue().getTestContext(); + + Set failedTests = testContext + .getFailedTests() + .getAllResults(); + Set passedTests = testContext + .getPassedTests() + .getAllResults(); + Set skippedTests = testContext + .getSkippedTests() + .getAllResults(); + + String suiteName = suite.getName(); + + return Stream + .of(failedTests, passedTests, skippedTests) + .flatMap(results -> generateReportRows(e.getKey(), suiteName, results).stream()); + }; + } + + private List generateReportRows(String testName, String suiteName, Set allTestResults) { + return allTestResults.stream() + .map(testResultToResultRow(testName, suiteName)) + .collect(toList()); + } + + private Function testResultToResultRow(String testName, String suiteName) { + return testResult -> { + switch (testResult.getStatus()) { + case ITestResult.FAILURE: + return String.format(ROW_TEMPLATE, "danger", suiteName, testName, testResult.getName(), "FAILED", "NA"); + + case ITestResult.SUCCESS: + return String.format(ROW_TEMPLATE, "success", suiteName, testName, testResult.getName(), "PASSED", String.valueOf(testResult.getEndMillis() - testResult.getStartMillis())); + + case ITestResult.SKIP: + return String.format(ROW_TEMPLATE, "warning", suiteName, testName, testResult.getName(), "SKIPPED", "NA"); + + default: + return ""; + } + }; + } + + private String initReportTemplate() { + String template = null; + byte[] reportTemplate; + try { + reportTemplate = Files.readAllBytes(Paths.get("src/test/resources/reportTemplate.html")); + template = new String(reportTemplate, "UTF-8"); + } catch (IOException e) { + LOGGER.error("Problem initializing template", e); + } + return template; + } + + private void saveReportTemplate(String outputDirectory, String reportTemplate) { + new File(outputDirectory).mkdirs(); + try { + PrintWriter reportWriter = new PrintWriter(new BufferedWriter(new FileWriter(new File(outputDirectory, "my-report.html")))); + reportWriter.println(reportTemplate); + reportWriter.flush(); + reportWriter.close(); + } catch (IOException e) { + LOGGER.error("Problem saving template", e); + } + } +} diff --git a/testing-modules/testng/src/test/resources/logback.xml b/testing-libraries/testng/src/test/resources/logback.xml similarity index 94% rename from testing-modules/testng/src/test/resources/logback.xml rename to testing-libraries/testng/src/test/resources/logback.xml index 035520aa15..ec0dc2469a 100644 --- a/testing-modules/testng/src/test/resources/logback.xml +++ b/testing-libraries/testng/src/test/resources/logback.xml @@ -1,19 +1,19 @@ - - - - - web - %date [%thread] %-5level %logger{36} - %message%n - - - - - - - - - - - - - + + + + + web - %date [%thread] %-5level %logger{36} - %message%n + + + + + + + + + + + + + \ No newline at end of file diff --git a/testing-modules/testng/src/test/resources/parametrized_testng.xml b/testing-libraries/testng/src/test/resources/parametrized_testng.xml similarity index 95% rename from testing-modules/testng/src/test/resources/parametrized_testng.xml rename to testing-libraries/testng/src/test/resources/parametrized_testng.xml index d3a9a6dc51..1a9266dd59 100644 --- a/testing-modules/testng/src/test/resources/parametrized_testng.xml +++ b/testing-libraries/testng/src/test/resources/parametrized_testng.xml @@ -1,13 +1,13 @@ - - - - - - - - - - - - + + + + + + + + + + + + \ No newline at end of file diff --git a/testing-modules/testng/src/test/resources/reportTemplate.html b/testing-libraries/testng/src/test/resources/reportTemplate.html similarity index 100% rename from testing-modules/testng/src/test/resources/reportTemplate.html rename to testing-libraries/testng/src/test/resources/reportTemplate.html diff --git a/testing-modules/testng/src/test/resources/test_group.xml b/testing-libraries/testng/src/test/resources/test_group.xml similarity index 94% rename from testing-modules/testng/src/test/resources/test_group.xml rename to testing-libraries/testng/src/test/resources/test_group.xml index 3f51c039d6..34a825855c 100644 --- a/testing-modules/testng/src/test/resources/test_group.xml +++ b/testing-libraries/testng/src/test/resources/test_group.xml @@ -1,13 +1,13 @@ - - - - - - - - - - - - + + + + + + + + + + + + \ No newline at end of file diff --git a/testing-modules/testng/src/test/resources/test_setup.xml b/testing-libraries/testng/src/test/resources/test_setup.xml similarity index 95% rename from testing-modules/testng/src/test/resources/test_setup.xml rename to testing-libraries/testng/src/test/resources/test_setup.xml index dea9d9bf5a..8e91349b0a 100644 --- a/testing-modules/testng/src/test/resources/test_setup.xml +++ b/testing-libraries/testng/src/test/resources/test_setup.xml @@ -1,17 +1,17 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/testing-modules/testng/src/test/resources/test_suite.xml b/testing-libraries/testng/src/test/resources/test_suite.xml similarity index 96% rename from testing-modules/testng/src/test/resources/test_suite.xml rename to testing-libraries/testng/src/test/resources/test_suite.xml index 7a01f1af08..8b66799c4e 100644 --- a/testing-modules/testng/src/test/resources/test_suite.xml +++ b/testing-libraries/testng/src/test/resources/test_suite.xml @@ -1,13 +1,13 @@ - - - - - - - - - - - - + + + + + + + + + + + + \ No newline at end of file diff --git a/testing-modules/xmlunit-2/README.md b/testing-libraries/xmlunit-2/README.md similarity index 100% rename from testing-modules/xmlunit-2/README.md rename to testing-libraries/xmlunit-2/README.md diff --git a/testing-modules/xmlunit-2/pom.xml b/testing-libraries/xmlunit-2/pom.xml similarity index 100% rename from testing-modules/xmlunit-2/pom.xml rename to testing-libraries/xmlunit-2/pom.xml diff --git a/testing-modules/xmlunit-2/src/main/java/com/baeldung/xmlunit/IgnoreAttributeDifferenceEvaluator.java b/testing-libraries/xmlunit-2/src/main/java/com/baeldung/xmlunit/IgnoreAttributeDifferenceEvaluator.java similarity index 100% rename from testing-modules/xmlunit-2/src/main/java/com/baeldung/xmlunit/IgnoreAttributeDifferenceEvaluator.java rename to testing-libraries/xmlunit-2/src/main/java/com/baeldung/xmlunit/IgnoreAttributeDifferenceEvaluator.java diff --git a/testing-modules/testing/src/main/resources/logback.xml b/testing-libraries/xmlunit-2/src/main/resources/logback.xml similarity index 100% rename from testing-modules/testing/src/main/resources/logback.xml rename to testing-libraries/xmlunit-2/src/main/resources/logback.xml diff --git a/testing-modules/xmlunit-2/src/test/java/com/baeldung/xmlunit/XMLUnitTest.java b/testing-libraries/xmlunit-2/src/test/java/com/baeldung/xmlunit/XMLUnitTest.java similarity index 100% rename from testing-modules/xmlunit-2/src/test/java/com/baeldung/xmlunit/XMLUnitTest.java rename to testing-libraries/xmlunit-2/src/test/java/com/baeldung/xmlunit/XMLUnitTest.java diff --git a/testing-modules/xmlunit-2/src/test/resources/control.xml b/testing-libraries/xmlunit-2/src/test/resources/control.xml similarity index 100% rename from testing-modules/xmlunit-2/src/test/resources/control.xml rename to testing-libraries/xmlunit-2/src/test/resources/control.xml diff --git a/testing-modules/xmlunit-2/src/test/resources/students.xml b/testing-libraries/xmlunit-2/src/test/resources/students.xml similarity index 100% rename from testing-modules/xmlunit-2/src/test/resources/students.xml rename to testing-libraries/xmlunit-2/src/test/resources/students.xml diff --git a/testing-modules/xmlunit-2/src/test/resources/students.xsd b/testing-libraries/xmlunit-2/src/test/resources/students.xsd similarity index 100% rename from testing-modules/xmlunit-2/src/test/resources/students.xsd rename to testing-libraries/xmlunit-2/src/test/resources/students.xsd diff --git a/testing-modules/xmlunit-2/src/test/resources/students_with_error.xml b/testing-libraries/xmlunit-2/src/test/resources/students_with_error.xml similarity index 100% rename from testing-modules/xmlunit-2/src/test/resources/students_with_error.xml rename to testing-libraries/xmlunit-2/src/test/resources/students_with_error.xml diff --git a/testing-modules/xmlunit-2/src/test/resources/teachers.xml b/testing-libraries/xmlunit-2/src/test/resources/teachers.xml similarity index 100% rename from testing-modules/xmlunit-2/src/test/resources/teachers.xml rename to testing-libraries/xmlunit-2/src/test/resources/teachers.xml diff --git a/testing-modules/xmlunit-2/src/test/resources/test.xml b/testing-libraries/xmlunit-2/src/test/resources/test.xml similarity index 100% rename from testing-modules/xmlunit-2/src/test/resources/test.xml rename to testing-libraries/xmlunit-2/src/test/resources/test.xml diff --git a/testing-modules/groovy-spock/report-2019-03-29.json b/testing-modules/groovy-spock/report-2019-03-29.json deleted file mode 100644 index 85f0b261fb..0000000000 --- a/testing-modules/groovy-spock/report-2019-03-29.json +++ /dev/null @@ -1,402 +0,0 @@ -loadLogFile([{ - "package": "mocks", - "name": "ExampleSpockTest", - "start": 1553898111660, - "features": [ - { - "name": "should calculate character occurrences in given string", - "start": 1553898111662, - "end": 1553898111699, - "result": "passed", - "attachments": [ - - ] - } - ], - "end": 1553898111709, - "result": "passed", - "attachments": [ - - ] -}]) - -loadLogFile([{ - "package": "mocks", - "name": "ItemServiceTest", - "start": 1553898111714, - "features": [ - { - "name": "should spy on EventPublisher method call", - "start": 1553898111714, - "output": [ - "I've published: item-id\n" - ], - "end": 1553898112250, - "result": "passed", - "attachments": [ - - ] - }, - { - "name": "should return items", - "start": 1553898112250, - "end": 1553898112260, - "result": "passed", - "attachments": [ - - ] - }, - { - "name": "should publish events about new non-empty saved offers", - "start": 1553898112260, - "end": 1553898112267, - "result": "passed", - "attachments": [ - - ] - }, - { - "name": "should return different items for different ids lists", - "start": 1553898112267, - "end": 1553898112280, - "result": "passed", - "attachments": [ - - ] - }, - { - "name": "should throw ExternalItemProviderException when ItemProvider fails", - "start": 1553898112281, - "end": 1553898112294, - "result": "passed", - "attachments": [ - - ] - }, - { - "name": "should return different items on subsequent call", - "start": 1553898112294, - "narrative": "When method is called for the first time\nThen empty list is returned\nWhen method is called for the second time\nThen item with id=1 is returned\nWhen method is called for the thirdtime\nThen item with id=2 is returned", - "end": 1553898112298, - "result": "passed", - "attachments": [ - - ] - }, - { - "name": "should return items sorted by name", - "start": 1553898112299, - "end": 1553898112307, - "result": "passed", - "attachments": [ - - ] - } - ], - "end": 1553898112310, - "result": "passed", - "attachments": [ - - ] -}]) - -loadLogFile([{ - "package": "FirstSpecification", - "name": "FirstSpecification", - "start": 1553898112314, - "features": [ - { - "name": "Should verify notify was called", - "start": 1553898112314, - "end": 1553898112324, - "result": "passed", - "attachments": [ - - ] - }, - { - "name": "Should return true value for mock", - "start": 1553898112325, - "end": 1553898112344, - "result": "passed", - "attachments": [ - - ] - }, - { - "name": "Should return default value for mock", - "start": 1553898112344, - "end": 1553898112347, - "result": "passed", - "attachments": [ - - ] - }, - { - "name": "numbers to the power of two", - "start": 1553898112347, - "end": 1553898112358, - "result": "passed", - "attachments": [ - - ] - }, - { - "name": "Should get an index out of bounds when removing a non-existent item", - "start": 1553898112358, - "end": 1553898112364, - "result": "passed", - "attachments": [ - - ] - }, - { - "name": "Should be able to remove from list", - "start": 1553898112364, - "end": 1553898112366, - "result": "passed", - "attachments": [ - - ] - }, - { - "name": "two plus two should equal four", - "start": 1553898112366, - "end": 1553898112368, - "result": "passed", - "attachments": [ - - ] - }, - { - "name": "one plus one should equal two", - "start": 1553898112368, - "end": 1553898112391, - "result": "passed", - "attachments": [ - - ] - } - ], - "end": 1553898112394, - "result": "passed", - "attachments": [ - - ] -}]) - -loadLogFile([{ - "package": "extensions", - "name": "IgnoreTest", - "start": 1553898112395, - "end": 1553898112395, - "result": "skipped" -}]) - -loadLogFile([{ - "package": "extensions", - "name": "RetryTest", - "start": 1553898112403, - "end": 1553898112405, - "result": "passed", - "attachments": [ - - ] -}]) - -loadLogFile([{ - "package": "extensions", - "name": "This title is easy to read for humans", - "start": 1553898112407, - "end": 1553898112408, - "result": "passed", - "attachments": [ - - ] -}]) - -loadLogFile([{ - "package": "extensions", - "name": "SeeTest", - "start": 1553898112409, - "end": 1553898112411, - "result": "passed", - "attachments": [ - - ] -}]) - -loadLogFile([{ - "package": "extensions", - "name": "StepwiseTest", - "start": 1553898112422, - "end": 1553898112423, - "result": "passed", - "attachments": [ - - ] -}]) - -loadLogFile([{ - "package": "extensions", - "name": "NarrativeDescriptionTest", - "start": 1553898112427, - "narrative": "as a user\n i want to save favourite items \n and then get the list of them", - "end": 1553898112433, - "result": "passed", - "attachments": [ - - ] -}]) - -loadLogFile([{ - "package": "extensions", - "name": "SubjectTest", - "start": 1553898112434, - "end": 1553898112436, - "result": "passed", - "attachments": [ - - ] -}]) - -loadLogFile([{ - "package": "extensions", - "name": "IgnoreRestTest", - "start": 1553898112437, - "end": 1553898112437, - "result": "passed", - "attachments": [ - - ] -}]) - -loadLogFile([{ - "package": "extensions", - "name": "StackTraceTest", - "start": 1553898112438, - "features": [ - { - "name": "stacktrace", - "start": 1553898112438, - "exceptions": [ - "java.lang.RuntimeException: blabla\n\tat extensions.StackTraceTest.stacktrace(StackTraceTest.groovy:10)\n" - ], - "end": 1553898112455, - "result": "failed", - "attachments": [ - - ] - } - ], - "end": 1553898112470, - "result": "failed", - "attachments": [ - - ] -}]) - -loadLogFile([{ - "package": "extensions", - "name": "IgnoreIfTest", - "start": 1553898112471, - "end": 1553898112472, - "result": "passed", - "attachments": [ - - ] -}]) - -loadLogFile([{ - "package": "extensions", - "name": "RequiresTest", - "start": 1553898112473, - "features": [ - { - "name": "I will run only on Windows", - "start": 1553898112474, - "end": 1553898112474, - "result": "skipped" - } - ], - "end": 1553898112476, - "result": "passed", - "attachments": [ - - ] -}]) - -loadLogFile([{ - "package": "extensions", - "name": "IssueTest", - "start": 1553898112477, - "features": [ - { - "name": "I'm using Spock configuration file", - "start": 1553898112477, - "tags": [ - { - "name": "Bug LO-1000", - "key": "issue", - "value": "LO-1000", - "url": "http:\/\/jira.org\/issues\/LO-1000" - } - ], - "end": 1553898112489, - "result": "passed", - "attachments": [ - - ] - } - ], - "end": 1553898112490, - "result": "passed", - "attachments": [ - - ] -}]) - -loadLogFile([{ - "package": "extensions", - "name": "TimeoutTest", - "start": 1553898112491, - "features": [ - { - "name": "I will fail after 200 millis", - "start": 1553898112491, - "end": 1553898112514, - "result": "passed", - "attachments": [ - - ] - } - ], - "end": 1553898112517, - "result": "passed", - "attachments": [ - - ] -}]) - -loadLogFile([{ - "package": "extensions", - "name": "RestoreSystemPropertiesTest", - "start": 1553898112518, - "features": [ - { - "name": "all environment variables will be saved before execution and restored after tests", - "start": 1553898112518, - "end": 1553898112532, - "result": "passed", - "attachments": [ - - ] - } - ], - "end": 1553898112539, - "result": "passed", - "attachments": [ - - ] -}]) - diff --git a/testing-modules/testing/README.md b/testing-modules/testing/README.md deleted file mode 100644 index 135ef1054a..0000000000 --- a/testing-modules/testing/README.md +++ /dev/null @@ -1,24 +0,0 @@ -========= - -## Mutation Testing - -### Relevant Articles: -- [Mutation Testing with PITest](http://www.baeldung.com/java-mutation-testing-with-pitest) -- [Intro to JaCoCo](http://www.baeldung.com/jacoco) -- [AssertJ’s Java 8 Features](http://www.baeldung.com/assertJ-java-8-features) -- [AssertJ for Guava](http://www.baeldung.com/assertJ-for-guava) -- [Introduction to AssertJ](http://www.baeldung.com/introduction-to-assertj) -- [Cucumber and Scenario Outline](http://www.baeldung.com/cucumber-scenario-outline) -- [Testing with Google Truth](http://www.baeldung.com/google-truth) -- [Testing with JGoTesting](http://www.baeldung.com/jgotesting) -- [Introduction to JUnitParams](http://www.baeldung.com/junit-params) -- [Cucumber Java 8 Support](http://www.baeldung.com/cucumber-java-8-support) -- [Introduction to Lambda Behave](http://www.baeldung.com/lambda-behave) -- [Introduction to Jukito](http://www.baeldung.com/jukito) -- [Custom JUnit 4 Test Runners](http://www.baeldung.com/junit-4-custom-runners) -- [Guide to JSpec](http://www.baeldung.com/jspec) -- [Custom Assertions with AssertJ](http://www.baeldung.com/assertj-custom-assertion) -- [Using Conditions with AssertJ Assertions](http://www.baeldung.com/assertj-conditions) -- [A Guide to JavaFaker](https://www.baeldung.com/java-faker) -- [Running JUnit Tests Programmatically, from a Java Application](https://www.baeldung.com/junit-tests-run-programmatically-from-java) -- [AssertJ Exception Assertions](http://www.baeldung.com/assertj-exception-assertion) diff --git a/testing-modules/testing/pom.xml b/testing-modules/testing/pom.xml deleted file mode 100644 index ccfa1070d1..0000000000 --- a/testing-modules/testing/pom.xml +++ /dev/null @@ -1,183 +0,0 @@ - - 4.0.0 - com.baeldung - testing - 0.1-SNAPSHOT - testing - - - com.baeldung - parent-java - 0.0.1-SNAPSHOT - ../../parent-java - - - - - com.insightfullogic - lambda-behave - ${lambda-behave.version} - - - org.assertj - assertj-guava - ${assertj-guava.version} - - - org.assertj - assertj-core - ${assertj-core.version} - test - - - info.cukes - cucumber-junit - ${cucumber.version} - test - - - info.cukes - cucumber-java - ${cucumber.version} - test - - - info.cukes - cucumber-java8 - ${cucumber.version} - test - - - org.pitest - pitest-parent - ${pitest.version} - pom - - - com.google.truth - truth - ${truth.version} - - - com.google.truth.extensions - truth-java8-extension - ${truth.version} - test - - - pl.pragmatists - JUnitParams - ${jUnitParams.version} - test - - - org.jgotesting - jgotesting - ${jgotesting.version} - test - - - org.jukito - jukito - ${jukito.version} - test - - - org.javalite - javalite-common - ${javalite.version} - - - com.github.javafaker - javafaker - ${javafaker.version} - - - - - - - org.pitest - pitest-maven - ${pitest.version} - - - com.baeldung.testing.mutation.* - - - com.baeldung.mutation.test.* - - - - - org.jacoco - jacoco-maven-plugin - ${jacoco.version} - - - - prepare-agent - - - - report - prepare-package - - report - - - - jacoco-check - - check - - - - - PACKAGE - - - LINE - COVEREDRATIO - 0 - - - - - - - - - - org.assertj - assertj-assertions-generator-maven-plugin - ${assertj-generator.version} - - - com.baeldung.testing.assertj.custom.Person - - - - - - - - 1.2.5 - 1.1.10 - 0.7.7.201606060606 - 21.0 - 3.1.0 - 3.9.0 - 2.1.0 - 0.32 - 1.1.0 - 0.12 - 1.4.13 - 0.4 - 3.0.0 - 1.5 - 0.15 - - - diff --git a/testing-modules/xmlunit-2/src/main/resources/logback.xml b/testing-modules/xmlunit-2/src/main/resources/logback.xml deleted file mode 100644 index 7d900d8ea8..0000000000 --- a/testing-modules/xmlunit-2/src/main/resources/logback.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n - - - - - - - - \ No newline at end of file From 58bb3a5119566566a45ede242356441e52e3b568 Mon Sep 17 00:00:00 2001 From: Dhawal Kapil Date: Sat, 31 Aug 2019 17:30:52 +0530 Subject: [PATCH 036/316] BAEL-17355 Fix the integrations tests in spring-boot-properties (#7686) --- .../configurationproperties/DemoApplication.java | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 spring-boot-properties/src/main/java/com/baeldung/configurationproperties/DemoApplication.java diff --git a/spring-boot-properties/src/main/java/com/baeldung/configurationproperties/DemoApplication.java b/spring-boot-properties/src/main/java/com/baeldung/configurationproperties/DemoApplication.java deleted file mode 100644 index 011acaba36..0000000000 --- a/spring-boot-properties/src/main/java/com/baeldung/configurationproperties/DemoApplication.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.baeldung.configurationproperties; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.context.properties.EnableConfigurationProperties; - -@SpringBootApplication -@EnableConfigurationProperties(ConfigProperties.class) -public class DemoApplication { - public static void main(String[] args) { - SpringApplication.run(DemoApplication.class, args); - } -} \ No newline at end of file From a3d7b77c13b170acb53915a53f023778083c35a3 Mon Sep 17 00:00:00 2001 From: Devender Kumar <47500074+kumar-devender@users.noreply.github.com> Date: Sat, 31 Aug 2019 18:08:07 +0200 Subject: [PATCH 037/316] Fix type in method name (#7687) * Added cascading type mudule * fix compile error * updated dependency version in pom * Added BigDecimal validation classes * Updated test cases * Remove syso from test cases * Updated test cases * Added validation group code * Added validation group code * Added validation group code * fix method name --- .../validationgroup/RegistrationForm.java | 20 +++++++++---------- .../RegistrationFormUnitTest.java | 6 +++--- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/javaxval/src/main/java/org/baeldung/javabeanconstraints/validationgroup/RegistrationForm.java b/javaxval/src/main/java/org/baeldung/javabeanconstraints/validationgroup/RegistrationForm.java index 57c06648a7..154d9821b6 100644 --- a/javaxval/src/main/java/org/baeldung/javabeanconstraints/validationgroup/RegistrationForm.java +++ b/javaxval/src/main/java/org/baeldung/javabeanconstraints/validationgroup/RegistrationForm.java @@ -4,24 +4,24 @@ import javax.validation.constraints.Email; import javax.validation.constraints.NotBlank; public class RegistrationForm { - @NotBlank(groups=BasicInfo.class) + @NotBlank(groups = BasicInfo.class) private String firstName; - @NotBlank(groups=BasicInfo.class) + @NotBlank(groups = BasicInfo.class) private String lastName; - @Email(groups=BasicInfo.class) + @Email(groups = BasicInfo.class) private String email; - @NotBlank(groups=BasicInfo.class) + @NotBlank(groups = BasicInfo.class) private String phone; - - @NotBlank(groups=AdvanceInfo.class) + + @NotBlank(groups = AdvanceInfo.class) private String street; - @NotBlank(groups=AdvanceInfo.class) + @NotBlank(groups = AdvanceInfo.class) private String houseNumber; - @NotBlank(groups=AdvanceInfo.class) + @NotBlank(groups = AdvanceInfo.class) private String zipCode; - @NotBlank(groups=AdvanceInfo.class) + @NotBlank(groups = AdvanceInfo.class) private String city; - @NotBlank(groups=AdvanceInfo.class) + @NotBlank(groups = AdvanceInfo.class) private String contry; public String getStreet() { diff --git a/javaxval/src/test/java/org/baeldung/javabeanconstraints/validationgroup/RegistrationFormUnitTest.java b/javaxval/src/test/java/org/baeldung/javabeanconstraints/validationgroup/RegistrationFormUnitTest.java index 91792a0c7e..f8944524f3 100644 --- a/javaxval/src/test/java/org/baeldung/javabeanconstraints/validationgroup/RegistrationFormUnitTest.java +++ b/javaxval/src/test/java/org/baeldung/javabeanconstraints/validationgroup/RegistrationFormUnitTest.java @@ -61,10 +61,10 @@ public class RegistrationFormUnitTest { private RegistrationForm buildRegistrationFormWithAdvanceInfo() { RegistrationForm form = new RegistrationForm(); - return popultaeAdvanceInfo(form); + return populateAdvanceInfo(form); } - private RegistrationForm popultaeAdvanceInfo(RegistrationForm form) { + private RegistrationForm populateAdvanceInfo(RegistrationForm form) { form.setCity("Berlin"); form.setContry("DE"); form.setStreet("alexa str."); @@ -75,6 +75,6 @@ public class RegistrationFormUnitTest { private RegistrationForm buildRegistrationFormWithBasicAndAdvanceInfo() { RegistrationForm form = buildRegistrationFormWithBasicInfo(); - return popultaeAdvanceInfo(form); + return populateAdvanceInfo(form); } } From f7957e2fa8d22ee15772465fe1aa5ec527b7938d Mon Sep 17 00:00:00 2001 From: amit2103 Date: Sat, 31 Aug 2019 22:49:12 +0530 Subject: [PATCH 038/316] [BAEL-16767] - Fix the integrations tests in spring-boot-ops --- spring-boot-ops/pom.xml | 11 ++++++-- .../baeldung/properties/ConfProperties.java | 6 ++--- .../main/resources/external/conf.properties | 6 ++--- .../RestartApplicationIntegrationTest.java | 25 +++++++++++-------- 4 files changed, 30 insertions(+), 18 deletions(-) diff --git a/spring-boot-ops/pom.xml b/spring-boot-ops/pom.xml index f36434b682..f578a24163 100644 --- a/spring-boot-ops/pom.xml +++ b/spring-boot-ops/pom.xml @@ -85,11 +85,17 @@ ${jquery.version} - + org.springframework.cloud spring-cloud-context ${springcloud.version} + + + org.apache.httpcomponents + httpclient + ${httpclient.version} + @@ -190,7 +196,8 @@ 2.2 18.0 3.1.7 - 2.0.2.RELEASE + 2.0.2.RELEASE + 4.5.8 diff --git a/spring-boot-ops/src/main/java/com/baeldung/properties/ConfProperties.java b/spring-boot-ops/src/main/java/com/baeldung/properties/ConfProperties.java index 0b6041bb06..c6413324f3 100644 --- a/spring-boot-ops/src/main/java/com/baeldung/properties/ConfProperties.java +++ b/spring-boot-ops/src/main/java/com/baeldung/properties/ConfProperties.java @@ -6,13 +6,13 @@ import org.springframework.stereotype.Component; @Component public class ConfProperties { - @Value("${url}") + @Value("${db.url}") private String url; - @Value("${username}") + @Value("${db.username}") private String username; - @Value("${password}") + @Value("${db.password}") private String password; public String getUrl() { diff --git a/spring-boot-ops/src/main/resources/external/conf.properties b/spring-boot-ops/src/main/resources/external/conf.properties index cfcd23dc76..944b31cc5c 100644 --- a/spring-boot-ops/src/main/resources/external/conf.properties +++ b/spring-boot-ops/src/main/resources/external/conf.properties @@ -1,4 +1,4 @@ -url=jdbc:postgresql://localhost:5432/ -username=admin -password=root +db.url=jdbc:postgresql://localhost:5432/ +db.username=admin +db.password=root spring.main.allow-bean-definition-overriding=true \ No newline at end of file diff --git a/spring-boot-ops/src/test/java/com/baeldung/restart/RestartApplicationIntegrationTest.java b/spring-boot-ops/src/test/java/com/baeldung/restart/RestartApplicationIntegrationTest.java index 14e80c3ac7..48c876de87 100644 --- a/spring-boot-ops/src/test/java/com/baeldung/restart/RestartApplicationIntegrationTest.java +++ b/spring-boot-ops/src/test/java/com/baeldung/restart/RestartApplicationIntegrationTest.java @@ -2,25 +2,24 @@ package com.baeldung.restart; import static org.junit.Assert.assertEquals; -import org.junit.After; -import org.junit.Before; +import java.io.IOException; +import java.net.ServerSocket; + import org.junit.Test; import org.springframework.boot.test.web.client.TestRestTemplate; -import org.springframework.boot.web.client.RestTemplateBuilder; import org.springframework.http.HttpMethod; import org.springframework.http.ResponseEntity; -import java.time.Duration; - public class RestartApplicationIntegrationTest { private TestRestTemplate restTemplate = new TestRestTemplate(); @Test public void givenBootApp_whenRestart_thenOk() throws Exception { - Application.main(new String[0]); + Integer port = findRandomOpenPortOnAllLocalInterfaces(); + Application.main(new String[] { String.format("--server.port=%d", port) }); - ResponseEntity response = restTemplate.exchange("http://localhost:8080/restart", + ResponseEntity response = restTemplate.exchange(String.format("http://localhost:%d/restart", port), HttpMethod.POST, null, Object.class); assertEquals(200, response.getStatusCode().value()); @@ -28,12 +27,18 @@ public class RestartApplicationIntegrationTest { @Test public void givenBootApp_whenRestartUsingActuator_thenOk() throws Exception { - Application.main(new String[] { "--server.port=8090" }); + Integer port = findRandomOpenPortOnAllLocalInterfaces(); + Application.main(new String[] { String.format("--server.port=%d", port) }); - ResponseEntity response = restTemplate.exchange("http://localhost:8090/restartApp", + ResponseEntity response = restTemplate.exchange(String.format("http://localhost:%d/restartApp", port), HttpMethod.POST, null, Object.class); assertEquals(200, response.getStatusCode().value()); } - + + private Integer findRandomOpenPortOnAllLocalInterfaces() throws IOException { + try (ServerSocket socket = new ServerSocket(0);) { + return socket.getLocalPort(); + } + } } \ No newline at end of file From 92e1ffd7b83c23d98614093ffdc5f5f113e32f24 Mon Sep 17 00:00:00 2001 From: amit2103 Date: Sat, 31 Aug 2019 23:53:31 +0530 Subject: [PATCH 039/316] [BAEL-16635][BAEL-16636] Split or move core-java-modules/core-java-collections-list and core-java-modules/core-java-collections-list-2 --- .../core-java-collections-list-2/README.md | 6 +- .../core-java-collections-list-2/pom.xml | 30 -------- .../core-java-collections-list-3/README.md | 11 +++ .../core-java-collections-list-3/pom.xml | 76 +++++++++++++++++++ .../VerifyAllEqualListElements.java | 0 .../collection/filtering/Employee.java | 0 .../baeldung/java/list/CopyListService.java | 0 .../java/com/baeldung/java/list/Flower.java | 0 .../list/primitive/PrimitiveCollections.java | 0 .../primitive/PrimitivesListPerformance.java | 0 .../src/main/resources/logback.xml | 13 ++++ .../VerifyAllEqualListElementsUnitTest.java | 0 .../baeldung/collection/CollectionsEmpty.java | 0 .../CollectionFilteringUnitTest.java | 0 .../java/list/CopyListServiceUnitTest.java | 0 .../core-java-collections-list/README.md | 2 - pom.xml | 2 + 17 files changed, 103 insertions(+), 37 deletions(-) create mode 100644 core-java-modules/core-java-collections-list-3/README.md create mode 100644 core-java-modules/core-java-collections-list-3/pom.xml rename core-java-modules/{core-java-collections-list-2 => core-java-collections-list-3}/src/main/java/com/baeldung/allequalelements/VerifyAllEqualListElements.java (100%) rename core-java-modules/{core-java-collections-list-2 => core-java-collections-list-3}/src/main/java/com/baeldung/collection/filtering/Employee.java (100%) rename core-java-modules/{core-java-collections-list => core-java-collections-list-3}/src/main/java/com/baeldung/java/list/CopyListService.java (100%) rename core-java-modules/{core-java-collections-list => core-java-collections-list-3}/src/main/java/com/baeldung/java/list/Flower.java (100%) rename core-java-modules/{core-java-collections-list-2 => core-java-collections-list-3}/src/main/java/com/baeldung/list/primitive/PrimitiveCollections.java (100%) rename core-java-modules/{core-java-collections-list-2 => core-java-collections-list-3}/src/main/java/com/baeldung/list/primitive/PrimitivesListPerformance.java (100%) create mode 100644 core-java-modules/core-java-collections-list-3/src/main/resources/logback.xml rename core-java-modules/{core-java-collections-list-2 => core-java-collections-list-3}/src/test/java/com/baeldung/allequalelements/VerifyAllEqualListElementsUnitTest.java (100%) rename core-java-modules/{core-java-collections-list => core-java-collections-list-3}/src/test/java/com/baeldung/collection/CollectionsEmpty.java (100%) rename core-java-modules/{core-java-collections-list-2 => core-java-collections-list-3}/src/test/java/com/baeldung/collection/filtering/CollectionFilteringUnitTest.java (100%) rename core-java-modules/{core-java-collections-list => core-java-collections-list-3}/src/test/java/com/baeldung/java/list/CopyListServiceUnitTest.java (100%) diff --git a/core-java-modules/core-java-collections-list-2/README.md b/core-java-modules/core-java-collections-list-2/README.md index be10a0210c..6192442edd 100644 --- a/core-java-modules/core-java-collections-list-2/README.md +++ b/core-java-modules/core-java-collections-list-2/README.md @@ -10,8 +10,4 @@ - [Java List Initialization in One Line](https://www.baeldung.com/java-init-list-one-line) - [Ways to Iterate Over a List in Java](https://www.baeldung.com/java-iterate-list) - [Flattening Nested Collections in Java](http://www.baeldung.com/java-flatten-nested-collections) -- [Intersection of Two Lists in Java](https://www.baeldung.com/java-lists-intersection) -- [Determine If All Elements Are the Same in a Java List](https://www.baeldung.com/java-list-all-equal) -- [List of Primitive Integer Values in Java](https://www.baeldung.com/java-list-primitive-int) -- [Performance Comparison of Primitive Lists in Java](https://www.baeldung.com/java-list-primitive-performance) -- [Filtering a Java Collection by a List](https://www.baeldung.com/java-filter-collection-by-list) \ No newline at end of file +- [Intersection of Two Lists in Java](https://www.baeldung.com/java-lists-intersection) \ No newline at end of file diff --git a/core-java-modules/core-java-collections-list-2/pom.xml b/core-java-modules/core-java-collections-list-2/pom.xml index d200a3c90c..727de0818a 100644 --- a/core-java-modules/core-java-collections-list-2/pom.xml +++ b/core-java-modules/core-java-collections-list-2/pom.xml @@ -36,41 +36,11 @@ ${lombok.version} provided - - - net.sf.trove4j - trove4j - ${trove4j.version} - - - it.unimi.dsi - fastutil - ${fastutil.version} - - - colt - colt - ${colt.version} - - - - org.openjdk.jmh - jmh-core - ${jmh-core.version} - - - org.openjdk.jmh - jmh-generator-annprocess - ${jmh-core.version} - 4.1 3.8.1 3.11.1 - 3.0.2 - 8.1.0 - 1.2.0 diff --git a/core-java-modules/core-java-collections-list-3/README.md b/core-java-modules/core-java-collections-list-3/README.md new file mode 100644 index 0000000000..267996044c --- /dev/null +++ b/core-java-modules/core-java-collections-list-3/README.md @@ -0,0 +1,11 @@ +========= + +## Core Java Collections List Cookbooks and Examples + +### Relevant Articles: +- [Collections.emptyList() vs. New List Instance](https://www.baeldung.com/java-collections-emptylist-new-list) +- [Copy a List to Another List in Java](http://www.baeldung.com/java-copy-list-to-another) +- [Determine If All Elements Are the Same in a Java List](https://www.baeldung.com/java-list-all-equal) +- [List of Primitive Integer Values in Java](https://www.baeldung.com/java-list-primitive-int) +- [Performance Comparison of Primitive Lists in Java](https://www.baeldung.com/java-list-primitive-performance) +- [Filtering a Java Collection by a List](https://www.baeldung.com/java-filter-collection-by-list) diff --git a/core-java-modules/core-java-collections-list-3/pom.xml b/core-java-modules/core-java-collections-list-3/pom.xml new file mode 100644 index 0000000000..064b65d19e --- /dev/null +++ b/core-java-modules/core-java-collections-list-3/pom.xml @@ -0,0 +1,76 @@ + + 4.0.0 + core-java-collections-list-3 + 0.1.0-SNAPSHOT + core-java-collections-list-3 + jar + + + com.baeldung + parent-java + 0.0.1-SNAPSHOT + ../../parent-java + + + + + org.apache.commons + commons-collections4 + ${commons-collections4.version} + + + org.apache.commons + commons-lang3 + ${commons-lang3.version} + + + org.assertj + assertj-core + ${assertj.version} + test + + + org.projectlombok + lombok + ${lombok.version} + provided + + + + net.sf.trove4j + trove4j + ${trove4j.version} + + + it.unimi.dsi + fastutil + ${fastutil.version} + + + colt + colt + ${colt.version} + + + + org.openjdk.jmh + jmh-core + ${jmh-core.version} + + + org.openjdk.jmh + jmh-generator-annprocess + ${jmh-core.version} + + + + + 4.1 + 3.8.1 + 3.11.1 + 3.0.2 + 8.1.0 + 1.2.0 + + diff --git a/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/allequalelements/VerifyAllEqualListElements.java b/core-java-modules/core-java-collections-list-3/src/main/java/com/baeldung/allequalelements/VerifyAllEqualListElements.java similarity index 100% rename from core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/allequalelements/VerifyAllEqualListElements.java rename to core-java-modules/core-java-collections-list-3/src/main/java/com/baeldung/allequalelements/VerifyAllEqualListElements.java diff --git a/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/collection/filtering/Employee.java b/core-java-modules/core-java-collections-list-3/src/main/java/com/baeldung/collection/filtering/Employee.java similarity index 100% rename from core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/collection/filtering/Employee.java rename to core-java-modules/core-java-collections-list-3/src/main/java/com/baeldung/collection/filtering/Employee.java diff --git a/core-java-modules/core-java-collections-list/src/main/java/com/baeldung/java/list/CopyListService.java b/core-java-modules/core-java-collections-list-3/src/main/java/com/baeldung/java/list/CopyListService.java similarity index 100% rename from core-java-modules/core-java-collections-list/src/main/java/com/baeldung/java/list/CopyListService.java rename to core-java-modules/core-java-collections-list-3/src/main/java/com/baeldung/java/list/CopyListService.java diff --git a/core-java-modules/core-java-collections-list/src/main/java/com/baeldung/java/list/Flower.java b/core-java-modules/core-java-collections-list-3/src/main/java/com/baeldung/java/list/Flower.java similarity index 100% rename from core-java-modules/core-java-collections-list/src/main/java/com/baeldung/java/list/Flower.java rename to core-java-modules/core-java-collections-list-3/src/main/java/com/baeldung/java/list/Flower.java diff --git a/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/list/primitive/PrimitiveCollections.java b/core-java-modules/core-java-collections-list-3/src/main/java/com/baeldung/list/primitive/PrimitiveCollections.java similarity index 100% rename from core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/list/primitive/PrimitiveCollections.java rename to core-java-modules/core-java-collections-list-3/src/main/java/com/baeldung/list/primitive/PrimitiveCollections.java diff --git a/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/list/primitive/PrimitivesListPerformance.java b/core-java-modules/core-java-collections-list-3/src/main/java/com/baeldung/list/primitive/PrimitivesListPerformance.java similarity index 100% rename from core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/list/primitive/PrimitivesListPerformance.java rename to core-java-modules/core-java-collections-list-3/src/main/java/com/baeldung/list/primitive/PrimitivesListPerformance.java diff --git a/core-java-modules/core-java-collections-list-3/src/main/resources/logback.xml b/core-java-modules/core-java-collections-list-3/src/main/resources/logback.xml new file mode 100644 index 0000000000..7d900d8ea8 --- /dev/null +++ b/core-java-modules/core-java-collections-list-3/src/main/resources/logback.xml @@ -0,0 +1,13 @@ + + + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + + + + + + + + \ No newline at end of file diff --git a/core-java-modules/core-java-collections-list-2/src/test/java/com/baeldung/allequalelements/VerifyAllEqualListElementsUnitTest.java b/core-java-modules/core-java-collections-list-3/src/test/java/com/baeldung/allequalelements/VerifyAllEqualListElementsUnitTest.java similarity index 100% rename from core-java-modules/core-java-collections-list-2/src/test/java/com/baeldung/allequalelements/VerifyAllEqualListElementsUnitTest.java rename to core-java-modules/core-java-collections-list-3/src/test/java/com/baeldung/allequalelements/VerifyAllEqualListElementsUnitTest.java diff --git a/core-java-modules/core-java-collections-list/src/test/java/com/baeldung/collection/CollectionsEmpty.java b/core-java-modules/core-java-collections-list-3/src/test/java/com/baeldung/collection/CollectionsEmpty.java similarity index 100% rename from core-java-modules/core-java-collections-list/src/test/java/com/baeldung/collection/CollectionsEmpty.java rename to core-java-modules/core-java-collections-list-3/src/test/java/com/baeldung/collection/CollectionsEmpty.java diff --git a/core-java-modules/core-java-collections-list-2/src/test/java/com/baeldung/collection/filtering/CollectionFilteringUnitTest.java b/core-java-modules/core-java-collections-list-3/src/test/java/com/baeldung/collection/filtering/CollectionFilteringUnitTest.java similarity index 100% rename from core-java-modules/core-java-collections-list-2/src/test/java/com/baeldung/collection/filtering/CollectionFilteringUnitTest.java rename to core-java-modules/core-java-collections-list-3/src/test/java/com/baeldung/collection/filtering/CollectionFilteringUnitTest.java diff --git a/core-java-modules/core-java-collections-list/src/test/java/com/baeldung/java/list/CopyListServiceUnitTest.java b/core-java-modules/core-java-collections-list-3/src/test/java/com/baeldung/java/list/CopyListServiceUnitTest.java similarity index 100% rename from core-java-modules/core-java-collections-list/src/test/java/com/baeldung/java/list/CopyListServiceUnitTest.java rename to core-java-modules/core-java-collections-list-3/src/test/java/com/baeldung/java/list/CopyListServiceUnitTest.java diff --git a/core-java-modules/core-java-collections-list/README.md b/core-java-modules/core-java-collections-list/README.md index 4bc1c5fb57..e83fcce5ff 100644 --- a/core-java-modules/core-java-collections-list/README.md +++ b/core-java-modules/core-java-collections-list/README.md @@ -10,7 +10,5 @@ - [Iterating Backward Through a List](http://www.baeldung.com/java-list-iterate-backwards) - [Remove the First Element from a List](http://www.baeldung.com/java-remove-first-element-from-list) - [How to Find an Element in a List with Java](http://www.baeldung.com/find-list-element-java) -- [Copy a List to Another List in Java](http://www.baeldung.com/java-copy-list-to-another) - [Finding Max/Min of a List or Collection](http://www.baeldung.com/java-collection-min-max) -- [Collections.emptyList() vs. New List Instance](https://www.baeldung.com/java-collections-emptylist-new-list) - [Remove All Occurrences of a Specific Value from a List](https://www.baeldung.com/java-remove-value-from-list) \ No newline at end of file diff --git a/pom.xml b/pom.xml index 005d6b6e2c..6107cb612a 100644 --- a/pom.xml +++ b/pom.xml @@ -395,6 +395,7 @@ core-java-modules/core-java-collections core-java-modules/core-java-collections-list core-java-modules/core-java-collections-list-2 + core-java-modules/core-java-collections-list-3 core-java-modules/core-java-collections-array-list core-java-modules/core-java-collections-set core-java-modules/core-java-concurrency-basic @@ -1117,6 +1118,7 @@ core-java-modules/core-java-collections core-java-modules/core-java-collections-list core-java-modules/core-java-collections-list-2 + core-java-modules/core-java-collections-list-3 core-java-modules/core-java-collections-array-list core-java-modules/core-java-collections-set core-java-modules/core-java-concurrency-basic From ac96aca6f8bda01184b5e9ce4344926c0c55c844 Mon Sep 17 00:00:00 2001 From: Dhawal Kapil Date: Sun, 1 Sep 2019 00:58:28 +0530 Subject: [PATCH 040/316] =?UTF-8?q?BAEL-17342=20Slice=209=20|=20The=20top?= =?UTF-8?q?=20100=20articles=20should=20have=20their=20own=20packa?= =?UTF-8?q?=E2=80=A6=20(#7671)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * BAEL-17342 Slice 9 | The top 100 articles should have their own package in the module * BAEL-17342 Slice 9 | The top 100 articles should have their own package in the module -Updated for junit-assert-exception --- .../baeldung/string/{ => newline}/AddingNewLineToString.java | 2 +- .../SpringResourceIntegrationTest.java | 2 +- .../ExceptionAssertionUnitTest.java | 2 +- .../migration/junit4/ExceptionAssertionUnitTest.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) rename java-strings/src/main/java/com/baeldung/string/{ => newline}/AddingNewLineToString.java (98%) rename spring-core/src/test/java/com/baeldung/{resource => classpathfileaccess}/SpringResourceIntegrationTest.java (99%) rename testing-modules/junit-5-basics/src/test/java/com/baeldung/{exception => assertexception}/ExceptionAssertionUnitTest.java (93%) rename testing-modules/junit-5-basics/src/test/java/com/baeldung/{ => assertexception}/migration/junit4/ExceptionAssertionUnitTest.java (91%) diff --git a/java-strings/src/main/java/com/baeldung/string/AddingNewLineToString.java b/java-strings/src/main/java/com/baeldung/string/newline/AddingNewLineToString.java similarity index 98% rename from java-strings/src/main/java/com/baeldung/string/AddingNewLineToString.java rename to java-strings/src/main/java/com/baeldung/string/newline/AddingNewLineToString.java index b522f7337b..48b71eed12 100644 --- a/java-strings/src/main/java/com/baeldung/string/AddingNewLineToString.java +++ b/java-strings/src/main/java/com/baeldung/string/newline/AddingNewLineToString.java @@ -1,4 +1,4 @@ -package com.baeldung.string; +package com.baeldung.string.newline; public class AddingNewLineToString { diff --git a/spring-core/src/test/java/com/baeldung/resource/SpringResourceIntegrationTest.java b/spring-core/src/test/java/com/baeldung/classpathfileaccess/SpringResourceIntegrationTest.java similarity index 99% rename from spring-core/src/test/java/com/baeldung/resource/SpringResourceIntegrationTest.java rename to spring-core/src/test/java/com/baeldung/classpathfileaccess/SpringResourceIntegrationTest.java index c7a2984045..b57a64a8c6 100644 --- a/spring-core/src/test/java/com/baeldung/resource/SpringResourceIntegrationTest.java +++ b/spring-core/src/test/java/com/baeldung/classpathfileaccess/SpringResourceIntegrationTest.java @@ -1,4 +1,4 @@ -package com.baeldung.resource; +package com.baeldung.classpathfileaccess; import static org.junit.Assert.assertEquals; diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/exception/ExceptionAssertionUnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/assertexception/ExceptionAssertionUnitTest.java similarity index 93% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/exception/ExceptionAssertionUnitTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/assertexception/ExceptionAssertionUnitTest.java index 002aae34a8..1b1c70d824 100644 --- a/testing-modules/junit-5-basics/src/test/java/com/baeldung/exception/ExceptionAssertionUnitTest.java +++ b/testing-modules/junit-5-basics/src/test/java/com/baeldung/assertexception/ExceptionAssertionUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.exception; +package com.baeldung.assertexception; import static org.junit.jupiter.api.Assertions.assertThrows; diff --git a/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/ExceptionAssertionUnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/assertexception/migration/junit4/ExceptionAssertionUnitTest.java similarity index 91% rename from testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/ExceptionAssertionUnitTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/assertexception/migration/junit4/ExceptionAssertionUnitTest.java index afe4af8c4a..62736b0800 100644 --- a/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/ExceptionAssertionUnitTest.java +++ b/testing-modules/junit-5-basics/src/test/java/com/baeldung/assertexception/migration/junit4/ExceptionAssertionUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.migration.junit4; +package com.baeldung.assertexception.migration.junit4; import org.junit.Rule; import org.junit.Test; From f5dcc8e57be6e135057151ef8db5b10fcbb9fe9c Mon Sep 17 00:00:00 2001 From: Dhawal Kapil Date: Sun, 1 Sep 2019 00:59:13 +0530 Subject: [PATCH 041/316] BAEL-17345 Slice 10 | The top 100 articles should have their own package in the module (#7675) --- .../baeldung/{ => javaxval/beanvalidation}/User.java | 2 +- .../beanvalidation}/ValidationIntegrationTest.java | 10 ++++------ .../{spring => security/config}/SecSecurityConfig.java | 2 +- .../java/com/baeldung/security/FormLoginUnitTest.java | 2 +- 4 files changed, 7 insertions(+), 9 deletions(-) rename javaxval/src/main/java/org/baeldung/{ => javaxval/beanvalidation}/User.java (97%) rename javaxval/src/test/java/org/baeldung/{ => javaxval/beanvalidation}/ValidationIntegrationTest.java (97%) rename spring-security-mvc-login/src/main/java/com/baeldung/{spring => security/config}/SecSecurityConfig.java (98%) diff --git a/javaxval/src/main/java/org/baeldung/User.java b/javaxval/src/main/java/org/baeldung/javaxval/beanvalidation/User.java similarity index 97% rename from javaxval/src/main/java/org/baeldung/User.java rename to javaxval/src/main/java/org/baeldung/javaxval/beanvalidation/User.java index e2f2732399..cf80266c9d 100644 --- a/javaxval/src/main/java/org/baeldung/User.java +++ b/javaxval/src/main/java/org/baeldung/javaxval/beanvalidation/User.java @@ -1,4 +1,4 @@ -package org.baeldung; +package org.baeldung.javaxval.beanvalidation; import java.time.LocalDate; import java.util.List; diff --git a/javaxval/src/test/java/org/baeldung/ValidationIntegrationTest.java b/javaxval/src/test/java/org/baeldung/javaxval/beanvalidation/ValidationIntegrationTest.java similarity index 97% rename from javaxval/src/test/java/org/baeldung/ValidationIntegrationTest.java rename to javaxval/src/test/java/org/baeldung/javaxval/beanvalidation/ValidationIntegrationTest.java index 78745a1af2..6639d60ac6 100644 --- a/javaxval/src/test/java/org/baeldung/ValidationIntegrationTest.java +++ b/javaxval/src/test/java/org/baeldung/javaxval/beanvalidation/ValidationIntegrationTest.java @@ -1,20 +1,18 @@ -package org.baeldung; +package org.baeldung.javaxval.beanvalidation; + +import static org.junit.Assert.assertEquals; import java.time.LocalDate; import java.util.Collections; -import java.util.Iterator; import java.util.Set; -import java.util.Optional; - import javax.validation.ConstraintViolation; import javax.validation.Validation; import javax.validation.Validator; import javax.validation.ValidatorFactory; -import static org.junit.Assert.*; -import org.junit.Test; import org.junit.Before; +import org.junit.Test; public class ValidationIntegrationTest { diff --git a/spring-security-mvc-login/src/main/java/com/baeldung/spring/SecSecurityConfig.java b/spring-security-mvc-login/src/main/java/com/baeldung/security/config/SecSecurityConfig.java similarity index 98% rename from spring-security-mvc-login/src/main/java/com/baeldung/spring/SecSecurityConfig.java rename to spring-security-mvc-login/src/main/java/com/baeldung/security/config/SecSecurityConfig.java index 08a83f8633..15fa06aa3e 100644 --- a/spring-security-mvc-login/src/main/java/com/baeldung/spring/SecSecurityConfig.java +++ b/spring-security-mvc-login/src/main/java/com/baeldung/security/config/SecSecurityConfig.java @@ -1,4 +1,4 @@ -package com.baeldung.spring; +package com.baeldung.security.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/spring-security-mvc-login/src/test/java/com/baeldung/security/FormLoginUnitTest.java b/spring-security-mvc-login/src/test/java/com/baeldung/security/FormLoginUnitTest.java index b7d959bf36..01cb8e7b67 100644 --- a/spring-security-mvc-login/src/test/java/com/baeldung/security/FormLoginUnitTest.java +++ b/spring-security-mvc-login/src/test/java/com/baeldung/security/FormLoginUnitTest.java @@ -12,7 +12,7 @@ import org.springframework.test.web.servlet.MvcResult; import org.springframework.test.web.servlet.setup.MockMvcBuilders; import org.springframework.web.context.WebApplicationContext; -import com.baeldung.spring.SecSecurityConfig; +import com.baeldung.security.config.SecSecurityConfig; import javax.servlet.Filter; From 51bd347f6a1a0a627417645e8710c0370094534f Mon Sep 17 00:00:00 2001 From: Dhawal Kapil Date: Sun, 1 Sep 2019 01:00:33 +0530 Subject: [PATCH 042/316] BAEL-16980 Slice 7 | The top 100 articles should have their own package in the module (#7663) --- .../executorservice}/Java8ExecutorServiceIntegrationTest.java | 2 +- .../DateToLocalDateConverter.java | 2 +- .../DateToLocalDateTimeConverter.java | 2 +- .../LocalDateTimeToDateConverter.java | 2 +- .../LocalDateToDateConverter.java | 2 +- .../DateToLocalDateConverterUnitTest.java | 4 ++-- .../DateToLocalDateTimeConverterUnitTest.java | 4 ++-- .../LocalDateTimeToDateConverterUnitTest.java | 4 +++- .../LocalDateToDateConverterUnitTest.java | 4 +++- .../mockito/src/test/java/org/baeldung/mockito/FinalList.java | 2 ++ .../src/test/java/org/baeldung/mockito/MockFinals.java | 2 ++ .../mockito/MockitoConfigExamplesIntegrationTest.java | 2 ++ .../java/org/baeldung/mockito/MockitoMockIntegrationTest.java | 3 +++ .../mockito/MockitoVerifyExamplesIntegrationTest.java | 2 ++ .../mockito/{ => voidmethods}/MockitoVoidMethodsUnitTest.java | 2 +- .../java/org/baeldung/mockito/{ => voidmethods}/MyList.java | 4 ++-- 16 files changed, 29 insertions(+), 14 deletions(-) rename core-java-modules/core-java-concurrency-basic/src/test/java/com/baeldung/{java8 => concurrent/executorservice}/Java8ExecutorServiceIntegrationTest.java (99%) rename java-dates/src/main/java/com/baeldung/{java9/datetime => datetolocaldate}/DateToLocalDateConverter.java (96%) rename java-dates/src/main/java/com/baeldung/{java9/datetime => datetolocaldate}/DateToLocalDateTimeConverter.java (96%) rename java-dates/src/main/java/com/baeldung/{java9/datetime => datetolocaldate}/LocalDateTimeToDateConverter.java (94%) rename java-dates/src/main/java/com/baeldung/{java9/datetime => datetolocaldate}/LocalDateToDateConverter.java (94%) rename java-dates/src/test/java/com/baeldung/{java9/datetime => datetolocaldate}/DateToLocalDateConverterUnitTest.java (96%) rename java-dates/src/test/java/com/baeldung/{java9/datetime => datetolocaldate}/DateToLocalDateTimeConverterUnitTest.java (97%) rename java-dates/src/test/java/com/baeldung/{java9/datetime => datetolocaldate}/LocalDateTimeToDateConverterUnitTest.java (94%) rename java-dates/src/test/java/com/baeldung/{java9/datetime => datetolocaldate}/LocalDateToDateConverterUnitTest.java (93%) rename testing-modules/mockito/src/test/java/org/baeldung/mockito/{ => voidmethods}/MockitoVoidMethodsUnitTest.java (98%) rename testing-modules/mockito/src/test/java/org/baeldung/mockito/{ => voidmethods}/MyList.java (78%) diff --git a/core-java-modules/core-java-concurrency-basic/src/test/java/com/baeldung/java8/Java8ExecutorServiceIntegrationTest.java b/core-java-modules/core-java-concurrency-basic/src/test/java/com/baeldung/concurrent/executorservice/Java8ExecutorServiceIntegrationTest.java similarity index 99% rename from core-java-modules/core-java-concurrency-basic/src/test/java/com/baeldung/java8/Java8ExecutorServiceIntegrationTest.java rename to core-java-modules/core-java-concurrency-basic/src/test/java/com/baeldung/concurrent/executorservice/Java8ExecutorServiceIntegrationTest.java index a1f5b6f1e2..998152c452 100644 --- a/core-java-modules/core-java-concurrency-basic/src/test/java/com/baeldung/java8/Java8ExecutorServiceIntegrationTest.java +++ b/core-java-modules/core-java-concurrency-basic/src/test/java/com/baeldung/concurrent/executorservice/Java8ExecutorServiceIntegrationTest.java @@ -1,4 +1,4 @@ -package com.baeldung.java8; +package com.baeldung.concurrent.executorservice; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; diff --git a/java-dates/src/main/java/com/baeldung/java9/datetime/DateToLocalDateConverter.java b/java-dates/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateConverter.java similarity index 96% rename from java-dates/src/main/java/com/baeldung/java9/datetime/DateToLocalDateConverter.java rename to java-dates/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateConverter.java index c794c57e87..80bccb399a 100644 --- a/java-dates/src/main/java/com/baeldung/java9/datetime/DateToLocalDateConverter.java +++ b/java-dates/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateConverter.java @@ -1,7 +1,7 @@ /** * */ -package com.baeldung.java9.datetime; +package com.baeldung.datetolocaldate; import java.time.Instant; import java.time.LocalDate; diff --git a/java-dates/src/main/java/com/baeldung/java9/datetime/DateToLocalDateTimeConverter.java b/java-dates/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverter.java similarity index 96% rename from java-dates/src/main/java/com/baeldung/java9/datetime/DateToLocalDateTimeConverter.java rename to java-dates/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverter.java index 17ca5b1122..1d1e3b7d92 100644 --- a/java-dates/src/main/java/com/baeldung/java9/datetime/DateToLocalDateTimeConverter.java +++ b/java-dates/src/main/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverter.java @@ -1,7 +1,7 @@ /** * */ -package com.baeldung.java9.datetime; +package com.baeldung.datetolocaldate; import java.time.Instant; import java.time.LocalDateTime; diff --git a/java-dates/src/main/java/com/baeldung/java9/datetime/LocalDateTimeToDateConverter.java b/java-dates/src/main/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverter.java similarity index 94% rename from java-dates/src/main/java/com/baeldung/java9/datetime/LocalDateTimeToDateConverter.java rename to java-dates/src/main/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverter.java index f219dcf038..9a6bb248fa 100644 --- a/java-dates/src/main/java/com/baeldung/java9/datetime/LocalDateTimeToDateConverter.java +++ b/java-dates/src/main/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverter.java @@ -1,7 +1,7 @@ /** * */ -package com.baeldung.java9.datetime; +package com.baeldung.datetolocaldate; import java.time.LocalDateTime; import java.time.ZoneId; diff --git a/java-dates/src/main/java/com/baeldung/java9/datetime/LocalDateToDateConverter.java b/java-dates/src/main/java/com/baeldung/datetolocaldate/LocalDateToDateConverter.java similarity index 94% rename from java-dates/src/main/java/com/baeldung/java9/datetime/LocalDateToDateConverter.java rename to java-dates/src/main/java/com/baeldung/datetolocaldate/LocalDateToDateConverter.java index f9893da5d0..f679ffb77a 100644 --- a/java-dates/src/main/java/com/baeldung/java9/datetime/LocalDateToDateConverter.java +++ b/java-dates/src/main/java/com/baeldung/datetolocaldate/LocalDateToDateConverter.java @@ -1,7 +1,7 @@ /** * */ -package com.baeldung.java9.datetime; +package com.baeldung.datetolocaldate; import java.time.LocalDate; import java.time.ZoneId; diff --git a/java-dates/src/test/java/com/baeldung/java9/datetime/DateToLocalDateConverterUnitTest.java b/java-dates/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateConverterUnitTest.java similarity index 96% rename from java-dates/src/test/java/com/baeldung/java9/datetime/DateToLocalDateConverterUnitTest.java rename to java-dates/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateConverterUnitTest.java index f7f07500f1..b5a54e28eb 100644 --- a/java-dates/src/test/java/com/baeldung/java9/datetime/DateToLocalDateConverterUnitTest.java +++ b/java-dates/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateConverterUnitTest.java @@ -1,7 +1,7 @@ /** * */ -package com.baeldung.java9.datetime; +package com.baeldung.datetolocaldate; import static org.junit.Assert.assertEquals; @@ -12,7 +12,7 @@ import java.util.Date; import org.junit.Test; -import com.baeldung.java9.datetime.DateToLocalDateConverter; +import com.baeldung.datetolocaldate.DateToLocalDateConverter; /** * JUnits for {@link DateToLocalDateConverter} class. diff --git a/java-dates/src/test/java/com/baeldung/java9/datetime/DateToLocalDateTimeConverterUnitTest.java b/java-dates/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverterUnitTest.java similarity index 97% rename from java-dates/src/test/java/com/baeldung/java9/datetime/DateToLocalDateTimeConverterUnitTest.java rename to java-dates/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverterUnitTest.java index 9ad29ea673..e6098cec1c 100644 --- a/java-dates/src/test/java/com/baeldung/java9/datetime/DateToLocalDateTimeConverterUnitTest.java +++ b/java-dates/src/test/java/com/baeldung/datetolocaldate/DateToLocalDateTimeConverterUnitTest.java @@ -1,7 +1,7 @@ /** * */ -package com.baeldung.java9.datetime; +package com.baeldung.datetolocaldate; import static org.junit.Assert.assertEquals; @@ -12,7 +12,7 @@ import java.util.Date; import org.junit.Test; -import com.baeldung.java9.datetime.DateToLocalDateTimeConverter; +import com.baeldung.datetolocaldate.DateToLocalDateTimeConverter; /** * JUnits for {@link DateToLocalDateTimeConverter} class. diff --git a/java-dates/src/test/java/com/baeldung/java9/datetime/LocalDateTimeToDateConverterUnitTest.java b/java-dates/src/test/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverterUnitTest.java similarity index 94% rename from java-dates/src/test/java/com/baeldung/java9/datetime/LocalDateTimeToDateConverterUnitTest.java rename to java-dates/src/test/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverterUnitTest.java index e5a541c546..c8e596c220 100644 --- a/java-dates/src/test/java/com/baeldung/java9/datetime/LocalDateTimeToDateConverterUnitTest.java +++ b/java-dates/src/test/java/com/baeldung/datetolocaldate/LocalDateTimeToDateConverterUnitTest.java @@ -1,7 +1,7 @@ /** * */ -package com.baeldung.java9.datetime; +package com.baeldung.datetolocaldate; import static org.junit.Assert.assertEquals; @@ -11,6 +11,8 @@ import java.util.Date; import org.junit.Test; +import com.baeldung.datetolocaldate.LocalDateTimeToDateConverter; + /** * * JUnits for {@link LocalDateTimeToDateConverter} class. diff --git a/java-dates/src/test/java/com/baeldung/java9/datetime/LocalDateToDateConverterUnitTest.java b/java-dates/src/test/java/com/baeldung/datetolocaldate/LocalDateToDateConverterUnitTest.java similarity index 93% rename from java-dates/src/test/java/com/baeldung/java9/datetime/LocalDateToDateConverterUnitTest.java rename to java-dates/src/test/java/com/baeldung/datetolocaldate/LocalDateToDateConverterUnitTest.java index 4e4dd20f2f..4ff3682158 100644 --- a/java-dates/src/test/java/com/baeldung/java9/datetime/LocalDateToDateConverterUnitTest.java +++ b/java-dates/src/test/java/com/baeldung/datetolocaldate/LocalDateToDateConverterUnitTest.java @@ -1,7 +1,7 @@ /** * */ -package com.baeldung.java9.datetime; +package com.baeldung.datetolocaldate; import static org.junit.Assert.assertEquals; @@ -11,6 +11,8 @@ import java.util.Date; import org.junit.Test; +import com.baeldung.datetolocaldate.LocalDateToDateConverter; + /** * * JUnits for {@link LocalDateToDateConverter} class. diff --git a/testing-modules/mockito/src/test/java/org/baeldung/mockito/FinalList.java b/testing-modules/mockito/src/test/java/org/baeldung/mockito/FinalList.java index c41021f7b6..e01f189f0b 100644 --- a/testing-modules/mockito/src/test/java/org/baeldung/mockito/FinalList.java +++ b/testing-modules/mockito/src/test/java/org/baeldung/mockito/FinalList.java @@ -1,5 +1,7 @@ package org.baeldung.mockito; +import org.baeldung.mockito.voidmethods.MyList; + public final class FinalList extends MyList { @Override diff --git a/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockFinals.java b/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockFinals.java index 5f064e1355..caa456c891 100644 --- a/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockFinals.java +++ b/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockFinals.java @@ -6,6 +6,8 @@ import static org.junit.Assert.assertNotEquals; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; +import org.baeldung.mockito.voidmethods.MyList; + public class MockFinals { @Test diff --git a/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoConfigExamplesIntegrationTest.java b/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoConfigExamplesIntegrationTest.java index 5da86dfb9a..096bbe1ed7 100644 --- a/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoConfigExamplesIntegrationTest.java +++ b/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoConfigExamplesIntegrationTest.java @@ -11,6 +11,8 @@ import static org.mockito.Matchers.anyInt; import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.*; +import org.baeldung.mockito.voidmethods.MyList; + public class MockitoConfigExamplesIntegrationTest { // tests diff --git a/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoMockIntegrationTest.java b/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoMockIntegrationTest.java index 6ec3b34db5..de26642ede 100644 --- a/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoMockIntegrationTest.java +++ b/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoMockIntegrationTest.java @@ -1,6 +1,9 @@ package org.baeldung.mockito; import static org.mockito.Mockito.*; + +import org.baeldung.mockito.voidmethods.MyList; + import static org.junit.Assert.assertThat; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.containsString; diff --git a/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoVerifyExamplesIntegrationTest.java b/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoVerifyExamplesIntegrationTest.java index 418e9693b8..9c71b1fc4f 100644 --- a/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoVerifyExamplesIntegrationTest.java +++ b/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoVerifyExamplesIntegrationTest.java @@ -1,6 +1,8 @@ package org.baeldung.mockito; import com.google.common.collect.Lists; + +import org.baeldung.mockito.voidmethods.MyList; import org.junit.Test; import org.mockito.ArgumentCaptor; import org.mockito.InOrder; diff --git a/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoVoidMethodsUnitTest.java b/testing-modules/mockito/src/test/java/org/baeldung/mockito/voidmethods/MockitoVoidMethodsUnitTest.java similarity index 98% rename from testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoVoidMethodsUnitTest.java rename to testing-modules/mockito/src/test/java/org/baeldung/mockito/voidmethods/MockitoVoidMethodsUnitTest.java index b020338fd9..0393490f9a 100644 --- a/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoVoidMethodsUnitTest.java +++ b/testing-modules/mockito/src/test/java/org/baeldung/mockito/voidmethods/MockitoVoidMethodsUnitTest.java @@ -1,4 +1,4 @@ -package org.baeldung.mockito; +package org.baeldung.mockito.voidmethods; import static org.junit.Assert.assertEquals; import static org.mockito.ArgumentMatchers.any; diff --git a/testing-modules/mockito/src/test/java/org/baeldung/mockito/MyList.java b/testing-modules/mockito/src/test/java/org/baeldung/mockito/voidmethods/MyList.java similarity index 78% rename from testing-modules/mockito/src/test/java/org/baeldung/mockito/MyList.java rename to testing-modules/mockito/src/test/java/org/baeldung/mockito/voidmethods/MyList.java index 4fcddb3164..f28c9b732f 100644 --- a/testing-modules/mockito/src/test/java/org/baeldung/mockito/MyList.java +++ b/testing-modules/mockito/src/test/java/org/baeldung/mockito/voidmethods/MyList.java @@ -1,8 +1,8 @@ -package org.baeldung.mockito; +package org.baeldung.mockito.voidmethods; import java.util.AbstractList; -class MyList extends AbstractList { +public class MyList extends AbstractList { @Override public String get(final int index) { From 9c90f9b9618df34f59c53a5096268b8d3f0c099d Mon Sep 17 00:00:00 2001 From: KevinGilmore Date: Sat, 31 Aug 2019 17:32:49 -0500 Subject: [PATCH 043/316] BAEL-2989 add link in README file (#7693) * BAEL-2246: add link back to article * BAEL-2174: rename core-java-net module to core-java-networking * BAEL-2174: add link back to article * BAEL-2363 BAEL-2337 BAEL-1996 BAEL-2277 add links back to articles * BAEL-2367: add link back to article * BAEL-2335: add link back to article * BAEL-2413: add link back to article * Update README.MD * BAEL-2577: add link back to article * BAEL-2490: add link back to article * BAEL-2471: add link back to article * BAEL-2583: add link back to article * BAEL-2738: add link back to article * BAEL-2711: Add spring-boot-angular module to root pom * BAEL-2544 BAEL-2711 BAEL-2575 BAEL-2657 Add links back to articles * BAEL-2736: Add link back to article * BAEL-2789: Add link back to article * BAEL-2489: add link back to article * BAEL-2840: add link back to article * BAEL-2655: add link back to article * BAEL-2884: add link back to article * BAEL-2985: Fix Spring Boot Apps in spring-data-rest module * BAEL-2898 BAEL-3057 BAEL-3020 add links back to articles * BAEL-3126 BAEL-2463 README * BAEL-2989: add README --- bazel/README.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 bazel/README.md diff --git a/bazel/README.md b/bazel/README.md new file mode 100644 index 0000000000..d1f8f1af5b --- /dev/null +++ b/bazel/README.md @@ -0,0 +1,3 @@ +## Relevant Articles: + +- [Building Java Applications with Bazel](https://www.baeldung.com/bazel-build-tool) From 69bdf2b5fcfa1423585354c1be2486d86f2747b5 Mon Sep 17 00:00:00 2001 From: Anshul Bansal Date: Sun, 1 Sep 2019 15:46:43 +0300 Subject: [PATCH 044/316] BAEL-3190 - Working with web services in Groovy --- core-groovy-2/pom.xml | 5 + .../webservice/WebserviceUnitTest.groovy | 148 ++++++++++++++++++ 2 files changed, 153 insertions(+) create mode 100644 core-groovy-2/src/test/groovy/com/baeldung/webservice/WebserviceUnitTest.groovy diff --git a/core-groovy-2/pom.xml b/core-groovy-2/pom.xml index ba3fd0802b..85f6106e95 100644 --- a/core-groovy-2/pom.xml +++ b/core-groovy-2/pom.xml @@ -48,6 +48,11 @@ ${spock-core.version} test + + com.github.groovy-wslite + groovy-wslite + 1.1.3 + diff --git a/core-groovy-2/src/test/groovy/com/baeldung/webservice/WebserviceUnitTest.groovy b/core-groovy-2/src/test/groovy/com/baeldung/webservice/WebserviceUnitTest.groovy new file mode 100644 index 0000000000..edf2dca33f --- /dev/null +++ b/core-groovy-2/src/test/groovy/com/baeldung/webservice/WebserviceUnitTest.groovy @@ -0,0 +1,148 @@ +package com.baeldung.webservice + +import groovy.json.JsonSlurper +import wslite.rest.ContentType +import wslite.rest.RESTClient +import wslite.rest.RESTClientException +import wslite.soap.SOAPClient +import wslite.soap.SOAPMessageBuilder + +class WebserviceUnitTest extends GroovyTestCase { + + JsonSlurper jsonSlurper = new JsonSlurper() + + static RESTClient client = new RESTClient("https://postman-echo.com") + + static { + client.defaultAcceptHeader = ContentType.JSON + client.httpClient.sslTrustAllCerts = true + } + + void testHttpGetRequest() { + def postmanGet = new URL('https://postman-echo.com/get') + def getConnection = postmanGet.openConnection() + getConnection.requestMethod = 'GET' + assert getConnection.responseCode == 200 + if (getConnection.responseCode == 200) { + assert jsonSlurper.parseText(getConnection.content.text)?.headers?.host == "postman-echo.com" + } + } + + void testHttpPostRequest() { + def postmanPost = new URL('https://postman-echo.com/post') + def query = "q=This is post request form parameter." + def postConnection = postmanPost.openConnection() + postConnection.requestMethod = 'POST' + assert postConnection.responseCode == 200 + } + + void testHttpPostRequestWithParams() { + def postmanPost = new URL('https://postman-echo.com/post') + def form = "param1=This is request parameter." + def postConnection = postmanPost.openConnection() + postConnection.requestMethod = 'POST' + postConnection.doOutput = true + def text + postConnection.with { + outputStream.withWriter { outputStreamWriter -> + outputStreamWriter << form + } + text = content.text + } + assert postConnection.responseCode == 200 + assert jsonSlurper.parseText(text)?.json.param1 == "This is request parameter." + } + + void testRssFeed() { + def rssFeed = new XmlParser().parse("https://news.google.com/rss?hl=en-US&gl=US&ceid=US:en") + def stories = [] + (0..4).each { + def item = rssFeed.channel.item.get(it) + stories << item.title.text() + } + assert stories.size() == 5 + } + + void testAtomFeed() { + def atomFeed = new XmlParser().parse("https://news.google.com/atom?hl=en-US&gl=US&ceid=US:en") + def stories = [] + (0..4).each { + def entry = atomFeed.entry.get(it) + stories << entry.title.text() + } + assert stories.size() == 5 + } + + void testSoapClient() { + def url = "http://www.dataaccess.com/webservicesserver/numberconversion.wso" + def soapClient = new SOAPClient(url) + def message = new SOAPMessageBuilder().build({ + body { + NumberToWords(xmlns: "http://www.dataaccess.com/webservicesserver/") { + ubiNum(1234) + } + } + }) + def response = soapClient.send(message.toString()); + def words = response.NumberToWordsResponse + assert words == "one thousand two hundred and thirty four " + } + + void testRestClientGet() { + def path = "/get" + def response + try { + response = client.get(path: path) + assert response.statusCode == 200 + assert response.json?.headers?.host == "postman-echo.com" + } catch (RESTClientException e) { + assert e?.response?.statusCode != 200 + } + } + + void testRestClientPost() { + def path = "/post" + def params = ["foo":1,"bar":2] + def response + try { + response = client.post(path: path) { + type ContentType.JSON + json params + } + assert response.json?.data == params + } catch (RESTClientException e) { + e.printStackTrace() + assert e?.response?.statusCode != 200 + } + } + + void testBasicAuthentication() { + def path = "/basic-auth" + def response + try { + response = client.get(path: path, headers: ["Authorization": "Basic cG9zdG1hbjpwYXNzd29yZA=="]) + assert response.statusCode == 200 + assert response.json?.authenticated == true + } catch (RESTClientException e) { + assert e?.response?.statusCode != 200 + } + } + + void testOAuth() { + RESTClient oAuthClient = new RESTClient("https://postman-echo.com") + oAuthClient.defaultAcceptHeader = ContentType.JSON + oAuthClient.httpClient.sslTrustAllCerts = true + + def path = "/oauth1" + def params = [oauth_consumer_key: "RKCGzna7bv9YD57c", oauth_signature_method: "HMAC-SHA1", oauth_timestamp:1567089944, oauth_nonce: "URT7v4", oauth_version: 1.0, oauth_signature: 'RGgR/ktDmclkM0ISWaFzebtlO0A='] + def response + try { + response = oAuthClient.get(path: path, query: params) + assert response.statusCode == 200 + assert response.statusMessage == "OK" + assert response.json.status == "pass" + } catch (RESTClientException e) { + assert e?.response?.statusCode != 200 + } + } +} \ No newline at end of file From f29bb940134706877f4df7e5dc5d404188468383 Mon Sep 17 00:00:00 2001 From: Anshul Bansal Date: Sun, 1 Sep 2019 15:48:07 +0300 Subject: [PATCH 045/316] BAEL-3190 - Working with web services in Groovy - pom.xml code indentation --- core-groovy-2/pom.xml | 357 +++++++++++++++++++++--------------------- 1 file changed, 179 insertions(+), 178 deletions(-) diff --git a/core-groovy-2/pom.xml b/core-groovy-2/pom.xml index 85f6106e95..6f2f9bd533 100644 --- a/core-groovy-2/pom.xml +++ b/core-groovy-2/pom.xml @@ -1,189 +1,190 @@ - - 4.0.0 - core-groovy-2 - 1.0-SNAPSHOT - core-groovy-2 - jar + + 4.0.0 + core-groovy-2 + 1.0-SNAPSHOT + core-groovy-2 + jar - - com.baeldung - parent-modules - 1.0.0-SNAPSHOT - + + com.baeldung + parent-modules + 1.0.0-SNAPSHOT + - - - org.apache.commons - commons-lang3 - ${commons-lang3.version} - - - ch.qos.logback - logback-classic - ${logback.version} - - - org.codehaus.groovy - groovy-all - ${groovy.version} - pom - - - org.junit.platform - junit-platform-runner - ${junit.platform.version} - test - - - org.hsqldb - hsqldb - ${hsqldb.version} - test - - - org.spockframework - spock-core - ${spock-core.version} - test - - - com.github.groovy-wslite - groovy-wslite - 1.1.3 + + + org.apache.commons + commons-lang3 + ${commons-lang3.version} - + + ch.qos.logback + logback-classic + ${logback.version} + + + org.codehaus.groovy + groovy-all + ${groovy.version} + pom + + + org.junit.platform + junit-platform-runner + ${junit.platform.version} + test + + + org.hsqldb + hsqldb + ${hsqldb.version} + test + + + org.spockframework + spock-core + ${spock-core.version} + test + + + com.github.groovy-wslite + groovy-wslite + 1.1.3 + + - - src/main/groovy - src/main/java - - - org.codehaus.groovy - groovy-eclipse-compiler - 3.3.0-01 - true - - - maven-compiler-plugin - 3.8.0 - - groovy-eclipse-compiler - ${java.version} - ${java.version} - - - - org.codehaus.groovy - groovy-eclipse-compiler - 3.3.0-01 - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.version}-01 - - - - - maven-failsafe-plugin - ${maven-failsafe-plugin.version} - - - org.junit.platform - junit-platform-surefire-provider - ${junit.platform.version} - - - - - junit5 - - integration-test - verify - - - - **/*Test5.java - - - - - - - maven-surefire-plugin - 2.20.1 - - false - - **/*Test.java - **/*Spec.java - - - - - - org.apache.maven.plugins - maven-assembly-plugin - 3.1.0 - - - - jar-with-dependencies - - - - - com.baeldung.MyJointCompilationApp - - + + src/main/groovy + src/main/java + + + org.codehaus.groovy + groovy-eclipse-compiler + 3.3.0-01 + true + + + maven-compiler-plugin + 3.8.0 + + groovy-eclipse-compiler + ${java.version} + ${java.version} + + + + org.codehaus.groovy + groovy-eclipse-compiler + 3.3.0-01 + + + org.codehaus.groovy + groovy-eclipse-batch + ${groovy.version}-01 + + + + + maven-failsafe-plugin + ${maven-failsafe-plugin.version} + + + org.junit.platform + junit-platform-surefire-provider + ${junit.platform.version} + + + + + junit5 + + integration-test + verify + + + + **/*Test5.java + + + + + + + maven-surefire-plugin + 2.20.1 + + false + + **/*Test.java + **/*Spec.java + + + + + + org.apache.maven.plugins + maven-assembly-plugin + 3.1.0 + + + + jar-with-dependencies + + + + + com.baeldung.MyJointCompilationApp + + - - - - make-assembly - - package - - single - - - - - - + + + + make-assembly + + package + + single + + + + + + - - - central - http://jcenter.bintray.com - - + + + central + http://jcenter.bintray.com + + - - - bintray - Groovy Bintray - https://dl.bintray.com/groovy/maven - - - never - - - false - - - + + + bintray + Groovy Bintray + https://dl.bintray.com/groovy/maven + + + never + + + false + + + - - 1.0.0 - 2.4.0 - 1.1-groovy-2.4 - 3.8.1 - 1.2.3 - 2.5.7 - UTF-8 - + + 1.0.0 + 2.4.0 + 1.1-groovy-2.4 + 3.8.1 + 1.2.3 + 2.5.7 + UTF-8 + From 78e2331c4fc6be1a1e577b8cda7543eb4aba0dc5 Mon Sep 17 00:00:00 2001 From: Anshul Bansal Date: Sun, 1 Sep 2019 15:51:19 +0300 Subject: [PATCH 046/316] BAEL-3190 - Working with web services in Groovy - pom.xml code indentation --- core-groovy-2/pom.xml | 351 +++++++++++++++++++++--------------------- 1 file changed, 175 insertions(+), 176 deletions(-) diff --git a/core-groovy-2/pom.xml b/core-groovy-2/pom.xml index 6f2f9bd533..2ffef7ae94 100644 --- a/core-groovy-2/pom.xml +++ b/core-groovy-2/pom.xml @@ -1,190 +1,189 @@ - - 4.0.0 - core-groovy-2 - 1.0-SNAPSHOT - core-groovy-2 - jar + + 4.0.0 + core-groovy-2 + 1.0-SNAPSHOT + core-groovy-2 + jar - - com.baeldung - parent-modules - 1.0.0-SNAPSHOT - + + com.baeldung + parent-modules + 1.0.0-SNAPSHOT + - - - org.apache.commons - commons-lang3 - ${commons-lang3.version} - - - ch.qos.logback - logback-classic - ${logback.version} - - - org.codehaus.groovy - groovy-all - ${groovy.version} - pom - - - org.junit.platform - junit-platform-runner - ${junit.platform.version} - test - - - org.hsqldb - hsqldb - ${hsqldb.version} - test - - - org.spockframework - spock-core - ${spock-core.version} - test - - + + + org.apache.commons + commons-lang3 + ${commons-lang3.version} + + + ch.qos.logback + logback-classic + ${logback.version} + + + org.codehaus.groovy + groovy-all + ${groovy.version} + pom + + + org.junit.platform + junit-platform-runner + ${junit.platform.version} + test + + + org.hsqldb + hsqldb + ${hsqldb.version} + test + + + org.spockframework + spock-core + ${spock-core.version} + test + + com.github.groovy-wslite groovy-wslite 1.1.3 - + - - src/main/groovy - src/main/java - - - org.codehaus.groovy - groovy-eclipse-compiler - 3.3.0-01 - true - - - maven-compiler-plugin - 3.8.0 - - groovy-eclipse-compiler - ${java.version} - ${java.version} - - - - org.codehaus.groovy - groovy-eclipse-compiler - 3.3.0-01 - - - org.codehaus.groovy - groovy-eclipse-batch - ${groovy.version}-01 - - - - - maven-failsafe-plugin - ${maven-failsafe-plugin.version} - - - org.junit.platform - junit-platform-surefire-provider - ${junit.platform.version} - - - - - junit5 - - integration-test - verify - - - - **/*Test5.java - - - - - - - maven-surefire-plugin - 2.20.1 - - false - - **/*Test.java - **/*Spec.java - - - - - - org.apache.maven.plugins - maven-assembly-plugin - 3.1.0 - - - - jar-with-dependencies - - - - - com.baeldung.MyJointCompilationApp - - + + src/main/groovy + src/main/java + + + org.codehaus.groovy + groovy-eclipse-compiler + 3.3.0-01 + true + + + maven-compiler-plugin + 3.8.0 + + groovy-eclipse-compiler + ${java.version} + ${java.version} + + + + org.codehaus.groovy + groovy-eclipse-compiler + 3.3.0-01 + + + org.codehaus.groovy + groovy-eclipse-batch + ${groovy.version}-01 + + + + + maven-failsafe-plugin + ${maven-failsafe-plugin.version} + + + org.junit.platform + junit-platform-surefire-provider + ${junit.platform.version} + + + + + junit5 + + integration-test + verify + + + + **/*Test5.java + + + + + + + maven-surefire-plugin + 2.20.1 + + false + + **/*Test.java + **/*Spec.java + + + + + + org.apache.maven.plugins + maven-assembly-plugin + 3.1.0 + + + + jar-with-dependencies + + + + + com.baeldung.MyJointCompilationApp + + - - - - make-assembly - - package - - single - - - - - - + + + + make-assembly + + package + + single + + + + + + - - - central - http://jcenter.bintray.com - - + + + central + http://jcenter.bintray.com + + - - - bintray - Groovy Bintray - https://dl.bintray.com/groovy/maven - - - never - - - false - - - + + + bintray + Groovy Bintray + https://dl.bintray.com/groovy/maven + + + never + + + false + + + - - 1.0.0 - 2.4.0 - 1.1-groovy-2.4 - 3.8.1 - 1.2.3 - 2.5.7 - UTF-8 - + + 1.0.0 + 2.4.0 + 1.1-groovy-2.4 + 3.8.1 + 1.2.3 + 2.5.7 + UTF-8 + From e5ff15e4aa07667df47af930f6c30973e9c18ee3 Mon Sep 17 00:00:00 2001 From: Anshul Bansal Date: Sun, 1 Sep 2019 15:56:26 +0300 Subject: [PATCH 047/316] BAEL-3190 - Working with web services in Groovy - pom.xml code indentation --- core-groovy-2/pom.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core-groovy-2/pom.xml b/core-groovy-2/pom.xml index 2ffef7ae94..1f5baaf904 100644 --- a/core-groovy-2/pom.xml +++ b/core-groovy-2/pom.xml @@ -51,7 +51,7 @@ com.github.groovy-wslite groovy-wslite - 1.1.3 + ${groovy-wslite.version} @@ -180,6 +180,7 @@ 1.0.0 2.4.0 1.1-groovy-2.4 + 1.1.3 3.8.1 1.2.3 2.5.7 From a92e0ec2bc48618066281fe383cf12b74fcea5bc Mon Sep 17 00:00:00 2001 From: Anshul Bansal Date: Sun, 1 Sep 2019 15:57:37 +0300 Subject: [PATCH 048/316] BAEL-3190 - Working with web services in Groovy - pom.xml code indentation --- core-groovy-2/pom.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/core-groovy-2/pom.xml b/core-groovy-2/pom.xml index 1f5baaf904..40e38bef16 100644 --- a/core-groovy-2/pom.xml +++ b/core-groovy-2/pom.xml @@ -49,10 +49,10 @@ test - com.github.groovy-wslite - groovy-wslite - ${groovy-wslite.version} - + com.github.groovy-wslite + groovy-wslite + ${groovy-wslite.version} + @@ -180,7 +180,7 @@ 1.0.0 2.4.0 1.1-groovy-2.4 - 1.1.3 + 1.1.3 3.8.1 1.2.3 2.5.7 From 4e926d3f06074404838dec33e197bd9906df71ef Mon Sep 17 00:00:00 2001 From: Shubhra Srivastava Date: Sun, 1 Sep 2019 21:18:20 +0530 Subject: [PATCH 049/316] BAEL-3207 Convert Char Array to String (#7692) * BAEL-320 Convert Char Array to String * BAEL-3207 re-formatting --- .../CharArrayToStringConversionUnitTest.java | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 java-strings-3/src/test/java/com/baeldung/string/charArrayToString/CharArrayToStringConversionUnitTest.java diff --git a/java-strings-3/src/test/java/com/baeldung/string/charArrayToString/CharArrayToStringConversionUnitTest.java b/java-strings-3/src/test/java/com/baeldung/string/charArrayToString/CharArrayToStringConversionUnitTest.java new file mode 100644 index 0000000000..11002ece0f --- /dev/null +++ b/java-strings-3/src/test/java/com/baeldung/string/charArrayToString/CharArrayToStringConversionUnitTest.java @@ -0,0 +1,73 @@ +package com.baeldung.string.charArrayToString; + +import static org.hamcrest.Matchers.is; +import static org.junit.Assert.assertThat; + +import com.google.common.base.Joiner; +import org.junit.Test; + +import java.util.Arrays; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +public class CharArrayToStringConversionUnitTest { + + @Test + public void whenStringConstructor_thenOK() { + final char[] charArray = { 'b', 'a', 'e', 'l', 'd', 'u', 'n', 'g' }; + + String string = new String(charArray); + + assertThat(string, is("baeldung")); + } + + @Test + public void whenStringCopyValueOf_thenOK() { + final char[] charArray = { 'b', 'a', 'e', 'l', 'd', 'u', 'n', 'g' }; + + String string = String.copyValueOf(charArray); + + assertThat(string, is("baeldung")); + } + + @Test + public void whenStringValueOf_thenOK() { + final char[] charArray = { 'b', 'a', 'e', 'l', 'd', 'u', 'n', 'g' }; + + String string = String.valueOf(charArray); + + assertThat(string, is("baeldung")); + } + + @Test + public void whenStringBuilder_thenOK() { + final char[] charArray = { 'b', 'a', 'e', 'l', 'd', 'u', 'n', 'g' }; + + StringBuilder sb = new StringBuilder(); + for (char value : charArray) { + sb.append(value); + } + + assertThat(sb.toString(), is("baeldung")); + } + + @Test + public void whenStreamCollectors_thenOK() { + final Character[] charArray = { 'b', 'a', 'e', 'l', 'd', 'u', 'n', 'g' }; + + Stream charStream = Arrays.stream(charArray); + String string = charStream.map(String::valueOf).collect(Collectors.joining()); + + assertThat(string, is("baeldung")); + } + + @Test + public void whenGoogleCommonBaseJoiners_thenOK() { + final Character[] charArray = { 'b', 'a', 'e', 'l', 'd', 'u', 'n', 'g' }; + + String string = Joiner.on("").join(charArray); + + assertThat(string, is("baeldung")); + } + +} From d93e68d4df3ec75dc23fb1648cd8fdf5c9409cef Mon Sep 17 00:00:00 2001 From: "anilkivilcim.eray" Date: Sun, 1 Sep 2019 20:46:52 +0300 Subject: [PATCH 050/316] BAEL-3097 new example added --- ...TO.java => UserBodyImperialValuesDTO.java} | 5 +- .../{UrlObject.java => UserBodyValues.java} | 5 +- ...emover.java => PoundToKilogramMapper.java} | 2 +- .../java/com/baeldung/mapper/UrlMapper.java | 39 --------------- .../baeldung/mapper/UserBodyValuesMapper.java | 28 +++++++++++ .../baeldung/mapper/UrlMapperUnitTest.java | 30 ------------ .../mapper/UserBodyValuesMapperUnitTest.java | 47 +++++++++++++++++++ 7 files changed, 82 insertions(+), 74 deletions(-) rename mapstruct/src/main/java/com/baeldung/dto/{UrlDTO.java => UserBodyImperialValuesDTO.java} (50%) rename mapstruct/src/main/java/com/baeldung/entity/{UrlObject.java => UserBodyValues.java} (50%) rename mapstruct/src/main/java/com/baeldung/mapper/{ProtocolRemover.java => PoundToKilogramMapper.java} (87%) delete mode 100644 mapstruct/src/main/java/com/baeldung/mapper/UrlMapper.java create mode 100644 mapstruct/src/main/java/com/baeldung/mapper/UserBodyValuesMapper.java delete mode 100644 mapstruct/src/test/java/com/baeldung/mapper/UrlMapperUnitTest.java create mode 100644 mapstruct/src/test/java/com/baeldung/mapper/UserBodyValuesMapperUnitTest.java diff --git a/mapstruct/src/main/java/com/baeldung/dto/UrlDTO.java b/mapstruct/src/main/java/com/baeldung/dto/UserBodyImperialValuesDTO.java similarity index 50% rename from mapstruct/src/main/java/com/baeldung/dto/UrlDTO.java rename to mapstruct/src/main/java/com/baeldung/dto/UserBodyImperialValuesDTO.java index e0d7fd58e9..9817b76bc8 100644 --- a/mapstruct/src/main/java/com/baeldung/dto/UrlDTO.java +++ b/mapstruct/src/main/java/com/baeldung/dto/UserBodyImperialValuesDTO.java @@ -5,6 +5,7 @@ import lombok.Setter; @Getter @Setter -public class UrlDTO { - private String address; +public class UserBodyImperialValuesDTO { + private int inch; + private int pound; } \ No newline at end of file diff --git a/mapstruct/src/main/java/com/baeldung/entity/UrlObject.java b/mapstruct/src/main/java/com/baeldung/entity/UserBodyValues.java similarity index 50% rename from mapstruct/src/main/java/com/baeldung/entity/UrlObject.java rename to mapstruct/src/main/java/com/baeldung/entity/UserBodyValues.java index 9d1f4668c2..b23463cb93 100644 --- a/mapstruct/src/main/java/com/baeldung/entity/UrlObject.java +++ b/mapstruct/src/main/java/com/baeldung/entity/UserBodyValues.java @@ -5,6 +5,7 @@ import lombok.Setter; @Getter @Setter -public class UrlObject { - private String address; +public class UserBodyValues { + private double kilogram; + private double centimeter; } \ No newline at end of file diff --git a/mapstruct/src/main/java/com/baeldung/mapper/ProtocolRemover.java b/mapstruct/src/main/java/com/baeldung/mapper/PoundToKilogramMapper.java similarity index 87% rename from mapstruct/src/main/java/com/baeldung/mapper/ProtocolRemover.java rename to mapstruct/src/main/java/com/baeldung/mapper/PoundToKilogramMapper.java index 4c22ffd9ee..e75022a5e8 100644 --- a/mapstruct/src/main/java/com/baeldung/mapper/ProtocolRemover.java +++ b/mapstruct/src/main/java/com/baeldung/mapper/PoundToKilogramMapper.java @@ -10,4 +10,4 @@ import java.lang.annotation.Target; @Qualifier @Target(ElementType.METHOD) @Retention(RetentionPolicy.CLASS) -public @interface ProtocolRemover {} +public @interface PoundToKilogramMapper {} diff --git a/mapstruct/src/main/java/com/baeldung/mapper/UrlMapper.java b/mapstruct/src/main/java/com/baeldung/mapper/UrlMapper.java deleted file mode 100644 index 22083fabb2..0000000000 --- a/mapstruct/src/main/java/com/baeldung/mapper/UrlMapper.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.baeldung.mapper; - -import com.baeldung.dto.UrlDTO; -import com.baeldung.entity.UrlObject; -import org.mapstruct.Mapper; -import org.mapstruct.Mapping; -import org.mapstruct.Named; -import org.mapstruct.factory.Mappers; - -import java.net.URI; -import java.net.URISyntaxException; -import java.net.URL; - -@Mapper -public interface UrlMapper { - - UrlMapper INSTANCE = Mappers.getMapper(UrlMapper.class); - - - @Mapping(source = "address", target = "address", qualifiedByName = "protocolRemover") - public UrlObject urlObjectNamedMapper(UrlDTO urlDTO); - - @Mapping(source = "address", target = "address", qualifiedBy = ProtocolRemover.class) - public UrlObject urlObjectAnnotatedMapper(UrlDTO urlDTO); - - @Named("protocolRemover") - public static String protocolRemoverWithCustomMethod(String address) throws URISyntaxException { - URI uri = new URI(address); - - return uri.getHost() + uri.getPath(); - } - - @ProtocolRemover - public static String protocolRemoverMethod(String address) throws URISyntaxException { - URI uri = new URI(address); - - return uri.getHost() + uri.getPath(); - } -} \ No newline at end of file diff --git a/mapstruct/src/main/java/com/baeldung/mapper/UserBodyValuesMapper.java b/mapstruct/src/main/java/com/baeldung/mapper/UserBodyValuesMapper.java new file mode 100644 index 0000000000..4c992f91e1 --- /dev/null +++ b/mapstruct/src/main/java/com/baeldung/mapper/UserBodyValuesMapper.java @@ -0,0 +1,28 @@ +package com.baeldung.mapper; + +import com.baeldung.dto.UserBodyImperialValuesDTO; +import com.baeldung.entity.UserBodyValues; +import org.mapstruct.Mapper; +import org.mapstruct.Mapping; +import org.mapstruct.Named; +import org.mapstruct.factory.Mappers; + +@Mapper +public interface UserBodyValuesMapper { + + UserBodyValuesMapper INSTANCE = Mappers.getMapper(UserBodyValuesMapper.class); + + @Mapping(source = "pound", target = "kilogram", qualifiedBy = PoundToKilogramMapper.class) + @Mapping(source = "inch", target = "centimeter", qualifiedByName = "inchToCentimeter") + public UserBodyValues userBodyValuesMapper(UserBodyImperialValuesDTO dto); + + @Named("inchToCentimeter") + public static double inchToCentimeter(int inch) { + return inch * 2.54; + } + + @PoundToKilogramMapper + public static double poundToKilogram(int pound) { + return pound * 0.4535; + } +} \ No newline at end of file diff --git a/mapstruct/src/test/java/com/baeldung/mapper/UrlMapperUnitTest.java b/mapstruct/src/test/java/com/baeldung/mapper/UrlMapperUnitTest.java deleted file mode 100644 index 567d0aefbc..0000000000 --- a/mapstruct/src/test/java/com/baeldung/mapper/UrlMapperUnitTest.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.baeldung.mapper; - -import com.baeldung.dto.UrlDTO; -import com.baeldung.entity.UrlObject; -import org.junit.Test; - -import static org.junit.Assert.assertEquals; - -public class UrlMapperUnitTest { - - @Test - public void givenDomain_whenCallNamedMapper_thenReturnDomainWithoutProtocol() { - UrlDTO dto = new UrlDTO(); - dto.setAddress("http://www.baeldung.com/mapstruct"); - - UrlObject urlObject = UrlMapper.INSTANCE.urlObjectNamedMapper(dto); - - assertEquals(urlObject.getAddress(), "www.baeldung.com/mapstruct"); - } - - @Test - public void givenAddress_whenCallAnnotatedMapper_thenReturnDomainWithoutProtocol() { - UrlDTO dto = new UrlDTO(); - dto.setAddress("http://www.baeldung.com/customMappers"); - - UrlObject urlObject = UrlMapper.INSTANCE.urlObjectAnnotatedMapper(dto); - - assertEquals(urlObject.getAddress(), "www.baeldung.com/customMappers"); - } -} \ No newline at end of file diff --git a/mapstruct/src/test/java/com/baeldung/mapper/UserBodyValuesMapperUnitTest.java b/mapstruct/src/test/java/com/baeldung/mapper/UserBodyValuesMapperUnitTest.java new file mode 100644 index 0000000000..a875d6faf7 --- /dev/null +++ b/mapstruct/src/test/java/com/baeldung/mapper/UserBodyValuesMapperUnitTest.java @@ -0,0 +1,47 @@ +package com.baeldung.mapper; + +import com.baeldung.dto.UserBodyImperialValuesDTO; +import com.baeldung.entity.UserBodyValues; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + + +public class UserBodyValuesMapperUnitTest { + + @Test + public void givenUserBodyImperialValuesDTOToUserBodyValuesObject_whenMaps_thenCorrect() { + UserBodyImperialValuesDTO dto = new UserBodyImperialValuesDTO(); + dto.setInch(10); + dto.setPound(100); + + UserBodyValues obj = UserBodyValuesMapper.INSTANCE.userBodyValuesMapper(dto); + + assertNotNull(obj); + assertEquals(25.4, obj.getCentimeter(), 0); + assertEquals(45.35, obj.getKilogram(), 0); + } + + @Test + public void givenUserBodyImperialValuesDTOWithInchToUserBodyValuesObject_whenMaps_thenCorrect() { + UserBodyImperialValuesDTO dto = new UserBodyImperialValuesDTO(); + dto.setInch(10); + + UserBodyValues obj = UserBodyValuesMapper.INSTANCE.userBodyValuesMapper(dto); + + assertNotNull(obj); + assertEquals(25.4, obj.getCentimeter(), 0); + } + + @Test + public void givenUserBodyImperialValuesDTOWithPoundToUserBodyValuesObject_whenMaps_thenCorrect() { + UserBodyImperialValuesDTO dto = new UserBodyImperialValuesDTO(); + dto.setPound(100); + + UserBodyValues obj = UserBodyValuesMapper.INSTANCE.userBodyValuesMapper(dto); + + assertNotNull(obj); + assertEquals(45.35, obj.getKilogram(), 0); + } +} \ No newline at end of file From f78edd35697b82691b71a20cf012c3d554a71fd5 Mon Sep 17 00:00:00 2001 From: Lukasz Rys <> Date: Sun, 1 Sep 2019 20:15:29 +0200 Subject: [PATCH 051/316] [ BAEL-1869 ]: Couchbase spring reactive article --- spring-5-data-reactive/README.md | 1 + spring-5-data-reactive/pom.xml | 15 ++++ .../ReactiveCouchbaseApplication.java | 12 +++ .../configuration/CouchbaseProperties.java | 43 ++++++++++ .../N1QLReactiveCouchbaseConfiguration.java | 15 ++++ .../ReactiveCouchbaseConfiguration.java | 47 +++++++++++ .../ViewReactiveCouchbaseConfiguration.java | 13 +++ .../com/baeldung/couchbase/domain/Person.java | 43 ++++++++++ .../repository/n1ql/N1QLPersonRepository.java | 16 ++++ .../n1ql/N1QLSortingPersonRepository.java | 13 +++ .../repository/view/ViewPersonRepository.java | 20 +++++ .../CouchbaseMockConfiguration.java | 54 +++++++++++++ .../n1ql/N1QLPersonRepositoryLiveTest.java | 55 +++++++++++++ .../N1QLSortingPersonRepositoryLiveTest.java | 60 ++++++++++++++ .../ViewPersonRepositoryIntegrationTest.java | 79 +++++++++++++++++++ 15 files changed, 486 insertions(+) create mode 100644 spring-5-data-reactive/src/main/java/com/baeldung/couchbase/ReactiveCouchbaseApplication.java create mode 100644 spring-5-data-reactive/src/main/java/com/baeldung/couchbase/configuration/CouchbaseProperties.java create mode 100644 spring-5-data-reactive/src/main/java/com/baeldung/couchbase/configuration/N1QLReactiveCouchbaseConfiguration.java create mode 100644 spring-5-data-reactive/src/main/java/com/baeldung/couchbase/configuration/ReactiveCouchbaseConfiguration.java create mode 100644 spring-5-data-reactive/src/main/java/com/baeldung/couchbase/configuration/ViewReactiveCouchbaseConfiguration.java create mode 100644 spring-5-data-reactive/src/main/java/com/baeldung/couchbase/domain/Person.java create mode 100644 spring-5-data-reactive/src/main/java/com/baeldung/couchbase/domain/repository/n1ql/N1QLPersonRepository.java create mode 100644 spring-5-data-reactive/src/main/java/com/baeldung/couchbase/domain/repository/n1ql/N1QLSortingPersonRepository.java create mode 100644 spring-5-data-reactive/src/main/java/com/baeldung/couchbase/domain/repository/view/ViewPersonRepository.java create mode 100644 spring-5-data-reactive/src/test/java/com/baeldung/couchbase/domain/repository/CouchbaseMockConfiguration.java create mode 100644 spring-5-data-reactive/src/test/java/com/baeldung/couchbase/domain/repository/n1ql/N1QLPersonRepositoryLiveTest.java create mode 100644 spring-5-data-reactive/src/test/java/com/baeldung/couchbase/domain/repository/n1ql/N1QLSortingPersonRepositoryLiveTest.java create mode 100644 spring-5-data-reactive/src/test/java/com/baeldung/couchbase/domain/repository/view/ViewPersonRepositoryIntegrationTest.java diff --git a/spring-5-data-reactive/README.md b/spring-5-data-reactive/README.md index 4c2347dc77..4e342532b2 100644 --- a/spring-5-data-reactive/README.md +++ b/spring-5-data-reactive/README.md @@ -8,3 +8,4 @@ The "REST With Spring" Classes: http://bit.ly/restwithspring - [Spring Data Reactive Repositories with MongoDB](http://www.baeldung.com/spring-data-mongodb-reactive) - [Spring Data MongoDB Tailable Cursors](https://www.baeldung.com/spring-data-mongodb-tailable-cursors) - [A Quick Look at R2DBC with Spring Data](https://www.baeldung.com/spring-data-r2dbc) +- [Embedded Redis Server with Spring Boot Test]() diff --git a/spring-5-data-reactive/pom.xml b/spring-5-data-reactive/pom.xml index 5372803842..296da87529 100644 --- a/spring-5-data-reactive/pom.xml +++ b/spring-5-data-reactive/pom.xml @@ -14,6 +14,14 @@ + + io.projectreactor + reactor-core + + + org.springframework.boot + spring-boot-starter-data-couchbase-reactive + org.springframework.boot spring-boot-starter-data-mongodb-reactive @@ -105,6 +113,12 @@ httpclient ${httpclient.version} + + com.couchbase.mock + CouchbaseMock + ${couchbaseMock.version} + test + @@ -224,6 +238,7 @@ 0.8.0.M8 4.5.2 1.4.199 + 1.5.23 diff --git a/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/ReactiveCouchbaseApplication.java b/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/ReactiveCouchbaseApplication.java new file mode 100644 index 0000000000..917bcfdaa8 --- /dev/null +++ b/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/ReactiveCouchbaseApplication.java @@ -0,0 +1,12 @@ +package com.baeldung.couchbase; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class ReactiveCouchbaseApplication { + + public static void main(String[] args) { + SpringApplication.run(ReactiveCouchbaseApplication.class, args); + } +} diff --git a/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/configuration/CouchbaseProperties.java b/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/configuration/CouchbaseProperties.java new file mode 100644 index 0000000000..85c6997c6a --- /dev/null +++ b/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/configuration/CouchbaseProperties.java @@ -0,0 +1,43 @@ +package com.baeldung.couchbase.configuration; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Configuration; + +import java.util.Collections; +import java.util.List; + +@Configuration +public class CouchbaseProperties { + + private final List bootstrapHosts; + private final String bucketName; + private final String bucketPassword; + private final int port; + + public CouchbaseProperties( + @Value("${spring.couchbase.bootstrap-hosts}") final List bootstrapHosts, + @Value("${spring.couchbase.bucket.name}") final String bucketName, + @Value("${spring.couchbase.bucket.password}") final String bucketPassword, + @Value("${spring.couchbase.port}") final int port) { + this.bootstrapHosts = Collections.unmodifiableList(bootstrapHosts); + this.bucketName = bucketName; + this.bucketPassword = bucketPassword; + this.port = port; + } + + public List getBootstrapHosts() { + return bootstrapHosts; + } + + public String getBucketName() { + return bucketName; + } + + public String getBucketPassword() { + return bucketPassword; + } + + public int getPort() { + return port; + } +} diff --git a/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/configuration/N1QLReactiveCouchbaseConfiguration.java b/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/configuration/N1QLReactiveCouchbaseConfiguration.java new file mode 100644 index 0000000000..059bd36cae --- /dev/null +++ b/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/configuration/N1QLReactiveCouchbaseConfiguration.java @@ -0,0 +1,15 @@ +package com.baeldung.couchbase.configuration; + +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; +import org.springframework.data.couchbase.repository.config.EnableReactiveCouchbaseRepositories; + +@Configuration +@EnableReactiveCouchbaseRepositories("com.baeldung.couchbase.domain.repository.n1ql") +@Primary +public class N1QLReactiveCouchbaseConfiguration extends ReactiveCouchbaseConfiguration { + + public N1QLReactiveCouchbaseConfiguration(CouchbaseProperties couchbaseProperties) { + super(couchbaseProperties); + } +} diff --git a/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/configuration/ReactiveCouchbaseConfiguration.java b/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/configuration/ReactiveCouchbaseConfiguration.java new file mode 100644 index 0000000000..80c040df9f --- /dev/null +++ b/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/configuration/ReactiveCouchbaseConfiguration.java @@ -0,0 +1,47 @@ +package com.baeldung.couchbase.configuration; + +import com.couchbase.client.java.env.CouchbaseEnvironment; +import com.couchbase.client.java.env.DefaultCouchbaseEnvironment; +import org.springframework.context.annotation.Bean; +import org.springframework.data.couchbase.config.AbstractReactiveCouchbaseConfiguration; +import org.springframework.data.couchbase.config.BeanNames; +import org.springframework.data.couchbase.repository.support.IndexManager; + +import java.util.List; + +public abstract class ReactiveCouchbaseConfiguration extends AbstractReactiveCouchbaseConfiguration { + + private CouchbaseProperties couchbaseProperties; + + public ReactiveCouchbaseConfiguration(final CouchbaseProperties couchbaseProperties) { + this.couchbaseProperties = couchbaseProperties; + } + + @Bean(name = BeanNames.COUCHBASE_INDEX_MANAGER) + public IndexManager indexManager() { + return new IndexManager(true, true, false); + } + + @Override + protected List getBootstrapHosts() { + return couchbaseProperties.getBootstrapHosts(); + } + + @Override + protected String getBucketName() { + return couchbaseProperties.getBucketName(); + } + + @Override + protected String getBucketPassword() { + return couchbaseProperties.getBucketPassword(); + } + + @Override + public CouchbaseEnvironment couchbaseEnvironment() { + return DefaultCouchbaseEnvironment + .builder() + .bootstrapHttpDirectPort(couchbaseProperties.getPort()) + .build(); + } +} diff --git a/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/configuration/ViewReactiveCouchbaseConfiguration.java b/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/configuration/ViewReactiveCouchbaseConfiguration.java new file mode 100644 index 0000000000..9b4d9b0319 --- /dev/null +++ b/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/configuration/ViewReactiveCouchbaseConfiguration.java @@ -0,0 +1,13 @@ +package com.baeldung.couchbase.configuration; + +import org.springframework.context.annotation.Configuration; +import org.springframework.data.couchbase.repository.config.EnableReactiveCouchbaseRepositories; + +@Configuration +@EnableReactiveCouchbaseRepositories("com.baeldung.couchbase.domain.repository.view") +public class ViewReactiveCouchbaseConfiguration extends ReactiveCouchbaseConfiguration { + + public ViewReactiveCouchbaseConfiguration(CouchbaseProperties couchbaseProperties) { + super(couchbaseProperties); + } +} diff --git a/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/domain/Person.java b/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/domain/Person.java new file mode 100644 index 0000000000..285de34df8 --- /dev/null +++ b/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/domain/Person.java @@ -0,0 +1,43 @@ +package com.baeldung.couchbase.domain; + +import org.springframework.data.annotation.Id; +import org.springframework.data.couchbase.core.mapping.Document; + +import java.util.Objects; +import java.util.UUID; + +@Document +public class Person { + + @Id private UUID id; + private String firstName; + + public Person(final UUID id, final String firstName) { + this.id = id; + this.firstName = firstName; + } + + private Person() { + } + + public UUID getId() { + return id; + } + + public String getFirstName() { + return firstName; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Person person = (Person) o; + return Objects.equals(id, person.id) && Objects.equals(firstName, person.firstName); + } + + @Override + public int hashCode() { + return Objects.hash(id, firstName); + } +} diff --git a/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/domain/repository/n1ql/N1QLPersonRepository.java b/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/domain/repository/n1ql/N1QLPersonRepository.java new file mode 100644 index 0000000000..6f73a77ceb --- /dev/null +++ b/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/domain/repository/n1ql/N1QLPersonRepository.java @@ -0,0 +1,16 @@ +package com.baeldung.couchbase.domain.repository.n1ql; + +import com.baeldung.couchbase.domain.Person; +import org.springframework.data.couchbase.core.query.N1qlPrimaryIndexed; +import org.springframework.data.repository.reactive.ReactiveCrudRepository; +import org.springframework.stereotype.Repository; +import reactor.core.publisher.Flux; + +import java.util.UUID; + +@Repository +@N1qlPrimaryIndexed +public interface N1QLPersonRepository extends ReactiveCrudRepository { + + Flux findAllByFirstName(final String firstName); +} diff --git a/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/domain/repository/n1ql/N1QLSortingPersonRepository.java b/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/domain/repository/n1ql/N1QLSortingPersonRepository.java new file mode 100644 index 0000000000..57dd149425 --- /dev/null +++ b/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/domain/repository/n1ql/N1QLSortingPersonRepository.java @@ -0,0 +1,13 @@ +package com.baeldung.couchbase.domain.repository.n1ql; + +import com.baeldung.couchbase.domain.Person; +import org.springframework.data.couchbase.core.query.N1qlPrimaryIndexed; +import org.springframework.data.repository.reactive.ReactiveSortingRepository; +import org.springframework.stereotype.Repository; + +import java.util.UUID; + +@Repository +@N1qlPrimaryIndexed +public interface N1QLSortingPersonRepository extends ReactiveSortingRepository { +} diff --git a/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/domain/repository/view/ViewPersonRepository.java b/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/domain/repository/view/ViewPersonRepository.java new file mode 100644 index 0000000000..28a7ec1b78 --- /dev/null +++ b/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/domain/repository/view/ViewPersonRepository.java @@ -0,0 +1,20 @@ +package com.baeldung.couchbase.domain.repository.view; + +import com.baeldung.couchbase.domain.Person; +import org.springframework.data.couchbase.core.query.View; +import org.springframework.data.couchbase.core.query.ViewIndexed; +import org.springframework.data.repository.reactive.ReactiveCrudRepository; +import org.springframework.stereotype.Repository; +import reactor.core.publisher.Flux; + +import java.util.UUID; + +@Repository +@ViewIndexed(designDoc = ViewPersonRepository.DESIGN_DOCUMENT) +public interface ViewPersonRepository extends ReactiveCrudRepository { + + String DESIGN_DOCUMENT = "persons"; + + @View(designDocument = ViewPersonRepository.DESIGN_DOCUMENT) + Flux findByFirstName(String firstName); +} diff --git a/spring-5-data-reactive/src/test/java/com/baeldung/couchbase/domain/repository/CouchbaseMockConfiguration.java b/spring-5-data-reactive/src/test/java/com/baeldung/couchbase/domain/repository/CouchbaseMockConfiguration.java new file mode 100644 index 0000000000..9d4108eccd --- /dev/null +++ b/spring-5-data-reactive/src/test/java/com/baeldung/couchbase/domain/repository/CouchbaseMockConfiguration.java @@ -0,0 +1,54 @@ +package com.baeldung.couchbase.domain.repository; + +import com.baeldung.couchbase.configuration.CouchbaseProperties; +import com.couchbase.mock.Bucket; +import com.couchbase.mock.BucketConfiguration; +import com.couchbase.mock.CouchbaseMock; +import org.springframework.boot.test.context.TestConfiguration; + +import javax.annotation.PostConstruct; +import javax.annotation.PreDestroy; +import java.io.IOException; +import java.io.UncheckedIOException; +import java.util.List; + +@TestConfiguration +public class CouchbaseMockConfiguration { + + private CouchbaseMock couchbaseMock; + + public CouchbaseMockConfiguration(final CouchbaseProperties couchbaseProperties) { + final BucketConfiguration bucketConfiguration = new BucketConfiguration(); + bucketConfiguration.numNodes = 1; + bucketConfiguration.numReplicas = 1; + bucketConfiguration.numVBuckets = 1024; + bucketConfiguration.name = couchbaseProperties.getBucketName(); + bucketConfiguration.type = Bucket.BucketType.COUCHBASE; + bucketConfiguration.password = couchbaseProperties.getBucketPassword(); + + try { + couchbaseMock = new CouchbaseMock(couchbaseProperties.getPort(), List.of(bucketConfiguration)); + } catch (final IOException ex) { + throw new UncheckedIOException(ex); + } + } + + @PostConstruct + public void postConstruct() { + try { + couchbaseMock.start(); + } catch (final IOException ex) { + throw new UncheckedIOException(ex); + } + try { + couchbaseMock.waitForStartup(); + } catch (final InterruptedException ex) { + throw new RuntimeException(ex); + } + } + + @PreDestroy + public void preDestroy() { + couchbaseMock.stop(); + } +} diff --git a/spring-5-data-reactive/src/test/java/com/baeldung/couchbase/domain/repository/n1ql/N1QLPersonRepositoryLiveTest.java b/spring-5-data-reactive/src/test/java/com/baeldung/couchbase/domain/repository/n1ql/N1QLPersonRepositoryLiveTest.java new file mode 100644 index 0000000000..0c1b6bde6c --- /dev/null +++ b/spring-5-data-reactive/src/test/java/com/baeldung/couchbase/domain/repository/n1ql/N1QLPersonRepositoryLiveTest.java @@ -0,0 +1,55 @@ +package com.baeldung.couchbase.domain.repository.n1ql; + +import com.baeldung.couchbase.domain.Person; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; +import reactor.core.publisher.Flux; +import reactor.test.StepVerifier; + +import java.util.UUID; + +@RunWith(SpringRunner.class) +@SpringBootTest +public class N1QLPersonRepositoryLiveTest { + + @Autowired private N1QLPersonRepository personRepository; + + @Test + public void shouldFindAll_byLastName() { + //Given + final String firstName = "John"; + final Person matchingPerson = new Person(UUID.randomUUID(), firstName); + final Person nonMatchingPerson = new Person(UUID.randomUUID(), "NotJohn"); + wrap(() -> { + personRepository + .save(matchingPerson) + .subscribe(); + personRepository + .save(nonMatchingPerson) + .subscribe(); + //When + final Flux allByFirstName = personRepository.findAllByFirstName(firstName); + //Then + StepVerifier + .create(allByFirstName) + .expectNext(matchingPerson) + .verifyComplete(); + + }, matchingPerson, nonMatchingPerson); + } + + private void wrap(final Runnable runnable, final Person... people) { + try { + runnable.run(); + } finally { + for (final Person person : people) { + personRepository + .delete(person) + .subscribe(); + } + } + } +} \ No newline at end of file diff --git a/spring-5-data-reactive/src/test/java/com/baeldung/couchbase/domain/repository/n1ql/N1QLSortingPersonRepositoryLiveTest.java b/spring-5-data-reactive/src/test/java/com/baeldung/couchbase/domain/repository/n1ql/N1QLSortingPersonRepositoryLiveTest.java new file mode 100644 index 0000000000..4ba2206e0a --- /dev/null +++ b/spring-5-data-reactive/src/test/java/com/baeldung/couchbase/domain/repository/n1ql/N1QLSortingPersonRepositoryLiveTest.java @@ -0,0 +1,60 @@ +package com.baeldung.couchbase.domain.repository.n1ql; + +import com.baeldung.couchbase.domain.Person; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.data.domain.Sort; +import org.springframework.test.context.junit4.SpringRunner; +import reactor.core.publisher.Flux; +import reactor.test.StepVerifier; + +import java.util.UUID; + +@RunWith(SpringRunner.class) +@SpringBootTest +public class N1QLSortingPersonRepositoryLiveTest { + + @Autowired private N1QLSortingPersonRepository personRepository; + + @Test + public void shouldFindAll_sortedByFirstName() { + //Given + final Person firstPerson = new Person(UUID.randomUUID(), "John"); + final Person secondPerson = new Person(UUID.randomUUID(), "Mikki"); + wrap(() -> { + personRepository + .save(firstPerson) + .subscribe(); + personRepository + .save(secondPerson) + .subscribe(); + //When + final Flux allByFirstName = personRepository.findAll(Sort.by(Sort.Direction.DESC, "firstName")); + //Then + StepVerifier + .create(allByFirstName) + .expectNextMatches(person -> person + .getFirstName() + .equals(secondPerson.getFirstName())) + .expectNextMatches(person -> person + .getFirstName() + .equals(firstPerson.getFirstName())) + .verifyComplete(); + }, firstPerson, secondPerson); + } + + //workaround for deleteAll() + private void wrap(final Runnable runnable, final Person... people) { + try { + runnable.run(); + } finally { + for (final Person person : people) { + personRepository + .delete(person) + .subscribe(); + } + } + } +} \ No newline at end of file diff --git a/spring-5-data-reactive/src/test/java/com/baeldung/couchbase/domain/repository/view/ViewPersonRepositoryIntegrationTest.java b/spring-5-data-reactive/src/test/java/com/baeldung/couchbase/domain/repository/view/ViewPersonRepositoryIntegrationTest.java new file mode 100644 index 0000000000..712e7b0d37 --- /dev/null +++ b/spring-5-data-reactive/src/test/java/com/baeldung/couchbase/domain/repository/view/ViewPersonRepositoryIntegrationTest.java @@ -0,0 +1,79 @@ +package com.baeldung.couchbase.domain.repository.view; + +import com.baeldung.couchbase.configuration.CouchbaseProperties; +import com.baeldung.couchbase.configuration.ViewReactiveCouchbaseConfiguration; +import com.baeldung.couchbase.domain.Person; +import com.baeldung.couchbase.domain.repository.CouchbaseMockConfiguration; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; +import reactor.core.publisher.Flux; +import reactor.core.publisher.Mono; +import reactor.test.StepVerifier; + +import java.util.UUID; + +@RunWith(SpringRunner.class) +@SpringBootTest(properties = { "spring.couchbase.port=10010" }, classes = { ViewReactiveCouchbaseConfiguration.class, CouchbaseProperties.class, CouchbaseMockConfiguration.class }) +public class ViewPersonRepositoryIntegrationTest { + + @Autowired private ViewPersonRepository personRepository; + + @Test + public void shouldSavePerson_findById_thenDeleteIt() { + //Given + final UUID id = UUID.randomUUID(); + final Person person = new Person(id, "John"); + wrap(() -> { + personRepository + .save(person) + .subscribe(); + //When + final Mono byId = personRepository.findById(id); + //Then + StepVerifier + .create(byId) + .expectNextMatches(result -> result + .getId() + .equals(id)) + .expectComplete() + .verify(); + }, person); + } + + @Test + public void shouldFindAll_thenDeleteIt() { + //Given + final Person person = new Person(UUID.randomUUID(), "John"); + final Person secondPerson = new Person(UUID.randomUUID(), "Mikki"); + wrap(() -> { + personRepository + .save(person) + .subscribe(); + personRepository + .save(secondPerson) + .subscribe(); + //When + final Flux all = personRepository.findAll(); + //Then + StepVerifier + .create(all) + .expectNextCount(2) + .verifyComplete(); + }, person, secondPerson); + } + + private void wrap(final Runnable runnable, final Person... people) { + try { + runnable.run(); + } finally { + for (final Person person : people) { + personRepository + .delete(person) + .subscribe(); + } + } + } +} \ No newline at end of file From db772047f44e6707a206b7e927b94f8996836b19 Mon Sep 17 00:00:00 2001 From: David Calap Date: Sun, 1 Sep 2019 20:30:58 +0200 Subject: [PATCH 052/316] BAEL-3142 Removing an element from an ArrayList --- .../baeldung/java/list/RemoveFromList.java | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 core-java-modules/core-java-collections-array-list/src/main/java/com/baeldung/java/list/RemoveFromList.java diff --git a/core-java-modules/core-java-collections-array-list/src/main/java/com/baeldung/java/list/RemoveFromList.java b/core-java-modules/core-java-collections-array-list/src/main/java/com/baeldung/java/list/RemoveFromList.java new file mode 100644 index 0000000000..9e116c54de --- /dev/null +++ b/core-java-modules/core-java-collections-array-list/src/main/java/com/baeldung/java/list/RemoveFromList.java @@ -0,0 +1,40 @@ +package com.baeldung.java.list; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +public class RemoveFromList { + + public static void main(String[] args) { + List sports = new ArrayList<>(); + sports.add("Football"); + sports.add("Basketball"); + sports.add("Baseball"); + sports.add("Boxing"); + sports.add("Cycling"); + + System.out.println("List before removing: " + sports); + + // Remove with index + sports.remove(1); + + // Remove with an element + sports.remove("Baseball"); + + // Iterator remove method + Iterator iterator = sports.iterator(); + while(iterator.hasNext()){ + if(iterator.next().equals("Boxing")){ + iterator.remove(); + } + } + + // ArrayList removeIf method (Java 8) + for(int i = 0; i < sports.size(); i++){ + sports.removeIf(p -> p.equals("Cycling")); + } + + System.out.println("List after removing: " + sports); + } +} From 5a3143b0e43f461f0f79e4dafccde9bd47c421ca Mon Sep 17 00:00:00 2001 From: Lukasz Rys <> Date: Sun, 1 Sep 2019 21:46:14 +0200 Subject: [PATCH 053/316] BAEL-1869: Fix List.of --- .../configuration/ReactiveCouchbaseConfiguration.java | 5 ----- .../domain/repository/CouchbaseMockConfiguration.java | 4 ++-- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/configuration/ReactiveCouchbaseConfiguration.java b/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/configuration/ReactiveCouchbaseConfiguration.java index 80c040df9f..3bd66a895a 100644 --- a/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/configuration/ReactiveCouchbaseConfiguration.java +++ b/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/configuration/ReactiveCouchbaseConfiguration.java @@ -17,11 +17,6 @@ public abstract class ReactiveCouchbaseConfiguration extends AbstractReactiveCou this.couchbaseProperties = couchbaseProperties; } - @Bean(name = BeanNames.COUCHBASE_INDEX_MANAGER) - public IndexManager indexManager() { - return new IndexManager(true, true, false); - } - @Override protected List getBootstrapHosts() { return couchbaseProperties.getBootstrapHosts(); diff --git a/spring-5-data-reactive/src/test/java/com/baeldung/couchbase/domain/repository/CouchbaseMockConfiguration.java b/spring-5-data-reactive/src/test/java/com/baeldung/couchbase/domain/repository/CouchbaseMockConfiguration.java index 9d4108eccd..2a09fce4b0 100644 --- a/spring-5-data-reactive/src/test/java/com/baeldung/couchbase/domain/repository/CouchbaseMockConfiguration.java +++ b/spring-5-data-reactive/src/test/java/com/baeldung/couchbase/domain/repository/CouchbaseMockConfiguration.java @@ -10,7 +10,7 @@ import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; import java.io.IOException; import java.io.UncheckedIOException; -import java.util.List; +import java.util.Collections; @TestConfiguration public class CouchbaseMockConfiguration { @@ -27,7 +27,7 @@ public class CouchbaseMockConfiguration { bucketConfiguration.password = couchbaseProperties.getBucketPassword(); try { - couchbaseMock = new CouchbaseMock(couchbaseProperties.getPort(), List.of(bucketConfiguration)); + couchbaseMock = new CouchbaseMock(couchbaseProperties.getPort(), Collections.singletonList(bucketConfiguration)); } catch (final IOException ex) { throw new UncheckedIOException(ex); } From d3df5e0d9758abb8b157d3c7f677d1516cf04d25 Mon Sep 17 00:00:00 2001 From: Anshul Bansal Date: Sun, 1 Sep 2019 23:08:53 +0300 Subject: [PATCH 054/316] BAEL-3190 - Working with web services in Groovy - pom.xml code indentation --- core-groovy-2/pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core-groovy-2/pom.xml b/core-groovy-2/pom.xml index 40e38bef16..91e31d4cba 100644 --- a/core-groovy-2/pom.xml +++ b/core-groovy-2/pom.xml @@ -49,9 +49,9 @@ test - com.github.groovy-wslite - groovy-wslite - ${groovy-wslite.version} + com.github.groovy-wslite + groovy-wslite + ${groovy-wslite.version} From 0f0908bc18eb30136ccc5c6c0e1ca2d32b6e49c8 Mon Sep 17 00:00:00 2001 From: David Calap Date: Mon, 2 Sep 2019 10:25:22 +0200 Subject: [PATCH 055/316] Identation fixed applying https://github.com/eugenp/tutorials/blob/master/eclipse/formatter.xml --- .../baeldung/java/list/RemoveFromList.java | 51 ++++++++++--------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/core-java-modules/core-java-collections-array-list/src/main/java/com/baeldung/java/list/RemoveFromList.java b/core-java-modules/core-java-collections-array-list/src/main/java/com/baeldung/java/list/RemoveFromList.java index 9e116c54de..7c23d1c978 100644 --- a/core-java-modules/core-java-collections-array-list/src/main/java/com/baeldung/java/list/RemoveFromList.java +++ b/core-java-modules/core-java-collections-array-list/src/main/java/com/baeldung/java/list/RemoveFromList.java @@ -6,35 +6,36 @@ import java.util.List; public class RemoveFromList { - public static void main(String[] args) { - List sports = new ArrayList<>(); - sports.add("Football"); - sports.add("Basketball"); - sports.add("Baseball"); - sports.add("Boxing"); - sports.add("Cycling"); + public static void main(String[] args) { + List sports = new ArrayList<>(); + sports.add("Football"); + sports.add("Basketball"); + sports.add("Baseball"); + sports.add("Boxing"); + sports.add("Cycling"); - System.out.println("List before removing: " + sports); + System.out.println("List before removing: " + sports); - // Remove with index - sports.remove(1); + // Remove with index + sports.remove(1); - // Remove with an element - sports.remove("Baseball"); + // Remove with an element + sports.remove("Baseball"); - // Iterator remove method - Iterator iterator = sports.iterator(); - while(iterator.hasNext()){ - if(iterator.next().equals("Boxing")){ - iterator.remove(); - } + // Iterator remove method + Iterator iterator = sports.iterator(); + while (iterator.hasNext()) { + if (iterator.next().equals("Boxing")) { + iterator.remove(); + } + } + + // ArrayList removeIf method (Java 8) + for (int i = 0; i < sports.size(); i++) { + sports.removeIf(p -> p.equals("Cycling")); + } + + System.out.println("List after removing: " + sports); } - // ArrayList removeIf method (Java 8) - for(int i = 0; i < sports.size(); i++){ - sports.removeIf(p -> p.equals("Cycling")); - } - - System.out.println("List after removing: " + sports); - } } From 784fb624c1ae903a053a19a58755cf5401f4a683 Mon Sep 17 00:00:00 2001 From: David Calap Date: Mon, 2 Sep 2019 14:02:25 +0200 Subject: [PATCH 056/316] break added to avoid unnecessary loop iterations. Get rid of for since a loop is not needed for removeIf method --- .../src/main/java/com/baeldung/java/list/RemoveFromList.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/core-java-modules/core-java-collections-array-list/src/main/java/com/baeldung/java/list/RemoveFromList.java b/core-java-modules/core-java-collections-array-list/src/main/java/com/baeldung/java/list/RemoveFromList.java index 7c23d1c978..df9b3d987d 100644 --- a/core-java-modules/core-java-collections-array-list/src/main/java/com/baeldung/java/list/RemoveFromList.java +++ b/core-java-modules/core-java-collections-array-list/src/main/java/com/baeldung/java/list/RemoveFromList.java @@ -27,13 +27,12 @@ public class RemoveFromList { while (iterator.hasNext()) { if (iterator.next().equals("Boxing")) { iterator.remove(); + break; } } // ArrayList removeIf method (Java 8) - for (int i = 0; i < sports.size(); i++) { - sports.removeIf(p -> p.equals("Cycling")); - } + sports.removeIf(p -> p.equals("Cycling")); System.out.println("List after removing: " + sports); } From 149bfc44beb232e4b0485671ea2dc95aaaf44bad Mon Sep 17 00:00:00 2001 From: NickTononi <48349671+NickTononi@users.noreply.github.com> Date: Mon, 2 Sep 2019 16:06:44 +0200 Subject: [PATCH 057/316] [BAEL-3149] Java 'private' access modifier (#7669) --- .../com/baeldung/core/modifiers/Employee.java | 19 ++++++++++++++----- .../baeldung/core/modifiers/ExampleClass.java | 4 ++-- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/core/modifiers/Employee.java b/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/core/modifiers/Employee.java index e43b6634ed..6ec68d6ebb 100644 --- a/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/core/modifiers/Employee.java +++ b/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/core/modifiers/Employee.java @@ -3,12 +3,12 @@ package com.baeldung.core.modifiers; public class Employee { private String privateId; - public String name; + private String name; private boolean manager; public Employee(String id, String name) { - changeId(id); - this.name = name; + setPrivateId(id); + setName(name); } private Employee(String id, String name, boolean managerAttribute) { @@ -17,7 +17,7 @@ public class Employee { this.privateId = id + "_ID-MANAGER"; } - public void changeId(String customId) { + public void setPrivateId(String customId) { if (customId.endsWith("_ID")) { this.privateId = customId; } else { @@ -25,7 +25,7 @@ public class Employee { } } - public String getId() { + public String getPrivateId() { return privateId; } @@ -43,6 +43,15 @@ public class Employee { this.manager = manager; } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + public static Employee buildManager(String id, String name) { return new Employee(id, name, true); } diff --git a/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/core/modifiers/ExampleClass.java b/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/core/modifiers/ExampleClass.java index db58b4f00b..41f0b7a690 100644 --- a/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/core/modifiers/ExampleClass.java +++ b/core-java-modules/core-java-lang-oop-2/src/main/java/com/baeldung/core/modifiers/ExampleClass.java @@ -4,7 +4,7 @@ public class ExampleClass { public static void main(String[] args) { Employee employee = new Employee("Bob","ABC123"); - employee.changeId("BCD234"); - System.out.println(employee.getId()); + employee.setPrivateId("BCD234"); + System.out.println(employee.getPrivateId()); } } From b0c1efdb7cb0a089e996d660d2d490d8a6a1219f Mon Sep 17 00:00:00 2001 From: Amit Pandey Date: Tue, 3 Sep 2019 01:58:58 +0530 Subject: [PATCH 058/316] [BAEL-14836] - Moved code for in-memory database article (#7705) --- .../spring-boot-persistence/README.MD | 1 + .../spring-boot-persistence/pom.xml | 16 ++++++++++++++++ .../com/baeldung/boot/config/H2JpaConfig.java | 3 +++ .../main/resources/persistence-derby.properties | 8 ++++++++ .../main/resources/persistence-hsqldb.properties | 8 ++++++++ .../main/resources/persistence-sqlite.properties | 7 +++++++ spring-data-rest/README.md | 1 - 7 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 persistence-modules/spring-boot-persistence/src/main/resources/persistence-derby.properties create mode 100644 persistence-modules/spring-boot-persistence/src/main/resources/persistence-hsqldb.properties create mode 100644 persistence-modules/spring-boot-persistence/src/main/resources/persistence-sqlite.properties diff --git a/persistence-modules/spring-boot-persistence/README.MD b/persistence-modules/spring-boot-persistence/README.MD index 709f505ea9..96eb326cbe 100644 --- a/persistence-modules/spring-boot-persistence/README.MD +++ b/persistence-modules/spring-boot-persistence/README.MD @@ -9,3 +9,4 @@ - [Configuring a DataSource Programmatically in Spring Boot](https://www.baeldung.com/spring-boot-configure-data-source-programmatic) - [Resolving “Failed to Configure a DataSource” Error](https://www.baeldung.com/spring-boot-failed-to-configure-data-source) - [Spring Boot with Hibernate](https://www.baeldung.com/spring-boot-hibernate) +- [List of In-Memory Databases](http://www.baeldung.com/java-in-memory-databases) \ No newline at end of file diff --git a/persistence-modules/spring-boot-persistence/pom.xml b/persistence-modules/spring-boot-persistence/pom.xml index e283759c75..c7cda07a1a 100644 --- a/persistence-modules/spring-boot-persistence/pom.xml +++ b/persistence-modules/spring-boot-persistence/pom.xml @@ -59,6 +59,20 @@ validation-api ${validation-api.version} + + org.xerial + sqlite-jdbc + + + org.apache.derby + derby + ${derby.version} + + + org.hsqldb + hsqldb + ${hsqldb.version} + @@ -83,6 +97,8 @@ 9.0.10 2.23.0 2.0.1.Final + 10.13.1.1 + 2.3.4 diff --git a/persistence-modules/spring-boot-persistence/src/main/java/com/baeldung/boot/config/H2JpaConfig.java b/persistence-modules/spring-boot-persistence/src/main/java/com/baeldung/boot/config/H2JpaConfig.java index c5c77be56f..6325d2cd2e 100644 --- a/persistence-modules/spring-boot-persistence/src/main/java/com/baeldung/boot/config/H2JpaConfig.java +++ b/persistence-modules/spring-boot-persistence/src/main/java/com/baeldung/boot/config/H2JpaConfig.java @@ -20,6 +20,9 @@ import java.util.Properties; @Configuration @EnableJpaRepositories(basePackages = { "com.baeldung.boot.repository", "com.baeldung.repository" }) @PropertySource("classpath:persistence-generic-entity.properties") +//@PropertySource("classpath:persistence-derby.properties") +//@PropertySource("classpath:persistence-hsqldb.properties") +//@PropertySource("classpath:persistence-sqlite.properties") @EnableTransactionManagement @Profile("default") //only required to allow H2JpaConfig and H2TestProfileJPAConfig to coexist in same project //this demo project is showcasing several ways to achieve the same end, and class-level diff --git a/persistence-modules/spring-boot-persistence/src/main/resources/persistence-derby.properties b/persistence-modules/spring-boot-persistence/src/main/resources/persistence-derby.properties new file mode 100644 index 0000000000..5b5ff05236 --- /dev/null +++ b/persistence-modules/spring-boot-persistence/src/main/resources/persistence-derby.properties @@ -0,0 +1,8 @@ +jdbc.driverClassName=org.apache.derby.jdbc.EmbeddedDriver +jdbc.url=jdbc:derby:memory:myD;create=true +jdbc.user=sa +jdbc.pass= + +hibernate.dialect=org.hibernate.dialect.DerbyDialect +hibernate.show_sql=true +hibernate.hbm2ddl.auto=create-drop \ No newline at end of file diff --git a/persistence-modules/spring-boot-persistence/src/main/resources/persistence-hsqldb.properties b/persistence-modules/spring-boot-persistence/src/main/resources/persistence-hsqldb.properties new file mode 100644 index 0000000000..d045a8b7e5 --- /dev/null +++ b/persistence-modules/spring-boot-persistence/src/main/resources/persistence-hsqldb.properties @@ -0,0 +1,8 @@ +jdbc.driverClassName=org.hsqldb.jdbc.JDBCDriver +jdbc.url=jdbc:hsqldb:mem:myDb +jdbc.user=sa +jdbc.pass= + +hibernate.dialect=org.hibernate.dialect.HSQLDialect +hibernate.show_sql=true +hibernate.hbm2ddl.auto=create-drop \ No newline at end of file diff --git a/persistence-modules/spring-boot-persistence/src/main/resources/persistence-sqlite.properties b/persistence-modules/spring-boot-persistence/src/main/resources/persistence-sqlite.properties new file mode 100644 index 0000000000..ee16081603 --- /dev/null +++ b/persistence-modules/spring-boot-persistence/src/main/resources/persistence-sqlite.properties @@ -0,0 +1,7 @@ +jdbc.driverClassName=org.sqlite.JDBC +jdbc.url=jdbc:sqlite:memory:myDb?cache=shared +jdbc.user=sa +jdbc.pass=sa +hibernate.dialect=com.baeldung.dialect.SQLiteDialect +hibernate.hbm2ddl.auto=create-drop +hibernate.show_sql=true diff --git a/spring-data-rest/README.md b/spring-data-rest/README.md index abbacb69cc..4b89a24bbc 100644 --- a/spring-data-rest/README.md +++ b/spring-data-rest/README.md @@ -17,7 +17,6 @@ To view the running application, visit [http://localhost:8080](http://localhost: - [Guide to Spring Data REST Validators](http://www.baeldung.com/spring-data-rest-validators) - [Working with Relationships in Spring Data REST](http://www.baeldung.com/spring-data-rest-relationships) - [AngularJS CRUD Application with Spring Data REST](http://www.baeldung.com/angularjs-crud-with-spring-data-rest) -- [List of In-Memory Databases](http://www.baeldung.com/java-in-memory-databases) - [Projections and Excerpts in Spring Data REST](http://www.baeldung.com/spring-data-rest-projections-excerpts) - [Spring Data REST Events with @RepositoryEventHandler](http://www.baeldung.com/spring-data-rest-events) - [Customizing HTTP Endpoints in Spring Data REST](https://www.baeldung.com/spring-data-rest-customize-http-endpoints) From c6b3e0316cf36ec9439d915a926b0f8b9dff84fc Mon Sep 17 00:00:00 2001 From: Tapan Avasthi Date: Tue, 3 Sep 2019 04:35:09 +0530 Subject: [PATCH 059/316] BAEL-3215: A Guide to the Java FileReader Class (#7677) --- core-java-modules/core-java-io-2/.gitignore | 3 + core-java-modules/core-java-io-2/pom.xml | 279 ++++++++++++++++++ .../filereader/FileReaderExample.java | 57 ++++ .../filereader/FileReaderExampleUnitTest.java | 62 ++++ .../src/test/resources/HelloWorld.txt | 1 + 5 files changed, 402 insertions(+) create mode 100644 core-java-modules/core-java-io-2/.gitignore create mode 100644 core-java-modules/core-java-io-2/pom.xml create mode 100644 core-java-modules/core-java-io-2/src/main/java/com/baeldung/filereader/FileReaderExample.java create mode 100644 core-java-modules/core-java-io-2/src/test/java/com/baeldung/filereader/FileReaderExampleUnitTest.java create mode 100644 core-java-modules/core-java-io-2/src/test/resources/HelloWorld.txt diff --git a/core-java-modules/core-java-io-2/.gitignore b/core-java-modules/core-java-io-2/.gitignore new file mode 100644 index 0000000000..de044ef20f --- /dev/null +++ b/core-java-modules/core-java-io-2/.gitignore @@ -0,0 +1,3 @@ +# Intellij +.idea/ +*.iml diff --git a/core-java-modules/core-java-io-2/pom.xml b/core-java-modules/core-java-io-2/pom.xml new file mode 100644 index 0000000000..64d9434beb --- /dev/null +++ b/core-java-modules/core-java-io-2/pom.xml @@ -0,0 +1,279 @@ + + 4.0.0 + core-java-io-2 + 0.1.0-SNAPSHOT + core-java-io-2 + jar + + + com.baeldung + parent-java + 0.0.1-SNAPSHOT + ../../parent-java + + + + + + net.sourceforge.collections + collections-generic + ${collections-generic.version} + + + org.apache.commons + commons-collections4 + ${commons-collections4.version} + + + commons-io + commons-io + ${commons-io.version} + + + org.apache.commons + commons-lang3 + ${commons-lang3.version} + + + org.apache.commons + commons-math3 + ${commons-math3.version} + + + org.decimal4j + decimal4j + ${decimal4j.version} + + + org.bouncycastle + bcprov-jdk15on + ${bouncycastle.version} + + + org.unix4j + unix4j-command + ${unix4j.version} + + + com.googlecode.grep4j + grep4j + ${grep4j.version} + + + + + com.fasterxml.jackson.core + jackson-databind + ${jackson.version} + + + + log4j + log4j + ${log4j.version} + + + org.slf4j + log4j-over-slf4j + ${org.slf4j.version} + + + org.projectlombok + lombok + ${lombok.version} + provided + + + + org.assertj + assertj-core + ${assertj.version} + test + + + com.jayway.awaitility + awaitility + ${avaitility.version} + test + + + commons-codec + commons-codec + ${commons-codec.version} + + + org.javamoney + moneta + ${moneta.version} + + + org.owasp.esapi + esapi + ${esapi.version} + + + com.sun.messaging.mq + fscontext + ${fscontext.version} + + + com.codepoetics + protonpack + ${protonpack.version} + + + one.util + streamex + ${streamex.version} + + + io.vavr + vavr + ${vavr.version} + + + org.openjdk.jmh + jmh-core + ${jmh-core.version} + + + org.openjdk.jmh + jmh-generator-annprocess + ${jmh-generator-annprocess.version} + + + org.hsqldb + hsqldb + ${hsqldb.version} + runtime + + + + org.asynchttpclient + async-http-client + ${async-http-client.version} + + + com.opencsv + opencsv + ${opencsv.version} + test + + + + org.apache.tika + tika-core + ${tika.version} + + + net.sf.jmimemagic + jmimemagic + ${jmime-magic.version} + + + + + core-java-io-2 + + + src/main/resources + true + + + + + org.codehaus.mojo + exec-maven-plugin + ${exec-maven-plugin.version} + + java + com.baeldung.outofmemoryerror.OutOfMemoryGCLimitExceed + + -Xmx300m + -XX:+UseParallelGC + -classpath + + com.baeldung.outofmemoryerror.OutOfMemoryGCLimitExceed + + + + + org.apache.maven.plugins + maven-javadoc-plugin + ${maven-javadoc-plugin.version} + + ${maven.compiler.source} + ${maven.compiler.target} + + + + + + + + integration + + + + org.codehaus.mojo + exec-maven-plugin + + + + run-benchmarks + + none + + exec + + + test + java + + -classpath + + org.openjdk.jmh.Main + .* + + + + + + + + + + + + + + 1.55 + 1.10 + 3.6.1 + 1.0.3 + 4.1 + 4.01 + 0.4 + 1.8.7 + 4.6-b01 + 1.13 + 0.6.5 + 0.9.0 + 4.1 + + 3.6.1 + 1.7.0 + + + 3.0.0-M1 + 2.4.0 + 2.1.0.1 + 1.19 + 2.4.5 + + 1.18 + 0.1.5 + + + \ No newline at end of file diff --git a/core-java-modules/core-java-io-2/src/main/java/com/baeldung/filereader/FileReaderExample.java b/core-java-modules/core-java-io-2/src/main/java/com/baeldung/filereader/FileReaderExample.java new file mode 100644 index 0000000000..34a8f61615 --- /dev/null +++ b/core-java-modules/core-java-io-2/src/main/java/com/baeldung/filereader/FileReaderExample.java @@ -0,0 +1,57 @@ +package com.baeldung.filereader; + +import java.io.*; + +public class FileReaderExample { + + public static String readAllCharactersOneByOne(Reader reader) throws IOException { + StringBuilder content = new StringBuilder(); + int nextChar; + while ((nextChar = reader.read()) != -1) { + content.append((char) nextChar); + } + return String.valueOf(content); + } + + public static String readMultipleCharacters(Reader reader, int length) throws IOException { + char[] buffer = new char[length]; + int charactersRead = reader.read(buffer, 0, length); + + + if (charactersRead != -1) { + return new String(buffer, 0, charactersRead); + } else { + return ""; + } + } + + public static String readFile(String path) { + FileReader fileReader = null; + try { + fileReader = new FileReader(path); + return readAllCharactersOneByOne(fileReader); + } catch (IOException e) { + e.printStackTrace(); + } finally { + if (fileReader != null) { + try { + fileReader.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + return null; + } + + public static String readFileUsingTryWithResources(String path) { + try (FileReader fileReader = new FileReader(path)) { + return readAllCharactersOneByOne(fileReader); + } catch (IOException e) { + e.printStackTrace(); + } + return null; + } + + +} \ No newline at end of file diff --git a/core-java-modules/core-java-io-2/src/test/java/com/baeldung/filereader/FileReaderExampleUnitTest.java b/core-java-modules/core-java-io-2/src/test/java/com/baeldung/filereader/FileReaderExampleUnitTest.java new file mode 100644 index 0000000000..968c041115 --- /dev/null +++ b/core-java-modules/core-java-io-2/src/test/java/com/baeldung/filereader/FileReaderExampleUnitTest.java @@ -0,0 +1,62 @@ +package com.baeldung.filereader; + +import org.junit.Assert; +import org.junit.Test; + +import java.io.File; +import java.io.FileReader; +import java.io.IOException; + +public class FileReaderExampleUnitTest { + + + private static final String FILE_PATH = "src/test/resources/HelloWorld.txt"; + + + @Test + public void givenFileReader_whenReadAllCharacters_thenReturnsContent() throws IOException { + String expectedText = "Hello, World!"; + File file = new File(FILE_PATH); + FileReader fileReader = null; + try { + fileReader = new FileReader(file); + String content = FileReaderExample.readAllCharactersOneByOne(fileReader); + Assert.assertEquals(expectedText, content); + } finally { + if (fileReader != null) { + fileReader.close(); + } + } + } + + @Test + public void givenFileReader_whenReadMultipleCharacters_thenReturnsContent() throws IOException { + String expectedText = "Hello"; + File file = new File(FILE_PATH); + FileReader fileReader = null; + try { + fileReader = new FileReader(file); + String content = FileReaderExample.readMultipleCharacters(fileReader, 5); + Assert.assertEquals(expectedText, content); + } finally { + if (fileReader != null) { + fileReader.close(); + } + } + } + + @Test + public void whenReadFile_thenReturnsContent() { + String expectedText = "Hello, World!"; + String content = FileReaderExample.readFile(FILE_PATH); + Assert.assertEquals(expectedText, content); + } + + @Test + public void whenReadFileUsingTryWithResources_thenReturnsContent() { + String expectedText = "Hello, World!"; + String content = FileReaderExample.readFileUsingTryWithResources(FILE_PATH); + Assert.assertEquals(expectedText, content); + } + +} diff --git a/core-java-modules/core-java-io-2/src/test/resources/HelloWorld.txt b/core-java-modules/core-java-io-2/src/test/resources/HelloWorld.txt new file mode 100644 index 0000000000..b45ef6fec8 --- /dev/null +++ b/core-java-modules/core-java-io-2/src/test/resources/HelloWorld.txt @@ -0,0 +1 @@ +Hello, World! \ No newline at end of file From fd2757a412080149dc4b6ef591932c4221d17220 Mon Sep 17 00:00:00 2001 From: Alex Tighe Date: Mon, 2 Sep 2019 20:49:40 -0400 Subject: [PATCH 060/316] Moving resources example from core-java-io2 to core-java-io. Removing core-java-io2 --- core-java-modules/core-java-io/pom.xml | 17 +++ .../baeldung/resource/MyResourceLoader.java | 0 core-java-modules/core-java-io2/.gitignore | 5 - core-java-modules/core-java-io2/pom.xml | 139 ------------------ .../src/main/resources/input.txt | 3 - .../src/test/resources/.gitignore | 13 -- 6 files changed, 17 insertions(+), 160 deletions(-) rename core-java-modules/{core-java-io2 => core-java-io}/src/main/java/com/baeldung/resource/MyResourceLoader.java (100%) delete mode 100644 core-java-modules/core-java-io2/.gitignore delete mode 100644 core-java-modules/core-java-io2/pom.xml delete mode 100644 core-java-modules/core-java-io2/src/main/resources/input.txt delete mode 100644 core-java-modules/core-java-io2/src/test/resources/.gitignore diff --git a/core-java-modules/core-java-io/pom.xml b/core-java-modules/core-java-io/pom.xml index 1a133d2cbe..84bf3baeed 100644 --- a/core-java-modules/core-java-io/pom.xml +++ b/core-java-modules/core-java-io/pom.xml @@ -207,6 +207,21 @@ ${maven.compiler.target} + + + + org.apache.maven.plugins + maven-jar-plugin + ${maven-jar-plugin.version} + + + + true + com.baeldung.resource.MyResourceLoader + + + + @@ -274,6 +289,8 @@ 1.18 0.1.5 + 3.1.0 + \ No newline at end of file diff --git a/core-java-modules/core-java-io2/src/main/java/com/baeldung/resource/MyResourceLoader.java b/core-java-modules/core-java-io/src/main/java/com/baeldung/resource/MyResourceLoader.java similarity index 100% rename from core-java-modules/core-java-io2/src/main/java/com/baeldung/resource/MyResourceLoader.java rename to core-java-modules/core-java-io/src/main/java/com/baeldung/resource/MyResourceLoader.java diff --git a/core-java-modules/core-java-io2/.gitignore b/core-java-modules/core-java-io2/.gitignore deleted file mode 100644 index c61d35324d..0000000000 --- a/core-java-modules/core-java-io2/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -0.* - -# Files generated by integration tests -# *.txt -/temp \ No newline at end of file diff --git a/core-java-modules/core-java-io2/pom.xml b/core-java-modules/core-java-io2/pom.xml deleted file mode 100644 index 922403edab..0000000000 --- a/core-java-modules/core-java-io2/pom.xml +++ /dev/null @@ -1,139 +0,0 @@ - - 4.0.0 - core-java-io2 - 0.1.0-SNAPSHOT - core-java-io2 - jar - - - com.baeldung - parent-java - 0.0.1-SNAPSHOT - ../../parent-java - - - - - org.apache.commons - commons-collections4 - ${commons-collections4.version} - - - - commons-io - commons-io - 2.6 - - - - org.projectlombok - lombok - ${lombok.version} - provided - - - - log4j - log4j - ${log4j.version} - - - - org.slf4j - log4j-over-slf4j - ${org.slf4j.version} - - - - - - core-java-io2 - - - src/main/resources - true - - - - - org.codehaus.mojo - exec-maven-plugin - ${exec-maven-plugin.version} - - java - com.baeldung.outofmemoryerror.OutOfMemoryGCLimitExceed - - -Xmx300m - -XX:+UseParallelGC - -classpath - - com.baeldung.outofmemoryerror.OutOfMemoryGCLimitExceed - - - - - - - org.apache.maven.plugins - maven-jar-plugin - ${maven-jar-plugin.version} - - - - true - com.baeldung.resource.MyResourceLoader - - - - - - - - - - integration - - - - org.codehaus.mojo - exec-maven-plugin - - - - run-benchmarks - - none - - exec - - - test - java - - -classpath - - org.openjdk.jmh.Main - .* - - - - - - - - - - - - - - 4.1 - - - 3.1.0 - - - - \ No newline at end of file diff --git a/core-java-modules/core-java-io2/src/main/resources/input.txt b/core-java-modules/core-java-io2/src/main/resources/input.txt deleted file mode 100644 index 8670fb3460..0000000000 --- a/core-java-modules/core-java-io2/src/main/resources/input.txt +++ /dev/null @@ -1,3 +0,0 @@ -Lorem ipsum dolor sit amet, consectetur adipiscing elit. -In lacus enim, scelerisque id sapien ut, semper euismod quam. -Nunc ullamcorper semper blandit. \ No newline at end of file diff --git a/core-java-modules/core-java-io2/src/test/resources/.gitignore b/core-java-modules/core-java-io2/src/test/resources/.gitignore deleted file mode 100644 index 83c05e60c8..0000000000 --- a/core-java-modules/core-java-io2/src/test/resources/.gitignore +++ /dev/null @@ -1,13 +0,0 @@ -*.class - -#folders# -/target -/neoDb* -/data -/src/main/webapp/WEB-INF/classes -*/META-INF/* - -# Packaged files # -*.jar -*.war -*.ear \ No newline at end of file From 5b2dec57486fc754e3ed5c02b4d80ddd0660eba6 Mon Sep 17 00:00:00 2001 From: Anshul Bansal Date: Tue, 3 Sep 2019 13:12:17 +0300 Subject: [PATCH 061/316] BAEL-3190 - Working with web services in Groovy - basic authorization --- .../groovy/com/baeldung/webservice/WebserviceUnitTest.groovy | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core-groovy-2/src/test/groovy/com/baeldung/webservice/WebserviceUnitTest.groovy b/core-groovy-2/src/test/groovy/com/baeldung/webservice/WebserviceUnitTest.groovy index edf2dca33f..0d4b5cd7ee 100644 --- a/core-groovy-2/src/test/groovy/com/baeldung/webservice/WebserviceUnitTest.groovy +++ b/core-groovy-2/src/test/groovy/com/baeldung/webservice/WebserviceUnitTest.groovy @@ -6,6 +6,7 @@ import wslite.rest.RESTClient import wslite.rest.RESTClientException import wslite.soap.SOAPClient import wslite.soap.SOAPMessageBuilder +import wslite.http.auth.HTTPBasicAuthorization class WebserviceUnitTest extends GroovyTestCase { @@ -120,10 +121,12 @@ class WebserviceUnitTest extends GroovyTestCase { def path = "/basic-auth" def response try { - response = client.get(path: path, headers: ["Authorization": "Basic cG9zdG1hbjpwYXNzd29yZA=="]) + client.authorization = new HTTPBasicAuthorization("postman", "password") + response = client.get(path: path) assert response.statusCode == 200 assert response.json?.authenticated == true } catch (RESTClientException e) { + e.printStackTrace() assert e?.response?.statusCode != 200 } } From 68413d30dc706e4eb9918cd9c6c6c312d91d1eb9 Mon Sep 17 00:00:00 2001 From: Kert Pjatkin Date: Thu, 29 Aug 2019 12:53:03 +0300 Subject: [PATCH 062/316] =?UTF-8?q?[BAEL-2851]=20Debugging=20the=20Spring?= =?UTF-8?q?=20MVC=20404=20=E2=80=9CNo=20mapping=20found=20for=20HTTP=20req?= =?UTF-8?q?uest=20with=20URI...=E2=80=9D=20error?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../spring/controller/GreetingController.java | 16 ++++++++++++++++ .../src/main/webapp/WEB-INF/view/greeting.jsp | 9 +++++++++ 2 files changed, 25 insertions(+) create mode 100644 spring-mvc-xml/src/main/java/com/baeldung/spring/controller/GreetingController.java create mode 100644 spring-mvc-xml/src/main/webapp/WEB-INF/view/greeting.jsp diff --git a/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/GreetingController.java b/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/GreetingController.java new file mode 100644 index 0000000000..dfa50fcb26 --- /dev/null +++ b/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/GreetingController.java @@ -0,0 +1,16 @@ +package com.baeldung.spring.controller; + +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; + +@Controller +public class GreetingController { + + @RequestMapping(value = "/greeting", method = RequestMethod.GET) + public String get(ModelMap model) { + model.addAttribute("message", "Hello, World!"); + return "greeting"; + } +} \ No newline at end of file diff --git a/spring-mvc-xml/src/main/webapp/WEB-INF/view/greeting.jsp b/spring-mvc-xml/src/main/webapp/WEB-INF/view/greeting.jsp new file mode 100644 index 0000000000..ac17c75ab7 --- /dev/null +++ b/spring-mvc-xml/src/main/webapp/WEB-INF/view/greeting.jsp @@ -0,0 +1,9 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + Greeting + + +

${message}

+ + \ No newline at end of file From 1889628daa76b4f8b846a2596bab47229a101f51 Mon Sep 17 00:00:00 2001 From: Krzysztof Majewski Date: Tue, 3 Sep 2019 16:27:36 +0200 Subject: [PATCH 063/316] BAEL-2966 --- .../interpolation/NotNullRequest.java | 17 ++++++++++ .../interpolation/RestController.java | 15 +++++++++ .../interpolation/ValidationExamples.java | 31 +++++++++++++++++++ 3 files changed, 63 insertions(+) create mode 100644 spring-core-2/src/main/java/com/baeldung/interpolation/NotNullRequest.java create mode 100644 spring-core-2/src/main/java/com/baeldung/interpolation/RestController.java create mode 100644 spring-core-2/src/main/java/com/baeldung/interpolation/ValidationExamples.java diff --git a/spring-core-2/src/main/java/com/baeldung/interpolation/NotNullRequest.java b/spring-core-2/src/main/java/com/baeldung/interpolation/NotNullRequest.java new file mode 100644 index 0000000000..9a2b00be8f --- /dev/null +++ b/spring-core-2/src/main/java/com/baeldung/interpolation/NotNullRequest.java @@ -0,0 +1,17 @@ +package com.baeldung.interpolation; + +import javax.validation.constraints.NotNull; + +public class NotNullRequest { + + @NotNull(message = "stringValue has to be present") + private String stringValue; + + public String getStringValue() { + return stringValue; + } + + public void setStringValue(String stringValue) { + this.stringValue = stringValue; + } +} diff --git a/spring-core-2/src/main/java/com/baeldung/interpolation/RestController.java b/spring-core-2/src/main/java/com/baeldung/interpolation/RestController.java new file mode 100644 index 0000000000..87b16320fe --- /dev/null +++ b/spring-core-2/src/main/java/com/baeldung/interpolation/RestController.java @@ -0,0 +1,15 @@ +package com.baeldung.interpolation; + +import javax.validation.Valid; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class RestController { + + @PostMapping("/test-not-null") + public void testNotNull(@Valid @RequestBody NotNullRequest request) { + + } +} diff --git a/spring-core-2/src/main/java/com/baeldung/interpolation/ValidationExamples.java b/spring-core-2/src/main/java/com/baeldung/interpolation/ValidationExamples.java new file mode 100644 index 0000000000..d353e4f7f2 --- /dev/null +++ b/spring-core-2/src/main/java/com/baeldung/interpolation/ValidationExamples.java @@ -0,0 +1,31 @@ +package com.baeldung.interpolation; + +import java.util.Formatter; +import javax.validation.constraints.Size; +import javax.validation.constraints.Min; +import javax.validation.constraints.DecimalMin; + +public class ValidationExamples { + + private static final Formatter formatter = new Formatter(); + + @Size( + min = 5, + max = 14, + message = "The author email '${validatedValue}' must be between {min} and {max} characters long" + ) + private String authorEmail; + + @Min( + value = 1, + message = "There must be at least {value} test{value > 1 ? 's' : ''} int the test case" + ) + private int testCount; + + @DecimalMin( + value = "50", + message = "The code coverage ${formatter.format('%1$.2f', validatedValue)} must be higher than {value}%" + ) + private double codeCoverage; + +} From 40ec4b95982661c03d93a9dec24c14e5cc46c61d Mon Sep 17 00:00:00 2001 From: Krzysztof Majewski Date: Tue, 3 Sep 2019 16:32:13 +0200 Subject: [PATCH 064/316] add validation to pom --- spring-core-2/pom.xml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/spring-core-2/pom.xml b/spring-core-2/pom.xml index d68beda64a..6c2635c88b 100644 --- a/spring-core-2/pom.xml +++ b/spring-core-2/pom.xml @@ -41,6 +41,11 @@ ${junit-jupiter.version} test + + javax.validation + validation-api + ${validation-api.version} + @@ -55,6 +60,7 @@ 2.22.1 + 2.0.1.Final - \ No newline at end of file + From 017992bf74006e111b0a4152035a5ed2f586f9be Mon Sep 17 00:00:00 2001 From: Krzysztof Majewski Date: Tue, 3 Sep 2019 16:39:23 +0200 Subject: [PATCH 065/316] move to new module --- spring-core-2/pom.xml | 6 ------ .../java/com/baeldung/interpolation/NotNullRequest.java | 0 .../java/com/baeldung/interpolation/RestController.java | 0 .../java/com/baeldung/interpolation/ValidationExamples.java | 0 4 files changed, 6 deletions(-) rename {spring-core-2 => spring-mvc-simple-2}/src/main/java/com/baeldung/interpolation/NotNullRequest.java (100%) rename {spring-core-2 => spring-mvc-simple-2}/src/main/java/com/baeldung/interpolation/RestController.java (100%) rename {spring-core-2 => spring-mvc-simple-2}/src/main/java/com/baeldung/interpolation/ValidationExamples.java (100%) diff --git a/spring-core-2/pom.xml b/spring-core-2/pom.xml index 6c2635c88b..e24839b737 100644 --- a/spring-core-2/pom.xml +++ b/spring-core-2/pom.xml @@ -41,11 +41,6 @@ ${junit-jupiter.version} test - - javax.validation - validation-api - ${validation-api.version} - @@ -60,7 +55,6 @@ 2.22.1 - 2.0.1.Final diff --git a/spring-core-2/src/main/java/com/baeldung/interpolation/NotNullRequest.java b/spring-mvc-simple-2/src/main/java/com/baeldung/interpolation/NotNullRequest.java similarity index 100% rename from spring-core-2/src/main/java/com/baeldung/interpolation/NotNullRequest.java rename to spring-mvc-simple-2/src/main/java/com/baeldung/interpolation/NotNullRequest.java diff --git a/spring-core-2/src/main/java/com/baeldung/interpolation/RestController.java b/spring-mvc-simple-2/src/main/java/com/baeldung/interpolation/RestController.java similarity index 100% rename from spring-core-2/src/main/java/com/baeldung/interpolation/RestController.java rename to spring-mvc-simple-2/src/main/java/com/baeldung/interpolation/RestController.java diff --git a/spring-core-2/src/main/java/com/baeldung/interpolation/ValidationExamples.java b/spring-mvc-simple-2/src/main/java/com/baeldung/interpolation/ValidationExamples.java similarity index 100% rename from spring-core-2/src/main/java/com/baeldung/interpolation/ValidationExamples.java rename to spring-mvc-simple-2/src/main/java/com/baeldung/interpolation/ValidationExamples.java From 6627bcdc841e7bec124a281770a9070e39b225e9 Mon Sep 17 00:00:00 2001 From: Krzysztof Majewski Date: Tue, 3 Sep 2019 16:41:50 +0200 Subject: [PATCH 066/316] rename file --- .../{RestController.java => ValidationController.java} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename spring-mvc-simple-2/src/main/java/com/baeldung/interpolation/{RestController.java => ValidationController.java} (91%) diff --git a/spring-mvc-simple-2/src/main/java/com/baeldung/interpolation/RestController.java b/spring-mvc-simple-2/src/main/java/com/baeldung/interpolation/ValidationController.java similarity index 91% rename from spring-mvc-simple-2/src/main/java/com/baeldung/interpolation/RestController.java rename to spring-mvc-simple-2/src/main/java/com/baeldung/interpolation/ValidationController.java index 87b16320fe..3fed170fdf 100644 --- a/spring-mvc-simple-2/src/main/java/com/baeldung/interpolation/RestController.java +++ b/spring-mvc-simple-2/src/main/java/com/baeldung/interpolation/ValidationController.java @@ -6,7 +6,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; @RestController -public class RestController { +public class ValidationController { @PostMapping("/test-not-null") public void testNotNull(@Valid @RequestBody NotNullRequest request) { From 06cbdfce02f67223f9aaa67389d4cd90dd85bd3f Mon Sep 17 00:00:00 2001 From: fanatixan Date: Tue, 3 Sep 2019 18:26:21 +0200 Subject: [PATCH 067/316] bael-3208 command line arguments examples (#7704) * bael-3208 command line arguments examples * moved command line argument examples from core-java-lang to core-java-lang-2 --- core-java-modules/core-java-lang-2/.gitignore | 25 ++++++++++++++ core-java-modules/core-java-lang-2/README.md | 5 +++ core-java-modules/core-java-lang-2/pom.xml | 33 +++++++++++++++++++ .../commandlinearguments/CliExample.java | 12 +++++++ .../CliExampleWithVarargs.java | 12 +++++++ pom.xml | 2 ++ 6 files changed, 89 insertions(+) create mode 100644 core-java-modules/core-java-lang-2/.gitignore create mode 100644 core-java-modules/core-java-lang-2/README.md create mode 100644 core-java-modules/core-java-lang-2/pom.xml create mode 100644 core-java-modules/core-java-lang-2/src/main/java/com/baeldung/commandlinearguments/CliExample.java create mode 100644 core-java-modules/core-java-lang-2/src/main/java/com/baeldung/commandlinearguments/CliExampleWithVarargs.java diff --git a/core-java-modules/core-java-lang-2/.gitignore b/core-java-modules/core-java-lang-2/.gitignore new file mode 100644 index 0000000000..374c8bf907 --- /dev/null +++ b/core-java-modules/core-java-lang-2/.gitignore @@ -0,0 +1,25 @@ +*.class + +0.* + +#folders# +/target +/neoDb* +/data +/src/main/webapp/WEB-INF/classes +*/META-INF/* +.resourceCache + +# Packaged files # +*.jar +*.war +*.ear + +# Files generated by integration tests +backup-pom.xml +/bin/ +/temp + +#IntelliJ specific +.idea/ +*.iml \ No newline at end of file diff --git a/core-java-modules/core-java-lang-2/README.md b/core-java-modules/core-java-lang-2/README.md new file mode 100644 index 0000000000..88a48661a0 --- /dev/null +++ b/core-java-modules/core-java-lang-2/README.md @@ -0,0 +1,5 @@ +========= + +## Core Java Lang Cookbooks and Examples + +### Relevant Articles: diff --git a/core-java-modules/core-java-lang-2/pom.xml b/core-java-modules/core-java-lang-2/pom.xml new file mode 100644 index 0000000000..4b02e06be4 --- /dev/null +++ b/core-java-modules/core-java-lang-2/pom.xml @@ -0,0 +1,33 @@ + + 4.0.0 + com.baeldung + core-java-lang-2 + 0.1.0-SNAPSHOT + core-java-lang-2 + jar + + + com.baeldung + parent-java + 0.0.1-SNAPSHOT + ../../parent-java + + + + + + + core-java-lang-2 + + + src/main/resources + true + + + + + + + + diff --git a/core-java-modules/core-java-lang-2/src/main/java/com/baeldung/commandlinearguments/CliExample.java b/core-java-modules/core-java-lang-2/src/main/java/com/baeldung/commandlinearguments/CliExample.java new file mode 100644 index 0000000000..d6a7dec8aa --- /dev/null +++ b/core-java-modules/core-java-lang-2/src/main/java/com/baeldung/commandlinearguments/CliExample.java @@ -0,0 +1,12 @@ +package com.baeldung.commandlinearguments; + +public class CliExample { + + public static void main(String[] args) { + System.out.println("Argument count: " + args.length); + for (int i = 0; i < args.length; i++) { + System.out.println("Argument " + i + ": " + args[i]); + } + } + +} diff --git a/core-java-modules/core-java-lang-2/src/main/java/com/baeldung/commandlinearguments/CliExampleWithVarargs.java b/core-java-modules/core-java-lang-2/src/main/java/com/baeldung/commandlinearguments/CliExampleWithVarargs.java new file mode 100644 index 0000000000..899e03416e --- /dev/null +++ b/core-java-modules/core-java-lang-2/src/main/java/com/baeldung/commandlinearguments/CliExampleWithVarargs.java @@ -0,0 +1,12 @@ +package com.baeldung.commandlinearguments; + +public class CliExampleWithVarargs { + + public static void main(String... args) { + System.out.println("Argument count: " + args.length); + for (int i = 0; i < args.length; i++) { + System.out.println("Argument " + i + ": " + args[i]); + } + } + +} diff --git a/pom.xml b/pom.xml index 005d6b6e2c..21d87d9852 100644 --- a/pom.xml +++ b/pom.xml @@ -404,6 +404,7 @@ core-java-modules/core-java-security core-java-modules/core-java-lang-syntax core-java-modules/core-java-lang + core-java-modules/core-java-lang-2 core-java-modules/core-java-lang-oop core-java-modules/core-java-lang-oop-2 core-java-modules @@ -1126,6 +1127,7 @@ core-java-modules/core-java-security core-java-modules/core-java-lang-syntax core-java-modules/core-java-lang + core-java-modules/core-java-lang-2 core-java-modules/core-java-lang-oop core-java-modules/core-java-lang-oop-2 core-java-modules From d68530b53950f5825b60ebc1822adbd4875ec4dc Mon Sep 17 00:00:00 2001 From: Maciej Andrearczyk Date: Tue, 27 Aug 2019 22:21:37 +0200 Subject: [PATCH 068/316] BAEL-3192 | A guide to System.gc() --- .../baeldung/systemgc/DemoApplication.java | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 core-java-modules/core-java-jvm/src/main/java/com/baeldung/systemgc/DemoApplication.java diff --git a/core-java-modules/core-java-jvm/src/main/java/com/baeldung/systemgc/DemoApplication.java b/core-java-modules/core-java-jvm/src/main/java/com/baeldung/systemgc/DemoApplication.java new file mode 100644 index 0000000000..8bca55c5f0 --- /dev/null +++ b/core-java-modules/core-java-jvm/src/main/java/com/baeldung/systemgc/DemoApplication.java @@ -0,0 +1,33 @@ +package com.baeldung.systemgc; + +import java.util.HashMap; +import java.util.Map; +import java.util.Scanner; + +import static java.util.UUID.randomUUID; + +public class DemoApplication { + + private static final Map cache = new HashMap(); + + public static void main(String[] args) { + Scanner scanner = new Scanner(System.in); + + while (scanner.hasNext()) { + final String next = scanner.next(); + if ("fill".equals(next)) { + for (int i = 0; i < 1000000; i++) { + cache.put(randomUUID().toString(), randomUUID().toString()); + } + } else if ("invalidate".equals(next)) { + cache.clear(); + } else if ("gc".equals(next)) { + System.gc(); + } else if ("exit".equals(next)) { + System.exit(0); + } else { + System.out.println("unknown"); + } + } + } +} \ No newline at end of file From 2da48b91e74bd8df48cb3a86467aa32addb0340e Mon Sep 17 00:00:00 2001 From: Sjmillington Date: Tue, 3 Sep 2019 19:47:15 +0100 Subject: [PATCH 069/316] moved files to core-java-modules/core-java-reflection --- core-java-modules/core-java-8/README.md | 1 - core-java-modules/core-java-8/pom.xml | 11 --------- core-java-modules/core-java-lang/README.md | 5 +--- .../core-java-reflection/README.MD | 5 ++++ .../core-java-reflection/pom.xml | 23 +++++++++++++++++++ .../DynamicInvocationHandler.java | 0 .../TimingDynamicInvocationHandler.java | 0 .../java/com/baeldung/reflect/Person.java | 0 .../reflection}/java/reflection/Animal.java | 0 .../reflection}/java/reflection/Bird.java | 0 .../java/reflection/DynamicGreeter.java | 0 .../reflection}/java/reflection/Eating.java | 0 .../reflection}/java/reflection/Goat.java | 0 .../reflection}/java/reflection/Greeter.java | 0 .../java/reflection/GreetingAnnotation.java | 0 .../java/reflection/Greetings.java | 0 .../java/reflection/Locomotion.java | 0 .../java/reflection/Operations.java | 0 .../reflection}/java/reflection/Person.java | 0 .../DynamicProxyIntegrationTest.java | 0 .../reflect/MethodParamNameUnitTest.java | 0 .../java/reflection/OperationsUnitTest.java | 0 .../java/reflection/ReflectionUnitTest.java | 0 23 files changed, 29 insertions(+), 16 deletions(-) rename core-java-modules/{core-java-lang => core-java-reflection}/src/main/java/com/baeldung/dynamicproxy/DynamicInvocationHandler.java (100%) rename core-java-modules/{core-java-lang => core-java-reflection}/src/main/java/com/baeldung/dynamicproxy/TimingDynamicInvocationHandler.java (100%) rename core-java-modules/{core-java-8 => core-java-reflection}/src/main/java/com/baeldung/reflect/Person.java (100%) rename core-java-modules/{core-java-lang/src/main/java/com/baeldung => core-java-reflection/src/main/java/com/baeldung/reflection}/java/reflection/Animal.java (100%) rename core-java-modules/{core-java-lang/src/main/java/com/baeldung => core-java-reflection/src/main/java/com/baeldung/reflection}/java/reflection/Bird.java (100%) rename core-java-modules/{core-java-lang/src/main/java/com/baeldung => core-java-reflection/src/main/java/com/baeldung/reflection}/java/reflection/DynamicGreeter.java (100%) rename core-java-modules/{core-java-lang/src/main/java/com/baeldung => core-java-reflection/src/main/java/com/baeldung/reflection}/java/reflection/Eating.java (100%) rename core-java-modules/{core-java-lang/src/main/java/com/baeldung => core-java-reflection/src/main/java/com/baeldung/reflection}/java/reflection/Goat.java (100%) rename core-java-modules/{core-java-lang/src/main/java/com/baeldung => core-java-reflection/src/main/java/com/baeldung/reflection}/java/reflection/Greeter.java (100%) rename core-java-modules/{core-java-lang/src/main/java/com/baeldung => core-java-reflection/src/main/java/com/baeldung/reflection}/java/reflection/GreetingAnnotation.java (100%) rename core-java-modules/{core-java-lang/src/main/java/com/baeldung => core-java-reflection/src/main/java/com/baeldung/reflection}/java/reflection/Greetings.java (100%) rename core-java-modules/{core-java-lang/src/main/java/com/baeldung => core-java-reflection/src/main/java/com/baeldung/reflection}/java/reflection/Locomotion.java (100%) rename core-java-modules/{core-java-lang/src/main/java/com/baeldung => core-java-reflection/src/main/java/com/baeldung/reflection}/java/reflection/Operations.java (100%) rename core-java-modules/{core-java-lang/src/main/java/com/baeldung => core-java-reflection/src/main/java/com/baeldung/reflection}/java/reflection/Person.java (100%) rename core-java-modules/{core-java-lang => core-java-reflection}/src/test/java/com/baeldung/dynamicproxy/DynamicProxyIntegrationTest.java (100%) rename core-java-modules/{core-java-8 => core-java-reflection}/src/test/java/com/baeldung/reflect/MethodParamNameUnitTest.java (100%) rename core-java-modules/{core-java-lang/src/test/java/com/baeldung => core-java-reflection/src/test/java/com/baeldung/reflection}/java/reflection/OperationsUnitTest.java (100%) rename core-java-modules/{core-java-lang/src/test/java/com/baeldung => core-java-reflection/src/test/java/com/baeldung/reflection}/java/reflection/ReflectionUnitTest.java (100%) diff --git a/core-java-modules/core-java-8/README.md b/core-java-modules/core-java-8/README.md index 6e79eddd16..aee7121fb3 100644 --- a/core-java-modules/core-java-8/README.md +++ b/core-java-modules/core-java-8/README.md @@ -20,7 +20,6 @@ - [Finding Min/Max in an Array with Java](http://www.baeldung.com/java-array-min-max) - [Internationalization and Localization in Java 8](http://www.baeldung.com/java-8-localization) - [Java Optional – orElse() vs orElseGet()](http://www.baeldung.com/java-optional-or-else-vs-or-else-get) -- [Method Parameter Reflection in Java](http://www.baeldung.com/java-parameter-reflection) - [Java 8 Unsigned Arithmetic Support](http://www.baeldung.com/java-unsigned-arithmetic) - [Generalized Target-Type Inference in Java](http://www.baeldung.com/java-generalized-target-type-inference) - [Overriding System Time for Testing in Java](http://www.baeldung.com/java-override-system-time) diff --git a/core-java-modules/core-java-8/pom.xml b/core-java-modules/core-java-8/pom.xml index 28182e515b..6e547b7fad 100644 --- a/core-java-modules/core-java-8/pom.xml +++ b/core-java-modules/core-java-8/pom.xml @@ -134,16 +134,6 @@ - - org.apache.maven.plugins - maven-compiler-plugin - ${maven-compiler-plugin.version} - - 1.8 - 1.8 - -parameters - - org.springframework.boot spring-boot-maven-plugin @@ -192,7 +182,6 @@ 1.19 2.0.4.RELEASE - 3.8.0 2.22.1 diff --git a/core-java-modules/core-java-lang/README.md b/core-java-modules/core-java-lang/README.md index 74936eac21..f3b6d3d8e5 100644 --- a/core-java-modules/core-java-lang/README.md +++ b/core-java-modules/core-java-lang/README.md @@ -3,13 +3,10 @@ ## Core Java Lang Cookbooks and Examples ### Relevant Articles: -- [Guide to Java Reflection](http://www.baeldung.com/java-reflection) + - [Generate equals() and hashCode() with Eclipse](http://www.baeldung.com/java-eclipse-equals-and-hashcode) - [Chained Exceptions in Java](http://www.baeldung.com/java-chained-exceptions) -- [Call Methods at Runtime Using Java Reflection](http://www.baeldung.com/java-method-reflection) - [Iterating Over Enum Values in Java](http://www.baeldung.com/java-enum-iteration) -- [Changing Annotation Parameters At Runtime](http://www.baeldung.com/java-reflection-change-annotation-params) -- [Dynamic Proxies in Java](http://www.baeldung.com/java-dynamic-proxies) - [Java Double Brace Initialization](http://www.baeldung.com/java-double-brace-initialization) - [Guide to the Diamond Operator in Java](http://www.baeldung.com/java-diamond-operator) - [Comparator and Comparable in Java](http://www.baeldung.com/java-comparator-comparable) diff --git a/core-java-modules/core-java-reflection/README.MD b/core-java-modules/core-java-reflection/README.MD index c8766d6858..e46a97cd3d 100644 --- a/core-java-modules/core-java-reflection/README.MD +++ b/core-java-modules/core-java-reflection/README.MD @@ -1,3 +1,8 @@ ## Relevant Articles - [Void Type in Java](https://www.baeldung.com/java-void-type) +- [Method Parameter Reflection in Java](http://www.baeldung.com/java-parameter-reflection) +- [Guide to Java Reflection](http://www.baeldung.com/java-reflection) +- [Call Methods at Runtime Using Java Reflection](http://www.baeldung.com/java-method-reflection) +- [Changing Annotation Parameters At Runtime](http://www.baeldung.com/java-reflection-change-annotation-params) +- [Dynamic Proxies in Java](http://www.baeldung.com/java-dynamic-proxies) diff --git a/core-java-modules/core-java-reflection/pom.xml b/core-java-modules/core-java-reflection/pom.xml index e6c7f81d6c..b3c3390df8 100644 --- a/core-java-modules/core-java-reflection/pom.xml +++ b/core-java-modules/core-java-reflection/pom.xml @@ -23,7 +23,30 @@ + + core-java-reflection + + + src/main/resources + true + + + + + org.apache.maven.plugins + maven-compiler-plugin + ${maven-compiler-plugin.version} + + 1.8 + 1.8 + -parameters + + + + + + 3.8.0 3.10.0 \ No newline at end of file diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/dynamicproxy/DynamicInvocationHandler.java b/core-java-modules/core-java-reflection/src/main/java/com/baeldung/dynamicproxy/DynamicInvocationHandler.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/dynamicproxy/DynamicInvocationHandler.java rename to core-java-modules/core-java-reflection/src/main/java/com/baeldung/dynamicproxy/DynamicInvocationHandler.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/dynamicproxy/TimingDynamicInvocationHandler.java b/core-java-modules/core-java-reflection/src/main/java/com/baeldung/dynamicproxy/TimingDynamicInvocationHandler.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/dynamicproxy/TimingDynamicInvocationHandler.java rename to core-java-modules/core-java-reflection/src/main/java/com/baeldung/dynamicproxy/TimingDynamicInvocationHandler.java diff --git a/core-java-modules/core-java-8/src/main/java/com/baeldung/reflect/Person.java b/core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflect/Person.java similarity index 100% rename from core-java-modules/core-java-8/src/main/java/com/baeldung/reflect/Person.java rename to core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflect/Person.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/java/reflection/Animal.java b/core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/java/reflection/Animal.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/java/reflection/Animal.java rename to core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/java/reflection/Animal.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/java/reflection/Bird.java b/core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/java/reflection/Bird.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/java/reflection/Bird.java rename to core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/java/reflection/Bird.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/java/reflection/DynamicGreeter.java b/core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/java/reflection/DynamicGreeter.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/java/reflection/DynamicGreeter.java rename to core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/java/reflection/DynamicGreeter.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/java/reflection/Eating.java b/core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/java/reflection/Eating.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/java/reflection/Eating.java rename to core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/java/reflection/Eating.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/java/reflection/Goat.java b/core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/java/reflection/Goat.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/java/reflection/Goat.java rename to core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/java/reflection/Goat.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/java/reflection/Greeter.java b/core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/java/reflection/Greeter.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/java/reflection/Greeter.java rename to core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/java/reflection/Greeter.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/java/reflection/GreetingAnnotation.java b/core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/java/reflection/GreetingAnnotation.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/java/reflection/GreetingAnnotation.java rename to core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/java/reflection/GreetingAnnotation.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/java/reflection/Greetings.java b/core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/java/reflection/Greetings.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/java/reflection/Greetings.java rename to core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/java/reflection/Greetings.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/java/reflection/Locomotion.java b/core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/java/reflection/Locomotion.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/java/reflection/Locomotion.java rename to core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/java/reflection/Locomotion.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/java/reflection/Operations.java b/core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/java/reflection/Operations.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/java/reflection/Operations.java rename to core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/java/reflection/Operations.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/java/reflection/Person.java b/core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/java/reflection/Person.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/java/reflection/Person.java rename to core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/java/reflection/Person.java diff --git a/core-java-modules/core-java-lang/src/test/java/com/baeldung/dynamicproxy/DynamicProxyIntegrationTest.java b/core-java-modules/core-java-reflection/src/test/java/com/baeldung/dynamicproxy/DynamicProxyIntegrationTest.java similarity index 100% rename from core-java-modules/core-java-lang/src/test/java/com/baeldung/dynamicproxy/DynamicProxyIntegrationTest.java rename to core-java-modules/core-java-reflection/src/test/java/com/baeldung/dynamicproxy/DynamicProxyIntegrationTest.java diff --git a/core-java-modules/core-java-8/src/test/java/com/baeldung/reflect/MethodParamNameUnitTest.java b/core-java-modules/core-java-reflection/src/test/java/com/baeldung/reflect/MethodParamNameUnitTest.java similarity index 100% rename from core-java-modules/core-java-8/src/test/java/com/baeldung/reflect/MethodParamNameUnitTest.java rename to core-java-modules/core-java-reflection/src/test/java/com/baeldung/reflect/MethodParamNameUnitTest.java diff --git a/core-java-modules/core-java-lang/src/test/java/com/baeldung/java/reflection/OperationsUnitTest.java b/core-java-modules/core-java-reflection/src/test/java/com/baeldung/reflection/java/reflection/OperationsUnitTest.java similarity index 100% rename from core-java-modules/core-java-lang/src/test/java/com/baeldung/java/reflection/OperationsUnitTest.java rename to core-java-modules/core-java-reflection/src/test/java/com/baeldung/reflection/java/reflection/OperationsUnitTest.java diff --git a/core-java-modules/core-java-lang/src/test/java/com/baeldung/java/reflection/ReflectionUnitTest.java b/core-java-modules/core-java-reflection/src/test/java/com/baeldung/reflection/java/reflection/ReflectionUnitTest.java similarity index 100% rename from core-java-modules/core-java-lang/src/test/java/com/baeldung/java/reflection/ReflectionUnitTest.java rename to core-java-modules/core-java-reflection/src/test/java/com/baeldung/reflection/java/reflection/ReflectionUnitTest.java From b04e2c32b23a378ef145893ebf99ba20306492e2 Mon Sep 17 00:00:00 2001 From: Lukasz Rys <> Date: Tue, 3 Sep 2019 20:50:27 +0200 Subject: [PATCH 070/316] [ BAEL-1869 ]: Delete the article from README.MD. Reformat. --- spring-5-data-reactive/README.md | 1 - .../couchbase/configuration/CouchbaseProperties.java | 5 +---- .../configuration/ReactiveCouchbaseConfiguration.java | 3 --- 3 files changed, 1 insertion(+), 8 deletions(-) diff --git a/spring-5-data-reactive/README.md b/spring-5-data-reactive/README.md index 4e342532b2..4c2347dc77 100644 --- a/spring-5-data-reactive/README.md +++ b/spring-5-data-reactive/README.md @@ -8,4 +8,3 @@ The "REST With Spring" Classes: http://bit.ly/restwithspring - [Spring Data Reactive Repositories with MongoDB](http://www.baeldung.com/spring-data-mongodb-reactive) - [Spring Data MongoDB Tailable Cursors](https://www.baeldung.com/spring-data-mongodb-tailable-cursors) - [A Quick Look at R2DBC with Spring Data](https://www.baeldung.com/spring-data-r2dbc) -- [Embedded Redis Server with Spring Boot Test]() diff --git a/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/configuration/CouchbaseProperties.java b/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/configuration/CouchbaseProperties.java index 85c6997c6a..480c96e986 100644 --- a/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/configuration/CouchbaseProperties.java +++ b/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/configuration/CouchbaseProperties.java @@ -14,10 +14,7 @@ public class CouchbaseProperties { private final String bucketPassword; private final int port; - public CouchbaseProperties( - @Value("${spring.couchbase.bootstrap-hosts}") final List bootstrapHosts, - @Value("${spring.couchbase.bucket.name}") final String bucketName, - @Value("${spring.couchbase.bucket.password}") final String bucketPassword, + public CouchbaseProperties(@Value("${spring.couchbase.bootstrap-hosts}") final List bootstrapHosts, @Value("${spring.couchbase.bucket.name}") final String bucketName, @Value("${spring.couchbase.bucket.password}") final String bucketPassword, @Value("${spring.couchbase.port}") final int port) { this.bootstrapHosts = Collections.unmodifiableList(bootstrapHosts); this.bucketName = bucketName; diff --git a/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/configuration/ReactiveCouchbaseConfiguration.java b/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/configuration/ReactiveCouchbaseConfiguration.java index 3bd66a895a..2f3b5486d8 100644 --- a/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/configuration/ReactiveCouchbaseConfiguration.java +++ b/spring-5-data-reactive/src/main/java/com/baeldung/couchbase/configuration/ReactiveCouchbaseConfiguration.java @@ -2,10 +2,7 @@ package com.baeldung.couchbase.configuration; import com.couchbase.client.java.env.CouchbaseEnvironment; import com.couchbase.client.java.env.DefaultCouchbaseEnvironment; -import org.springframework.context.annotation.Bean; import org.springframework.data.couchbase.config.AbstractReactiveCouchbaseConfiguration; -import org.springframework.data.couchbase.config.BeanNames; -import org.springframework.data.couchbase.repository.support.IndexManager; import java.util.List; From 4a536e394a331a6652203d048186fd45798a588c Mon Sep 17 00:00:00 2001 From: Alex Tighe Date: Tue, 3 Sep 2019 18:24:12 -0400 Subject: [PATCH 071/316] Removing stray core-java-io2 in tutorials pom file. --- pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/pom.xml b/pom.xml index af5cf4ff03..3fd1bcf5fb 100644 --- a/pom.xml +++ b/pom.xml @@ -396,7 +396,6 @@ core-java-modules/core-java-concurrency-basic core-java-modules/core-java-concurrency-collections core-java-modules/core-java-io - core-java-modules/core-java-io2 core-java-modules/core-java-nio core-java-modules/core-java-security core-java-modules/core-java-lang-syntax From 747212790941df5ad7c385812779214ea84d13b9 Mon Sep 17 00:00:00 2001 From: hugogiordano <36562956+hugogiordano@users.noreply.github.com> Date: Wed, 4 Sep 2019 14:37:40 +1000 Subject: [PATCH 072/316] BAEL-3188 How to compress requests using the Spring RestTemplate. (#7688) * BAEL-3188 How to compress requests using the Spring RestTemplate. * BAEL-3188 How to compress requests using the Spring RestTemplate. Updated README. * BAEL-3188 How to compress requests using the Spring RestTemplate. * BAEL-3188 How to compress requests using the Spring RestTemplate. * BAEL-3188 How to compress requests using the Spring RestTemplate. Updated parent pom to add new module. --- pom.xml | 3 + spring-rest-compress/README.md | 5 ++ spring-rest-compress/pom.xml | 66 +++++++++++++++++++ ...mpressingClientHttpRequestInterceptor.java | 38 +++++++++++ .../spring/rest/compress/GzipUtils.java | 56 ++++++++++++++++ .../compress/JettyWebServerConfiguration.java | 38 +++++++++++ .../spring/rest/compress/Message.java | 29 ++++++++ .../rest/compress/MessageController.java | 38 +++++++++++ .../compress/RestTemplateConfiguration.java | 21 ++++++ .../SpringCompressRequestApplication.java | 15 +++++ .../rest/compress/GzipUtilsUnitTest.java | 19 ++++++ .../compress/MessageControllerUnitTest.java | 56 ++++++++++++++++ 12 files changed, 384 insertions(+) create mode 100644 spring-rest-compress/README.md create mode 100644 spring-rest-compress/pom.xml create mode 100644 spring-rest-compress/src/main/java/org/baeldung/spring/rest/compress/CompressingClientHttpRequestInterceptor.java create mode 100644 spring-rest-compress/src/main/java/org/baeldung/spring/rest/compress/GzipUtils.java create mode 100644 spring-rest-compress/src/main/java/org/baeldung/spring/rest/compress/JettyWebServerConfiguration.java create mode 100644 spring-rest-compress/src/main/java/org/baeldung/spring/rest/compress/Message.java create mode 100644 spring-rest-compress/src/main/java/org/baeldung/spring/rest/compress/MessageController.java create mode 100644 spring-rest-compress/src/main/java/org/baeldung/spring/rest/compress/RestTemplateConfiguration.java create mode 100644 spring-rest-compress/src/main/java/org/baeldung/spring/rest/compress/SpringCompressRequestApplication.java create mode 100644 spring-rest-compress/src/test/java/org/baeldung/spring/rest/compress/GzipUtilsUnitTest.java create mode 100644 spring-rest-compress/src/test/java/org/baeldung/spring/rest/compress/MessageControllerUnitTest.java diff --git a/pom.xml b/pom.xml index 21d87d9852..005a24effa 100644 --- a/pom.xml +++ b/pom.xml @@ -741,6 +741,7 @@ spring-remoting spring-rest spring-rest-angular + spring-rest-compress spring-rest-full spring-rest-hal-browser spring-rest-query-language @@ -928,6 +929,7 @@ spring-remoting/remoting-rmi/remoting-rmi-server spring-rest spring-rest-angular + spring-rest-compress spring-rest-full spring-rest-simple spring-resttemplate @@ -1433,6 +1435,7 @@ spring-remoting spring-rest spring-rest-angular + spring-rest-compress spring-rest-full spring-rest-hal-browser spring-rest-query-language diff --git a/spring-rest-compress/README.md b/spring-rest-compress/README.md new file mode 100644 index 0000000000..238c28e4b5 --- /dev/null +++ b/spring-rest-compress/README.md @@ -0,0 +1,5 @@ +========================================================================= +## How to compress requests using the Spring RestTemplate Example Project + +### Relevant Articles: +- [How to compress requests using the Spring RestTemplate]() diff --git a/spring-rest-compress/pom.xml b/spring-rest-compress/pom.xml new file mode 100644 index 0000000000..d5afc5708d --- /dev/null +++ b/spring-rest-compress/pom.xml @@ -0,0 +1,66 @@ + + + 4.0.0 + + parent-boot-2 + com.baeldung + 0.0.1-SNAPSHOT + ../parent-boot-2 + + com.baeldung + spring-rest-compress + 0.0.1-SNAPSHOT + spring-rest-compress + + + 1.8 + 2.6 + + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-tomcat + + + + + + org.springframework.boot + spring-boot-starter-jetty + + + + org.apache.httpcomponents + httpclient + + + + commons-io + commons-io + ${commons-io.version} + + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + diff --git a/spring-rest-compress/src/main/java/org/baeldung/spring/rest/compress/CompressingClientHttpRequestInterceptor.java b/spring-rest-compress/src/main/java/org/baeldung/spring/rest/compress/CompressingClientHttpRequestInterceptor.java new file mode 100644 index 0000000000..7d5326246d --- /dev/null +++ b/spring-rest-compress/src/main/java/org/baeldung/spring/rest/compress/CompressingClientHttpRequestInterceptor.java @@ -0,0 +1,38 @@ +package org.baeldung.spring.rest.compress; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpRequest; +import org.springframework.http.client.ClientHttpRequestExecution; +import org.springframework.http.client.ClientHttpRequestInterceptor; +import org.springframework.http.client.ClientHttpResponse; + +import java.io.IOException; + +public class CompressingClientHttpRequestInterceptor implements ClientHttpRequestInterceptor { + + private static final Logger LOG = LoggerFactory.getLogger(CompressingClientHttpRequestInterceptor.class); + + private static final String GZIP_ENCODING = "gzip"; + + /** + * Compress a request body using Gzip and add Http headers. + * + * @param req + * @param body + * @param exec + * @return + * @throws IOException + */ + @Override + public ClientHttpResponse intercept(HttpRequest req, byte[] body, ClientHttpRequestExecution exec) + throws IOException { + LOG.info("Compressing request..."); + HttpHeaders httpHeaders = req.getHeaders(); + httpHeaders.add(HttpHeaders.CONTENT_ENCODING, GZIP_ENCODING); + httpHeaders.add(HttpHeaders.ACCEPT_ENCODING, GZIP_ENCODING); + return exec.execute(req, GzipUtils.compress(body)); + } + +} diff --git a/spring-rest-compress/src/main/java/org/baeldung/spring/rest/compress/GzipUtils.java b/spring-rest-compress/src/main/java/org/baeldung/spring/rest/compress/GzipUtils.java new file mode 100644 index 0000000000..f3cb8bd631 --- /dev/null +++ b/spring-rest-compress/src/main/java/org/baeldung/spring/rest/compress/GzipUtils.java @@ -0,0 +1,56 @@ +package org.baeldung.spring.rest.compress; + +import org.apache.commons.codec.Charsets; +import org.apache.commons.io.IOUtils; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.util.zip.GZIPInputStream; +import java.util.zip.GZIPOutputStream; + +public class GzipUtils { + + /** + * Gzip a string. + * + * @param text + * @return + * @throws Exception + */ + public static byte[] compress(String text) throws Exception { + return GzipUtils.compress(text.getBytes(Charsets.UTF_8)); + } + + /** + * Gzip a byte array. + * + * @param body + * @return + * @throws IOException + */ + public static byte[] compress(byte[] body) throws IOException { + ByteArrayOutputStream output = new ByteArrayOutputStream(); + try { + try (GZIPOutputStream gzipOutputStream = new GZIPOutputStream(output)) { + gzipOutputStream.write(body); + } + } finally { + output.close(); + } + return output.toByteArray(); + } + + /** + * Decompress a Gzipped byte array to a String. + * + * @param body + * @return + * @throws IOException + */ + public static String decompress(byte[] body) throws IOException { + try (GZIPInputStream gzipInputStream = new GZIPInputStream(new ByteArrayInputStream(body))) { + return IOUtils.toString(gzipInputStream, Charsets.UTF_8); + } + } +} diff --git a/spring-rest-compress/src/main/java/org/baeldung/spring/rest/compress/JettyWebServerConfiguration.java b/spring-rest-compress/src/main/java/org/baeldung/spring/rest/compress/JettyWebServerConfiguration.java new file mode 100644 index 0000000000..784814b04d --- /dev/null +++ b/spring-rest-compress/src/main/java/org/baeldung/spring/rest/compress/JettyWebServerConfiguration.java @@ -0,0 +1,38 @@ +package org.baeldung.spring.rest.compress; + +import org.eclipse.jetty.server.handler.HandlerCollection; +import org.eclipse.jetty.server.handler.gzip.GzipHandler; +import org.springframework.boot.web.embedded.jetty.JettyServletWebServerFactory; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * Configure Jetty web server so it handles compressed requests. + */ +@Configuration +public class JettyWebServerConfiguration { + + private static final int MIN_BYTES = 1; + + /** + * Customise the Jetty web server to automatically decompress requests. + */ + @Bean + public JettyServletWebServerFactory jettyServletWebServerFactory() { + + JettyServletWebServerFactory factory = new JettyServletWebServerFactory(); + factory.addServerCustomizers(server -> { + + GzipHandler gzipHandler = new GzipHandler(); + // Enable request decompression + gzipHandler.setInflateBufferSize(MIN_BYTES); + gzipHandler.setHandler(server.getHandler()); + + HandlerCollection handlerCollection = new HandlerCollection(gzipHandler); + server.setHandler(handlerCollection); + }); + + return factory; + } + +} diff --git a/spring-rest-compress/src/main/java/org/baeldung/spring/rest/compress/Message.java b/spring-rest-compress/src/main/java/org/baeldung/spring/rest/compress/Message.java new file mode 100644 index 0000000000..d3450b227c --- /dev/null +++ b/spring-rest-compress/src/main/java/org/baeldung/spring/rest/compress/Message.java @@ -0,0 +1,29 @@ +package org.baeldung.spring.rest.compress; + +public class Message { + + private String text; + + public Message() { + } + + public Message(String text) { + this.text = text; + } + + public String getText() { + return text; + } + + public void setText(String text) { + this.text = text; + } + + @Override + public String toString() { + final StringBuilder sb = new StringBuilder("Message {"); + sb.append("text='").append(text).append('\''); + sb.append('}'); + return sb.toString(); + } +} diff --git a/spring-rest-compress/src/main/java/org/baeldung/spring/rest/compress/MessageController.java b/spring-rest-compress/src/main/java/org/baeldung/spring/rest/compress/MessageController.java new file mode 100644 index 0000000000..657c3cfec8 --- /dev/null +++ b/spring-rest-compress/src/main/java/org/baeldung/spring/rest/compress/MessageController.java @@ -0,0 +1,38 @@ +package org.baeldung.spring.rest.compress; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestHeader; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Map; + +@RestController +public class MessageController { + + protected static final String PROCESSED = "Processed "; + + protected static final String REQUEST_MAPPING = "process"; + + private static final Logger LOG = LoggerFactory.getLogger(MessageController.class); + + /** + * A simple endpoint that responds with "Processed " + supplied Message content. + * + * @param headers + * @param message + * @return + */ + @PostMapping(value = REQUEST_MAPPING) + public ResponseEntity processMessage(@RequestHeader Map headers, + @RequestBody Message message) { + + // Print headers + headers.forEach((k, v) -> LOG.info(k + "=" + v)); + + return ResponseEntity.ok(PROCESSED + message.getText()); + } +} diff --git a/spring-rest-compress/src/main/java/org/baeldung/spring/rest/compress/RestTemplateConfiguration.java b/spring-rest-compress/src/main/java/org/baeldung/spring/rest/compress/RestTemplateConfiguration.java new file mode 100644 index 0000000000..e1d0f985d9 --- /dev/null +++ b/spring-rest-compress/src/main/java/org/baeldung/spring/rest/compress/RestTemplateConfiguration.java @@ -0,0 +1,21 @@ +package org.baeldung.spring.rest.compress; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.client.RestTemplate; + +@Configuration +public class RestTemplateConfiguration { + + /** + * A RestTemplate that compresses requests. + * + * @return RestTemplate + */ + @Bean + public RestTemplate getRestTemplate() { + RestTemplate restTemplate = new RestTemplate(); + restTemplate.getInterceptors().add(new CompressingClientHttpRequestInterceptor()); + return restTemplate; + } +} diff --git a/spring-rest-compress/src/main/java/org/baeldung/spring/rest/compress/SpringCompressRequestApplication.java b/spring-rest-compress/src/main/java/org/baeldung/spring/rest/compress/SpringCompressRequestApplication.java new file mode 100644 index 0000000000..3082e3c277 --- /dev/null +++ b/spring-rest-compress/src/main/java/org/baeldung/spring/rest/compress/SpringCompressRequestApplication.java @@ -0,0 +1,15 @@ +package org.baeldung.spring.rest.compress; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +@EnableAutoConfiguration +public class SpringCompressRequestApplication { + + public static void main(String[] args) { + SpringApplication.run(SpringCompressRequestApplication.class, args); + } + +} diff --git a/spring-rest-compress/src/test/java/org/baeldung/spring/rest/compress/GzipUtilsUnitTest.java b/spring-rest-compress/src/test/java/org/baeldung/spring/rest/compress/GzipUtilsUnitTest.java new file mode 100644 index 0000000000..d238c9ec7c --- /dev/null +++ b/spring-rest-compress/src/test/java/org/baeldung/spring/rest/compress/GzipUtilsUnitTest.java @@ -0,0 +1,19 @@ +package org.baeldung.spring.rest.compress; + +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +public class GzipUtilsUnitTest { + + @Test + public void givenCompressedText_whenDecompressed_thenSuccessful() throws Exception { + final String expectedText = "Hello Baeldung!"; + byte[] compressedText = GzipUtils.compress(expectedText); + String decompressedText = GzipUtils.decompress(compressedText); + assertNotNull(compressedText); + assertEquals(expectedText, decompressedText); + } + +} \ No newline at end of file diff --git a/spring-rest-compress/src/test/java/org/baeldung/spring/rest/compress/MessageControllerUnitTest.java b/spring-rest-compress/src/test/java/org/baeldung/spring/rest/compress/MessageControllerUnitTest.java new file mode 100644 index 0000000000..9658204917 --- /dev/null +++ b/spring-rest-compress/src/test/java/org/baeldung/spring/rest/compress/MessageControllerUnitTest.java @@ -0,0 +1,56 @@ +package org.baeldung.spring.rest.compress; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.web.server.LocalServerPort; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.web.client.RestTemplate; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class MessageControllerUnitTest { + + private static final Logger LOG = LoggerFactory.getLogger(MessageControllerUnitTest.class); + + @Autowired + private RestTemplate restTemplate; + + @LocalServerPort + private int randomServerPort; + + /** + * As a further test you can intercept the request body, using a tool like + * Wireshark, to see the request body is actually gzipped. + * + * @throws Exception + */ + @Test + public void givenRestTemplate_whenPostCompressedRequest_thenRespondsSuccessfully() throws Exception { + + final String text = "Hello Baeldung!"; + Message message = new Message(text); + + HttpEntity request = new HttpEntity<>(message); + String uri = String.format("http://localhost:%s/%s", randomServerPort, MessageController.REQUEST_MAPPING); + + ResponseEntity responseEntity = restTemplate.postForEntity(uri, request, String.class); + + String response = responseEntity.getBody(); + LOG.info("Got response [{}]", response); + + assertEquals(HttpStatus.OK, responseEntity.getStatusCode()); + assertNotNull(response); + assertEquals(MessageController.PROCESSED + text, response); + } + +} From c4a1b44b395efd0fd7590fda7c5552d8215deff7 Mon Sep 17 00:00:00 2001 From: Shubhra Srivastava Date: Wed, 4 Sep 2019 10:11:21 +0530 Subject: [PATCH 073/316] Bael 3207 convert char array to string (#7720) * BAEL-320 Convert Char Array to String * BAEL-3207 re-formatting * BAEL-3207 some changes --- .../CharArrayToStringConversionUnitTest.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/java-strings-3/src/test/java/com/baeldung/string/charArrayToString/CharArrayToStringConversionUnitTest.java b/java-strings-3/src/test/java/com/baeldung/string/charArrayToString/CharArrayToStringConversionUnitTest.java index 11002ece0f..1030185c3e 100644 --- a/java-strings-3/src/test/java/com/baeldung/string/charArrayToString/CharArrayToStringConversionUnitTest.java +++ b/java-strings-3/src/test/java/com/baeldung/string/charArrayToString/CharArrayToStringConversionUnitTest.java @@ -41,11 +41,11 @@ public class CharArrayToStringConversionUnitTest { @Test public void whenStringBuilder_thenOK() { - final char[] charArray = { 'b', 'a', 'e', 'l', 'd', 'u', 'n', 'g' }; + final char[][] arrayOfCharArray = { { 'b', 'a' }, { 'e', 'l', 'd', 'u' }, { 'n', 'g' } }; StringBuilder sb = new StringBuilder(); - for (char value : charArray) { - sb.append(value); + for (char[] subArray : arrayOfCharArray) { + sb.append(subArray); } assertThat(sb.toString(), is("baeldung")); @@ -65,9 +65,8 @@ public class CharArrayToStringConversionUnitTest { public void whenGoogleCommonBaseJoiners_thenOK() { final Character[] charArray = { 'b', 'a', 'e', 'l', 'd', 'u', 'n', 'g' }; - String string = Joiner.on("").join(charArray); + String string = Joiner.on("|").join(charArray); - assertThat(string, is("baeldung")); + assertThat(string, is("b|a|e|l|d|u|n|g")); } - } From 73743acb30fbf4c80dc0b768149660fbc3618dd0 Mon Sep 17 00:00:00 2001 From: Denis Date: Wed, 4 Sep 2019 21:30:42 +0800 Subject: [PATCH 074/316] BAEL-1529 Intro to the Java SecurityManager (#7697) --- .../core-java-security-manager/pom.xml | 34 ++++++++++++++++++ .../security/manager/CustomPermission.java | 13 +++++++ .../baeldung/security/manager/Service.java | 18 ++++++++++ .../manager/SecurityManagerUnitTest.java | 35 +++++++++++++++++++ core-java-modules/pom.xml | 1 + 5 files changed, 101 insertions(+) create mode 100644 core-java-modules/core-java-security-manager/pom.xml create mode 100644 core-java-modules/core-java-security-manager/src/main/java/com/baeldung/security/manager/CustomPermission.java create mode 100644 core-java-modules/core-java-security-manager/src/main/java/com/baeldung/security/manager/Service.java create mode 100644 core-java-modules/core-java-security-manager/src/test/java/com/baeldung/security/manager/SecurityManagerUnitTest.java diff --git a/core-java-modules/core-java-security-manager/pom.xml b/core-java-modules/core-java-security-manager/pom.xml new file mode 100644 index 0000000000..51d5e7d78f --- /dev/null +++ b/core-java-modules/core-java-security-manager/pom.xml @@ -0,0 +1,34 @@ + + 4.0.0 + core-java-security-manager + 0.1.0-SNAPSHOT + jar + core-java-security-manager + + + com.baeldung.core-java-modules + core-java-modules + 1.0.0-SNAPSHOT + + + + + + org.apache.maven.plugins + maven-compiler-plugin + ${maven-compiler-plugin.version} + + ${maven.compiler.source} + ${maven.compiler.target} + + + + + + + + UTF-8 + 1.8 + 1.8 + + diff --git a/core-java-modules/core-java-security-manager/src/main/java/com/baeldung/security/manager/CustomPermission.java b/core-java-modules/core-java-security-manager/src/main/java/com/baeldung/security/manager/CustomPermission.java new file mode 100644 index 0000000000..5f9c43336f --- /dev/null +++ b/core-java-modules/core-java-security-manager/src/main/java/com/baeldung/security/manager/CustomPermission.java @@ -0,0 +1,13 @@ +package com.baeldung.security.manager; + +import java.security.BasicPermission; + +public class CustomPermission extends BasicPermission { + public CustomPermission(String name) { + super(name); + } + + public CustomPermission(String name, String actions) { + super(name, actions); + } +} diff --git a/core-java-modules/core-java-security-manager/src/main/java/com/baeldung/security/manager/Service.java b/core-java-modules/core-java-security-manager/src/main/java/com/baeldung/security/manager/Service.java new file mode 100644 index 0000000000..1b9f14e3b8 --- /dev/null +++ b/core-java-modules/core-java-security-manager/src/main/java/com/baeldung/security/manager/Service.java @@ -0,0 +1,18 @@ +package com.baeldung.security.manager; + +public class Service { + + public static final String OPERATION = "my-operation"; + + public void operation() { + SecurityManager securityManager = System.getSecurityManager(); + if (securityManager != null) { + securityManager.checkPermission(new CustomPermission(OPERATION)); + } + System.out.println("Operation is executed"); + } + + public static void main(String[] args) { + new Service().operation(); + } +} diff --git a/core-java-modules/core-java-security-manager/src/test/java/com/baeldung/security/manager/SecurityManagerUnitTest.java b/core-java-modules/core-java-security-manager/src/test/java/com/baeldung/security/manager/SecurityManagerUnitTest.java new file mode 100644 index 0000000000..a845f233b5 --- /dev/null +++ b/core-java-modules/core-java-security-manager/src/test/java/com/baeldung/security/manager/SecurityManagerUnitTest.java @@ -0,0 +1,35 @@ +package com.baeldung.security.manager; + +import org.junit.Test; + +import java.net.URL; +import java.security.AccessControlException; +import java.util.concurrent.Callable; + +public class SecurityManagerUnitTest { + + @Test(expected = AccessControlException.class) + public void whenSecurityManagerIsActive_thenNetworkIsNotAccessibleByDefault() throws Exception { + doTest(() -> { + new URL("http://www.google.com").openConnection().connect(); + return null; + }); + } + + @Test(expected = AccessControlException.class) + public void whenUnauthorizedClassTriesToAccessProtectedOperation_thenAnExceptionIsThrown() throws Exception { + doTest(() -> { + new Service().operation(); + return null; + }); + } + + private void doTest(Callable action) throws Exception { + System.setSecurityManager(new SecurityManager()); + try { + action.call(); + } finally { + System.setSecurityManager(null); + } + } +} diff --git a/core-java-modules/pom.xml b/core-java-modules/pom.xml index ecf1f4147e..082ffbef53 100644 --- a/core-java-modules/pom.xml +++ b/core-java-modules/pom.xml @@ -19,6 +19,7 @@ core-java-optional core-java-lang-operators core-java-networking-2 + core-java-security-manager From 8c11eeb20e1370295041d039941e1504d9162b0f Mon Sep 17 00:00:00 2001 From: Kumar Chandrakant Date: Wed, 4 Sep 2019 19:07:13 +0530 Subject: [PATCH 075/316] Java blockchain (#7694) * Adding source code for the article tracked under BAEL-3232. * Incorporated the review comments on the article. --- .../src/main/java/com/baeldung/blockchain/Block.java | 5 ++--- .../java/com/baeldung/blockchain/BlockchainUnitTest.java | 7 ++++--- pom.xml | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/java-blockchain/src/main/java/com/baeldung/blockchain/Block.java b/java-blockchain/src/main/java/com/baeldung/blockchain/Block.java index 264e3c4b69..6b4e971cd7 100644 --- a/java-blockchain/src/main/java/com/baeldung/blockchain/Block.java +++ b/java-blockchain/src/main/java/com/baeldung/blockchain/Block.java @@ -3,7 +3,6 @@ package com.baeldung.blockchain; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; -import java.util.Date; import java.util.logging.Level; import java.util.logging.Logger; @@ -17,10 +16,10 @@ public class Block { private long timeStamp; private int nonce; - public Block(String data, String previousHash) { + public Block(String data, String previousHash, long timeStamp) { this.data = data; this.previousHash = previousHash; - this.timeStamp = new Date().getTime(); + this.timeStamp = timeStamp; this.hash = calculateBlockHash(); } diff --git a/java-blockchain/src/test/java/com/baeldung/blockchain/BlockchainUnitTest.java b/java-blockchain/src/test/java/com/baeldung/blockchain/BlockchainUnitTest.java index acbf651e78..883e55c351 100644 --- a/java-blockchain/src/test/java/com/baeldung/blockchain/BlockchainUnitTest.java +++ b/java-blockchain/src/test/java/com/baeldung/blockchain/BlockchainUnitTest.java @@ -3,6 +3,7 @@ package com.baeldung.blockchain; import static org.junit.jupiter.api.Assertions.assertTrue; import java.util.ArrayList; +import java.util.Date; import java.util.List; import org.junit.AfterClass; @@ -17,10 +18,10 @@ public class BlockchainUnitTest { @BeforeClass public static void setUp() { - Block genesisBlock = new Block("The is the Genesis Block.", "0"); + Block genesisBlock = new Block("The is the Genesis Block.", "0", new Date().getTime()); genesisBlock.mineBlock(prefix); blockchain.add(genesisBlock); - Block firstBlock = new Block("The is the First Block.", genesisBlock.getHash()); + Block firstBlock = new Block("The is the First Block.", genesisBlock.getHash(), new Date().getTime()); firstBlock.mineBlock(prefix); blockchain.add(firstBlock); } @@ -28,7 +29,7 @@ public class BlockchainUnitTest { @Test public void givenBlockchain_whenNewBlockAdded_thenSuccess() { Block newBlock = new Block("The is a New Block.", blockchain.get(blockchain.size() - 1) - .getHash()); + .getHash(), new Date().getTime()); newBlock.mineBlock(prefix); assertTrue(newBlock.getHash() .substring(0, prefix) diff --git a/pom.xml b/pom.xml index 005a24effa..81338b9f81 100644 --- a/pom.xml +++ b/pom.xml @@ -579,7 +579,7 @@ spring-boot-nashorn java-blockchain - + From ce9ea390bac0f90eaa9501ec6a3a64ecf06a7592 Mon Sep 17 00:00:00 2001 From: Sjmillington Date: Wed, 4 Sep 2019 18:03:26 +0100 Subject: [PATCH 076/316] renamed back to testing-modules, pulled together testing-modules-2 modules into single module --- pom.xml | 8 ++--- testing-libraries-2/lambdabehave/pom.xml | 28 ------------------ testing-libraries-2/mutations/pom.xml | 16 ---------- testing-libraries-2/pom.xml | 22 -------------- .../README.md | 0 .../cucumber => testing-modules-2}/pom.xml | 17 +++++++---- .../com/baeldung/cucumber/Calculator.java | 0 .../com/baeldung/lambdabehave/Calculator.java | 0 .../com/baeldung/mutation/Palindrome.java | 0 .../calculator/CalculatorIntegrationTest.java | 0 .../calculator/CalculatorRunSteps.java | 0 .../lambdabehave/CalculatorUnitTest.java | 0 .../baeldung/mutation/PalindromeUnitTest.java | 0 .../shopping/ShoppingIntegrationTest.java | 0 .../baeldung/shopping/ShoppingStepsDef.java | 0 .../calculator-scenario-outline.feature | 0 .../resources/features/calculator.feature | 0 .../test/resources/features/shopping.feature | 0 .../README.md | 0 .../easy-random/README.md | 0 .../easy-random/pom.xml | 0 .../easy/random/model/Department.java | 0 .../baeldung/easy/random/model/Employee.java | 0 .../org/baeldung/easy/random/model/Grade.java | 0 .../baeldung/easy/random/model/Person.java | 0 .../easy/random/model/YearQuarter.java | 0 .../randomizer/YearQuarterRandomizer.java | 0 .../easy/random/EasyRandomUnitTest.java | 0 .../easymock/pom.xml | 0 .../testing/easymock/ForecastProcessor.java | 0 .../baeldung/testing/easymock/Location.java | 0 .../easymock/ServiceUnavailableException.java | 0 .../testing/easymock/WeatherService.java | 0 .../easymock/ForecastProcessorUnitTest.java | 0 .../gatling/README.md | 0 .../gatling/pom.xml | 0 .../gatling/src/test/resources/gatling.conf | 0 .../gatling/src/test/resources/logback.xml | 0 .../gatling/src/test/resources/recorder.conf | 0 .../gatling/src/test/scala/Engine.scala | 0 .../src/test/scala/IDEPathHelper.scala | 0 .../gatling/src/test/scala/Recorder.scala | 0 .../org/baeldung/RecordedSimulation.scala | 0 .../groovy-spock/.gitignore | 0 .../groovy-spock/README.md | 0 .../groovy-spock/pom.xml | 0 .../src/main/java/mocks/EventPublisher.java | 0 .../mocks/ExternalItemProviderException.java | 0 .../src/main/java/mocks/Item.java | 0 .../src/main/java/mocks/ItemProvider.java | 0 .../src/main/java/mocks/ItemService.java | 0 .../java/mocks/LoggingEventPublisher.java | 0 .../src/test/groovy/FirstSpecification.groovy | 0 .../src/test/groovy/Notifier.groovy | 0 .../src/test/groovy/PaymentGateway.groovy | 0 .../groovy/extensions/CustomTitleTest.groovy | 0 .../groovy/extensions/IgnoreIfTest.groovy | 0 .../groovy/extensions/IgnoreRestTest.groovy | 0 .../test/groovy/extensions/IgnoreTest.groovy | 0 .../test/groovy/extensions/IssueTest.groovy | 0 .../extensions/PendingFeatureTest.groovy | 0 .../groovy/extensions/RequiresTest.groovy | 0 .../RestoreSystemPropertiesTest.groovy | 0 .../test/groovy/extensions/RetryTest.groovy | 0 .../src/test/groovy/extensions/SeeTest.groovy | 0 .../groovy/extensions/StackTraceTest.groovy | 0 .../groovy/extensions/StepwiseTest.groovy | 0 .../test/groovy/extensions/SubjectTest.groovy | 0 .../test/groovy/extensions/TimeoutTest.groovy | 0 .../groovy/mocks/ItemServiceUnitTest.groovy | 0 .../src/test/resources/SpockConfig.groovy | 0 .../junit-4/README.md | 0 .../junit-4/pom.xml | 0 .../junitparams/SafeAdditionUtil.java | 0 .../junit-4/src/main/resources/logback.xml | 0 .../junitparams/SafeAdditionUtilUnitTest.java | 0 .../junitparams/TestDataProvider.java | 0 .../com/baeldung/rules/MessageLogger.java | 0 .../com/baeldung/rules/RuleChainUnitTest.java | 0 .../com/baeldung/rules/RulesUnitTest.java | 0 .../baeldung/rules/TestMethodNameLogger.java | 0 .../baeldung/rules/VerifierRuleUnitTest.java | 0 .../baeldung/runfromjava/FirstUnitTest.java | 0 .../com/baeldung/runfromjava/MyTestSuite.java | 0 .../runfromjava/RunJUnit4TestsFromJava.java | 0 .../baeldung/runfromjava/SecondUnitTest.java | 0 .../resources/JunitParamsTestParameters.csv | 0 .../junit-5-advanced/README.md | 0 .../junit-5-advanced/pom.xml | 0 .../failure_vs_error/SimpleCalculator.java | 0 .../baeldung/junit5/testinstance/Tweet.java | 0 .../junit5/testinstance/TweetException.java | 0 .../junit5/testinstance/TweetSerializer.java | 0 .../src/main/resources/logback.xml | 0 .../DisplayNameGeneratorUnitTest.java | 0 .../ReplaceUnderscoresGeneratorUnitTest.java | 0 .../TestResultLoggerExtension.java | 0 .../testwatcher/TestWatcherAPIUnitTest.java | 0 .../SimpleCalculatorUnitTest.java | 0 .../junit5/testinstance/AdditionUnitTest.java | 0 .../junit5/testinstance/OrderUnitTest.java | 0 .../TweetSerializerJUnit4UnitTest.java | 0 .../testinstance/TweetSerializerUnitTest.java | 0 .../src/test/resources/lorem-ipsum.txt | 0 .../junit-5-basics/README.md | 0 .../junit-5-basics/pom.xml | 0 .../failure_vs_error/SimpleCalculator.java | 0 .../baeldung/junit/tags/example/Employee.java | 0 .../junit/tags/example/EmployeeDAO.java | 0 .../junit/tags/example/EmployeeRowMapper.java | 0 .../junit/tags/example/SpringJdbcConfig.java | 0 .../java/com/baeldung/junit5/Greetings.java | 0 .../com/baeldung/junit5/bean/NumbersBean.java | 0 .../src/main/resources/jdbc/schema.sql | 0 .../main/resources/jdbc/springJdbc-config.xml | 0 .../src/main/resources/jdbc/test-data.sql | 0 .../java/com/baeldung/ExceptionUnitTest.java | 0 .../test/java/com/baeldung/FirstUnitTest.java | 0 .../java/com/baeldung/GreetingsUnitTest.java | 0 .../baeldung/JUnit5NewFeaturesUnitTest.java | 0 .../src/test/java/com/baeldung/LiveTest.java | 0 .../EmployeeDAOCategoryIntegrationTest.java | 0 .../categories/EmployeeDAOUnitTestSuite.java | 0 .../baeldung/categories/IntegrationTest.java | 0 .../com/baeldung/categories/UnitTest.java | 0 .../example/EmployeeDAOIntegrationTest.java | 0 .../baeldung/example/EmployeeUnitTest.java | 0 .../exception/ExceptionAssertionUnitTest.java | 0 .../SharedTemporaryDirectoryUnitTest.java | 0 .../tempdir/TemporaryDirectoryUnitTest.java | 0 .../SimpleCalculatorUnitTest.java | 0 .../junit5/bean/test/NumbersBeanUnitTest.java | 0 .../spring/GreetingsSpringUnitTest.java | 0 .../spring/SpringTestConfiguration.java | 0 .../junit4/AnnotationTestExampleUnitTest.java | 0 .../junit4/AssertionsExampleUnitTest.java | 0 .../BeforeAndAfterAnnotationsUnitTest.java | 0 ...ClassAndAfterClassAnnotationsUnitTest.java | 0 .../junit4/ExceptionAssertionUnitTest.java | 0 .../migration/junit4/RuleExampleUnitTest.java | 0 .../junit4/categories/Annotations.java | 0 .../junit4/categories/JUnit4UnitTest.java | 0 .../junit4/rules/TraceUnitTestRule.java | 0 .../junit5/AnnotationTestExampleUnitTest.java | 0 .../junit5/AssertionsExampleUnitTest.java | 0 .../migration/junit5/AssumptionUnitTest.java | 0 ...foreAllAndAfterAllAnnotationsUnitTest.java | 0 ...reEachAndAfterEachAnnotationsUnitTest.java | 0 .../migration/junit5/RuleExampleUnitTest.java | 0 .../junit5/extensions/TraceUnitExtension.java | 0 .../ReadResourceDirectoryUnitTest.java | 0 .../java/com/baeldung/suites/AllUnitTest.java | 0 .../tags/EmployeeDAOIntegrationTest.java | 0 .../baeldung/tags/EmployeeDAOTestSuite.java | 0 .../src/test/resources/example_resource.txt | 0 .../junit-5/README.md | 0 .../junit-5/pom.xml | 0 .../abstractmethod/AbstractMethodCalling.java | 0 .../indepedentmethod/AbstractIndependent.java | 0 .../indepedentmethod/ConcreteImpl.java | 0 .../AbstractInstanceFields.java | 0 .../privatemethod/AbstractPrivateMethods.java | 0 .../com/baeldung/junit5/mockito/User.java | 0 .../junit5/mockito/repository/MailClient.java | 0 .../mockito/repository/SettingRepository.java | 0 .../mockito/repository/UserRepository.java | 0 .../mockito/service/DefaultUserService.java | 0 .../junit5/mockito/service/Errors.java | 0 .../junit5/mockito/service/UserService.java | 0 .../baeldung/junit5vstestng/Calculator.java | 0 .../junit5vstestng/DivideByZeroException.java | 0 .../junit-5/src/main/resources/logback.xml | 0 .../java/com/baeldung/AssertionUnitTest.java | 0 .../com/baeldung/DynamicTestsExample.java | 0 .../java/com/baeldung/EmployeesUnitTest.java | 0 .../baeldung/MultipleExtensionsUnitTest.java | 0 .../java/com/baeldung/NestedUnitTest.java | 0 .../ProgrammaticEmployeesUnitTest.java | 0 .../baeldung/RegisterExtensionUnitTest.java | 0 .../com/baeldung/RepeatedTestExample.java | 0 .../test/java/com/baeldung/StringUtils.java | 0 .../java/com/baeldung/TaggedUnitTest.java | 0 .../test/java/com/baeldung/TestLauncher.java | 0 .../AbstractMethodCallingUnitTest.java | 0 .../AbstractIndependentUnitTest.java | 0 .../AbstractInstanceFieldsUnitTest.java | 0 .../AbstractPrivateMethodsUnitTest.java | 0 .../ConditionalAnnotationsUnitTest.java | 0 .../EmployeeDaoParameterResolver.java | 0 .../EmployeeDatabaseSetupExtension.java | 0 .../extensions/EnvironmentExtension.java | 0 .../IgnoreFileNotFoundExceptionExtension.java | 0 .../baeldung/extensions/LoggingExtension.java | 0 .../RegisterExtensionSampleExtension.java | 0 .../java/com/baeldung/helpers/Employee.java | 0 .../com/baeldung/helpers/EmployeeDao.java | 0 .../com/baeldung/helpers/EmployeeJdbcDao.java | 0 .../baeldung/helpers/JdbcConnectionUtil.java | 0 .../junit4vstestng/SortedUnitTest.java | 0 .../SummationServiceIntegrationTest.java | 0 .../junit5/mockito/UserServiceUnitTest.java | 0 .../order/AlphanumericOrderUnitTest.java | 0 .../baeldung/junit5/order/CustomOrder.java | 0 .../junit5/order/CustomOrderUnitTest.java | 0 .../junit5/order/OrderAnnotationUnitTest.java | 0 .../junit5vstestng/CalculatorUnitTest.java | 0 .../junit5vstestng/Class1UnitTest.java | 0 .../junit5vstestng/Class2UnitTest.java | 0 .../junit5vstestng/CustomNameUnitTest.java | 0 .../junit5vstestng/ParameterizedUnitTest.java | 0 .../junit5vstestng/PizzaDeliveryStrategy.java | 0 .../SelectClassesSuiteUnitTest.java | 0 .../SelectPackagesSuiteUnitTest.java | 0 .../SummationServiceUnitTest.java | 0 .../DefaultOrderOfExecutionUnitTest.java | 0 .../JVMOrderOfExecutionUnitTest.java | 0 ...NameAscendingOrderOfExecutionUnitTest.java | 0 .../param/InvalidPersonParameterResolver.java | 0 .../test/java/com/baeldung/param/Person.java | 0 .../com/baeldung/param/PersonValidator.java | 0 .../param/PersonValidatorUnitTest.java | 0 .../param/ValidPersonParameterResolver.java | 0 .../BlankStringsArgumentsProvider.java | 0 .../baeldung/parameterized/EnumsUnitTest.java | 0 .../parameterized/LocalDateUnitTest.java | 0 .../com/baeldung/parameterized/Numbers.java | 0 .../parameterized/NumbersUnitTest.java | 0 .../com/baeldung/parameterized/Person.java | 0 .../parameterized/PersonAggregator.java | 0 .../parameterized/PersonUnitTest.java | 0 .../parameterized/SlashyDateConverter.java | 0 .../baeldung/parameterized/StringParams.java | 0 .../com/baeldung/parameterized/Strings.java | 0 .../parameterized/StringsUnitTest.java | 0 .../VariableArgumentsProvider.java | 0 .../parameterized/VariableSource.java | 0 .../baeldung/runfromjava/FirstUnitTest.java | 0 .../runfromjava/RunJUnit5TestsFromJava.java | 0 .../baeldung/runfromjava/SecondUnitTest.java | 0 .../org.junit.jupiter.api.extension.Extension | 0 .../extensions/application.properties | 0 .../com/baeldung/helpers/jdbc.properties | 0 .../junit-5/src/test/resources/data.csv | 0 .../junit5-migration/README.md | 0 .../junit5-migration/pom.xml | 0 .../junit4/AnnotationTestExampleUnitTest.java | 0 .../baeldung/junit4/AssertionUnitTest.java | 0 .../com/baeldung/junit4/AssumeUnitTest.java | 0 .../junit4/ExceptionAssertionUnitTest.java | 0 .../baeldung/junit4/RuleExampleUnitTest.java | 0 .../junit4/TestAnnotationsUnitTest.java | 0 .../baeldung/junit4/TraceUnitTestRule.java | 0 .../junit4/categories/Annotations.java | 0 .../junit4/categories/JUnit4UnitTest.java | 0 .../junit5/AnnotationTestExampleUnitTest.java | 0 .../baeldung/junit5/AssertionUnitTest.java | 0 .../baeldung/junit5/AssumptionUnitTest.java | 0 .../junit5/ConditionalExecutionUnitTest.java | 0 .../com/baeldung/junit5/NestedUnitTest.java | 0 .../baeldung/junit5/RuleExampleUnitTest.java | 0 .../junit5/RuleMigrationSupportUnitTest.java | 0 .../junit5/TestAnnotationsUnitTest.java | 0 .../baeldung/junit5/TraceUnitExtension.java | 0 .../load-testing-comparison/README.md | 0 .../load-testing-comparison/pom.xml | 0 .../com/baeldung/loadtesting/Application.java | 0 .../loadtesting/RewardsController.java | 0 .../loadtesting/TransactionController.java | 0 .../model/CustomerRewardsAccount.java | 0 .../loadtesting/model/Transaction.java | 0 .../repository/CustomerRewardsRepository.java | 0 .../repository/TransactionRepository.java | 0 .../scripts/Gatling/GatlingScenario.scala | 0 .../resources/scripts/JMeter/Test Plan.jmx | 0 .../scripts/The Grinder/grinder.properties | 0 .../resources/scripts/The Grinder/grinder.py | 0 .../mockito-2/.gitignore | 0 .../mockito-2/README.md | 0 .../mockito-2/pom.xml | 0 .../baeldung/mockito/java8/JobPosition.java | 0 .../baeldung/mockito/java8/JobService.java | 0 .../com/baeldung/mockito/java8/Person.java | 0 .../mockito/java8/UnemploymentService.java | 0 .../java8/UnemploymentServiceImpl.java | 0 .../mockito-2/src/main/resources/logback.xml | 0 .../ArgumentMatcherWithLambdaUnitTest.java | 0 .../ArgumentMatcherWithoutLambdaUnitTest.java | 0 .../java8/CustomAnswerWithLambdaUnitTest.java | 0 .../CustomAnswerWithoutLambdaUnitTest.java | 0 .../mockito/java8/JobServiceUnitTest.java | 0 .../java8/LazyVerificationUnitTest.java | 0 .../UnemploymentServiceImplUnitTest.java | 0 .../misusing/ExpectedTestFailureRule.java | 0 .../MockitoUnecessaryStubUnitTest.java | 0 .../mockito/.gitignore | 0 .../mockito/README.md | 0 .../mockito/pom.xml | 0 .../main/java/org/baeldung/hamcrest/City.java | 0 .../java/org/baeldung/hamcrest/Location.java | 0 .../custommatchers/IsDivisibleBy.java | 0 .../hamcrest/custommatchers/IsOnlyDigits.java | 0 .../hamcrest/custommatchers/IsUppercase.java | 0 .../mockito/service/ActionHandler.java | 0 .../baeldung/mockito/service/Callback.java | 0 .../org/baeldung/mockito/service/Data.java | 0 .../baeldung/mockito/service/Response.java | 0 .../org/baeldung/mockito/service/Service.java | 0 .../mockito/src/main/resources/logback.xml | 0 .../CollaboratorForPartialMocking.java | 0 .../CollaboratorWithFinalMethods.java | 0 .../CollaboratorWithStaticMethods.java | 0 .../introduction/LuckyNumberGenerator.java | 0 .../LuckyNumberGeneratorIntegrationTest.java | 0 .../PowerMockitoIntegrationTest.java | 0 .../bddmockito/BDDMockitoIntegrationTest.java | 0 .../bddmockito/PhoneBookRepository.java | 0 .../baeldung/bddmockito/PhoneBookService.java | 0 .../hamcrest/HamcrestBeansUnitTest.java | 0 .../HamcrestCoreMatchersUnitTest.java | 0 .../hamcrest/HamcrestCustomUnitTest.java | 0 .../hamcrest/HamcrestFileUnitTest.java | 0 .../hamcrest/HamcrestNumberUnitTest.java | 0 .../hamcrest/HamcrestObjectUnitTest.java | 0 .../hamcrest/HamcrestTextUnitTest.java | 0 .../java/org/baeldung/mockito/FinalList.java | 0 .../java/org/baeldung/mockito/MockFinals.java | 0 .../MockitoAnnotationIntegrationTest.java | 0 .../MockitoConfigExamplesIntegrationTest.java | 0 .../MockitoExceptionIntegrationTest.java | 0 .../mockito/MockitoInjectIntoSpyUnitTest.java | 0 .../mockito/MockitoMockIntegrationTest.java | 0 .../mockito/MockitoSpyIntegrationTest.java | 0 .../MockitoVerifyExamplesIntegrationTest.java | 0 .../mockito/MockitoVoidMethodsUnitTest.java | 0 .../org/baeldung/mockito/MyDictionary.java | 0 .../java/org/baeldung/mockito/MyList.java | 0 .../misusing/MockitoMisusingUnitTest.java | 0 .../service/ActionHandlerUnitTest.java | 0 .../org.mockito.plugins.MockMaker | 0 .../mockito/src/test/resources/test1.in | 0 .../mocks/README.md | 0 .../mocks/javafaker/pom.xml | 0 .../baeldung/javafaker/JavaFakerUnitTest.java | 0 .../mocks/jmockit/README.md | 0 .../mocks/jmockit/pom.xml | 0 .../baeldung/mocks/jmockit/AppManager.java | 0 .../mocks/jmockit/AdvancedCollaborator.java | 0 .../baeldung/mocks/jmockit/Collaborator.java | 0 .../jmockit/ExpectationsCollaborator.java | 0 .../org/baeldung/mocks/jmockit/Model.java | 0 .../org/baeldung/mocks/jmockit/Performer.java | 0 .../jmockit/src/main/resources/logback.xml | 0 .../mocks/jmockit/AppManagerUnitTest.java | 0 .../AdvancedCollaboratorIntegrationTest.java | 0 .../jmockit/ExpectationsIntegrationTest.java | 0 .../jmockit/PerformerIntegrationTest.java | 0 .../mocks/jmockit/ReusingIntegrationTest.java | 0 .../mocks/jukito/pom.xml | 0 .../introductionjukito/Calculator.java | 0 .../ScientificCalculator.java | 0 .../introductionjukito/SimpleCalculator.java | 0 .../CalculatorUnitTest.java | 0 .../mocks/mock-comparisons/README.md | 0 .../mocks/mock-comparisons/pom.xml | 0 .../com/baeldung/easymock/ArticleReader.java | 0 .../baeldung/easymock/BaeldungArticle.java | 0 .../com/baeldung/easymock/BaeldungReader.java | 0 .../com/baeldung/easymock/IArticleWriter.java | 0 .../com/baeldung/easymock/IUserService.java | 0 .../main/java/com/baeldung/easymock/User.java | 0 .../mocks/testCase/LoginController.java | 0 .../org/baeldung/mocks/testCase/LoginDao.java | 0 .../baeldung/mocks/testCase/LoginService.java | 0 .../org/baeldung/mocks/testCase/UserForm.java | 0 .../src/main/resources/logback.xml | 0 .../easymock/ArgumentMatchersUnitTest.java | 0 .../BaeldungReaderAnnotatedUnitTest.java | 0 ...eldungReaderAnnotatedWithRuleUnitTest.java | 0 .../BaeldungReaderMockDelegationUnitTest.java | 0 .../BaeldungReaderMockSupportUnitTest.java | 0 .../easymock/BaeldungReaderUnitTest.java | 0 .../LoginControllerIntegrationTest.java | 0 .../LoginControllerIntegrationTest.java | 0 .../LoginControllerIntegrationTest.java | 0 .../mocks/pom.xml | 0 .../mockserver/README.md | 0 .../mockserver/pom.xml | 0 .../server/ExpectationCallbackHandler.java | 0 .../mockserver/src/main/resources/logback.xml | 0 .../mock/server/MockServerLiveTest.java | 0 .../parallel-tests-junit/README.md | 0 .../math-test-functions/pom.xml | 0 .../baeldung/ArithmeticFunctionUnitTest.java | 0 .../baeldung/ComparisonFunctionUnitTest.java | 0 .../java/com/baeldung/FunctionTestSuite.java | 0 .../parallel-tests-junit/pom.xml | 0 .../string-test-functions/pom.xml | 0 .../com/baeldung/StringFunctionUnitTest.java | 0 .../pom.xml | 0 .../rest-assured/.gitignore | 0 .../rest-assured/README.md | 0 .../rest-assured/pom.xml | 0 .../com/baeldung/restassured/Application.java | 0 .../restassured/controller/AppController.java | 0 .../baeldung/restassured/learner/Course.java | 0 .../restassured/learner/CourseController.java | 0 .../CourseControllerExceptionHandler.java | 0 .../learner/CourseNotFoundException.java | 0 .../restassured/learner/CourseService.java | 0 .../com/baeldung/restassured/model/Movie.java | 0 .../restassured/service/AppService.java | 0 .../rest-assured/src/main/resources/1 | 0 .../rest-assured/src/main/resources/2 | 0 .../java/com/baeldung/restassured/Odd.java | 0 .../RestAssured2IntegrationTest.java | 0 .../RestAssuredAdvancedLiveTest.java | 0 .../RestAssuredIntegrationTest.java | 0 .../RestAssuredXML2IntegrationTest.java | 0 .../RestAssuredXMLIntegrationTest.java | 0 .../java/com/baeldung/restassured/Util.java | 0 .../BasicAuthenticationLiveTest.java | 0 .../BasicPreemtiveAuthenticationLiveTest.java | 0 .../DigestAuthenticationLiveTest.java | 0 .../FormAuthenticationLiveTest.java | 0 .../FormAutoconfAuthenticationLiveTest.java | 0 .../OAuth2AuthenticationLiveTest.java | 0 .../OAuthAuthenticationLiveTest.java | 0 .../AppControllerIntegrationTest.java | 0 .../CourseControllerIntegrationTest.java | 0 .../learner/CourseControllerUnitTest.java | 0 .../src/test/resources/employees.xml | 0 .../src/test/resources/event_0.json | 0 .../src/test/resources/logback.xml | 0 .../rest-assured/src/test/resources/odds.json | 0 .../src/test/resources/teachers.xml | 0 .../rest-assured/src/test/resources/test.txt | 0 .../rest-testing/.gitignore | 0 .../rest-testing/README.md | 0 .../rest-testing/pom.xml | 0 .../src/main/resources/cucumber.json | 0 .../main/resources/karate/cucumber.feature | 0 .../src/main/resources/logback.xml | 0 .../src/main/resources/wiremock_intro.json | 0 .../cucumber/CucumberIntegrationTest.java | 0 .../rest/cucumber/StepDefinition.java | 0 .../baeldung/rest/jbehave/AbstractStory.java | 0 .../rest/jbehave/GithubUserNotFoundSteps.java | 0 .../GithubUserNotFoundStoryLiveTest.java | 0 .../GithubUserResponseMediaTypeSteps.java | 0 ...hubUserResponseMediaTypeStoryLiveTest.java | 0 .../GithubUserResponsePayloadSteps.java | 0 ...ithubUserResponsePayloadStoryLiveTest.java | 0 .../baeldung/rest/jbehave/IncreaseSteps.java | 0 .../rest/jbehave/IncreaseStoryLiveTest.java | 0 .../rest/karate/KarateIntegrationTest.java | 0 .../JUnitManagedIntegrationTest.java | 0 .../ProgrammaticallyManagedLiveTest.java | 0 ...ireMockScenarioExampleIntegrationTest.java | 0 .../java/org/baeldung/rest/GitHubUser.java | 0 .../java/org/baeldung/rest/RetrieveUtil.java | 0 .../test/resources/Feature/cucumber.feature | 0 .../resources/github_user_not_found.story | 0 .../github_user_response_mediatype.story | 0 .../github_user_response_payload.story | 0 .../src/test/resources/increase.story | 0 .../src/test/resources/karate/user.feature | 0 .../src/main/resources/logback.xml | 0 .../junit4/runfromjava/FirstUnitTest.java | 0 .../junit4/runfromjava/SecondUnitTest.java | 0 .../junit5/runfromjava/FirstUnitTest.java | 0 .../junit5/runfromjava/SecondUnitTest.java | 0 .../selenium-junit-testng/README.md | 0 .../selenium-junit-testng/geckodriver.mac | Bin .../selenium-junit-testng/pom.xml | 0 .../baeldung/selenium/SeleniumExample.java | 0 .../selenium/config/SeleniumConfig.java | 0 .../selenium/models/BaeldungAbout.java | 0 .../selenium/pages/BaeldungAboutPage.java | 0 .../selenium/pages/BaeldungHomePage.java | 0 .../selenium/pages/StartHerePage.java | 0 .../src/main/resources/logback.xml | 0 .../junit/SeleniumPageObjectLiveTest.java | 0 .../junit/SeleniumWithJUnitLiveTest.java | 0 .../testng/SeleniumWithTestNGLiveTest.java | 0 .../spring-testing/README.md | 0 .../spring-testing/pom.xml | 0 .../com/baeldung/config/ScheduledConfig.java | 0 .../java/com/baeldung/config/WebConfig.java | 0 .../parameterized/EmployeeRoleController.java | 0 .../overrideproperties/Application.java | 0 .../resolver/PropertySourceResolver.java | 0 .../java/com/baeldung/scheduled/Counter.java | 0 .../ClassUsingProperty.java | 0 .../org/baeldung/mockito/repository/User.java | 0 .../mockito/repository/UserRepository.java | 0 .../repository/Employee.java | 0 .../repository/EmployeeService.java | 0 .../repository/HRService.java | 0 .../src/main/resources/logback.xml | 0 .../RoleControllerIntegrationTest.java | 0 ...ParameterizedClassRuleIntegrationTest.java | 0 ...ontrollerParameterizedIntegrationTest.java | 0 ...PropertySourceResolverIntegrationTest.java | 0 ...PropertySourceResolverIntegrationTest.java | 0 .../PropertyOverrideContextInitializer.java | 0 ...PropertySourceResolverIntegrationTest.java | 0 ...PropertySourceResolverIntegrationTest.java | 0 .../ScheduledAwaitilityIntegrationTest.java | 0 .../scheduled/ScheduledIntegrationTest.java | 0 ...aultTestPropertySourceIntegrationTest.java | 0 ...tionTestPropertySourceIntegrationTest.java | 0 ...tiesTestPropertySourceIntegrationTest.java | 0 .../mockito/MockAnnotationUnitTest.java | 0 .../MockBeanAnnotationIntegrationTest.java | 0 .../ReflectionTestUtilsUnitTest.java | 0 .../resources/application-test.properties | 0 .../src/test/resources/application.properties | 0 ...stPropertySourceIntegrationTest.properties | 0 .../context-override-application.properties | 0 .../test/resources/other-location.properties | 0 .../test-containers/README.md | 0 .../test-containers/pom.xml | 0 .../DockerComposeContainerLiveTest.java | 0 .../GenericContainerLiveTest.java | 0 .../PostgreSqlContainerLiveTest.java | 0 .../WebDriverContainerLiveTest.java | 0 .../src/test/resources/test-compose.yml | 0 .../testng/README.md | 0 .../testng/pom.xml | 0 .../DependentLongRunningUnitTest.java | 0 .../com/baeldung/GroupIntegrationTest.java | 0 .../MultiThreadedIntegrationTest.java | 0 .../ParametrizedLongRunningUnitTest.java | 0 .../baeldung/PriorityLongRunningUnitTest.java | 0 .../RegistrationLongRunningUnitTest.java | 0 .../baeldung/SignInLongRunningUnitTest.java | 0 .../baeldung/SimpleLongRunningUnitTest.java | 0 .../SummationServiceIntegrationTest.java | 0 .../com/baeldung/TimeOutIntegrationTest.java | 0 .../baeldung/reports/CustomisedListener.java | 0 .../baeldung/reports/CustomisedReports.java | 0 .../testng/src/test/resources/logback.xml | 0 .../test/resources/parametrized_testng.xml | 0 .../src/test/resources/reportTemplate.html | 0 .../testng/src/test/resources/test_group.xml | 0 .../testng/src/test/resources/test_setup.xml | 0 .../testng/src/test/resources/test_suite.xml | 0 .../xmlunit-2/README.md | 0 .../xmlunit-2/pom.xml | 0 .../IgnoreAttributeDifferenceEvaluator.java | 0 .../xmlunit-2/src/main/resources/logback.xml | 0 .../com/baeldung/xmlunit/XMLUnitTest.java | 0 .../xmlunit-2/src/test/resources/control.xml | 0 .../xmlunit-2/src/test/resources/students.xml | 0 .../xmlunit-2/src/test/resources/students.xsd | 0 .../test/resources/students_with_error.xml | 0 .../xmlunit-2/src/test/resources/teachers.xml | 0 .../xmlunit-2/src/test/resources/test.xml | 0 558 files changed, 16 insertions(+), 75 deletions(-) delete mode 100644 testing-libraries-2/lambdabehave/pom.xml delete mode 100644 testing-libraries-2/mutations/pom.xml delete mode 100644 testing-libraries-2/pom.xml rename {testing-libraries-2 => testing-modules-2}/README.md (100%) rename {testing-libraries-2/cucumber => testing-modules-2}/pom.xml (69%) rename {testing-libraries-2/cucumber => testing-modules-2}/src/main/java/com/baeldung/cucumber/Calculator.java (100%) rename {testing-libraries-2/lambdabehave => testing-modules-2}/src/main/java/com/baeldung/lambdabehave/Calculator.java (100%) rename {testing-libraries-2/mutations => testing-modules-2}/src/main/java/com/baeldung/mutation/Palindrome.java (100%) rename {testing-libraries-2/cucumber => testing-modules-2}/src/test/java/com/baeldung/calculator/CalculatorIntegrationTest.java (100%) rename {testing-libraries-2/cucumber => testing-modules-2}/src/test/java/com/baeldung/calculator/CalculatorRunSteps.java (100%) rename {testing-libraries-2/lambdabehave => testing-modules-2}/src/test/java/com/baeldung/lambdabehave/CalculatorUnitTest.java (100%) rename {testing-libraries-2/mutations => testing-modules-2}/src/test/java/com/baeldung/mutation/PalindromeUnitTest.java (100%) rename {testing-libraries-2/cucumber => testing-modules-2}/src/test/java/com/baeldung/shopping/ShoppingIntegrationTest.java (100%) rename {testing-libraries-2/cucumber => testing-modules-2}/src/test/java/com/baeldung/shopping/ShoppingStepsDef.java (100%) rename {testing-libraries-2/cucumber => testing-modules-2}/src/test/resources/features/calculator-scenario-outline.feature (100%) rename {testing-libraries-2/cucumber => testing-modules-2}/src/test/resources/features/calculator.feature (100%) rename {testing-libraries-2/cucumber => testing-modules-2}/src/test/resources/features/shopping.feature (100%) rename {testing-libraries => testing-modules}/README.md (100%) rename {testing-libraries => testing-modules}/easy-random/README.md (100%) rename {testing-libraries => testing-modules}/easy-random/pom.xml (100%) rename {testing-libraries => testing-modules}/easy-random/src/main/java/org/baeldung/easy/random/model/Department.java (100%) rename {testing-libraries => testing-modules}/easy-random/src/main/java/org/baeldung/easy/random/model/Employee.java (100%) rename {testing-libraries => testing-modules}/easy-random/src/main/java/org/baeldung/easy/random/model/Grade.java (100%) rename {testing-libraries => testing-modules}/easy-random/src/main/java/org/baeldung/easy/random/model/Person.java (100%) rename {testing-libraries => testing-modules}/easy-random/src/main/java/org/baeldung/easy/random/model/YearQuarter.java (100%) rename {testing-libraries => testing-modules}/easy-random/src/main/java/org/baeldung/easy/random/randomizer/YearQuarterRandomizer.java (100%) rename {testing-libraries => testing-modules}/easy-random/src/test/java/org/baeldung/easy/random/EasyRandomUnitTest.java (100%) rename {testing-libraries => testing-modules}/easymock/pom.xml (100%) rename {testing-libraries => testing-modules}/easymock/src/main/java/com/baeldung/testing/easymock/ForecastProcessor.java (100%) rename {testing-libraries => testing-modules}/easymock/src/main/java/com/baeldung/testing/easymock/Location.java (100%) rename {testing-libraries => testing-modules}/easymock/src/main/java/com/baeldung/testing/easymock/ServiceUnavailableException.java (100%) rename {testing-libraries => testing-modules}/easymock/src/main/java/com/baeldung/testing/easymock/WeatherService.java (100%) rename {testing-libraries => testing-modules}/easymock/src/test/java/com/baeldung/testing/easymock/ForecastProcessorUnitTest.java (100%) rename {testing-libraries => testing-modules}/gatling/README.md (100%) rename {testing-libraries => testing-modules}/gatling/pom.xml (100%) rename {testing-libraries => testing-modules}/gatling/src/test/resources/gatling.conf (100%) rename {testing-libraries => testing-modules}/gatling/src/test/resources/logback.xml (100%) rename {testing-libraries => testing-modules}/gatling/src/test/resources/recorder.conf (100%) rename {testing-libraries => testing-modules}/gatling/src/test/scala/Engine.scala (100%) rename {testing-libraries => testing-modules}/gatling/src/test/scala/IDEPathHelper.scala (100%) rename {testing-libraries => testing-modules}/gatling/src/test/scala/Recorder.scala (100%) rename {testing-libraries => testing-modules}/gatling/src/test/scala/org/baeldung/RecordedSimulation.scala (100%) rename {testing-libraries => testing-modules}/groovy-spock/.gitignore (100%) rename {testing-libraries => testing-modules}/groovy-spock/README.md (100%) rename {testing-libraries => testing-modules}/groovy-spock/pom.xml (100%) rename {testing-libraries => testing-modules}/groovy-spock/src/main/java/mocks/EventPublisher.java (100%) rename {testing-libraries => testing-modules}/groovy-spock/src/main/java/mocks/ExternalItemProviderException.java (100%) rename {testing-libraries => testing-modules}/groovy-spock/src/main/java/mocks/Item.java (100%) rename {testing-libraries => testing-modules}/groovy-spock/src/main/java/mocks/ItemProvider.java (100%) rename {testing-libraries => testing-modules}/groovy-spock/src/main/java/mocks/ItemService.java (100%) rename {testing-libraries => testing-modules}/groovy-spock/src/main/java/mocks/LoggingEventPublisher.java (100%) rename {testing-libraries => testing-modules}/groovy-spock/src/test/groovy/FirstSpecification.groovy (100%) rename {testing-libraries => testing-modules}/groovy-spock/src/test/groovy/Notifier.groovy (100%) rename {testing-libraries => testing-modules}/groovy-spock/src/test/groovy/PaymentGateway.groovy (100%) rename {testing-libraries => testing-modules}/groovy-spock/src/test/groovy/extensions/CustomTitleTest.groovy (100%) rename {testing-libraries => testing-modules}/groovy-spock/src/test/groovy/extensions/IgnoreIfTest.groovy (100%) rename {testing-libraries => testing-modules}/groovy-spock/src/test/groovy/extensions/IgnoreRestTest.groovy (100%) rename {testing-libraries => testing-modules}/groovy-spock/src/test/groovy/extensions/IgnoreTest.groovy (100%) rename {testing-libraries => testing-modules}/groovy-spock/src/test/groovy/extensions/IssueTest.groovy (100%) rename {testing-libraries => testing-modules}/groovy-spock/src/test/groovy/extensions/PendingFeatureTest.groovy (100%) rename {testing-libraries => testing-modules}/groovy-spock/src/test/groovy/extensions/RequiresTest.groovy (100%) rename {testing-libraries => testing-modules}/groovy-spock/src/test/groovy/extensions/RestoreSystemPropertiesTest.groovy (100%) rename {testing-libraries => testing-modules}/groovy-spock/src/test/groovy/extensions/RetryTest.groovy (100%) rename {testing-libraries => testing-modules}/groovy-spock/src/test/groovy/extensions/SeeTest.groovy (100%) rename {testing-libraries => testing-modules}/groovy-spock/src/test/groovy/extensions/StackTraceTest.groovy (100%) rename {testing-libraries => testing-modules}/groovy-spock/src/test/groovy/extensions/StepwiseTest.groovy (100%) rename {testing-libraries => testing-modules}/groovy-spock/src/test/groovy/extensions/SubjectTest.groovy (100%) rename {testing-libraries => testing-modules}/groovy-spock/src/test/groovy/extensions/TimeoutTest.groovy (100%) rename {testing-libraries => testing-modules}/groovy-spock/src/test/groovy/mocks/ItemServiceUnitTest.groovy (100%) rename {testing-libraries => testing-modules}/groovy-spock/src/test/resources/SpockConfig.groovy (100%) rename {testing-libraries => testing-modules}/junit-4/README.md (100%) rename {testing-libraries => testing-modules}/junit-4/pom.xml (100%) rename {testing-libraries => testing-modules}/junit-4/src/main/java/com/baeldung/junitparams/SafeAdditionUtil.java (100%) rename {testing-libraries => testing-modules}/junit-4/src/main/resources/logback.xml (100%) rename {testing-libraries => testing-modules}/junit-4/src/test/java/com/baeldung/junitparams/SafeAdditionUtilUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-4/src/test/java/com/baeldung/junitparams/TestDataProvider.java (100%) rename {testing-libraries => testing-modules}/junit-4/src/test/java/com/baeldung/rules/MessageLogger.java (100%) rename {testing-libraries => testing-modules}/junit-4/src/test/java/com/baeldung/rules/RuleChainUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-4/src/test/java/com/baeldung/rules/RulesUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-4/src/test/java/com/baeldung/rules/TestMethodNameLogger.java (100%) rename {testing-libraries => testing-modules}/junit-4/src/test/java/com/baeldung/rules/VerifierRuleUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-4/src/test/java/com/baeldung/runfromjava/FirstUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-4/src/test/java/com/baeldung/runfromjava/MyTestSuite.java (100%) rename {testing-libraries => testing-modules}/junit-4/src/test/java/com/baeldung/runfromjava/RunJUnit4TestsFromJava.java (100%) rename {testing-libraries => testing-modules}/junit-4/src/test/java/com/baeldung/runfromjava/SecondUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-4/src/test/resources/JunitParamsTestParameters.csv (100%) rename {testing-libraries => testing-modules}/junit-5-advanced/README.md (100%) rename {testing-libraries => testing-modules}/junit-5-advanced/pom.xml (100%) rename {testing-libraries => testing-modules}/junit-5-advanced/src/main/java/com/baeldung/failure_vs_error/SimpleCalculator.java (100%) rename {testing-libraries => testing-modules}/junit-5-advanced/src/main/java/com/baeldung/junit5/testinstance/Tweet.java (100%) rename {testing-libraries => testing-modules}/junit-5-advanced/src/main/java/com/baeldung/junit5/testinstance/TweetException.java (100%) rename {testing-libraries => testing-modules}/junit-5-advanced/src/main/java/com/baeldung/junit5/testinstance/TweetSerializer.java (100%) rename {testing-libraries => testing-modules}/junit-5-advanced/src/main/resources/logback.xml (100%) rename {testing-libraries => testing-modules}/junit-5-advanced/src/test/java/com/baeldung/displayname/DisplayNameGeneratorUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-advanced/src/test/java/com/baeldung/displayname/ReplaceUnderscoresGeneratorUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-advanced/src/test/java/com/baeldung/extensions/testwatcher/TestResultLoggerExtension.java (100%) rename {testing-libraries => testing-modules}/junit-5-advanced/src/test/java/com/baeldung/extensions/testwatcher/TestWatcherAPIUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-advanced/src/test/java/com/baeldung/failure_vs_error/SimpleCalculatorUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/AdditionUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/OrderUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/TweetSerializerJUnit4UnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/TweetSerializerUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-advanced/src/test/resources/lorem-ipsum.txt (100%) rename {testing-libraries => testing-modules}/junit-5-basics/README.md (100%) rename {testing-libraries => testing-modules}/junit-5-basics/pom.xml (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/main/java/com/baeldung/failure_vs_error/SimpleCalculator.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/Employee.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/EmployeeDAO.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/EmployeeRowMapper.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/SpringJdbcConfig.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/main/java/com/baeldung/junit5/Greetings.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/main/java/com/baeldung/junit5/bean/NumbersBean.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/main/resources/jdbc/schema.sql (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/main/resources/jdbc/springJdbc-config.xml (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/main/resources/jdbc/test-data.sql (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/ExceptionUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/FirstUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/GreetingsUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/JUnit5NewFeaturesUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/LiveTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/categories/EmployeeDAOCategoryIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/categories/EmployeeDAOUnitTestSuite.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/categories/IntegrationTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/categories/UnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/example/EmployeeDAOIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/example/EmployeeUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/exception/ExceptionAssertionUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/extensions/tempdir/SharedTemporaryDirectoryUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/extensions/tempdir/TemporaryDirectoryUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/failure_vs_error/SimpleCalculatorUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/junit5/bean/test/NumbersBeanUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/junit5/spring/GreetingsSpringUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/junit5/spring/SpringTestConfiguration.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/migration/junit4/AnnotationTestExampleUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/migration/junit4/AssertionsExampleUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/migration/junit4/BeforeAndAfterAnnotationsUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/migration/junit4/BeforeClassAndAfterClassAnnotationsUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/migration/junit4/ExceptionAssertionUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/migration/junit4/RuleExampleUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/migration/junit4/categories/Annotations.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/migration/junit4/categories/JUnit4UnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/migration/junit4/rules/TraceUnitTestRule.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AnnotationTestExampleUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AssertionsExampleUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AssumptionUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/migration/junit5/BeforeAllAndAfterAllAnnotationsUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/migration/junit5/BeforeEachAndAfterEachAnnotationsUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/migration/junit5/RuleExampleUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/migration/junit5/extensions/TraceUnitExtension.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/resourcedirectory/ReadResourceDirectoryUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/suites/AllUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/tags/EmployeeDAOIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/java/com/baeldung/tags/EmployeeDAOTestSuite.java (100%) rename {testing-libraries => testing-modules}/junit-5-basics/src/test/resources/example_resource.txt (100%) rename {testing-libraries => testing-modules}/junit-5/README.md (100%) rename {testing-libraries => testing-modules}/junit-5/pom.xml (100%) rename {testing-libraries => testing-modules}/junit-5/src/main/java/com/baeldung/abstractclass/abstractmethod/AbstractMethodCalling.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/main/java/com/baeldung/abstractclass/indepedentmethod/AbstractIndependent.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/main/java/com/baeldung/abstractclass/indepedentmethod/ConcreteImpl.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/main/java/com/baeldung/abstractclass/instancefields/AbstractInstanceFields.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/main/java/com/baeldung/abstractclass/privatemethod/AbstractPrivateMethods.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/main/java/com/baeldung/junit5/mockito/User.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/MailClient.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/SettingRepository.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/UserRepository.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/main/java/com/baeldung/junit5/mockito/service/DefaultUserService.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/main/java/com/baeldung/junit5/mockito/service/Errors.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/main/java/com/baeldung/junit5/mockito/service/UserService.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/main/java/com/baeldung/junit5vstestng/Calculator.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/main/java/com/baeldung/junit5vstestng/DivideByZeroException.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/main/resources/logback.xml (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/AssertionUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/DynamicTestsExample.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/EmployeesUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/MultipleExtensionsUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/NestedUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/ProgrammaticEmployeesUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/RegisterExtensionUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/RepeatedTestExample.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/StringUtils.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/TaggedUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/TestLauncher.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/abstractclass/abstractmethod/AbstractMethodCallingUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/abstractclass/indepedentmethod/AbstractIndependentUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/abstractclass/instancefields/AbstractInstanceFieldsUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/abstractclass/privatemethod/AbstractPrivateMethodsUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/conditional/ConditionalAnnotationsUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/extensions/EmployeeDaoParameterResolver.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/extensions/EmployeeDatabaseSetupExtension.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/extensions/EnvironmentExtension.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/extensions/IgnoreFileNotFoundExceptionExtension.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/extensions/LoggingExtension.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/extensions/RegisterExtensionSampleExtension.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/helpers/Employee.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/helpers/EmployeeDao.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/helpers/EmployeeJdbcDao.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/helpers/JdbcConnectionUtil.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/junit4vstestng/SortedUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/junit4vstestng/SummationServiceIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/junit5/mockito/UserServiceUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/junit5/order/AlphanumericOrderUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/junit5/order/CustomOrder.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/junit5/order/CustomOrderUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/junit5/order/OrderAnnotationUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/junit5vstestng/CalculatorUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/junit5vstestng/Class1UnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/junit5vstestng/Class2UnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/junit5vstestng/CustomNameUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/junit5vstestng/ParameterizedUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/junit5vstestng/PizzaDeliveryStrategy.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/junit5vstestng/SelectClassesSuiteUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/junit5vstestng/SelectPackagesSuiteUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/junit5vstestng/SummationServiceUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/methodorders/DefaultOrderOfExecutionUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/methodorders/JVMOrderOfExecutionUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/methodorders/NameAscendingOrderOfExecutionUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/param/InvalidPersonParameterResolver.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/param/Person.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/param/PersonValidator.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/param/PersonValidatorUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/param/ValidPersonParameterResolver.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/parameterized/BlankStringsArgumentsProvider.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/parameterized/EnumsUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/parameterized/LocalDateUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/parameterized/Numbers.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/parameterized/NumbersUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/parameterized/Person.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/parameterized/PersonAggregator.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/parameterized/PersonUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/parameterized/SlashyDateConverter.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/parameterized/StringParams.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/parameterized/Strings.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/parameterized/StringsUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/parameterized/VariableArgumentsProvider.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/parameterized/VariableSource.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/runfromjava/FirstUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/runfromjava/RunJUnit5TestsFromJava.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/java/com/baeldung/runfromjava/SecondUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/resources/com/baeldung/extensions/application.properties (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/resources/com/baeldung/helpers/jdbc.properties (100%) rename {testing-libraries => testing-modules}/junit-5/src/test/resources/data.csv (100%) rename {testing-libraries => testing-modules}/junit5-migration/README.md (100%) rename {testing-libraries => testing-modules}/junit5-migration/pom.xml (100%) rename {testing-libraries => testing-modules}/junit5-migration/src/test/java/com/baeldung/junit4/AnnotationTestExampleUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit5-migration/src/test/java/com/baeldung/junit4/AssertionUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit5-migration/src/test/java/com/baeldung/junit4/AssumeUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit5-migration/src/test/java/com/baeldung/junit4/ExceptionAssertionUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit5-migration/src/test/java/com/baeldung/junit4/RuleExampleUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit5-migration/src/test/java/com/baeldung/junit4/TestAnnotationsUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit5-migration/src/test/java/com/baeldung/junit4/TraceUnitTestRule.java (100%) rename {testing-libraries => testing-modules}/junit5-migration/src/test/java/com/baeldung/junit4/categories/Annotations.java (100%) rename {testing-libraries => testing-modules}/junit5-migration/src/test/java/com/baeldung/junit4/categories/JUnit4UnitTest.java (100%) rename {testing-libraries => testing-modules}/junit5-migration/src/test/java/com/baeldung/junit5/AnnotationTestExampleUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit5-migration/src/test/java/com/baeldung/junit5/AssertionUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit5-migration/src/test/java/com/baeldung/junit5/AssumptionUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit5-migration/src/test/java/com/baeldung/junit5/ConditionalExecutionUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit5-migration/src/test/java/com/baeldung/junit5/NestedUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit5-migration/src/test/java/com/baeldung/junit5/RuleExampleUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit5-migration/src/test/java/com/baeldung/junit5/RuleMigrationSupportUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit5-migration/src/test/java/com/baeldung/junit5/TestAnnotationsUnitTest.java (100%) rename {testing-libraries => testing-modules}/junit5-migration/src/test/java/com/baeldung/junit5/TraceUnitExtension.java (100%) rename {testing-libraries => testing-modules}/load-testing-comparison/README.md (100%) rename {testing-libraries => testing-modules}/load-testing-comparison/pom.xml (100%) rename {testing-libraries => testing-modules}/load-testing-comparison/src/main/java/com/baeldung/loadtesting/Application.java (100%) rename {testing-libraries => testing-modules}/load-testing-comparison/src/main/java/com/baeldung/loadtesting/RewardsController.java (100%) rename {testing-libraries => testing-modules}/load-testing-comparison/src/main/java/com/baeldung/loadtesting/TransactionController.java (100%) rename {testing-libraries => testing-modules}/load-testing-comparison/src/main/java/com/baeldung/loadtesting/model/CustomerRewardsAccount.java (100%) rename {testing-libraries => testing-modules}/load-testing-comparison/src/main/java/com/baeldung/loadtesting/model/Transaction.java (100%) rename {testing-libraries => testing-modules}/load-testing-comparison/src/main/java/com/baeldung/loadtesting/repository/CustomerRewardsRepository.java (100%) rename {testing-libraries => testing-modules}/load-testing-comparison/src/main/java/com/baeldung/loadtesting/repository/TransactionRepository.java (100%) rename {testing-libraries => testing-modules}/load-testing-comparison/src/main/resources/scripts/Gatling/GatlingScenario.scala (100%) rename {testing-libraries => testing-modules}/load-testing-comparison/src/main/resources/scripts/JMeter/Test Plan.jmx (100%) rename {testing-libraries => testing-modules}/load-testing-comparison/src/main/resources/scripts/The Grinder/grinder.properties (100%) rename {testing-libraries => testing-modules}/load-testing-comparison/src/main/resources/scripts/The Grinder/grinder.py (100%) rename {testing-libraries => testing-modules}/mockito-2/.gitignore (100%) rename {testing-libraries => testing-modules}/mockito-2/README.md (100%) rename {testing-libraries => testing-modules}/mockito-2/pom.xml (100%) rename {testing-libraries => testing-modules}/mockito-2/src/main/java/com/baeldung/mockito/java8/JobPosition.java (100%) rename {testing-libraries => testing-modules}/mockito-2/src/main/java/com/baeldung/mockito/java8/JobService.java (100%) rename {testing-libraries => testing-modules}/mockito-2/src/main/java/com/baeldung/mockito/java8/Person.java (100%) rename {testing-libraries => testing-modules}/mockito-2/src/main/java/com/baeldung/mockito/java8/UnemploymentService.java (100%) rename {testing-libraries => testing-modules}/mockito-2/src/main/java/com/baeldung/mockito/java8/UnemploymentServiceImpl.java (100%) rename {testing-libraries => testing-modules}/mockito-2/src/main/resources/logback.xml (100%) rename {testing-libraries => testing-modules}/mockito-2/src/test/java/com/baeldung/mockito/java8/ArgumentMatcherWithLambdaUnitTest.java (100%) rename {testing-libraries => testing-modules}/mockito-2/src/test/java/com/baeldung/mockito/java8/ArgumentMatcherWithoutLambdaUnitTest.java (100%) rename {testing-libraries => testing-modules}/mockito-2/src/test/java/com/baeldung/mockito/java8/CustomAnswerWithLambdaUnitTest.java (100%) rename {testing-libraries => testing-modules}/mockito-2/src/test/java/com/baeldung/mockito/java8/CustomAnswerWithoutLambdaUnitTest.java (100%) rename {testing-libraries => testing-modules}/mockito-2/src/test/java/com/baeldung/mockito/java8/JobServiceUnitTest.java (100%) rename {testing-libraries => testing-modules}/mockito-2/src/test/java/com/baeldung/mockito/java8/LazyVerificationUnitTest.java (100%) rename {testing-libraries => testing-modules}/mockito-2/src/test/java/com/baeldung/mockito/java8/UnemploymentServiceImplUnitTest.java (100%) rename {testing-libraries => testing-modules}/mockito-2/src/test/java/com/baeldung/mockito/misusing/ExpectedTestFailureRule.java (100%) rename {testing-libraries => testing-modules}/mockito-2/src/test/java/com/baeldung/mockito/misusing/MockitoUnecessaryStubUnitTest.java (100%) rename {testing-libraries => testing-modules}/mockito/.gitignore (100%) rename {testing-libraries => testing-modules}/mockito/README.md (100%) rename {testing-libraries => testing-modules}/mockito/pom.xml (100%) rename {testing-libraries => testing-modules}/mockito/src/main/java/org/baeldung/hamcrest/City.java (100%) rename {testing-libraries => testing-modules}/mockito/src/main/java/org/baeldung/hamcrest/Location.java (100%) rename {testing-libraries => testing-modules}/mockito/src/main/java/org/baeldung/hamcrest/custommatchers/IsDivisibleBy.java (100%) rename {testing-libraries => testing-modules}/mockito/src/main/java/org/baeldung/hamcrest/custommatchers/IsOnlyDigits.java (100%) rename {testing-libraries => testing-modules}/mockito/src/main/java/org/baeldung/hamcrest/custommatchers/IsUppercase.java (100%) rename {testing-libraries => testing-modules}/mockito/src/main/java/org/baeldung/mockito/service/ActionHandler.java (100%) rename {testing-libraries => testing-modules}/mockito/src/main/java/org/baeldung/mockito/service/Callback.java (100%) rename {testing-libraries => testing-modules}/mockito/src/main/java/org/baeldung/mockito/service/Data.java (100%) rename {testing-libraries => testing-modules}/mockito/src/main/java/org/baeldung/mockito/service/Response.java (100%) rename {testing-libraries => testing-modules}/mockito/src/main/java/org/baeldung/mockito/service/Service.java (100%) rename {testing-libraries => testing-modules}/mockito/src/main/resources/logback.xml (100%) rename {testing-libraries => testing-modules}/mockito/src/test/java/com/baeldung/powermockito/introduction/CollaboratorForPartialMocking.java (100%) rename {testing-libraries => testing-modules}/mockito/src/test/java/com/baeldung/powermockito/introduction/CollaboratorWithFinalMethods.java (100%) rename {testing-libraries => testing-modules}/mockito/src/test/java/com/baeldung/powermockito/introduction/CollaboratorWithStaticMethods.java (100%) rename {testing-libraries => testing-modules}/mockito/src/test/java/com/baeldung/powermockito/introduction/LuckyNumberGenerator.java (100%) rename {testing-libraries => testing-modules}/mockito/src/test/java/com/baeldung/powermockito/introduction/LuckyNumberGeneratorIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/mockito/src/test/java/com/baeldung/powermockito/introduction/PowerMockitoIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/mockito/src/test/java/org/baeldung/bddmockito/BDDMockitoIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/mockito/src/test/java/org/baeldung/bddmockito/PhoneBookRepository.java (100%) rename {testing-libraries => testing-modules}/mockito/src/test/java/org/baeldung/bddmockito/PhoneBookService.java (100%) rename {testing-libraries => testing-modules}/mockito/src/test/java/org/baeldung/hamcrest/HamcrestBeansUnitTest.java (100%) rename {testing-libraries => testing-modules}/mockito/src/test/java/org/baeldung/hamcrest/HamcrestCoreMatchersUnitTest.java (100%) rename {testing-libraries => testing-modules}/mockito/src/test/java/org/baeldung/hamcrest/HamcrestCustomUnitTest.java (100%) rename {testing-libraries => testing-modules}/mockito/src/test/java/org/baeldung/hamcrest/HamcrestFileUnitTest.java (100%) rename {testing-libraries => testing-modules}/mockito/src/test/java/org/baeldung/hamcrest/HamcrestNumberUnitTest.java (100%) rename {testing-libraries => testing-modules}/mockito/src/test/java/org/baeldung/hamcrest/HamcrestObjectUnitTest.java (100%) rename {testing-libraries => testing-modules}/mockito/src/test/java/org/baeldung/hamcrest/HamcrestTextUnitTest.java (100%) rename {testing-libraries => testing-modules}/mockito/src/test/java/org/baeldung/mockito/FinalList.java (100%) rename {testing-libraries => testing-modules}/mockito/src/test/java/org/baeldung/mockito/MockFinals.java (100%) rename {testing-libraries => testing-modules}/mockito/src/test/java/org/baeldung/mockito/MockitoAnnotationIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/mockito/src/test/java/org/baeldung/mockito/MockitoConfigExamplesIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/mockito/src/test/java/org/baeldung/mockito/MockitoExceptionIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/mockito/src/test/java/org/baeldung/mockito/MockitoInjectIntoSpyUnitTest.java (100%) rename {testing-libraries => testing-modules}/mockito/src/test/java/org/baeldung/mockito/MockitoMockIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/mockito/src/test/java/org/baeldung/mockito/MockitoSpyIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/mockito/src/test/java/org/baeldung/mockito/MockitoVerifyExamplesIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/mockito/src/test/java/org/baeldung/mockito/MockitoVoidMethodsUnitTest.java (100%) rename {testing-libraries => testing-modules}/mockito/src/test/java/org/baeldung/mockito/MyDictionary.java (100%) rename {testing-libraries => testing-modules}/mockito/src/test/java/org/baeldung/mockito/MyList.java (100%) rename {testing-libraries => testing-modules}/mockito/src/test/java/org/baeldung/mockito/misusing/MockitoMisusingUnitTest.java (100%) rename {testing-libraries => testing-modules}/mockito/src/test/java/org/baeldung/mockito/service/ActionHandlerUnitTest.java (100%) rename {testing-libraries => testing-modules}/mockito/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker (100%) rename {testing-libraries => testing-modules}/mockito/src/test/resources/test1.in (100%) rename {testing-libraries => testing-modules}/mocks/README.md (100%) rename {testing-libraries => testing-modules}/mocks/javafaker/pom.xml (100%) rename {testing-libraries => testing-modules}/mocks/javafaker/src/test/java/com/baeldung/javafaker/JavaFakerUnitTest.java (100%) rename {testing-libraries => testing-modules}/mocks/jmockit/README.md (100%) rename {testing-libraries => testing-modules}/mocks/jmockit/pom.xml (100%) rename {testing-libraries => testing-modules}/mocks/jmockit/src/main/java/com/baeldung/mocks/jmockit/AppManager.java (100%) rename {testing-libraries => testing-modules}/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/AdvancedCollaborator.java (100%) rename {testing-libraries => testing-modules}/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/Collaborator.java (100%) rename {testing-libraries => testing-modules}/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/ExpectationsCollaborator.java (100%) rename {testing-libraries => testing-modules}/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/Model.java (100%) rename {testing-libraries => testing-modules}/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/Performer.java (100%) rename {testing-libraries => testing-modules}/mocks/jmockit/src/main/resources/logback.xml (100%) rename {testing-libraries => testing-modules}/mocks/jmockit/src/test/java/com/baeldung/mocks/jmockit/AppManagerUnitTest.java (100%) rename {testing-libraries => testing-modules}/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/AdvancedCollaboratorIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/ExpectationsIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/PerformerIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/ReusingIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/mocks/jukito/pom.xml (100%) rename {testing-libraries => testing-modules}/mocks/jukito/src/main/java/com/baeldung/introductionjukito/Calculator.java (100%) rename {testing-libraries => testing-modules}/mocks/jukito/src/main/java/com/baeldung/introductionjukito/ScientificCalculator.java (100%) rename {testing-libraries => testing-modules}/mocks/jukito/src/main/java/com/baeldung/introductionjukito/SimpleCalculator.java (100%) rename {testing-libraries => testing-modules}/mocks/jukito/src/test/java/com/baeldung/introductionjukito/CalculatorUnitTest.java (100%) rename {testing-libraries => testing-modules}/mocks/mock-comparisons/README.md (100%) rename {testing-libraries => testing-modules}/mocks/mock-comparisons/pom.xml (100%) rename {testing-libraries => testing-modules}/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/ArticleReader.java (100%) rename {testing-libraries => testing-modules}/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/BaeldungArticle.java (100%) rename {testing-libraries => testing-modules}/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/BaeldungReader.java (100%) rename {testing-libraries => testing-modules}/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/IArticleWriter.java (100%) rename {testing-libraries => testing-modules}/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/IUserService.java (100%) rename {testing-libraries => testing-modules}/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/User.java (100%) rename {testing-libraries => testing-modules}/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/LoginController.java (100%) rename {testing-libraries => testing-modules}/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/LoginDao.java (100%) rename {testing-libraries => testing-modules}/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/LoginService.java (100%) rename {testing-libraries => testing-modules}/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/UserForm.java (100%) rename {testing-libraries => testing-modules}/mocks/mock-comparisons/src/main/resources/logback.xml (100%) rename {testing-libraries => testing-modules}/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/ArgumentMatchersUnitTest.java (100%) rename {testing-libraries => testing-modules}/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderAnnotatedUnitTest.java (100%) rename {testing-libraries => testing-modules}/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderAnnotatedWithRuleUnitTest.java (100%) rename {testing-libraries => testing-modules}/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderMockDelegationUnitTest.java (100%) rename {testing-libraries => testing-modules}/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderMockSupportUnitTest.java (100%) rename {testing-libraries => testing-modules}/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderUnitTest.java (100%) rename {testing-libraries => testing-modules}/mocks/mock-comparisons/src/test/java/org/baeldung/mocks/easymock/LoginControllerIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/mocks/mock-comparisons/src/test/java/org/baeldung/mocks/jmockit/LoginControllerIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/mocks/mock-comparisons/src/test/java/org/baeldung/mocks/mockito/LoginControllerIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/mocks/pom.xml (100%) rename {testing-libraries => testing-modules}/mockserver/README.md (100%) rename {testing-libraries => testing-modules}/mockserver/pom.xml (100%) rename {testing-libraries => testing-modules}/mockserver/src/main/java/com/baeldung/mock/server/ExpectationCallbackHandler.java (100%) rename {testing-libraries => testing-modules}/mockserver/src/main/resources/logback.xml (100%) rename {testing-libraries => testing-modules}/mockserver/src/test/java/com/baeldung/mock/server/MockServerLiveTest.java (100%) rename {testing-libraries => testing-modules}/parallel-tests-junit/README.md (100%) rename {testing-libraries => testing-modules}/parallel-tests-junit/math-test-functions/pom.xml (100%) rename {testing-libraries => testing-modules}/parallel-tests-junit/math-test-functions/src/test/java/com/baeldung/ArithmeticFunctionUnitTest.java (100%) rename {testing-libraries => testing-modules}/parallel-tests-junit/math-test-functions/src/test/java/com/baeldung/ComparisonFunctionUnitTest.java (100%) rename {testing-libraries => testing-modules}/parallel-tests-junit/math-test-functions/src/test/java/com/baeldung/FunctionTestSuite.java (100%) rename {testing-libraries => testing-modules}/parallel-tests-junit/pom.xml (100%) rename {testing-libraries => testing-modules}/parallel-tests-junit/string-test-functions/pom.xml (100%) rename {testing-libraries => testing-modules}/parallel-tests-junit/string-test-functions/src/test/java/com/baeldung/StringFunctionUnitTest.java (100%) rename {testing-libraries => testing-modules}/pom.xml (100%) rename {testing-libraries => testing-modules}/rest-assured/.gitignore (100%) rename {testing-libraries => testing-modules}/rest-assured/README.md (100%) rename {testing-libraries => testing-modules}/rest-assured/pom.xml (100%) rename {testing-libraries => testing-modules}/rest-assured/src/main/java/com/baeldung/restassured/Application.java (100%) rename {testing-libraries => testing-modules}/rest-assured/src/main/java/com/baeldung/restassured/controller/AppController.java (100%) rename {testing-libraries => testing-modules}/rest-assured/src/main/java/com/baeldung/restassured/learner/Course.java (100%) rename {testing-libraries => testing-modules}/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseController.java (100%) rename {testing-libraries => testing-modules}/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseControllerExceptionHandler.java (100%) rename {testing-libraries => testing-modules}/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseNotFoundException.java (100%) rename {testing-libraries => testing-modules}/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseService.java (100%) rename {testing-libraries => testing-modules}/rest-assured/src/main/java/com/baeldung/restassured/model/Movie.java (100%) rename {testing-libraries => testing-modules}/rest-assured/src/main/java/com/baeldung/restassured/service/AppService.java (100%) rename {testing-libraries => testing-modules}/rest-assured/src/main/resources/1 (100%) rename {testing-libraries => testing-modules}/rest-assured/src/main/resources/2 (100%) rename {testing-libraries => testing-modules}/rest-assured/src/test/java/com/baeldung/restassured/Odd.java (100%) rename {testing-libraries => testing-modules}/rest-assured/src/test/java/com/baeldung/restassured/RestAssured2IntegrationTest.java (100%) rename {testing-libraries => testing-modules}/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredAdvancedLiveTest.java (100%) rename {testing-libraries => testing-modules}/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredXML2IntegrationTest.java (100%) rename {testing-libraries => testing-modules}/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredXMLIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/rest-assured/src/test/java/com/baeldung/restassured/Util.java (100%) rename {testing-libraries => testing-modules}/rest-assured/src/test/java/com/baeldung/restassured/authentication/BasicAuthenticationLiveTest.java (100%) rename {testing-libraries => testing-modules}/rest-assured/src/test/java/com/baeldung/restassured/authentication/BasicPreemtiveAuthenticationLiveTest.java (100%) rename {testing-libraries => testing-modules}/rest-assured/src/test/java/com/baeldung/restassured/authentication/DigestAuthenticationLiveTest.java (100%) rename {testing-libraries => testing-modules}/rest-assured/src/test/java/com/baeldung/restassured/authentication/FormAuthenticationLiveTest.java (100%) rename {testing-libraries => testing-modules}/rest-assured/src/test/java/com/baeldung/restassured/authentication/FormAutoconfAuthenticationLiveTest.java (100%) rename {testing-libraries => testing-modules}/rest-assured/src/test/java/com/baeldung/restassured/authentication/OAuth2AuthenticationLiveTest.java (100%) rename {testing-libraries => testing-modules}/rest-assured/src/test/java/com/baeldung/restassured/authentication/OAuthAuthenticationLiveTest.java (100%) rename {testing-libraries => testing-modules}/rest-assured/src/test/java/com/baeldung/restassured/controller/AppControllerIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/rest-assured/src/test/java/com/baeldung/restassured/learner/CourseControllerIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/rest-assured/src/test/java/com/baeldung/restassured/learner/CourseControllerUnitTest.java (100%) rename {testing-libraries => testing-modules}/rest-assured/src/test/resources/employees.xml (100%) rename {testing-libraries => testing-modules}/rest-assured/src/test/resources/event_0.json (100%) rename {testing-libraries => testing-modules}/rest-assured/src/test/resources/logback.xml (100%) rename {testing-libraries => testing-modules}/rest-assured/src/test/resources/odds.json (100%) rename {testing-libraries => testing-modules}/rest-assured/src/test/resources/teachers.xml (100%) rename {testing-libraries => testing-modules}/rest-assured/src/test/resources/test.txt (100%) rename {testing-libraries => testing-modules}/rest-testing/.gitignore (100%) rename {testing-libraries => testing-modules}/rest-testing/README.md (100%) rename {testing-libraries => testing-modules}/rest-testing/pom.xml (100%) rename {testing-libraries => testing-modules}/rest-testing/src/main/resources/cucumber.json (100%) rename {testing-libraries => testing-modules}/rest-testing/src/main/resources/karate/cucumber.feature (100%) rename {testing-libraries => testing-modules}/rest-testing/src/main/resources/logback.xml (100%) rename {testing-libraries => testing-modules}/rest-testing/src/main/resources/wiremock_intro.json (100%) rename {testing-libraries => testing-modules}/rest-testing/src/test/java/com/baeldung/rest/cucumber/CucumberIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/rest-testing/src/test/java/com/baeldung/rest/cucumber/StepDefinition.java (100%) rename {testing-libraries => testing-modules}/rest-testing/src/test/java/com/baeldung/rest/jbehave/AbstractStory.java (100%) rename {testing-libraries => testing-modules}/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserNotFoundSteps.java (100%) rename {testing-libraries => testing-modules}/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserNotFoundStoryLiveTest.java (100%) rename {testing-libraries => testing-modules}/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponseMediaTypeSteps.java (100%) rename {testing-libraries => testing-modules}/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponseMediaTypeStoryLiveTest.java (100%) rename {testing-libraries => testing-modules}/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponsePayloadSteps.java (100%) rename {testing-libraries => testing-modules}/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponsePayloadStoryLiveTest.java (100%) rename {testing-libraries => testing-modules}/rest-testing/src/test/java/com/baeldung/rest/jbehave/IncreaseSteps.java (100%) rename {testing-libraries => testing-modules}/rest-testing/src/test/java/com/baeldung/rest/jbehave/IncreaseStoryLiveTest.java (100%) rename {testing-libraries => testing-modules}/rest-testing/src/test/java/com/baeldung/rest/karate/KarateIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/rest-testing/src/test/java/com/baeldung/rest/wiremock/introduction/JUnitManagedIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/rest-testing/src/test/java/com/baeldung/rest/wiremock/introduction/ProgrammaticallyManagedLiveTest.java (100%) rename {testing-libraries => testing-modules}/rest-testing/src/test/java/com/baeldung/rest/wiremock/scenario/WireMockScenarioExampleIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/rest-testing/src/test/java/org/baeldung/rest/GitHubUser.java (100%) rename {testing-libraries => testing-modules}/rest-testing/src/test/java/org/baeldung/rest/RetrieveUtil.java (100%) rename {testing-libraries => testing-modules}/rest-testing/src/test/resources/Feature/cucumber.feature (100%) rename {testing-libraries => testing-modules}/rest-testing/src/test/resources/github_user_not_found.story (100%) rename {testing-libraries => testing-modules}/rest-testing/src/test/resources/github_user_response_mediatype.story (100%) rename {testing-libraries => testing-modules}/rest-testing/src/test/resources/github_user_response_payload.story (100%) rename {testing-libraries => testing-modules}/rest-testing/src/test/resources/increase.story (100%) rename {testing-libraries => testing-modules}/rest-testing/src/test/resources/karate/user.feature (100%) rename {testing-libraries => testing-modules}/runjunitfromjava/src/main/resources/logback.xml (100%) rename {testing-libraries => testing-modules}/runjunitfromjava/src/test/java/com/baeldung/junit4/runfromjava/FirstUnitTest.java (100%) rename {testing-libraries => testing-modules}/runjunitfromjava/src/test/java/com/baeldung/junit4/runfromjava/SecondUnitTest.java (100%) rename {testing-libraries => testing-modules}/runjunitfromjava/src/test/java/com/baeldung/junit5/runfromjava/FirstUnitTest.java (100%) rename {testing-libraries => testing-modules}/runjunitfromjava/src/test/java/com/baeldung/junit5/runfromjava/SecondUnitTest.java (100%) rename {testing-libraries => testing-modules}/selenium-junit-testng/README.md (100%) rename {testing-libraries => testing-modules}/selenium-junit-testng/geckodriver.mac (100%) rename {testing-libraries => testing-modules}/selenium-junit-testng/pom.xml (100%) rename {testing-libraries => testing-modules}/selenium-junit-testng/src/main/java/com/baeldung/selenium/SeleniumExample.java (100%) rename {testing-libraries => testing-modules}/selenium-junit-testng/src/main/java/com/baeldung/selenium/config/SeleniumConfig.java (100%) rename {testing-libraries => testing-modules}/selenium-junit-testng/src/main/java/com/baeldung/selenium/models/BaeldungAbout.java (100%) rename {testing-libraries => testing-modules}/selenium-junit-testng/src/main/java/com/baeldung/selenium/pages/BaeldungAboutPage.java (100%) rename {testing-libraries => testing-modules}/selenium-junit-testng/src/main/java/com/baeldung/selenium/pages/BaeldungHomePage.java (100%) rename {testing-libraries => testing-modules}/selenium-junit-testng/src/main/java/com/baeldung/selenium/pages/StartHerePage.java (100%) rename {testing-libraries => testing-modules}/selenium-junit-testng/src/main/resources/logback.xml (100%) rename {testing-libraries => testing-modules}/selenium-junit-testng/src/test/java/com/baeldung/selenium/junit/SeleniumPageObjectLiveTest.java (100%) rename {testing-libraries => testing-modules}/selenium-junit-testng/src/test/java/com/baeldung/selenium/junit/SeleniumWithJUnitLiveTest.java (100%) rename {testing-libraries => testing-modules}/selenium-junit-testng/src/test/java/com/baeldung/selenium/testng/SeleniumWithTestNGLiveTest.java (100%) rename {testing-libraries => testing-modules}/spring-testing/README.md (100%) rename {testing-libraries => testing-modules}/spring-testing/pom.xml (100%) rename {testing-libraries => testing-modules}/spring-testing/src/main/java/com/baeldung/config/ScheduledConfig.java (100%) rename {testing-libraries => testing-modules}/spring-testing/src/main/java/com/baeldung/config/WebConfig.java (100%) rename {testing-libraries => testing-modules}/spring-testing/src/main/java/com/baeldung/controller/parameterized/EmployeeRoleController.java (100%) rename {testing-libraries => testing-modules}/spring-testing/src/main/java/com/baeldung/overrideproperties/Application.java (100%) rename {testing-libraries => testing-modules}/spring-testing/src/main/java/com/baeldung/overrideproperties/resolver/PropertySourceResolver.java (100%) rename {testing-libraries => testing-modules}/spring-testing/src/main/java/com/baeldung/scheduled/Counter.java (100%) rename {testing-libraries => testing-modules}/spring-testing/src/main/java/com/baeldung/testpropertysource/ClassUsingProperty.java (100%) rename {testing-libraries => testing-modules}/spring-testing/src/main/java/org/baeldung/mockito/repository/User.java (100%) rename {testing-libraries => testing-modules}/spring-testing/src/main/java/org/baeldung/mockito/repository/UserRepository.java (100%) rename {testing-libraries => testing-modules}/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/Employee.java (100%) rename {testing-libraries => testing-modules}/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/EmployeeService.java (100%) rename {testing-libraries => testing-modules}/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/HRService.java (100%) rename {testing-libraries => testing-modules}/spring-testing/src/main/resources/logback.xml (100%) rename {testing-libraries => testing-modules}/spring-testing/src/test/java/com/baeldung/controller/parameterized/RoleControllerIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/spring-testing/src/test/java/com/baeldung/controller/parameterized/RoleControllerParameterizedClassRuleIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/spring-testing/src/test/java/com/baeldung/controller/parameterized/RoleControllerParameterizedIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/spring-testing/src/test/java/com/baeldung/overrideproperties/ContextPropertySourceResolverIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/spring-testing/src/test/java/com/baeldung/overrideproperties/ProfilePropertySourceResolverIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/spring-testing/src/test/java/com/baeldung/overrideproperties/PropertyOverrideContextInitializer.java (100%) rename {testing-libraries => testing-modules}/spring-testing/src/test/java/com/baeldung/overrideproperties/SpringBootPropertySourceResolverIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/spring-testing/src/test/java/com/baeldung/overrideproperties/TestResourcePropertySourceResolverIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/spring-testing/src/test/java/com/baeldung/scheduled/ScheduledAwaitilityIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/spring-testing/src/test/java/com/baeldung/scheduled/ScheduledIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/spring-testing/src/test/java/com/baeldung/testpropertysource/DefaultTestPropertySourceIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/spring-testing/src/test/java/com/baeldung/testpropertysource/LocationTestPropertySourceIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/spring-testing/src/test/java/com/baeldung/testpropertysource/PropertiesTestPropertySourceIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/spring-testing/src/test/java/org/baeldung/mockito/MockAnnotationUnitTest.java (100%) rename {testing-libraries => testing-modules}/spring-testing/src/test/java/org/baeldung/mockito/MockBeanAnnotationIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/spring-testing/src/test/java/org/baeldung/reflectiontestutils/ReflectionTestUtilsUnitTest.java (100%) rename {testing-libraries => testing-modules}/spring-testing/src/test/resources/application-test.properties (100%) rename {testing-libraries => testing-modules}/spring-testing/src/test/resources/application.properties (100%) rename {testing-libraries => testing-modules}/spring-testing/src/test/resources/com/baeldung/testpropertysource/DefaultTestPropertySourceIntegrationTest.properties (100%) rename {testing-libraries => testing-modules}/spring-testing/src/test/resources/context-override-application.properties (100%) rename {testing-libraries => testing-modules}/spring-testing/src/test/resources/other-location.properties (100%) rename {testing-libraries => testing-modules}/test-containers/README.md (100%) rename {testing-libraries => testing-modules}/test-containers/pom.xml (100%) rename {testing-libraries => testing-modules}/test-containers/src/test/java/com/baeldung/testconainers/DockerComposeContainerLiveTest.java (100%) rename {testing-libraries => testing-modules}/test-containers/src/test/java/com/baeldung/testconainers/GenericContainerLiveTest.java (100%) rename {testing-libraries => testing-modules}/test-containers/src/test/java/com/baeldung/testconainers/PostgreSqlContainerLiveTest.java (100%) rename {testing-libraries => testing-modules}/test-containers/src/test/java/com/baeldung/testconainers/WebDriverContainerLiveTest.java (100%) rename {testing-libraries => testing-modules}/test-containers/src/test/resources/test-compose.yml (100%) rename {testing-libraries => testing-modules}/testng/README.md (100%) rename {testing-libraries => testing-modules}/testng/pom.xml (100%) rename {testing-libraries => testing-modules}/testng/src/test/java/com/baeldung/DependentLongRunningUnitTest.java (100%) rename {testing-libraries => testing-modules}/testng/src/test/java/com/baeldung/GroupIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/testng/src/test/java/com/baeldung/MultiThreadedIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/testng/src/test/java/com/baeldung/ParametrizedLongRunningUnitTest.java (100%) rename {testing-libraries => testing-modules}/testng/src/test/java/com/baeldung/PriorityLongRunningUnitTest.java (100%) rename {testing-libraries => testing-modules}/testng/src/test/java/com/baeldung/RegistrationLongRunningUnitTest.java (100%) rename {testing-libraries => testing-modules}/testng/src/test/java/com/baeldung/SignInLongRunningUnitTest.java (100%) rename {testing-libraries => testing-modules}/testng/src/test/java/com/baeldung/SimpleLongRunningUnitTest.java (100%) rename {testing-libraries => testing-modules}/testng/src/test/java/com/baeldung/SummationServiceIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/testng/src/test/java/com/baeldung/TimeOutIntegrationTest.java (100%) rename {testing-libraries => testing-modules}/testng/src/test/java/com/baeldung/reports/CustomisedListener.java (100%) rename {testing-libraries => testing-modules}/testng/src/test/java/com/baeldung/reports/CustomisedReports.java (100%) rename {testing-libraries => testing-modules}/testng/src/test/resources/logback.xml (100%) rename {testing-libraries => testing-modules}/testng/src/test/resources/parametrized_testng.xml (100%) rename {testing-libraries => testing-modules}/testng/src/test/resources/reportTemplate.html (100%) rename {testing-libraries => testing-modules}/testng/src/test/resources/test_group.xml (100%) rename {testing-libraries => testing-modules}/testng/src/test/resources/test_setup.xml (100%) rename {testing-libraries => testing-modules}/testng/src/test/resources/test_suite.xml (100%) rename {testing-libraries => testing-modules}/xmlunit-2/README.md (100%) rename {testing-libraries => testing-modules}/xmlunit-2/pom.xml (100%) rename {testing-libraries => testing-modules}/xmlunit-2/src/main/java/com/baeldung/xmlunit/IgnoreAttributeDifferenceEvaluator.java (100%) rename {testing-libraries => testing-modules}/xmlunit-2/src/main/resources/logback.xml (100%) rename {testing-libraries => testing-modules}/xmlunit-2/src/test/java/com/baeldung/xmlunit/XMLUnitTest.java (100%) rename {testing-libraries => testing-modules}/xmlunit-2/src/test/resources/control.xml (100%) rename {testing-libraries => testing-modules}/xmlunit-2/src/test/resources/students.xml (100%) rename {testing-libraries => testing-modules}/xmlunit-2/src/test/resources/students.xsd (100%) rename {testing-libraries => testing-modules}/xmlunit-2/src/test/resources/students_with_error.xml (100%) rename {testing-libraries => testing-modules}/xmlunit-2/src/test/resources/teachers.xml (100%) rename {testing-libraries => testing-modules}/xmlunit-2/src/test/resources/test.xml (100%) diff --git a/pom.xml b/pom.xml index 0ac31c03eb..ac88ce4cdd 100644 --- a/pom.xml +++ b/pom.xml @@ -781,8 +781,8 @@ struts-2 assertion-libraries - testing-libraries - testing-libraries-2 + testing-modules + testing-modules-2 twilio twitter4j @@ -1461,8 +1461,8 @@ struts-2 assertion-libraries - testing-libraries - testing-libraries-2 + testing-modules + testing-modules-2 twilio twitter4j diff --git a/testing-libraries-2/lambdabehave/pom.xml b/testing-libraries-2/lambdabehave/pom.xml deleted file mode 100644 index 61fd20da03..0000000000 --- a/testing-libraries-2/lambdabehave/pom.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - 4.0.0 - lambdabehave - lambdabehave - pom - - - com.baeldung - parent-modules - 1.0.0-SNAPSHOT - ../.. - - - - - com.insightfullogic - lambda-behave - ${lambda-behave.version} - - - - - 0.4 - - - \ No newline at end of file diff --git a/testing-libraries-2/mutations/pom.xml b/testing-libraries-2/mutations/pom.xml deleted file mode 100644 index c4ff0660b0..0000000000 --- a/testing-libraries-2/mutations/pom.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - 4.0.0 - mutations - mutations - pom - - - com.baeldung - parent-modules - 1.0.0-SNAPSHOT - ../.. - - - \ No newline at end of file diff --git a/testing-libraries-2/pom.xml b/testing-libraries-2/pom.xml deleted file mode 100644 index 728a510430..0000000000 --- a/testing-libraries-2/pom.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - 4.0.0 - testing-libraries-2 - testing-libraries-2 - pom - - - com.baeldung - parent-modules - 1.0.0-SNAPSHOT - .. - - - - mutations - cucumber - lambdabehave - - - diff --git a/testing-libraries-2/README.md b/testing-modules-2/README.md similarity index 100% rename from testing-libraries-2/README.md rename to testing-modules-2/README.md diff --git a/testing-libraries-2/cucumber/pom.xml b/testing-modules-2/pom.xml similarity index 69% rename from testing-libraries-2/cucumber/pom.xml rename to testing-modules-2/pom.xml index b12a3297bb..c919dbe90a 100644 --- a/testing-libraries-2/cucumber/pom.xml +++ b/testing-modules-2/pom.xml @@ -1,19 +1,24 @@ + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - cucumber - cucumber + testing-modules-2 + testing-modules-2 pom com.baeldung parent-modules 1.0.0-SNAPSHOT - ../.. + .. + + com.insightfullogic + lambda-behave + ${lambda-behave.version} + info.cukes cucumber-junit @@ -35,7 +40,9 @@ + 0.4 1.2.5 - \ No newline at end of file + + diff --git a/testing-libraries-2/cucumber/src/main/java/com/baeldung/cucumber/Calculator.java b/testing-modules-2/src/main/java/com/baeldung/cucumber/Calculator.java similarity index 100% rename from testing-libraries-2/cucumber/src/main/java/com/baeldung/cucumber/Calculator.java rename to testing-modules-2/src/main/java/com/baeldung/cucumber/Calculator.java diff --git a/testing-libraries-2/lambdabehave/src/main/java/com/baeldung/lambdabehave/Calculator.java b/testing-modules-2/src/main/java/com/baeldung/lambdabehave/Calculator.java similarity index 100% rename from testing-libraries-2/lambdabehave/src/main/java/com/baeldung/lambdabehave/Calculator.java rename to testing-modules-2/src/main/java/com/baeldung/lambdabehave/Calculator.java diff --git a/testing-libraries-2/mutations/src/main/java/com/baeldung/mutation/Palindrome.java b/testing-modules-2/src/main/java/com/baeldung/mutation/Palindrome.java similarity index 100% rename from testing-libraries-2/mutations/src/main/java/com/baeldung/mutation/Palindrome.java rename to testing-modules-2/src/main/java/com/baeldung/mutation/Palindrome.java diff --git a/testing-libraries-2/cucumber/src/test/java/com/baeldung/calculator/CalculatorIntegrationTest.java b/testing-modules-2/src/test/java/com/baeldung/calculator/CalculatorIntegrationTest.java similarity index 100% rename from testing-libraries-2/cucumber/src/test/java/com/baeldung/calculator/CalculatorIntegrationTest.java rename to testing-modules-2/src/test/java/com/baeldung/calculator/CalculatorIntegrationTest.java diff --git a/testing-libraries-2/cucumber/src/test/java/com/baeldung/calculator/CalculatorRunSteps.java b/testing-modules-2/src/test/java/com/baeldung/calculator/CalculatorRunSteps.java similarity index 100% rename from testing-libraries-2/cucumber/src/test/java/com/baeldung/calculator/CalculatorRunSteps.java rename to testing-modules-2/src/test/java/com/baeldung/calculator/CalculatorRunSteps.java diff --git a/testing-libraries-2/lambdabehave/src/test/java/com/baeldung/lambdabehave/CalculatorUnitTest.java b/testing-modules-2/src/test/java/com/baeldung/lambdabehave/CalculatorUnitTest.java similarity index 100% rename from testing-libraries-2/lambdabehave/src/test/java/com/baeldung/lambdabehave/CalculatorUnitTest.java rename to testing-modules-2/src/test/java/com/baeldung/lambdabehave/CalculatorUnitTest.java diff --git a/testing-libraries-2/mutations/src/test/java/com/baeldung/mutation/PalindromeUnitTest.java b/testing-modules-2/src/test/java/com/baeldung/mutation/PalindromeUnitTest.java similarity index 100% rename from testing-libraries-2/mutations/src/test/java/com/baeldung/mutation/PalindromeUnitTest.java rename to testing-modules-2/src/test/java/com/baeldung/mutation/PalindromeUnitTest.java diff --git a/testing-libraries-2/cucumber/src/test/java/com/baeldung/shopping/ShoppingIntegrationTest.java b/testing-modules-2/src/test/java/com/baeldung/shopping/ShoppingIntegrationTest.java similarity index 100% rename from testing-libraries-2/cucumber/src/test/java/com/baeldung/shopping/ShoppingIntegrationTest.java rename to testing-modules-2/src/test/java/com/baeldung/shopping/ShoppingIntegrationTest.java diff --git a/testing-libraries-2/cucumber/src/test/java/com/baeldung/shopping/ShoppingStepsDef.java b/testing-modules-2/src/test/java/com/baeldung/shopping/ShoppingStepsDef.java similarity index 100% rename from testing-libraries-2/cucumber/src/test/java/com/baeldung/shopping/ShoppingStepsDef.java rename to testing-modules-2/src/test/java/com/baeldung/shopping/ShoppingStepsDef.java diff --git a/testing-libraries-2/cucumber/src/test/resources/features/calculator-scenario-outline.feature b/testing-modules-2/src/test/resources/features/calculator-scenario-outline.feature similarity index 100% rename from testing-libraries-2/cucumber/src/test/resources/features/calculator-scenario-outline.feature rename to testing-modules-2/src/test/resources/features/calculator-scenario-outline.feature diff --git a/testing-libraries-2/cucumber/src/test/resources/features/calculator.feature b/testing-modules-2/src/test/resources/features/calculator.feature similarity index 100% rename from testing-libraries-2/cucumber/src/test/resources/features/calculator.feature rename to testing-modules-2/src/test/resources/features/calculator.feature diff --git a/testing-libraries-2/cucumber/src/test/resources/features/shopping.feature b/testing-modules-2/src/test/resources/features/shopping.feature similarity index 100% rename from testing-libraries-2/cucumber/src/test/resources/features/shopping.feature rename to testing-modules-2/src/test/resources/features/shopping.feature diff --git a/testing-libraries/README.md b/testing-modules/README.md similarity index 100% rename from testing-libraries/README.md rename to testing-modules/README.md diff --git a/testing-libraries/easy-random/README.md b/testing-modules/easy-random/README.md similarity index 100% rename from testing-libraries/easy-random/README.md rename to testing-modules/easy-random/README.md diff --git a/testing-libraries/easy-random/pom.xml b/testing-modules/easy-random/pom.xml similarity index 100% rename from testing-libraries/easy-random/pom.xml rename to testing-modules/easy-random/pom.xml diff --git a/testing-libraries/easy-random/src/main/java/org/baeldung/easy/random/model/Department.java b/testing-modules/easy-random/src/main/java/org/baeldung/easy/random/model/Department.java similarity index 100% rename from testing-libraries/easy-random/src/main/java/org/baeldung/easy/random/model/Department.java rename to testing-modules/easy-random/src/main/java/org/baeldung/easy/random/model/Department.java diff --git a/testing-libraries/easy-random/src/main/java/org/baeldung/easy/random/model/Employee.java b/testing-modules/easy-random/src/main/java/org/baeldung/easy/random/model/Employee.java similarity index 100% rename from testing-libraries/easy-random/src/main/java/org/baeldung/easy/random/model/Employee.java rename to testing-modules/easy-random/src/main/java/org/baeldung/easy/random/model/Employee.java diff --git a/testing-libraries/easy-random/src/main/java/org/baeldung/easy/random/model/Grade.java b/testing-modules/easy-random/src/main/java/org/baeldung/easy/random/model/Grade.java similarity index 100% rename from testing-libraries/easy-random/src/main/java/org/baeldung/easy/random/model/Grade.java rename to testing-modules/easy-random/src/main/java/org/baeldung/easy/random/model/Grade.java diff --git a/testing-libraries/easy-random/src/main/java/org/baeldung/easy/random/model/Person.java b/testing-modules/easy-random/src/main/java/org/baeldung/easy/random/model/Person.java similarity index 100% rename from testing-libraries/easy-random/src/main/java/org/baeldung/easy/random/model/Person.java rename to testing-modules/easy-random/src/main/java/org/baeldung/easy/random/model/Person.java diff --git a/testing-libraries/easy-random/src/main/java/org/baeldung/easy/random/model/YearQuarter.java b/testing-modules/easy-random/src/main/java/org/baeldung/easy/random/model/YearQuarter.java similarity index 100% rename from testing-libraries/easy-random/src/main/java/org/baeldung/easy/random/model/YearQuarter.java rename to testing-modules/easy-random/src/main/java/org/baeldung/easy/random/model/YearQuarter.java diff --git a/testing-libraries/easy-random/src/main/java/org/baeldung/easy/random/randomizer/YearQuarterRandomizer.java b/testing-modules/easy-random/src/main/java/org/baeldung/easy/random/randomizer/YearQuarterRandomizer.java similarity index 100% rename from testing-libraries/easy-random/src/main/java/org/baeldung/easy/random/randomizer/YearQuarterRandomizer.java rename to testing-modules/easy-random/src/main/java/org/baeldung/easy/random/randomizer/YearQuarterRandomizer.java diff --git a/testing-libraries/easy-random/src/test/java/org/baeldung/easy/random/EasyRandomUnitTest.java b/testing-modules/easy-random/src/test/java/org/baeldung/easy/random/EasyRandomUnitTest.java similarity index 100% rename from testing-libraries/easy-random/src/test/java/org/baeldung/easy/random/EasyRandomUnitTest.java rename to testing-modules/easy-random/src/test/java/org/baeldung/easy/random/EasyRandomUnitTest.java diff --git a/testing-libraries/easymock/pom.xml b/testing-modules/easymock/pom.xml similarity index 100% rename from testing-libraries/easymock/pom.xml rename to testing-modules/easymock/pom.xml diff --git a/testing-libraries/easymock/src/main/java/com/baeldung/testing/easymock/ForecastProcessor.java b/testing-modules/easymock/src/main/java/com/baeldung/testing/easymock/ForecastProcessor.java similarity index 100% rename from testing-libraries/easymock/src/main/java/com/baeldung/testing/easymock/ForecastProcessor.java rename to testing-modules/easymock/src/main/java/com/baeldung/testing/easymock/ForecastProcessor.java diff --git a/testing-libraries/easymock/src/main/java/com/baeldung/testing/easymock/Location.java b/testing-modules/easymock/src/main/java/com/baeldung/testing/easymock/Location.java similarity index 100% rename from testing-libraries/easymock/src/main/java/com/baeldung/testing/easymock/Location.java rename to testing-modules/easymock/src/main/java/com/baeldung/testing/easymock/Location.java diff --git a/testing-libraries/easymock/src/main/java/com/baeldung/testing/easymock/ServiceUnavailableException.java b/testing-modules/easymock/src/main/java/com/baeldung/testing/easymock/ServiceUnavailableException.java similarity index 100% rename from testing-libraries/easymock/src/main/java/com/baeldung/testing/easymock/ServiceUnavailableException.java rename to testing-modules/easymock/src/main/java/com/baeldung/testing/easymock/ServiceUnavailableException.java diff --git a/testing-libraries/easymock/src/main/java/com/baeldung/testing/easymock/WeatherService.java b/testing-modules/easymock/src/main/java/com/baeldung/testing/easymock/WeatherService.java similarity index 100% rename from testing-libraries/easymock/src/main/java/com/baeldung/testing/easymock/WeatherService.java rename to testing-modules/easymock/src/main/java/com/baeldung/testing/easymock/WeatherService.java diff --git a/testing-libraries/easymock/src/test/java/com/baeldung/testing/easymock/ForecastProcessorUnitTest.java b/testing-modules/easymock/src/test/java/com/baeldung/testing/easymock/ForecastProcessorUnitTest.java similarity index 100% rename from testing-libraries/easymock/src/test/java/com/baeldung/testing/easymock/ForecastProcessorUnitTest.java rename to testing-modules/easymock/src/test/java/com/baeldung/testing/easymock/ForecastProcessorUnitTest.java diff --git a/testing-libraries/gatling/README.md b/testing-modules/gatling/README.md similarity index 100% rename from testing-libraries/gatling/README.md rename to testing-modules/gatling/README.md diff --git a/testing-libraries/gatling/pom.xml b/testing-modules/gatling/pom.xml similarity index 100% rename from testing-libraries/gatling/pom.xml rename to testing-modules/gatling/pom.xml diff --git a/testing-libraries/gatling/src/test/resources/gatling.conf b/testing-modules/gatling/src/test/resources/gatling.conf similarity index 100% rename from testing-libraries/gatling/src/test/resources/gatling.conf rename to testing-modules/gatling/src/test/resources/gatling.conf diff --git a/testing-libraries/gatling/src/test/resources/logback.xml b/testing-modules/gatling/src/test/resources/logback.xml similarity index 100% rename from testing-libraries/gatling/src/test/resources/logback.xml rename to testing-modules/gatling/src/test/resources/logback.xml diff --git a/testing-libraries/gatling/src/test/resources/recorder.conf b/testing-modules/gatling/src/test/resources/recorder.conf similarity index 100% rename from testing-libraries/gatling/src/test/resources/recorder.conf rename to testing-modules/gatling/src/test/resources/recorder.conf diff --git a/testing-libraries/gatling/src/test/scala/Engine.scala b/testing-modules/gatling/src/test/scala/Engine.scala similarity index 100% rename from testing-libraries/gatling/src/test/scala/Engine.scala rename to testing-modules/gatling/src/test/scala/Engine.scala diff --git a/testing-libraries/gatling/src/test/scala/IDEPathHelper.scala b/testing-modules/gatling/src/test/scala/IDEPathHelper.scala similarity index 100% rename from testing-libraries/gatling/src/test/scala/IDEPathHelper.scala rename to testing-modules/gatling/src/test/scala/IDEPathHelper.scala diff --git a/testing-libraries/gatling/src/test/scala/Recorder.scala b/testing-modules/gatling/src/test/scala/Recorder.scala similarity index 100% rename from testing-libraries/gatling/src/test/scala/Recorder.scala rename to testing-modules/gatling/src/test/scala/Recorder.scala diff --git a/testing-libraries/gatling/src/test/scala/org/baeldung/RecordedSimulation.scala b/testing-modules/gatling/src/test/scala/org/baeldung/RecordedSimulation.scala similarity index 100% rename from testing-libraries/gatling/src/test/scala/org/baeldung/RecordedSimulation.scala rename to testing-modules/gatling/src/test/scala/org/baeldung/RecordedSimulation.scala diff --git a/testing-libraries/groovy-spock/.gitignore b/testing-modules/groovy-spock/.gitignore similarity index 100% rename from testing-libraries/groovy-spock/.gitignore rename to testing-modules/groovy-spock/.gitignore diff --git a/testing-libraries/groovy-spock/README.md b/testing-modules/groovy-spock/README.md similarity index 100% rename from testing-libraries/groovy-spock/README.md rename to testing-modules/groovy-spock/README.md diff --git a/testing-libraries/groovy-spock/pom.xml b/testing-modules/groovy-spock/pom.xml similarity index 100% rename from testing-libraries/groovy-spock/pom.xml rename to testing-modules/groovy-spock/pom.xml diff --git a/testing-libraries/groovy-spock/src/main/java/mocks/EventPublisher.java b/testing-modules/groovy-spock/src/main/java/mocks/EventPublisher.java similarity index 100% rename from testing-libraries/groovy-spock/src/main/java/mocks/EventPublisher.java rename to testing-modules/groovy-spock/src/main/java/mocks/EventPublisher.java diff --git a/testing-libraries/groovy-spock/src/main/java/mocks/ExternalItemProviderException.java b/testing-modules/groovy-spock/src/main/java/mocks/ExternalItemProviderException.java similarity index 100% rename from testing-libraries/groovy-spock/src/main/java/mocks/ExternalItemProviderException.java rename to testing-modules/groovy-spock/src/main/java/mocks/ExternalItemProviderException.java diff --git a/testing-libraries/groovy-spock/src/main/java/mocks/Item.java b/testing-modules/groovy-spock/src/main/java/mocks/Item.java similarity index 100% rename from testing-libraries/groovy-spock/src/main/java/mocks/Item.java rename to testing-modules/groovy-spock/src/main/java/mocks/Item.java diff --git a/testing-libraries/groovy-spock/src/main/java/mocks/ItemProvider.java b/testing-modules/groovy-spock/src/main/java/mocks/ItemProvider.java similarity index 100% rename from testing-libraries/groovy-spock/src/main/java/mocks/ItemProvider.java rename to testing-modules/groovy-spock/src/main/java/mocks/ItemProvider.java diff --git a/testing-libraries/groovy-spock/src/main/java/mocks/ItemService.java b/testing-modules/groovy-spock/src/main/java/mocks/ItemService.java similarity index 100% rename from testing-libraries/groovy-spock/src/main/java/mocks/ItemService.java rename to testing-modules/groovy-spock/src/main/java/mocks/ItemService.java diff --git a/testing-libraries/groovy-spock/src/main/java/mocks/LoggingEventPublisher.java b/testing-modules/groovy-spock/src/main/java/mocks/LoggingEventPublisher.java similarity index 100% rename from testing-libraries/groovy-spock/src/main/java/mocks/LoggingEventPublisher.java rename to testing-modules/groovy-spock/src/main/java/mocks/LoggingEventPublisher.java diff --git a/testing-libraries/groovy-spock/src/test/groovy/FirstSpecification.groovy b/testing-modules/groovy-spock/src/test/groovy/FirstSpecification.groovy similarity index 100% rename from testing-libraries/groovy-spock/src/test/groovy/FirstSpecification.groovy rename to testing-modules/groovy-spock/src/test/groovy/FirstSpecification.groovy diff --git a/testing-libraries/groovy-spock/src/test/groovy/Notifier.groovy b/testing-modules/groovy-spock/src/test/groovy/Notifier.groovy similarity index 100% rename from testing-libraries/groovy-spock/src/test/groovy/Notifier.groovy rename to testing-modules/groovy-spock/src/test/groovy/Notifier.groovy diff --git a/testing-libraries/groovy-spock/src/test/groovy/PaymentGateway.groovy b/testing-modules/groovy-spock/src/test/groovy/PaymentGateway.groovy similarity index 100% rename from testing-libraries/groovy-spock/src/test/groovy/PaymentGateway.groovy rename to testing-modules/groovy-spock/src/test/groovy/PaymentGateway.groovy diff --git a/testing-libraries/groovy-spock/src/test/groovy/extensions/CustomTitleTest.groovy b/testing-modules/groovy-spock/src/test/groovy/extensions/CustomTitleTest.groovy similarity index 100% rename from testing-libraries/groovy-spock/src/test/groovy/extensions/CustomTitleTest.groovy rename to testing-modules/groovy-spock/src/test/groovy/extensions/CustomTitleTest.groovy diff --git a/testing-libraries/groovy-spock/src/test/groovy/extensions/IgnoreIfTest.groovy b/testing-modules/groovy-spock/src/test/groovy/extensions/IgnoreIfTest.groovy similarity index 100% rename from testing-libraries/groovy-spock/src/test/groovy/extensions/IgnoreIfTest.groovy rename to testing-modules/groovy-spock/src/test/groovy/extensions/IgnoreIfTest.groovy diff --git a/testing-libraries/groovy-spock/src/test/groovy/extensions/IgnoreRestTest.groovy b/testing-modules/groovy-spock/src/test/groovy/extensions/IgnoreRestTest.groovy similarity index 100% rename from testing-libraries/groovy-spock/src/test/groovy/extensions/IgnoreRestTest.groovy rename to testing-modules/groovy-spock/src/test/groovy/extensions/IgnoreRestTest.groovy diff --git a/testing-libraries/groovy-spock/src/test/groovy/extensions/IgnoreTest.groovy b/testing-modules/groovy-spock/src/test/groovy/extensions/IgnoreTest.groovy similarity index 100% rename from testing-libraries/groovy-spock/src/test/groovy/extensions/IgnoreTest.groovy rename to testing-modules/groovy-spock/src/test/groovy/extensions/IgnoreTest.groovy diff --git a/testing-libraries/groovy-spock/src/test/groovy/extensions/IssueTest.groovy b/testing-modules/groovy-spock/src/test/groovy/extensions/IssueTest.groovy similarity index 100% rename from testing-libraries/groovy-spock/src/test/groovy/extensions/IssueTest.groovy rename to testing-modules/groovy-spock/src/test/groovy/extensions/IssueTest.groovy diff --git a/testing-libraries/groovy-spock/src/test/groovy/extensions/PendingFeatureTest.groovy b/testing-modules/groovy-spock/src/test/groovy/extensions/PendingFeatureTest.groovy similarity index 100% rename from testing-libraries/groovy-spock/src/test/groovy/extensions/PendingFeatureTest.groovy rename to testing-modules/groovy-spock/src/test/groovy/extensions/PendingFeatureTest.groovy diff --git a/testing-libraries/groovy-spock/src/test/groovy/extensions/RequiresTest.groovy b/testing-modules/groovy-spock/src/test/groovy/extensions/RequiresTest.groovy similarity index 100% rename from testing-libraries/groovy-spock/src/test/groovy/extensions/RequiresTest.groovy rename to testing-modules/groovy-spock/src/test/groovy/extensions/RequiresTest.groovy diff --git a/testing-libraries/groovy-spock/src/test/groovy/extensions/RestoreSystemPropertiesTest.groovy b/testing-modules/groovy-spock/src/test/groovy/extensions/RestoreSystemPropertiesTest.groovy similarity index 100% rename from testing-libraries/groovy-spock/src/test/groovy/extensions/RestoreSystemPropertiesTest.groovy rename to testing-modules/groovy-spock/src/test/groovy/extensions/RestoreSystemPropertiesTest.groovy diff --git a/testing-libraries/groovy-spock/src/test/groovy/extensions/RetryTest.groovy b/testing-modules/groovy-spock/src/test/groovy/extensions/RetryTest.groovy similarity index 100% rename from testing-libraries/groovy-spock/src/test/groovy/extensions/RetryTest.groovy rename to testing-modules/groovy-spock/src/test/groovy/extensions/RetryTest.groovy diff --git a/testing-libraries/groovy-spock/src/test/groovy/extensions/SeeTest.groovy b/testing-modules/groovy-spock/src/test/groovy/extensions/SeeTest.groovy similarity index 100% rename from testing-libraries/groovy-spock/src/test/groovy/extensions/SeeTest.groovy rename to testing-modules/groovy-spock/src/test/groovy/extensions/SeeTest.groovy diff --git a/testing-libraries/groovy-spock/src/test/groovy/extensions/StackTraceTest.groovy b/testing-modules/groovy-spock/src/test/groovy/extensions/StackTraceTest.groovy similarity index 100% rename from testing-libraries/groovy-spock/src/test/groovy/extensions/StackTraceTest.groovy rename to testing-modules/groovy-spock/src/test/groovy/extensions/StackTraceTest.groovy diff --git a/testing-libraries/groovy-spock/src/test/groovy/extensions/StepwiseTest.groovy b/testing-modules/groovy-spock/src/test/groovy/extensions/StepwiseTest.groovy similarity index 100% rename from testing-libraries/groovy-spock/src/test/groovy/extensions/StepwiseTest.groovy rename to testing-modules/groovy-spock/src/test/groovy/extensions/StepwiseTest.groovy diff --git a/testing-libraries/groovy-spock/src/test/groovy/extensions/SubjectTest.groovy b/testing-modules/groovy-spock/src/test/groovy/extensions/SubjectTest.groovy similarity index 100% rename from testing-libraries/groovy-spock/src/test/groovy/extensions/SubjectTest.groovy rename to testing-modules/groovy-spock/src/test/groovy/extensions/SubjectTest.groovy diff --git a/testing-libraries/groovy-spock/src/test/groovy/extensions/TimeoutTest.groovy b/testing-modules/groovy-spock/src/test/groovy/extensions/TimeoutTest.groovy similarity index 100% rename from testing-libraries/groovy-spock/src/test/groovy/extensions/TimeoutTest.groovy rename to testing-modules/groovy-spock/src/test/groovy/extensions/TimeoutTest.groovy diff --git a/testing-libraries/groovy-spock/src/test/groovy/mocks/ItemServiceUnitTest.groovy b/testing-modules/groovy-spock/src/test/groovy/mocks/ItemServiceUnitTest.groovy similarity index 100% rename from testing-libraries/groovy-spock/src/test/groovy/mocks/ItemServiceUnitTest.groovy rename to testing-modules/groovy-spock/src/test/groovy/mocks/ItemServiceUnitTest.groovy diff --git a/testing-libraries/groovy-spock/src/test/resources/SpockConfig.groovy b/testing-modules/groovy-spock/src/test/resources/SpockConfig.groovy similarity index 100% rename from testing-libraries/groovy-spock/src/test/resources/SpockConfig.groovy rename to testing-modules/groovy-spock/src/test/resources/SpockConfig.groovy diff --git a/testing-libraries/junit-4/README.md b/testing-modules/junit-4/README.md similarity index 100% rename from testing-libraries/junit-4/README.md rename to testing-modules/junit-4/README.md diff --git a/testing-libraries/junit-4/pom.xml b/testing-modules/junit-4/pom.xml similarity index 100% rename from testing-libraries/junit-4/pom.xml rename to testing-modules/junit-4/pom.xml diff --git a/testing-libraries/junit-4/src/main/java/com/baeldung/junitparams/SafeAdditionUtil.java b/testing-modules/junit-4/src/main/java/com/baeldung/junitparams/SafeAdditionUtil.java similarity index 100% rename from testing-libraries/junit-4/src/main/java/com/baeldung/junitparams/SafeAdditionUtil.java rename to testing-modules/junit-4/src/main/java/com/baeldung/junitparams/SafeAdditionUtil.java diff --git a/testing-libraries/junit-4/src/main/resources/logback.xml b/testing-modules/junit-4/src/main/resources/logback.xml similarity index 100% rename from testing-libraries/junit-4/src/main/resources/logback.xml rename to testing-modules/junit-4/src/main/resources/logback.xml diff --git a/testing-libraries/junit-4/src/test/java/com/baeldung/junitparams/SafeAdditionUtilUnitTest.java b/testing-modules/junit-4/src/test/java/com/baeldung/junitparams/SafeAdditionUtilUnitTest.java similarity index 100% rename from testing-libraries/junit-4/src/test/java/com/baeldung/junitparams/SafeAdditionUtilUnitTest.java rename to testing-modules/junit-4/src/test/java/com/baeldung/junitparams/SafeAdditionUtilUnitTest.java diff --git a/testing-libraries/junit-4/src/test/java/com/baeldung/junitparams/TestDataProvider.java b/testing-modules/junit-4/src/test/java/com/baeldung/junitparams/TestDataProvider.java similarity index 100% rename from testing-libraries/junit-4/src/test/java/com/baeldung/junitparams/TestDataProvider.java rename to testing-modules/junit-4/src/test/java/com/baeldung/junitparams/TestDataProvider.java diff --git a/testing-libraries/junit-4/src/test/java/com/baeldung/rules/MessageLogger.java b/testing-modules/junit-4/src/test/java/com/baeldung/rules/MessageLogger.java similarity index 100% rename from testing-libraries/junit-4/src/test/java/com/baeldung/rules/MessageLogger.java rename to testing-modules/junit-4/src/test/java/com/baeldung/rules/MessageLogger.java diff --git a/testing-libraries/junit-4/src/test/java/com/baeldung/rules/RuleChainUnitTest.java b/testing-modules/junit-4/src/test/java/com/baeldung/rules/RuleChainUnitTest.java similarity index 100% rename from testing-libraries/junit-4/src/test/java/com/baeldung/rules/RuleChainUnitTest.java rename to testing-modules/junit-4/src/test/java/com/baeldung/rules/RuleChainUnitTest.java diff --git a/testing-libraries/junit-4/src/test/java/com/baeldung/rules/RulesUnitTest.java b/testing-modules/junit-4/src/test/java/com/baeldung/rules/RulesUnitTest.java similarity index 100% rename from testing-libraries/junit-4/src/test/java/com/baeldung/rules/RulesUnitTest.java rename to testing-modules/junit-4/src/test/java/com/baeldung/rules/RulesUnitTest.java diff --git a/testing-libraries/junit-4/src/test/java/com/baeldung/rules/TestMethodNameLogger.java b/testing-modules/junit-4/src/test/java/com/baeldung/rules/TestMethodNameLogger.java similarity index 100% rename from testing-libraries/junit-4/src/test/java/com/baeldung/rules/TestMethodNameLogger.java rename to testing-modules/junit-4/src/test/java/com/baeldung/rules/TestMethodNameLogger.java diff --git a/testing-libraries/junit-4/src/test/java/com/baeldung/rules/VerifierRuleUnitTest.java b/testing-modules/junit-4/src/test/java/com/baeldung/rules/VerifierRuleUnitTest.java similarity index 100% rename from testing-libraries/junit-4/src/test/java/com/baeldung/rules/VerifierRuleUnitTest.java rename to testing-modules/junit-4/src/test/java/com/baeldung/rules/VerifierRuleUnitTest.java diff --git a/testing-libraries/junit-4/src/test/java/com/baeldung/runfromjava/FirstUnitTest.java b/testing-modules/junit-4/src/test/java/com/baeldung/runfromjava/FirstUnitTest.java similarity index 100% rename from testing-libraries/junit-4/src/test/java/com/baeldung/runfromjava/FirstUnitTest.java rename to testing-modules/junit-4/src/test/java/com/baeldung/runfromjava/FirstUnitTest.java diff --git a/testing-libraries/junit-4/src/test/java/com/baeldung/runfromjava/MyTestSuite.java b/testing-modules/junit-4/src/test/java/com/baeldung/runfromjava/MyTestSuite.java similarity index 100% rename from testing-libraries/junit-4/src/test/java/com/baeldung/runfromjava/MyTestSuite.java rename to testing-modules/junit-4/src/test/java/com/baeldung/runfromjava/MyTestSuite.java diff --git a/testing-libraries/junit-4/src/test/java/com/baeldung/runfromjava/RunJUnit4TestsFromJava.java b/testing-modules/junit-4/src/test/java/com/baeldung/runfromjava/RunJUnit4TestsFromJava.java similarity index 100% rename from testing-libraries/junit-4/src/test/java/com/baeldung/runfromjava/RunJUnit4TestsFromJava.java rename to testing-modules/junit-4/src/test/java/com/baeldung/runfromjava/RunJUnit4TestsFromJava.java diff --git a/testing-libraries/junit-4/src/test/java/com/baeldung/runfromjava/SecondUnitTest.java b/testing-modules/junit-4/src/test/java/com/baeldung/runfromjava/SecondUnitTest.java similarity index 100% rename from testing-libraries/junit-4/src/test/java/com/baeldung/runfromjava/SecondUnitTest.java rename to testing-modules/junit-4/src/test/java/com/baeldung/runfromjava/SecondUnitTest.java diff --git a/testing-libraries/junit-4/src/test/resources/JunitParamsTestParameters.csv b/testing-modules/junit-4/src/test/resources/JunitParamsTestParameters.csv similarity index 100% rename from testing-libraries/junit-4/src/test/resources/JunitParamsTestParameters.csv rename to testing-modules/junit-4/src/test/resources/JunitParamsTestParameters.csv diff --git a/testing-libraries/junit-5-advanced/README.md b/testing-modules/junit-5-advanced/README.md similarity index 100% rename from testing-libraries/junit-5-advanced/README.md rename to testing-modules/junit-5-advanced/README.md diff --git a/testing-libraries/junit-5-advanced/pom.xml b/testing-modules/junit-5-advanced/pom.xml similarity index 100% rename from testing-libraries/junit-5-advanced/pom.xml rename to testing-modules/junit-5-advanced/pom.xml diff --git a/testing-libraries/junit-5-advanced/src/main/java/com/baeldung/failure_vs_error/SimpleCalculator.java b/testing-modules/junit-5-advanced/src/main/java/com/baeldung/failure_vs_error/SimpleCalculator.java similarity index 100% rename from testing-libraries/junit-5-advanced/src/main/java/com/baeldung/failure_vs_error/SimpleCalculator.java rename to testing-modules/junit-5-advanced/src/main/java/com/baeldung/failure_vs_error/SimpleCalculator.java diff --git a/testing-libraries/junit-5-advanced/src/main/java/com/baeldung/junit5/testinstance/Tweet.java b/testing-modules/junit-5-advanced/src/main/java/com/baeldung/junit5/testinstance/Tweet.java similarity index 100% rename from testing-libraries/junit-5-advanced/src/main/java/com/baeldung/junit5/testinstance/Tweet.java rename to testing-modules/junit-5-advanced/src/main/java/com/baeldung/junit5/testinstance/Tweet.java diff --git a/testing-libraries/junit-5-advanced/src/main/java/com/baeldung/junit5/testinstance/TweetException.java b/testing-modules/junit-5-advanced/src/main/java/com/baeldung/junit5/testinstance/TweetException.java similarity index 100% rename from testing-libraries/junit-5-advanced/src/main/java/com/baeldung/junit5/testinstance/TweetException.java rename to testing-modules/junit-5-advanced/src/main/java/com/baeldung/junit5/testinstance/TweetException.java diff --git a/testing-libraries/junit-5-advanced/src/main/java/com/baeldung/junit5/testinstance/TweetSerializer.java b/testing-modules/junit-5-advanced/src/main/java/com/baeldung/junit5/testinstance/TweetSerializer.java similarity index 100% rename from testing-libraries/junit-5-advanced/src/main/java/com/baeldung/junit5/testinstance/TweetSerializer.java rename to testing-modules/junit-5-advanced/src/main/java/com/baeldung/junit5/testinstance/TweetSerializer.java diff --git a/testing-libraries/junit-5-advanced/src/main/resources/logback.xml b/testing-modules/junit-5-advanced/src/main/resources/logback.xml similarity index 100% rename from testing-libraries/junit-5-advanced/src/main/resources/logback.xml rename to testing-modules/junit-5-advanced/src/main/resources/logback.xml diff --git a/testing-libraries/junit-5-advanced/src/test/java/com/baeldung/displayname/DisplayNameGeneratorUnitTest.java b/testing-modules/junit-5-advanced/src/test/java/com/baeldung/displayname/DisplayNameGeneratorUnitTest.java similarity index 100% rename from testing-libraries/junit-5-advanced/src/test/java/com/baeldung/displayname/DisplayNameGeneratorUnitTest.java rename to testing-modules/junit-5-advanced/src/test/java/com/baeldung/displayname/DisplayNameGeneratorUnitTest.java diff --git a/testing-libraries/junit-5-advanced/src/test/java/com/baeldung/displayname/ReplaceUnderscoresGeneratorUnitTest.java b/testing-modules/junit-5-advanced/src/test/java/com/baeldung/displayname/ReplaceUnderscoresGeneratorUnitTest.java similarity index 100% rename from testing-libraries/junit-5-advanced/src/test/java/com/baeldung/displayname/ReplaceUnderscoresGeneratorUnitTest.java rename to testing-modules/junit-5-advanced/src/test/java/com/baeldung/displayname/ReplaceUnderscoresGeneratorUnitTest.java diff --git a/testing-libraries/junit-5-advanced/src/test/java/com/baeldung/extensions/testwatcher/TestResultLoggerExtension.java b/testing-modules/junit-5-advanced/src/test/java/com/baeldung/extensions/testwatcher/TestResultLoggerExtension.java similarity index 100% rename from testing-libraries/junit-5-advanced/src/test/java/com/baeldung/extensions/testwatcher/TestResultLoggerExtension.java rename to testing-modules/junit-5-advanced/src/test/java/com/baeldung/extensions/testwatcher/TestResultLoggerExtension.java diff --git a/testing-libraries/junit-5-advanced/src/test/java/com/baeldung/extensions/testwatcher/TestWatcherAPIUnitTest.java b/testing-modules/junit-5-advanced/src/test/java/com/baeldung/extensions/testwatcher/TestWatcherAPIUnitTest.java similarity index 100% rename from testing-libraries/junit-5-advanced/src/test/java/com/baeldung/extensions/testwatcher/TestWatcherAPIUnitTest.java rename to testing-modules/junit-5-advanced/src/test/java/com/baeldung/extensions/testwatcher/TestWatcherAPIUnitTest.java diff --git a/testing-libraries/junit-5-advanced/src/test/java/com/baeldung/failure_vs_error/SimpleCalculatorUnitTest.java b/testing-modules/junit-5-advanced/src/test/java/com/baeldung/failure_vs_error/SimpleCalculatorUnitTest.java similarity index 100% rename from testing-libraries/junit-5-advanced/src/test/java/com/baeldung/failure_vs_error/SimpleCalculatorUnitTest.java rename to testing-modules/junit-5-advanced/src/test/java/com/baeldung/failure_vs_error/SimpleCalculatorUnitTest.java diff --git a/testing-libraries/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/AdditionUnitTest.java b/testing-modules/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/AdditionUnitTest.java similarity index 100% rename from testing-libraries/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/AdditionUnitTest.java rename to testing-modules/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/AdditionUnitTest.java diff --git a/testing-libraries/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/OrderUnitTest.java b/testing-modules/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/OrderUnitTest.java similarity index 100% rename from testing-libraries/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/OrderUnitTest.java rename to testing-modules/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/OrderUnitTest.java diff --git a/testing-libraries/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/TweetSerializerJUnit4UnitTest.java b/testing-modules/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/TweetSerializerJUnit4UnitTest.java similarity index 100% rename from testing-libraries/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/TweetSerializerJUnit4UnitTest.java rename to testing-modules/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/TweetSerializerJUnit4UnitTest.java diff --git a/testing-libraries/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/TweetSerializerUnitTest.java b/testing-modules/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/TweetSerializerUnitTest.java similarity index 100% rename from testing-libraries/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/TweetSerializerUnitTest.java rename to testing-modules/junit-5-advanced/src/test/java/com/baeldung/junit5/testinstance/TweetSerializerUnitTest.java diff --git a/testing-libraries/junit-5-advanced/src/test/resources/lorem-ipsum.txt b/testing-modules/junit-5-advanced/src/test/resources/lorem-ipsum.txt similarity index 100% rename from testing-libraries/junit-5-advanced/src/test/resources/lorem-ipsum.txt rename to testing-modules/junit-5-advanced/src/test/resources/lorem-ipsum.txt diff --git a/testing-libraries/junit-5-basics/README.md b/testing-modules/junit-5-basics/README.md similarity index 100% rename from testing-libraries/junit-5-basics/README.md rename to testing-modules/junit-5-basics/README.md diff --git a/testing-libraries/junit-5-basics/pom.xml b/testing-modules/junit-5-basics/pom.xml similarity index 100% rename from testing-libraries/junit-5-basics/pom.xml rename to testing-modules/junit-5-basics/pom.xml diff --git a/testing-libraries/junit-5-basics/src/main/java/com/baeldung/failure_vs_error/SimpleCalculator.java b/testing-modules/junit-5-basics/src/main/java/com/baeldung/failure_vs_error/SimpleCalculator.java similarity index 100% rename from testing-libraries/junit-5-basics/src/main/java/com/baeldung/failure_vs_error/SimpleCalculator.java rename to testing-modules/junit-5-basics/src/main/java/com/baeldung/failure_vs_error/SimpleCalculator.java diff --git a/testing-libraries/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/Employee.java b/testing-modules/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/Employee.java similarity index 100% rename from testing-libraries/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/Employee.java rename to testing-modules/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/Employee.java diff --git a/testing-libraries/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/EmployeeDAO.java b/testing-modules/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/EmployeeDAO.java similarity index 100% rename from testing-libraries/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/EmployeeDAO.java rename to testing-modules/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/EmployeeDAO.java diff --git a/testing-libraries/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/EmployeeRowMapper.java b/testing-modules/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/EmployeeRowMapper.java similarity index 100% rename from testing-libraries/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/EmployeeRowMapper.java rename to testing-modules/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/EmployeeRowMapper.java diff --git a/testing-libraries/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/SpringJdbcConfig.java b/testing-modules/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/SpringJdbcConfig.java similarity index 100% rename from testing-libraries/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/SpringJdbcConfig.java rename to testing-modules/junit-5-basics/src/main/java/com/baeldung/junit/tags/example/SpringJdbcConfig.java diff --git a/testing-libraries/junit-5-basics/src/main/java/com/baeldung/junit5/Greetings.java b/testing-modules/junit-5-basics/src/main/java/com/baeldung/junit5/Greetings.java similarity index 100% rename from testing-libraries/junit-5-basics/src/main/java/com/baeldung/junit5/Greetings.java rename to testing-modules/junit-5-basics/src/main/java/com/baeldung/junit5/Greetings.java diff --git a/testing-libraries/junit-5-basics/src/main/java/com/baeldung/junit5/bean/NumbersBean.java b/testing-modules/junit-5-basics/src/main/java/com/baeldung/junit5/bean/NumbersBean.java similarity index 100% rename from testing-libraries/junit-5-basics/src/main/java/com/baeldung/junit5/bean/NumbersBean.java rename to testing-modules/junit-5-basics/src/main/java/com/baeldung/junit5/bean/NumbersBean.java diff --git a/testing-libraries/junit-5-basics/src/main/resources/jdbc/schema.sql b/testing-modules/junit-5-basics/src/main/resources/jdbc/schema.sql similarity index 100% rename from testing-libraries/junit-5-basics/src/main/resources/jdbc/schema.sql rename to testing-modules/junit-5-basics/src/main/resources/jdbc/schema.sql diff --git a/testing-libraries/junit-5-basics/src/main/resources/jdbc/springJdbc-config.xml b/testing-modules/junit-5-basics/src/main/resources/jdbc/springJdbc-config.xml similarity index 100% rename from testing-libraries/junit-5-basics/src/main/resources/jdbc/springJdbc-config.xml rename to testing-modules/junit-5-basics/src/main/resources/jdbc/springJdbc-config.xml diff --git a/testing-libraries/junit-5-basics/src/main/resources/jdbc/test-data.sql b/testing-modules/junit-5-basics/src/main/resources/jdbc/test-data.sql similarity index 100% rename from testing-libraries/junit-5-basics/src/main/resources/jdbc/test-data.sql rename to testing-modules/junit-5-basics/src/main/resources/jdbc/test-data.sql diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/ExceptionUnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/ExceptionUnitTest.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/ExceptionUnitTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/ExceptionUnitTest.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/FirstUnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/FirstUnitTest.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/FirstUnitTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/FirstUnitTest.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/GreetingsUnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/GreetingsUnitTest.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/GreetingsUnitTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/GreetingsUnitTest.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/JUnit5NewFeaturesUnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/JUnit5NewFeaturesUnitTest.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/JUnit5NewFeaturesUnitTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/JUnit5NewFeaturesUnitTest.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/LiveTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/LiveTest.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/LiveTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/LiveTest.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/categories/EmployeeDAOCategoryIntegrationTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/categories/EmployeeDAOCategoryIntegrationTest.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/categories/EmployeeDAOCategoryIntegrationTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/categories/EmployeeDAOCategoryIntegrationTest.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/categories/EmployeeDAOUnitTestSuite.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/categories/EmployeeDAOUnitTestSuite.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/categories/EmployeeDAOUnitTestSuite.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/categories/EmployeeDAOUnitTestSuite.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/categories/IntegrationTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/categories/IntegrationTest.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/categories/IntegrationTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/categories/IntegrationTest.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/categories/UnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/categories/UnitTest.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/categories/UnitTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/categories/UnitTest.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/example/EmployeeDAOIntegrationTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/example/EmployeeDAOIntegrationTest.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/example/EmployeeDAOIntegrationTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/example/EmployeeDAOIntegrationTest.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/example/EmployeeUnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/example/EmployeeUnitTest.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/example/EmployeeUnitTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/example/EmployeeUnitTest.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/exception/ExceptionAssertionUnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/exception/ExceptionAssertionUnitTest.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/exception/ExceptionAssertionUnitTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/exception/ExceptionAssertionUnitTest.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/extensions/tempdir/SharedTemporaryDirectoryUnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/extensions/tempdir/SharedTemporaryDirectoryUnitTest.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/extensions/tempdir/SharedTemporaryDirectoryUnitTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/extensions/tempdir/SharedTemporaryDirectoryUnitTest.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/extensions/tempdir/TemporaryDirectoryUnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/extensions/tempdir/TemporaryDirectoryUnitTest.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/extensions/tempdir/TemporaryDirectoryUnitTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/extensions/tempdir/TemporaryDirectoryUnitTest.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/failure_vs_error/SimpleCalculatorUnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/failure_vs_error/SimpleCalculatorUnitTest.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/failure_vs_error/SimpleCalculatorUnitTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/failure_vs_error/SimpleCalculatorUnitTest.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/junit5/bean/test/NumbersBeanUnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/junit5/bean/test/NumbersBeanUnitTest.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/junit5/bean/test/NumbersBeanUnitTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/junit5/bean/test/NumbersBeanUnitTest.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/junit5/spring/GreetingsSpringUnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/junit5/spring/GreetingsSpringUnitTest.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/junit5/spring/GreetingsSpringUnitTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/junit5/spring/GreetingsSpringUnitTest.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/junit5/spring/SpringTestConfiguration.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/junit5/spring/SpringTestConfiguration.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/junit5/spring/SpringTestConfiguration.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/junit5/spring/SpringTestConfiguration.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/AnnotationTestExampleUnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/AnnotationTestExampleUnitTest.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/AnnotationTestExampleUnitTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/AnnotationTestExampleUnitTest.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/AssertionsExampleUnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/AssertionsExampleUnitTest.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/AssertionsExampleUnitTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/AssertionsExampleUnitTest.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/BeforeAndAfterAnnotationsUnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/BeforeAndAfterAnnotationsUnitTest.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/BeforeAndAfterAnnotationsUnitTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/BeforeAndAfterAnnotationsUnitTest.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/BeforeClassAndAfterClassAnnotationsUnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/BeforeClassAndAfterClassAnnotationsUnitTest.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/BeforeClassAndAfterClassAnnotationsUnitTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/BeforeClassAndAfterClassAnnotationsUnitTest.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/ExceptionAssertionUnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/ExceptionAssertionUnitTest.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/ExceptionAssertionUnitTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/ExceptionAssertionUnitTest.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/RuleExampleUnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/RuleExampleUnitTest.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/RuleExampleUnitTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/RuleExampleUnitTest.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/categories/Annotations.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/categories/Annotations.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/categories/Annotations.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/categories/Annotations.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/categories/JUnit4UnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/categories/JUnit4UnitTest.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/categories/JUnit4UnitTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/categories/JUnit4UnitTest.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/rules/TraceUnitTestRule.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/rules/TraceUnitTestRule.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit4/rules/TraceUnitTestRule.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit4/rules/TraceUnitTestRule.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AnnotationTestExampleUnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AnnotationTestExampleUnitTest.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AnnotationTestExampleUnitTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AnnotationTestExampleUnitTest.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AssertionsExampleUnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AssertionsExampleUnitTest.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AssertionsExampleUnitTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AssertionsExampleUnitTest.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AssumptionUnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AssumptionUnitTest.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AssumptionUnitTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit5/AssumptionUnitTest.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit5/BeforeAllAndAfterAllAnnotationsUnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit5/BeforeAllAndAfterAllAnnotationsUnitTest.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit5/BeforeAllAndAfterAllAnnotationsUnitTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit5/BeforeAllAndAfterAllAnnotationsUnitTest.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit5/BeforeEachAndAfterEachAnnotationsUnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit5/BeforeEachAndAfterEachAnnotationsUnitTest.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit5/BeforeEachAndAfterEachAnnotationsUnitTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit5/BeforeEachAndAfterEachAnnotationsUnitTest.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit5/RuleExampleUnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit5/RuleExampleUnitTest.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit5/RuleExampleUnitTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit5/RuleExampleUnitTest.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit5/extensions/TraceUnitExtension.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit5/extensions/TraceUnitExtension.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/migration/junit5/extensions/TraceUnitExtension.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/migration/junit5/extensions/TraceUnitExtension.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/resourcedirectory/ReadResourceDirectoryUnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/resourcedirectory/ReadResourceDirectoryUnitTest.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/resourcedirectory/ReadResourceDirectoryUnitTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/resourcedirectory/ReadResourceDirectoryUnitTest.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/suites/AllUnitTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/suites/AllUnitTest.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/suites/AllUnitTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/suites/AllUnitTest.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/tags/EmployeeDAOIntegrationTest.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/tags/EmployeeDAOIntegrationTest.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/tags/EmployeeDAOIntegrationTest.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/tags/EmployeeDAOIntegrationTest.java diff --git a/testing-libraries/junit-5-basics/src/test/java/com/baeldung/tags/EmployeeDAOTestSuite.java b/testing-modules/junit-5-basics/src/test/java/com/baeldung/tags/EmployeeDAOTestSuite.java similarity index 100% rename from testing-libraries/junit-5-basics/src/test/java/com/baeldung/tags/EmployeeDAOTestSuite.java rename to testing-modules/junit-5-basics/src/test/java/com/baeldung/tags/EmployeeDAOTestSuite.java diff --git a/testing-libraries/junit-5-basics/src/test/resources/example_resource.txt b/testing-modules/junit-5-basics/src/test/resources/example_resource.txt similarity index 100% rename from testing-libraries/junit-5-basics/src/test/resources/example_resource.txt rename to testing-modules/junit-5-basics/src/test/resources/example_resource.txt diff --git a/testing-libraries/junit-5/README.md b/testing-modules/junit-5/README.md similarity index 100% rename from testing-libraries/junit-5/README.md rename to testing-modules/junit-5/README.md diff --git a/testing-libraries/junit-5/pom.xml b/testing-modules/junit-5/pom.xml similarity index 100% rename from testing-libraries/junit-5/pom.xml rename to testing-modules/junit-5/pom.xml diff --git a/testing-libraries/junit-5/src/main/java/com/baeldung/abstractclass/abstractmethod/AbstractMethodCalling.java b/testing-modules/junit-5/src/main/java/com/baeldung/abstractclass/abstractmethod/AbstractMethodCalling.java similarity index 100% rename from testing-libraries/junit-5/src/main/java/com/baeldung/abstractclass/abstractmethod/AbstractMethodCalling.java rename to testing-modules/junit-5/src/main/java/com/baeldung/abstractclass/abstractmethod/AbstractMethodCalling.java diff --git a/testing-libraries/junit-5/src/main/java/com/baeldung/abstractclass/indepedentmethod/AbstractIndependent.java b/testing-modules/junit-5/src/main/java/com/baeldung/abstractclass/indepedentmethod/AbstractIndependent.java similarity index 100% rename from testing-libraries/junit-5/src/main/java/com/baeldung/abstractclass/indepedentmethod/AbstractIndependent.java rename to testing-modules/junit-5/src/main/java/com/baeldung/abstractclass/indepedentmethod/AbstractIndependent.java diff --git a/testing-libraries/junit-5/src/main/java/com/baeldung/abstractclass/indepedentmethod/ConcreteImpl.java b/testing-modules/junit-5/src/main/java/com/baeldung/abstractclass/indepedentmethod/ConcreteImpl.java similarity index 100% rename from testing-libraries/junit-5/src/main/java/com/baeldung/abstractclass/indepedentmethod/ConcreteImpl.java rename to testing-modules/junit-5/src/main/java/com/baeldung/abstractclass/indepedentmethod/ConcreteImpl.java diff --git a/testing-libraries/junit-5/src/main/java/com/baeldung/abstractclass/instancefields/AbstractInstanceFields.java b/testing-modules/junit-5/src/main/java/com/baeldung/abstractclass/instancefields/AbstractInstanceFields.java similarity index 100% rename from testing-libraries/junit-5/src/main/java/com/baeldung/abstractclass/instancefields/AbstractInstanceFields.java rename to testing-modules/junit-5/src/main/java/com/baeldung/abstractclass/instancefields/AbstractInstanceFields.java diff --git a/testing-libraries/junit-5/src/main/java/com/baeldung/abstractclass/privatemethod/AbstractPrivateMethods.java b/testing-modules/junit-5/src/main/java/com/baeldung/abstractclass/privatemethod/AbstractPrivateMethods.java similarity index 100% rename from testing-libraries/junit-5/src/main/java/com/baeldung/abstractclass/privatemethod/AbstractPrivateMethods.java rename to testing-modules/junit-5/src/main/java/com/baeldung/abstractclass/privatemethod/AbstractPrivateMethods.java diff --git a/testing-libraries/junit-5/src/main/java/com/baeldung/junit5/mockito/User.java b/testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/User.java similarity index 100% rename from testing-libraries/junit-5/src/main/java/com/baeldung/junit5/mockito/User.java rename to testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/User.java diff --git a/testing-libraries/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/MailClient.java b/testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/MailClient.java similarity index 100% rename from testing-libraries/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/MailClient.java rename to testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/MailClient.java diff --git a/testing-libraries/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/SettingRepository.java b/testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/SettingRepository.java similarity index 100% rename from testing-libraries/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/SettingRepository.java rename to testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/SettingRepository.java diff --git a/testing-libraries/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/UserRepository.java b/testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/UserRepository.java similarity index 100% rename from testing-libraries/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/UserRepository.java rename to testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/repository/UserRepository.java diff --git a/testing-libraries/junit-5/src/main/java/com/baeldung/junit5/mockito/service/DefaultUserService.java b/testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/service/DefaultUserService.java similarity index 100% rename from testing-libraries/junit-5/src/main/java/com/baeldung/junit5/mockito/service/DefaultUserService.java rename to testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/service/DefaultUserService.java diff --git a/testing-libraries/junit-5/src/main/java/com/baeldung/junit5/mockito/service/Errors.java b/testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/service/Errors.java similarity index 100% rename from testing-libraries/junit-5/src/main/java/com/baeldung/junit5/mockito/service/Errors.java rename to testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/service/Errors.java diff --git a/testing-libraries/junit-5/src/main/java/com/baeldung/junit5/mockito/service/UserService.java b/testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/service/UserService.java similarity index 100% rename from testing-libraries/junit-5/src/main/java/com/baeldung/junit5/mockito/service/UserService.java rename to testing-modules/junit-5/src/main/java/com/baeldung/junit5/mockito/service/UserService.java diff --git a/testing-libraries/junit-5/src/main/java/com/baeldung/junit5vstestng/Calculator.java b/testing-modules/junit-5/src/main/java/com/baeldung/junit5vstestng/Calculator.java similarity index 100% rename from testing-libraries/junit-5/src/main/java/com/baeldung/junit5vstestng/Calculator.java rename to testing-modules/junit-5/src/main/java/com/baeldung/junit5vstestng/Calculator.java diff --git a/testing-libraries/junit-5/src/main/java/com/baeldung/junit5vstestng/DivideByZeroException.java b/testing-modules/junit-5/src/main/java/com/baeldung/junit5vstestng/DivideByZeroException.java similarity index 100% rename from testing-libraries/junit-5/src/main/java/com/baeldung/junit5vstestng/DivideByZeroException.java rename to testing-modules/junit-5/src/main/java/com/baeldung/junit5vstestng/DivideByZeroException.java diff --git a/testing-libraries/junit-5/src/main/resources/logback.xml b/testing-modules/junit-5/src/main/resources/logback.xml similarity index 100% rename from testing-libraries/junit-5/src/main/resources/logback.xml rename to testing-modules/junit-5/src/main/resources/logback.xml diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/AssertionUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/AssertionUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/AssertionUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/AssertionUnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/DynamicTestsExample.java b/testing-modules/junit-5/src/test/java/com/baeldung/DynamicTestsExample.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/DynamicTestsExample.java rename to testing-modules/junit-5/src/test/java/com/baeldung/DynamicTestsExample.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/EmployeesUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/EmployeesUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/EmployeesUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/EmployeesUnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/MultipleExtensionsUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/MultipleExtensionsUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/MultipleExtensionsUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/MultipleExtensionsUnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/NestedUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/NestedUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/NestedUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/NestedUnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/ProgrammaticEmployeesUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/ProgrammaticEmployeesUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/ProgrammaticEmployeesUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/ProgrammaticEmployeesUnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/RegisterExtensionUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/RegisterExtensionUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/RegisterExtensionUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/RegisterExtensionUnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/RepeatedTestExample.java b/testing-modules/junit-5/src/test/java/com/baeldung/RepeatedTestExample.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/RepeatedTestExample.java rename to testing-modules/junit-5/src/test/java/com/baeldung/RepeatedTestExample.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/StringUtils.java b/testing-modules/junit-5/src/test/java/com/baeldung/StringUtils.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/StringUtils.java rename to testing-modules/junit-5/src/test/java/com/baeldung/StringUtils.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/TaggedUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/TaggedUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/TaggedUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/TaggedUnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/TestLauncher.java b/testing-modules/junit-5/src/test/java/com/baeldung/TestLauncher.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/TestLauncher.java rename to testing-modules/junit-5/src/test/java/com/baeldung/TestLauncher.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/abstractclass/abstractmethod/AbstractMethodCallingUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/abstractclass/abstractmethod/AbstractMethodCallingUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/abstractclass/abstractmethod/AbstractMethodCallingUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/abstractclass/abstractmethod/AbstractMethodCallingUnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/abstractclass/indepedentmethod/AbstractIndependentUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/abstractclass/indepedentmethod/AbstractIndependentUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/abstractclass/indepedentmethod/AbstractIndependentUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/abstractclass/indepedentmethod/AbstractIndependentUnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/abstractclass/instancefields/AbstractInstanceFieldsUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/abstractclass/instancefields/AbstractInstanceFieldsUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/abstractclass/instancefields/AbstractInstanceFieldsUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/abstractclass/instancefields/AbstractInstanceFieldsUnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/abstractclass/privatemethod/AbstractPrivateMethodsUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/abstractclass/privatemethod/AbstractPrivateMethodsUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/abstractclass/privatemethod/AbstractPrivateMethodsUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/abstractclass/privatemethod/AbstractPrivateMethodsUnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/conditional/ConditionalAnnotationsUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/conditional/ConditionalAnnotationsUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/conditional/ConditionalAnnotationsUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/conditional/ConditionalAnnotationsUnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/extensions/EmployeeDaoParameterResolver.java b/testing-modules/junit-5/src/test/java/com/baeldung/extensions/EmployeeDaoParameterResolver.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/extensions/EmployeeDaoParameterResolver.java rename to testing-modules/junit-5/src/test/java/com/baeldung/extensions/EmployeeDaoParameterResolver.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/extensions/EmployeeDatabaseSetupExtension.java b/testing-modules/junit-5/src/test/java/com/baeldung/extensions/EmployeeDatabaseSetupExtension.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/extensions/EmployeeDatabaseSetupExtension.java rename to testing-modules/junit-5/src/test/java/com/baeldung/extensions/EmployeeDatabaseSetupExtension.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/extensions/EnvironmentExtension.java b/testing-modules/junit-5/src/test/java/com/baeldung/extensions/EnvironmentExtension.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/extensions/EnvironmentExtension.java rename to testing-modules/junit-5/src/test/java/com/baeldung/extensions/EnvironmentExtension.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/extensions/IgnoreFileNotFoundExceptionExtension.java b/testing-modules/junit-5/src/test/java/com/baeldung/extensions/IgnoreFileNotFoundExceptionExtension.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/extensions/IgnoreFileNotFoundExceptionExtension.java rename to testing-modules/junit-5/src/test/java/com/baeldung/extensions/IgnoreFileNotFoundExceptionExtension.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/extensions/LoggingExtension.java b/testing-modules/junit-5/src/test/java/com/baeldung/extensions/LoggingExtension.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/extensions/LoggingExtension.java rename to testing-modules/junit-5/src/test/java/com/baeldung/extensions/LoggingExtension.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/extensions/RegisterExtensionSampleExtension.java b/testing-modules/junit-5/src/test/java/com/baeldung/extensions/RegisterExtensionSampleExtension.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/extensions/RegisterExtensionSampleExtension.java rename to testing-modules/junit-5/src/test/java/com/baeldung/extensions/RegisterExtensionSampleExtension.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/helpers/Employee.java b/testing-modules/junit-5/src/test/java/com/baeldung/helpers/Employee.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/helpers/Employee.java rename to testing-modules/junit-5/src/test/java/com/baeldung/helpers/Employee.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/helpers/EmployeeDao.java b/testing-modules/junit-5/src/test/java/com/baeldung/helpers/EmployeeDao.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/helpers/EmployeeDao.java rename to testing-modules/junit-5/src/test/java/com/baeldung/helpers/EmployeeDao.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/helpers/EmployeeJdbcDao.java b/testing-modules/junit-5/src/test/java/com/baeldung/helpers/EmployeeJdbcDao.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/helpers/EmployeeJdbcDao.java rename to testing-modules/junit-5/src/test/java/com/baeldung/helpers/EmployeeJdbcDao.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/helpers/JdbcConnectionUtil.java b/testing-modules/junit-5/src/test/java/com/baeldung/helpers/JdbcConnectionUtil.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/helpers/JdbcConnectionUtil.java rename to testing-modules/junit-5/src/test/java/com/baeldung/helpers/JdbcConnectionUtil.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/junit4vstestng/SortedUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/junit4vstestng/SortedUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/junit4vstestng/SortedUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/junit4vstestng/SortedUnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/junit4vstestng/SummationServiceIntegrationTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/junit4vstestng/SummationServiceIntegrationTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/junit4vstestng/SummationServiceIntegrationTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/junit4vstestng/SummationServiceIntegrationTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/junit5/mockito/UserServiceUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/junit5/mockito/UserServiceUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/junit5/mockito/UserServiceUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/junit5/mockito/UserServiceUnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/junit5/order/AlphanumericOrderUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/AlphanumericOrderUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/junit5/order/AlphanumericOrderUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/AlphanumericOrderUnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/junit5/order/CustomOrder.java b/testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/CustomOrder.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/junit5/order/CustomOrder.java rename to testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/CustomOrder.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/junit5/order/CustomOrderUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/CustomOrderUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/junit5/order/CustomOrderUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/CustomOrderUnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/junit5/order/OrderAnnotationUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/OrderAnnotationUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/junit5/order/OrderAnnotationUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/junit5/order/OrderAnnotationUnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/CalculatorUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/CalculatorUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/CalculatorUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/CalculatorUnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/Class1UnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/Class1UnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/Class1UnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/Class1UnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/Class2UnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/Class2UnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/Class2UnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/Class2UnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/CustomNameUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/CustomNameUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/CustomNameUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/CustomNameUnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/ParameterizedUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/ParameterizedUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/ParameterizedUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/ParameterizedUnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/PizzaDeliveryStrategy.java b/testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/PizzaDeliveryStrategy.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/PizzaDeliveryStrategy.java rename to testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/PizzaDeliveryStrategy.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/SelectClassesSuiteUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/SelectClassesSuiteUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/SelectClassesSuiteUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/SelectClassesSuiteUnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/SelectPackagesSuiteUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/SelectPackagesSuiteUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/SelectPackagesSuiteUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/SelectPackagesSuiteUnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/SummationServiceUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/SummationServiceUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/junit5vstestng/SummationServiceUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/junit5vstestng/SummationServiceUnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/methodorders/DefaultOrderOfExecutionUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/methodorders/DefaultOrderOfExecutionUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/methodorders/DefaultOrderOfExecutionUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/methodorders/DefaultOrderOfExecutionUnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/methodorders/JVMOrderOfExecutionUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/methodorders/JVMOrderOfExecutionUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/methodorders/JVMOrderOfExecutionUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/methodorders/JVMOrderOfExecutionUnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/methodorders/NameAscendingOrderOfExecutionUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/methodorders/NameAscendingOrderOfExecutionUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/methodorders/NameAscendingOrderOfExecutionUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/methodorders/NameAscendingOrderOfExecutionUnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/param/InvalidPersonParameterResolver.java b/testing-modules/junit-5/src/test/java/com/baeldung/param/InvalidPersonParameterResolver.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/param/InvalidPersonParameterResolver.java rename to testing-modules/junit-5/src/test/java/com/baeldung/param/InvalidPersonParameterResolver.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/param/Person.java b/testing-modules/junit-5/src/test/java/com/baeldung/param/Person.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/param/Person.java rename to testing-modules/junit-5/src/test/java/com/baeldung/param/Person.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/param/PersonValidator.java b/testing-modules/junit-5/src/test/java/com/baeldung/param/PersonValidator.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/param/PersonValidator.java rename to testing-modules/junit-5/src/test/java/com/baeldung/param/PersonValidator.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/param/PersonValidatorUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/param/PersonValidatorUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/param/PersonValidatorUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/param/PersonValidatorUnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/param/ValidPersonParameterResolver.java b/testing-modules/junit-5/src/test/java/com/baeldung/param/ValidPersonParameterResolver.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/param/ValidPersonParameterResolver.java rename to testing-modules/junit-5/src/test/java/com/baeldung/param/ValidPersonParameterResolver.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/BlankStringsArgumentsProvider.java b/testing-modules/junit-5/src/test/java/com/baeldung/parameterized/BlankStringsArgumentsProvider.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/BlankStringsArgumentsProvider.java rename to testing-modules/junit-5/src/test/java/com/baeldung/parameterized/BlankStringsArgumentsProvider.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/EnumsUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/parameterized/EnumsUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/EnumsUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/parameterized/EnumsUnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/LocalDateUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/parameterized/LocalDateUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/LocalDateUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/parameterized/LocalDateUnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/Numbers.java b/testing-modules/junit-5/src/test/java/com/baeldung/parameterized/Numbers.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/Numbers.java rename to testing-modules/junit-5/src/test/java/com/baeldung/parameterized/Numbers.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/NumbersUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/parameterized/NumbersUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/NumbersUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/parameterized/NumbersUnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/Person.java b/testing-modules/junit-5/src/test/java/com/baeldung/parameterized/Person.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/Person.java rename to testing-modules/junit-5/src/test/java/com/baeldung/parameterized/Person.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/PersonAggregator.java b/testing-modules/junit-5/src/test/java/com/baeldung/parameterized/PersonAggregator.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/PersonAggregator.java rename to testing-modules/junit-5/src/test/java/com/baeldung/parameterized/PersonAggregator.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/PersonUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/parameterized/PersonUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/PersonUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/parameterized/PersonUnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/SlashyDateConverter.java b/testing-modules/junit-5/src/test/java/com/baeldung/parameterized/SlashyDateConverter.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/SlashyDateConverter.java rename to testing-modules/junit-5/src/test/java/com/baeldung/parameterized/SlashyDateConverter.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/StringParams.java b/testing-modules/junit-5/src/test/java/com/baeldung/parameterized/StringParams.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/StringParams.java rename to testing-modules/junit-5/src/test/java/com/baeldung/parameterized/StringParams.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/Strings.java b/testing-modules/junit-5/src/test/java/com/baeldung/parameterized/Strings.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/Strings.java rename to testing-modules/junit-5/src/test/java/com/baeldung/parameterized/Strings.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/StringsUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/parameterized/StringsUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/StringsUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/parameterized/StringsUnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/VariableArgumentsProvider.java b/testing-modules/junit-5/src/test/java/com/baeldung/parameterized/VariableArgumentsProvider.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/VariableArgumentsProvider.java rename to testing-modules/junit-5/src/test/java/com/baeldung/parameterized/VariableArgumentsProvider.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/VariableSource.java b/testing-modules/junit-5/src/test/java/com/baeldung/parameterized/VariableSource.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/parameterized/VariableSource.java rename to testing-modules/junit-5/src/test/java/com/baeldung/parameterized/VariableSource.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/runfromjava/FirstUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/runfromjava/FirstUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/runfromjava/FirstUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/runfromjava/FirstUnitTest.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/runfromjava/RunJUnit5TestsFromJava.java b/testing-modules/junit-5/src/test/java/com/baeldung/runfromjava/RunJUnit5TestsFromJava.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/runfromjava/RunJUnit5TestsFromJava.java rename to testing-modules/junit-5/src/test/java/com/baeldung/runfromjava/RunJUnit5TestsFromJava.java diff --git a/testing-libraries/junit-5/src/test/java/com/baeldung/runfromjava/SecondUnitTest.java b/testing-modules/junit-5/src/test/java/com/baeldung/runfromjava/SecondUnitTest.java similarity index 100% rename from testing-libraries/junit-5/src/test/java/com/baeldung/runfromjava/SecondUnitTest.java rename to testing-modules/junit-5/src/test/java/com/baeldung/runfromjava/SecondUnitTest.java diff --git a/testing-libraries/junit-5/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension b/testing-modules/junit-5/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension similarity index 100% rename from testing-libraries/junit-5/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension rename to testing-modules/junit-5/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension diff --git a/testing-libraries/junit-5/src/test/resources/com/baeldung/extensions/application.properties b/testing-modules/junit-5/src/test/resources/com/baeldung/extensions/application.properties similarity index 100% rename from testing-libraries/junit-5/src/test/resources/com/baeldung/extensions/application.properties rename to testing-modules/junit-5/src/test/resources/com/baeldung/extensions/application.properties diff --git a/testing-libraries/junit-5/src/test/resources/com/baeldung/helpers/jdbc.properties b/testing-modules/junit-5/src/test/resources/com/baeldung/helpers/jdbc.properties similarity index 100% rename from testing-libraries/junit-5/src/test/resources/com/baeldung/helpers/jdbc.properties rename to testing-modules/junit-5/src/test/resources/com/baeldung/helpers/jdbc.properties diff --git a/testing-libraries/junit-5/src/test/resources/data.csv b/testing-modules/junit-5/src/test/resources/data.csv similarity index 100% rename from testing-libraries/junit-5/src/test/resources/data.csv rename to testing-modules/junit-5/src/test/resources/data.csv diff --git a/testing-libraries/junit5-migration/README.md b/testing-modules/junit5-migration/README.md similarity index 100% rename from testing-libraries/junit5-migration/README.md rename to testing-modules/junit5-migration/README.md diff --git a/testing-libraries/junit5-migration/pom.xml b/testing-modules/junit5-migration/pom.xml similarity index 100% rename from testing-libraries/junit5-migration/pom.xml rename to testing-modules/junit5-migration/pom.xml diff --git a/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/AnnotationTestExampleUnitTest.java b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/AnnotationTestExampleUnitTest.java similarity index 100% rename from testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/AnnotationTestExampleUnitTest.java rename to testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/AnnotationTestExampleUnitTest.java diff --git a/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/AssertionUnitTest.java b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/AssertionUnitTest.java similarity index 100% rename from testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/AssertionUnitTest.java rename to testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/AssertionUnitTest.java diff --git a/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/AssumeUnitTest.java b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/AssumeUnitTest.java similarity index 100% rename from testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/AssumeUnitTest.java rename to testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/AssumeUnitTest.java diff --git a/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/ExceptionAssertionUnitTest.java b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/ExceptionAssertionUnitTest.java similarity index 100% rename from testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/ExceptionAssertionUnitTest.java rename to testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/ExceptionAssertionUnitTest.java diff --git a/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/RuleExampleUnitTest.java b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/RuleExampleUnitTest.java similarity index 100% rename from testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/RuleExampleUnitTest.java rename to testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/RuleExampleUnitTest.java diff --git a/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/TestAnnotationsUnitTest.java b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/TestAnnotationsUnitTest.java similarity index 100% rename from testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/TestAnnotationsUnitTest.java rename to testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/TestAnnotationsUnitTest.java diff --git a/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/TraceUnitTestRule.java b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/TraceUnitTestRule.java similarity index 100% rename from testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/TraceUnitTestRule.java rename to testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/TraceUnitTestRule.java diff --git a/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/categories/Annotations.java b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/categories/Annotations.java similarity index 100% rename from testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/categories/Annotations.java rename to testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/categories/Annotations.java diff --git a/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/categories/JUnit4UnitTest.java b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/categories/JUnit4UnitTest.java similarity index 100% rename from testing-libraries/junit5-migration/src/test/java/com/baeldung/junit4/categories/JUnit4UnitTest.java rename to testing-modules/junit5-migration/src/test/java/com/baeldung/junit4/categories/JUnit4UnitTest.java diff --git a/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/AnnotationTestExampleUnitTest.java b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/AnnotationTestExampleUnitTest.java similarity index 100% rename from testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/AnnotationTestExampleUnitTest.java rename to testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/AnnotationTestExampleUnitTest.java diff --git a/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/AssertionUnitTest.java b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/AssertionUnitTest.java similarity index 100% rename from testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/AssertionUnitTest.java rename to testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/AssertionUnitTest.java diff --git a/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/AssumptionUnitTest.java b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/AssumptionUnitTest.java similarity index 100% rename from testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/AssumptionUnitTest.java rename to testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/AssumptionUnitTest.java diff --git a/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/ConditionalExecutionUnitTest.java b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/ConditionalExecutionUnitTest.java similarity index 100% rename from testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/ConditionalExecutionUnitTest.java rename to testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/ConditionalExecutionUnitTest.java diff --git a/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/NestedUnitTest.java b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/NestedUnitTest.java similarity index 100% rename from testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/NestedUnitTest.java rename to testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/NestedUnitTest.java diff --git a/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/RuleExampleUnitTest.java b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/RuleExampleUnitTest.java similarity index 100% rename from testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/RuleExampleUnitTest.java rename to testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/RuleExampleUnitTest.java diff --git a/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/RuleMigrationSupportUnitTest.java b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/RuleMigrationSupportUnitTest.java similarity index 100% rename from testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/RuleMigrationSupportUnitTest.java rename to testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/RuleMigrationSupportUnitTest.java diff --git a/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/TestAnnotationsUnitTest.java b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/TestAnnotationsUnitTest.java similarity index 100% rename from testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/TestAnnotationsUnitTest.java rename to testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/TestAnnotationsUnitTest.java diff --git a/testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/TraceUnitExtension.java b/testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/TraceUnitExtension.java similarity index 100% rename from testing-libraries/junit5-migration/src/test/java/com/baeldung/junit5/TraceUnitExtension.java rename to testing-modules/junit5-migration/src/test/java/com/baeldung/junit5/TraceUnitExtension.java diff --git a/testing-libraries/load-testing-comparison/README.md b/testing-modules/load-testing-comparison/README.md similarity index 100% rename from testing-libraries/load-testing-comparison/README.md rename to testing-modules/load-testing-comparison/README.md diff --git a/testing-libraries/load-testing-comparison/pom.xml b/testing-modules/load-testing-comparison/pom.xml similarity index 100% rename from testing-libraries/load-testing-comparison/pom.xml rename to testing-modules/load-testing-comparison/pom.xml diff --git a/testing-libraries/load-testing-comparison/src/main/java/com/baeldung/loadtesting/Application.java b/testing-modules/load-testing-comparison/src/main/java/com/baeldung/loadtesting/Application.java similarity index 100% rename from testing-libraries/load-testing-comparison/src/main/java/com/baeldung/loadtesting/Application.java rename to testing-modules/load-testing-comparison/src/main/java/com/baeldung/loadtesting/Application.java diff --git a/testing-libraries/load-testing-comparison/src/main/java/com/baeldung/loadtesting/RewardsController.java b/testing-modules/load-testing-comparison/src/main/java/com/baeldung/loadtesting/RewardsController.java similarity index 100% rename from testing-libraries/load-testing-comparison/src/main/java/com/baeldung/loadtesting/RewardsController.java rename to testing-modules/load-testing-comparison/src/main/java/com/baeldung/loadtesting/RewardsController.java diff --git a/testing-libraries/load-testing-comparison/src/main/java/com/baeldung/loadtesting/TransactionController.java b/testing-modules/load-testing-comparison/src/main/java/com/baeldung/loadtesting/TransactionController.java similarity index 100% rename from testing-libraries/load-testing-comparison/src/main/java/com/baeldung/loadtesting/TransactionController.java rename to testing-modules/load-testing-comparison/src/main/java/com/baeldung/loadtesting/TransactionController.java diff --git a/testing-libraries/load-testing-comparison/src/main/java/com/baeldung/loadtesting/model/CustomerRewardsAccount.java b/testing-modules/load-testing-comparison/src/main/java/com/baeldung/loadtesting/model/CustomerRewardsAccount.java similarity index 100% rename from testing-libraries/load-testing-comparison/src/main/java/com/baeldung/loadtesting/model/CustomerRewardsAccount.java rename to testing-modules/load-testing-comparison/src/main/java/com/baeldung/loadtesting/model/CustomerRewardsAccount.java diff --git a/testing-libraries/load-testing-comparison/src/main/java/com/baeldung/loadtesting/model/Transaction.java b/testing-modules/load-testing-comparison/src/main/java/com/baeldung/loadtesting/model/Transaction.java similarity index 100% rename from testing-libraries/load-testing-comparison/src/main/java/com/baeldung/loadtesting/model/Transaction.java rename to testing-modules/load-testing-comparison/src/main/java/com/baeldung/loadtesting/model/Transaction.java diff --git a/testing-libraries/load-testing-comparison/src/main/java/com/baeldung/loadtesting/repository/CustomerRewardsRepository.java b/testing-modules/load-testing-comparison/src/main/java/com/baeldung/loadtesting/repository/CustomerRewardsRepository.java similarity index 100% rename from testing-libraries/load-testing-comparison/src/main/java/com/baeldung/loadtesting/repository/CustomerRewardsRepository.java rename to testing-modules/load-testing-comparison/src/main/java/com/baeldung/loadtesting/repository/CustomerRewardsRepository.java diff --git a/testing-libraries/load-testing-comparison/src/main/java/com/baeldung/loadtesting/repository/TransactionRepository.java b/testing-modules/load-testing-comparison/src/main/java/com/baeldung/loadtesting/repository/TransactionRepository.java similarity index 100% rename from testing-libraries/load-testing-comparison/src/main/java/com/baeldung/loadtesting/repository/TransactionRepository.java rename to testing-modules/load-testing-comparison/src/main/java/com/baeldung/loadtesting/repository/TransactionRepository.java diff --git a/testing-libraries/load-testing-comparison/src/main/resources/scripts/Gatling/GatlingScenario.scala b/testing-modules/load-testing-comparison/src/main/resources/scripts/Gatling/GatlingScenario.scala similarity index 100% rename from testing-libraries/load-testing-comparison/src/main/resources/scripts/Gatling/GatlingScenario.scala rename to testing-modules/load-testing-comparison/src/main/resources/scripts/Gatling/GatlingScenario.scala diff --git a/testing-libraries/load-testing-comparison/src/main/resources/scripts/JMeter/Test Plan.jmx b/testing-modules/load-testing-comparison/src/main/resources/scripts/JMeter/Test Plan.jmx similarity index 100% rename from testing-libraries/load-testing-comparison/src/main/resources/scripts/JMeter/Test Plan.jmx rename to testing-modules/load-testing-comparison/src/main/resources/scripts/JMeter/Test Plan.jmx diff --git a/testing-libraries/load-testing-comparison/src/main/resources/scripts/The Grinder/grinder.properties b/testing-modules/load-testing-comparison/src/main/resources/scripts/The Grinder/grinder.properties similarity index 100% rename from testing-libraries/load-testing-comparison/src/main/resources/scripts/The Grinder/grinder.properties rename to testing-modules/load-testing-comparison/src/main/resources/scripts/The Grinder/grinder.properties diff --git a/testing-libraries/load-testing-comparison/src/main/resources/scripts/The Grinder/grinder.py b/testing-modules/load-testing-comparison/src/main/resources/scripts/The Grinder/grinder.py similarity index 100% rename from testing-libraries/load-testing-comparison/src/main/resources/scripts/The Grinder/grinder.py rename to testing-modules/load-testing-comparison/src/main/resources/scripts/The Grinder/grinder.py diff --git a/testing-libraries/mockito-2/.gitignore b/testing-modules/mockito-2/.gitignore similarity index 100% rename from testing-libraries/mockito-2/.gitignore rename to testing-modules/mockito-2/.gitignore diff --git a/testing-libraries/mockito-2/README.md b/testing-modules/mockito-2/README.md similarity index 100% rename from testing-libraries/mockito-2/README.md rename to testing-modules/mockito-2/README.md diff --git a/testing-libraries/mockito-2/pom.xml b/testing-modules/mockito-2/pom.xml similarity index 100% rename from testing-libraries/mockito-2/pom.xml rename to testing-modules/mockito-2/pom.xml diff --git a/testing-libraries/mockito-2/src/main/java/com/baeldung/mockito/java8/JobPosition.java b/testing-modules/mockito-2/src/main/java/com/baeldung/mockito/java8/JobPosition.java similarity index 100% rename from testing-libraries/mockito-2/src/main/java/com/baeldung/mockito/java8/JobPosition.java rename to testing-modules/mockito-2/src/main/java/com/baeldung/mockito/java8/JobPosition.java diff --git a/testing-libraries/mockito-2/src/main/java/com/baeldung/mockito/java8/JobService.java b/testing-modules/mockito-2/src/main/java/com/baeldung/mockito/java8/JobService.java similarity index 100% rename from testing-libraries/mockito-2/src/main/java/com/baeldung/mockito/java8/JobService.java rename to testing-modules/mockito-2/src/main/java/com/baeldung/mockito/java8/JobService.java diff --git a/testing-libraries/mockito-2/src/main/java/com/baeldung/mockito/java8/Person.java b/testing-modules/mockito-2/src/main/java/com/baeldung/mockito/java8/Person.java similarity index 100% rename from testing-libraries/mockito-2/src/main/java/com/baeldung/mockito/java8/Person.java rename to testing-modules/mockito-2/src/main/java/com/baeldung/mockito/java8/Person.java diff --git a/testing-libraries/mockito-2/src/main/java/com/baeldung/mockito/java8/UnemploymentService.java b/testing-modules/mockito-2/src/main/java/com/baeldung/mockito/java8/UnemploymentService.java similarity index 100% rename from testing-libraries/mockito-2/src/main/java/com/baeldung/mockito/java8/UnemploymentService.java rename to testing-modules/mockito-2/src/main/java/com/baeldung/mockito/java8/UnemploymentService.java diff --git a/testing-libraries/mockito-2/src/main/java/com/baeldung/mockito/java8/UnemploymentServiceImpl.java b/testing-modules/mockito-2/src/main/java/com/baeldung/mockito/java8/UnemploymentServiceImpl.java similarity index 100% rename from testing-libraries/mockito-2/src/main/java/com/baeldung/mockito/java8/UnemploymentServiceImpl.java rename to testing-modules/mockito-2/src/main/java/com/baeldung/mockito/java8/UnemploymentServiceImpl.java diff --git a/testing-libraries/mockito-2/src/main/resources/logback.xml b/testing-modules/mockito-2/src/main/resources/logback.xml similarity index 100% rename from testing-libraries/mockito-2/src/main/resources/logback.xml rename to testing-modules/mockito-2/src/main/resources/logback.xml diff --git a/testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/java8/ArgumentMatcherWithLambdaUnitTest.java b/testing-modules/mockito-2/src/test/java/com/baeldung/mockito/java8/ArgumentMatcherWithLambdaUnitTest.java similarity index 100% rename from testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/java8/ArgumentMatcherWithLambdaUnitTest.java rename to testing-modules/mockito-2/src/test/java/com/baeldung/mockito/java8/ArgumentMatcherWithLambdaUnitTest.java diff --git a/testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/java8/ArgumentMatcherWithoutLambdaUnitTest.java b/testing-modules/mockito-2/src/test/java/com/baeldung/mockito/java8/ArgumentMatcherWithoutLambdaUnitTest.java similarity index 100% rename from testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/java8/ArgumentMatcherWithoutLambdaUnitTest.java rename to testing-modules/mockito-2/src/test/java/com/baeldung/mockito/java8/ArgumentMatcherWithoutLambdaUnitTest.java diff --git a/testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/java8/CustomAnswerWithLambdaUnitTest.java b/testing-modules/mockito-2/src/test/java/com/baeldung/mockito/java8/CustomAnswerWithLambdaUnitTest.java similarity index 100% rename from testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/java8/CustomAnswerWithLambdaUnitTest.java rename to testing-modules/mockito-2/src/test/java/com/baeldung/mockito/java8/CustomAnswerWithLambdaUnitTest.java diff --git a/testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/java8/CustomAnswerWithoutLambdaUnitTest.java b/testing-modules/mockito-2/src/test/java/com/baeldung/mockito/java8/CustomAnswerWithoutLambdaUnitTest.java similarity index 100% rename from testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/java8/CustomAnswerWithoutLambdaUnitTest.java rename to testing-modules/mockito-2/src/test/java/com/baeldung/mockito/java8/CustomAnswerWithoutLambdaUnitTest.java diff --git a/testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/java8/JobServiceUnitTest.java b/testing-modules/mockito-2/src/test/java/com/baeldung/mockito/java8/JobServiceUnitTest.java similarity index 100% rename from testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/java8/JobServiceUnitTest.java rename to testing-modules/mockito-2/src/test/java/com/baeldung/mockito/java8/JobServiceUnitTest.java diff --git a/testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/java8/LazyVerificationUnitTest.java b/testing-modules/mockito-2/src/test/java/com/baeldung/mockito/java8/LazyVerificationUnitTest.java similarity index 100% rename from testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/java8/LazyVerificationUnitTest.java rename to testing-modules/mockito-2/src/test/java/com/baeldung/mockito/java8/LazyVerificationUnitTest.java diff --git a/testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/java8/UnemploymentServiceImplUnitTest.java b/testing-modules/mockito-2/src/test/java/com/baeldung/mockito/java8/UnemploymentServiceImplUnitTest.java similarity index 100% rename from testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/java8/UnemploymentServiceImplUnitTest.java rename to testing-modules/mockito-2/src/test/java/com/baeldung/mockito/java8/UnemploymentServiceImplUnitTest.java diff --git a/testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/misusing/ExpectedTestFailureRule.java b/testing-modules/mockito-2/src/test/java/com/baeldung/mockito/misusing/ExpectedTestFailureRule.java similarity index 100% rename from testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/misusing/ExpectedTestFailureRule.java rename to testing-modules/mockito-2/src/test/java/com/baeldung/mockito/misusing/ExpectedTestFailureRule.java diff --git a/testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/misusing/MockitoUnecessaryStubUnitTest.java b/testing-modules/mockito-2/src/test/java/com/baeldung/mockito/misusing/MockitoUnecessaryStubUnitTest.java similarity index 100% rename from testing-libraries/mockito-2/src/test/java/com/baeldung/mockito/misusing/MockitoUnecessaryStubUnitTest.java rename to testing-modules/mockito-2/src/test/java/com/baeldung/mockito/misusing/MockitoUnecessaryStubUnitTest.java diff --git a/testing-libraries/mockito/.gitignore b/testing-modules/mockito/.gitignore similarity index 100% rename from testing-libraries/mockito/.gitignore rename to testing-modules/mockito/.gitignore diff --git a/testing-libraries/mockito/README.md b/testing-modules/mockito/README.md similarity index 100% rename from testing-libraries/mockito/README.md rename to testing-modules/mockito/README.md diff --git a/testing-libraries/mockito/pom.xml b/testing-modules/mockito/pom.xml similarity index 100% rename from testing-libraries/mockito/pom.xml rename to testing-modules/mockito/pom.xml diff --git a/testing-libraries/mockito/src/main/java/org/baeldung/hamcrest/City.java b/testing-modules/mockito/src/main/java/org/baeldung/hamcrest/City.java similarity index 100% rename from testing-libraries/mockito/src/main/java/org/baeldung/hamcrest/City.java rename to testing-modules/mockito/src/main/java/org/baeldung/hamcrest/City.java diff --git a/testing-libraries/mockito/src/main/java/org/baeldung/hamcrest/Location.java b/testing-modules/mockito/src/main/java/org/baeldung/hamcrest/Location.java similarity index 100% rename from testing-libraries/mockito/src/main/java/org/baeldung/hamcrest/Location.java rename to testing-modules/mockito/src/main/java/org/baeldung/hamcrest/Location.java diff --git a/testing-libraries/mockito/src/main/java/org/baeldung/hamcrest/custommatchers/IsDivisibleBy.java b/testing-modules/mockito/src/main/java/org/baeldung/hamcrest/custommatchers/IsDivisibleBy.java similarity index 100% rename from testing-libraries/mockito/src/main/java/org/baeldung/hamcrest/custommatchers/IsDivisibleBy.java rename to testing-modules/mockito/src/main/java/org/baeldung/hamcrest/custommatchers/IsDivisibleBy.java diff --git a/testing-libraries/mockito/src/main/java/org/baeldung/hamcrest/custommatchers/IsOnlyDigits.java b/testing-modules/mockito/src/main/java/org/baeldung/hamcrest/custommatchers/IsOnlyDigits.java similarity index 100% rename from testing-libraries/mockito/src/main/java/org/baeldung/hamcrest/custommatchers/IsOnlyDigits.java rename to testing-modules/mockito/src/main/java/org/baeldung/hamcrest/custommatchers/IsOnlyDigits.java diff --git a/testing-libraries/mockito/src/main/java/org/baeldung/hamcrest/custommatchers/IsUppercase.java b/testing-modules/mockito/src/main/java/org/baeldung/hamcrest/custommatchers/IsUppercase.java similarity index 100% rename from testing-libraries/mockito/src/main/java/org/baeldung/hamcrest/custommatchers/IsUppercase.java rename to testing-modules/mockito/src/main/java/org/baeldung/hamcrest/custommatchers/IsUppercase.java diff --git a/testing-libraries/mockito/src/main/java/org/baeldung/mockito/service/ActionHandler.java b/testing-modules/mockito/src/main/java/org/baeldung/mockito/service/ActionHandler.java similarity index 100% rename from testing-libraries/mockito/src/main/java/org/baeldung/mockito/service/ActionHandler.java rename to testing-modules/mockito/src/main/java/org/baeldung/mockito/service/ActionHandler.java diff --git a/testing-libraries/mockito/src/main/java/org/baeldung/mockito/service/Callback.java b/testing-modules/mockito/src/main/java/org/baeldung/mockito/service/Callback.java similarity index 100% rename from testing-libraries/mockito/src/main/java/org/baeldung/mockito/service/Callback.java rename to testing-modules/mockito/src/main/java/org/baeldung/mockito/service/Callback.java diff --git a/testing-libraries/mockito/src/main/java/org/baeldung/mockito/service/Data.java b/testing-modules/mockito/src/main/java/org/baeldung/mockito/service/Data.java similarity index 100% rename from testing-libraries/mockito/src/main/java/org/baeldung/mockito/service/Data.java rename to testing-modules/mockito/src/main/java/org/baeldung/mockito/service/Data.java diff --git a/testing-libraries/mockito/src/main/java/org/baeldung/mockito/service/Response.java b/testing-modules/mockito/src/main/java/org/baeldung/mockito/service/Response.java similarity index 100% rename from testing-libraries/mockito/src/main/java/org/baeldung/mockito/service/Response.java rename to testing-modules/mockito/src/main/java/org/baeldung/mockito/service/Response.java diff --git a/testing-libraries/mockito/src/main/java/org/baeldung/mockito/service/Service.java b/testing-modules/mockito/src/main/java/org/baeldung/mockito/service/Service.java similarity index 100% rename from testing-libraries/mockito/src/main/java/org/baeldung/mockito/service/Service.java rename to testing-modules/mockito/src/main/java/org/baeldung/mockito/service/Service.java diff --git a/testing-libraries/mockito/src/main/resources/logback.xml b/testing-modules/mockito/src/main/resources/logback.xml similarity index 100% rename from testing-libraries/mockito/src/main/resources/logback.xml rename to testing-modules/mockito/src/main/resources/logback.xml diff --git a/testing-libraries/mockito/src/test/java/com/baeldung/powermockito/introduction/CollaboratorForPartialMocking.java b/testing-modules/mockito/src/test/java/com/baeldung/powermockito/introduction/CollaboratorForPartialMocking.java similarity index 100% rename from testing-libraries/mockito/src/test/java/com/baeldung/powermockito/introduction/CollaboratorForPartialMocking.java rename to testing-modules/mockito/src/test/java/com/baeldung/powermockito/introduction/CollaboratorForPartialMocking.java diff --git a/testing-libraries/mockito/src/test/java/com/baeldung/powermockito/introduction/CollaboratorWithFinalMethods.java b/testing-modules/mockito/src/test/java/com/baeldung/powermockito/introduction/CollaboratorWithFinalMethods.java similarity index 100% rename from testing-libraries/mockito/src/test/java/com/baeldung/powermockito/introduction/CollaboratorWithFinalMethods.java rename to testing-modules/mockito/src/test/java/com/baeldung/powermockito/introduction/CollaboratorWithFinalMethods.java diff --git a/testing-libraries/mockito/src/test/java/com/baeldung/powermockito/introduction/CollaboratorWithStaticMethods.java b/testing-modules/mockito/src/test/java/com/baeldung/powermockito/introduction/CollaboratorWithStaticMethods.java similarity index 100% rename from testing-libraries/mockito/src/test/java/com/baeldung/powermockito/introduction/CollaboratorWithStaticMethods.java rename to testing-modules/mockito/src/test/java/com/baeldung/powermockito/introduction/CollaboratorWithStaticMethods.java diff --git a/testing-libraries/mockito/src/test/java/com/baeldung/powermockito/introduction/LuckyNumberGenerator.java b/testing-modules/mockito/src/test/java/com/baeldung/powermockito/introduction/LuckyNumberGenerator.java similarity index 100% rename from testing-libraries/mockito/src/test/java/com/baeldung/powermockito/introduction/LuckyNumberGenerator.java rename to testing-modules/mockito/src/test/java/com/baeldung/powermockito/introduction/LuckyNumberGenerator.java diff --git a/testing-libraries/mockito/src/test/java/com/baeldung/powermockito/introduction/LuckyNumberGeneratorIntegrationTest.java b/testing-modules/mockito/src/test/java/com/baeldung/powermockito/introduction/LuckyNumberGeneratorIntegrationTest.java similarity index 100% rename from testing-libraries/mockito/src/test/java/com/baeldung/powermockito/introduction/LuckyNumberGeneratorIntegrationTest.java rename to testing-modules/mockito/src/test/java/com/baeldung/powermockito/introduction/LuckyNumberGeneratorIntegrationTest.java diff --git a/testing-libraries/mockito/src/test/java/com/baeldung/powermockito/introduction/PowerMockitoIntegrationTest.java b/testing-modules/mockito/src/test/java/com/baeldung/powermockito/introduction/PowerMockitoIntegrationTest.java similarity index 100% rename from testing-libraries/mockito/src/test/java/com/baeldung/powermockito/introduction/PowerMockitoIntegrationTest.java rename to testing-modules/mockito/src/test/java/com/baeldung/powermockito/introduction/PowerMockitoIntegrationTest.java diff --git a/testing-libraries/mockito/src/test/java/org/baeldung/bddmockito/BDDMockitoIntegrationTest.java b/testing-modules/mockito/src/test/java/org/baeldung/bddmockito/BDDMockitoIntegrationTest.java similarity index 100% rename from testing-libraries/mockito/src/test/java/org/baeldung/bddmockito/BDDMockitoIntegrationTest.java rename to testing-modules/mockito/src/test/java/org/baeldung/bddmockito/BDDMockitoIntegrationTest.java diff --git a/testing-libraries/mockito/src/test/java/org/baeldung/bddmockito/PhoneBookRepository.java b/testing-modules/mockito/src/test/java/org/baeldung/bddmockito/PhoneBookRepository.java similarity index 100% rename from testing-libraries/mockito/src/test/java/org/baeldung/bddmockito/PhoneBookRepository.java rename to testing-modules/mockito/src/test/java/org/baeldung/bddmockito/PhoneBookRepository.java diff --git a/testing-libraries/mockito/src/test/java/org/baeldung/bddmockito/PhoneBookService.java b/testing-modules/mockito/src/test/java/org/baeldung/bddmockito/PhoneBookService.java similarity index 100% rename from testing-libraries/mockito/src/test/java/org/baeldung/bddmockito/PhoneBookService.java rename to testing-modules/mockito/src/test/java/org/baeldung/bddmockito/PhoneBookService.java diff --git a/testing-libraries/mockito/src/test/java/org/baeldung/hamcrest/HamcrestBeansUnitTest.java b/testing-modules/mockito/src/test/java/org/baeldung/hamcrest/HamcrestBeansUnitTest.java similarity index 100% rename from testing-libraries/mockito/src/test/java/org/baeldung/hamcrest/HamcrestBeansUnitTest.java rename to testing-modules/mockito/src/test/java/org/baeldung/hamcrest/HamcrestBeansUnitTest.java diff --git a/testing-libraries/mockito/src/test/java/org/baeldung/hamcrest/HamcrestCoreMatchersUnitTest.java b/testing-modules/mockito/src/test/java/org/baeldung/hamcrest/HamcrestCoreMatchersUnitTest.java similarity index 100% rename from testing-libraries/mockito/src/test/java/org/baeldung/hamcrest/HamcrestCoreMatchersUnitTest.java rename to testing-modules/mockito/src/test/java/org/baeldung/hamcrest/HamcrestCoreMatchersUnitTest.java diff --git a/testing-libraries/mockito/src/test/java/org/baeldung/hamcrest/HamcrestCustomUnitTest.java b/testing-modules/mockito/src/test/java/org/baeldung/hamcrest/HamcrestCustomUnitTest.java similarity index 100% rename from testing-libraries/mockito/src/test/java/org/baeldung/hamcrest/HamcrestCustomUnitTest.java rename to testing-modules/mockito/src/test/java/org/baeldung/hamcrest/HamcrestCustomUnitTest.java diff --git a/testing-libraries/mockito/src/test/java/org/baeldung/hamcrest/HamcrestFileUnitTest.java b/testing-modules/mockito/src/test/java/org/baeldung/hamcrest/HamcrestFileUnitTest.java similarity index 100% rename from testing-libraries/mockito/src/test/java/org/baeldung/hamcrest/HamcrestFileUnitTest.java rename to testing-modules/mockito/src/test/java/org/baeldung/hamcrest/HamcrestFileUnitTest.java diff --git a/testing-libraries/mockito/src/test/java/org/baeldung/hamcrest/HamcrestNumberUnitTest.java b/testing-modules/mockito/src/test/java/org/baeldung/hamcrest/HamcrestNumberUnitTest.java similarity index 100% rename from testing-libraries/mockito/src/test/java/org/baeldung/hamcrest/HamcrestNumberUnitTest.java rename to testing-modules/mockito/src/test/java/org/baeldung/hamcrest/HamcrestNumberUnitTest.java diff --git a/testing-libraries/mockito/src/test/java/org/baeldung/hamcrest/HamcrestObjectUnitTest.java b/testing-modules/mockito/src/test/java/org/baeldung/hamcrest/HamcrestObjectUnitTest.java similarity index 100% rename from testing-libraries/mockito/src/test/java/org/baeldung/hamcrest/HamcrestObjectUnitTest.java rename to testing-modules/mockito/src/test/java/org/baeldung/hamcrest/HamcrestObjectUnitTest.java diff --git a/testing-libraries/mockito/src/test/java/org/baeldung/hamcrest/HamcrestTextUnitTest.java b/testing-modules/mockito/src/test/java/org/baeldung/hamcrest/HamcrestTextUnitTest.java similarity index 100% rename from testing-libraries/mockito/src/test/java/org/baeldung/hamcrest/HamcrestTextUnitTest.java rename to testing-modules/mockito/src/test/java/org/baeldung/hamcrest/HamcrestTextUnitTest.java diff --git a/testing-libraries/mockito/src/test/java/org/baeldung/mockito/FinalList.java b/testing-modules/mockito/src/test/java/org/baeldung/mockito/FinalList.java similarity index 100% rename from testing-libraries/mockito/src/test/java/org/baeldung/mockito/FinalList.java rename to testing-modules/mockito/src/test/java/org/baeldung/mockito/FinalList.java diff --git a/testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockFinals.java b/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockFinals.java similarity index 100% rename from testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockFinals.java rename to testing-modules/mockito/src/test/java/org/baeldung/mockito/MockFinals.java diff --git a/testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockitoAnnotationIntegrationTest.java b/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoAnnotationIntegrationTest.java similarity index 100% rename from testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockitoAnnotationIntegrationTest.java rename to testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoAnnotationIntegrationTest.java diff --git a/testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockitoConfigExamplesIntegrationTest.java b/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoConfigExamplesIntegrationTest.java similarity index 100% rename from testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockitoConfigExamplesIntegrationTest.java rename to testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoConfigExamplesIntegrationTest.java diff --git a/testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockitoExceptionIntegrationTest.java b/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoExceptionIntegrationTest.java similarity index 100% rename from testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockitoExceptionIntegrationTest.java rename to testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoExceptionIntegrationTest.java diff --git a/testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockitoInjectIntoSpyUnitTest.java b/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoInjectIntoSpyUnitTest.java similarity index 100% rename from testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockitoInjectIntoSpyUnitTest.java rename to testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoInjectIntoSpyUnitTest.java diff --git a/testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockitoMockIntegrationTest.java b/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoMockIntegrationTest.java similarity index 100% rename from testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockitoMockIntegrationTest.java rename to testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoMockIntegrationTest.java diff --git a/testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockitoSpyIntegrationTest.java b/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoSpyIntegrationTest.java similarity index 100% rename from testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockitoSpyIntegrationTest.java rename to testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoSpyIntegrationTest.java diff --git a/testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockitoVerifyExamplesIntegrationTest.java b/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoVerifyExamplesIntegrationTest.java similarity index 100% rename from testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockitoVerifyExamplesIntegrationTest.java rename to testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoVerifyExamplesIntegrationTest.java diff --git a/testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockitoVoidMethodsUnitTest.java b/testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoVoidMethodsUnitTest.java similarity index 100% rename from testing-libraries/mockito/src/test/java/org/baeldung/mockito/MockitoVoidMethodsUnitTest.java rename to testing-modules/mockito/src/test/java/org/baeldung/mockito/MockitoVoidMethodsUnitTest.java diff --git a/testing-libraries/mockito/src/test/java/org/baeldung/mockito/MyDictionary.java b/testing-modules/mockito/src/test/java/org/baeldung/mockito/MyDictionary.java similarity index 100% rename from testing-libraries/mockito/src/test/java/org/baeldung/mockito/MyDictionary.java rename to testing-modules/mockito/src/test/java/org/baeldung/mockito/MyDictionary.java diff --git a/testing-libraries/mockito/src/test/java/org/baeldung/mockito/MyList.java b/testing-modules/mockito/src/test/java/org/baeldung/mockito/MyList.java similarity index 100% rename from testing-libraries/mockito/src/test/java/org/baeldung/mockito/MyList.java rename to testing-modules/mockito/src/test/java/org/baeldung/mockito/MyList.java diff --git a/testing-libraries/mockito/src/test/java/org/baeldung/mockito/misusing/MockitoMisusingUnitTest.java b/testing-modules/mockito/src/test/java/org/baeldung/mockito/misusing/MockitoMisusingUnitTest.java similarity index 100% rename from testing-libraries/mockito/src/test/java/org/baeldung/mockito/misusing/MockitoMisusingUnitTest.java rename to testing-modules/mockito/src/test/java/org/baeldung/mockito/misusing/MockitoMisusingUnitTest.java diff --git a/testing-libraries/mockito/src/test/java/org/baeldung/mockito/service/ActionHandlerUnitTest.java b/testing-modules/mockito/src/test/java/org/baeldung/mockito/service/ActionHandlerUnitTest.java similarity index 100% rename from testing-libraries/mockito/src/test/java/org/baeldung/mockito/service/ActionHandlerUnitTest.java rename to testing-modules/mockito/src/test/java/org/baeldung/mockito/service/ActionHandlerUnitTest.java diff --git a/testing-libraries/mockito/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker b/testing-modules/mockito/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker similarity index 100% rename from testing-libraries/mockito/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker rename to testing-modules/mockito/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker diff --git a/testing-libraries/mockito/src/test/resources/test1.in b/testing-modules/mockito/src/test/resources/test1.in similarity index 100% rename from testing-libraries/mockito/src/test/resources/test1.in rename to testing-modules/mockito/src/test/resources/test1.in diff --git a/testing-libraries/mocks/README.md b/testing-modules/mocks/README.md similarity index 100% rename from testing-libraries/mocks/README.md rename to testing-modules/mocks/README.md diff --git a/testing-libraries/mocks/javafaker/pom.xml b/testing-modules/mocks/javafaker/pom.xml similarity index 100% rename from testing-libraries/mocks/javafaker/pom.xml rename to testing-modules/mocks/javafaker/pom.xml diff --git a/testing-libraries/mocks/javafaker/src/test/java/com/baeldung/javafaker/JavaFakerUnitTest.java b/testing-modules/mocks/javafaker/src/test/java/com/baeldung/javafaker/JavaFakerUnitTest.java similarity index 100% rename from testing-libraries/mocks/javafaker/src/test/java/com/baeldung/javafaker/JavaFakerUnitTest.java rename to testing-modules/mocks/javafaker/src/test/java/com/baeldung/javafaker/JavaFakerUnitTest.java diff --git a/testing-libraries/mocks/jmockit/README.md b/testing-modules/mocks/jmockit/README.md similarity index 100% rename from testing-libraries/mocks/jmockit/README.md rename to testing-modules/mocks/jmockit/README.md diff --git a/testing-libraries/mocks/jmockit/pom.xml b/testing-modules/mocks/jmockit/pom.xml similarity index 100% rename from testing-libraries/mocks/jmockit/pom.xml rename to testing-modules/mocks/jmockit/pom.xml diff --git a/testing-libraries/mocks/jmockit/src/main/java/com/baeldung/mocks/jmockit/AppManager.java b/testing-modules/mocks/jmockit/src/main/java/com/baeldung/mocks/jmockit/AppManager.java similarity index 100% rename from testing-libraries/mocks/jmockit/src/main/java/com/baeldung/mocks/jmockit/AppManager.java rename to testing-modules/mocks/jmockit/src/main/java/com/baeldung/mocks/jmockit/AppManager.java diff --git a/testing-libraries/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/AdvancedCollaborator.java b/testing-modules/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/AdvancedCollaborator.java similarity index 100% rename from testing-libraries/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/AdvancedCollaborator.java rename to testing-modules/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/AdvancedCollaborator.java diff --git a/testing-libraries/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/Collaborator.java b/testing-modules/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/Collaborator.java similarity index 100% rename from testing-libraries/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/Collaborator.java rename to testing-modules/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/Collaborator.java diff --git a/testing-libraries/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/ExpectationsCollaborator.java b/testing-modules/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/ExpectationsCollaborator.java similarity index 100% rename from testing-libraries/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/ExpectationsCollaborator.java rename to testing-modules/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/ExpectationsCollaborator.java diff --git a/testing-libraries/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/Model.java b/testing-modules/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/Model.java similarity index 100% rename from testing-libraries/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/Model.java rename to testing-modules/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/Model.java diff --git a/testing-libraries/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/Performer.java b/testing-modules/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/Performer.java similarity index 100% rename from testing-libraries/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/Performer.java rename to testing-modules/mocks/jmockit/src/main/java/org/baeldung/mocks/jmockit/Performer.java diff --git a/testing-libraries/mocks/jmockit/src/main/resources/logback.xml b/testing-modules/mocks/jmockit/src/main/resources/logback.xml similarity index 100% rename from testing-libraries/mocks/jmockit/src/main/resources/logback.xml rename to testing-modules/mocks/jmockit/src/main/resources/logback.xml diff --git a/testing-libraries/mocks/jmockit/src/test/java/com/baeldung/mocks/jmockit/AppManagerUnitTest.java b/testing-modules/mocks/jmockit/src/test/java/com/baeldung/mocks/jmockit/AppManagerUnitTest.java similarity index 100% rename from testing-libraries/mocks/jmockit/src/test/java/com/baeldung/mocks/jmockit/AppManagerUnitTest.java rename to testing-modules/mocks/jmockit/src/test/java/com/baeldung/mocks/jmockit/AppManagerUnitTest.java diff --git a/testing-libraries/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/AdvancedCollaboratorIntegrationTest.java b/testing-modules/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/AdvancedCollaboratorIntegrationTest.java similarity index 100% rename from testing-libraries/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/AdvancedCollaboratorIntegrationTest.java rename to testing-modules/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/AdvancedCollaboratorIntegrationTest.java diff --git a/testing-libraries/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/ExpectationsIntegrationTest.java b/testing-modules/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/ExpectationsIntegrationTest.java similarity index 100% rename from testing-libraries/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/ExpectationsIntegrationTest.java rename to testing-modules/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/ExpectationsIntegrationTest.java diff --git a/testing-libraries/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/PerformerIntegrationTest.java b/testing-modules/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/PerformerIntegrationTest.java similarity index 100% rename from testing-libraries/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/PerformerIntegrationTest.java rename to testing-modules/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/PerformerIntegrationTest.java diff --git a/testing-libraries/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/ReusingIntegrationTest.java b/testing-modules/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/ReusingIntegrationTest.java similarity index 100% rename from testing-libraries/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/ReusingIntegrationTest.java rename to testing-modules/mocks/jmockit/src/test/java/org/baeldung/mocks/jmockit/ReusingIntegrationTest.java diff --git a/testing-libraries/mocks/jukito/pom.xml b/testing-modules/mocks/jukito/pom.xml similarity index 100% rename from testing-libraries/mocks/jukito/pom.xml rename to testing-modules/mocks/jukito/pom.xml diff --git a/testing-libraries/mocks/jukito/src/main/java/com/baeldung/introductionjukito/Calculator.java b/testing-modules/mocks/jukito/src/main/java/com/baeldung/introductionjukito/Calculator.java similarity index 100% rename from testing-libraries/mocks/jukito/src/main/java/com/baeldung/introductionjukito/Calculator.java rename to testing-modules/mocks/jukito/src/main/java/com/baeldung/introductionjukito/Calculator.java diff --git a/testing-libraries/mocks/jukito/src/main/java/com/baeldung/introductionjukito/ScientificCalculator.java b/testing-modules/mocks/jukito/src/main/java/com/baeldung/introductionjukito/ScientificCalculator.java similarity index 100% rename from testing-libraries/mocks/jukito/src/main/java/com/baeldung/introductionjukito/ScientificCalculator.java rename to testing-modules/mocks/jukito/src/main/java/com/baeldung/introductionjukito/ScientificCalculator.java diff --git a/testing-libraries/mocks/jukito/src/main/java/com/baeldung/introductionjukito/SimpleCalculator.java b/testing-modules/mocks/jukito/src/main/java/com/baeldung/introductionjukito/SimpleCalculator.java similarity index 100% rename from testing-libraries/mocks/jukito/src/main/java/com/baeldung/introductionjukito/SimpleCalculator.java rename to testing-modules/mocks/jukito/src/main/java/com/baeldung/introductionjukito/SimpleCalculator.java diff --git a/testing-libraries/mocks/jukito/src/test/java/com/baeldung/introductionjukito/CalculatorUnitTest.java b/testing-modules/mocks/jukito/src/test/java/com/baeldung/introductionjukito/CalculatorUnitTest.java similarity index 100% rename from testing-libraries/mocks/jukito/src/test/java/com/baeldung/introductionjukito/CalculatorUnitTest.java rename to testing-modules/mocks/jukito/src/test/java/com/baeldung/introductionjukito/CalculatorUnitTest.java diff --git a/testing-libraries/mocks/mock-comparisons/README.md b/testing-modules/mocks/mock-comparisons/README.md similarity index 100% rename from testing-libraries/mocks/mock-comparisons/README.md rename to testing-modules/mocks/mock-comparisons/README.md diff --git a/testing-libraries/mocks/mock-comparisons/pom.xml b/testing-modules/mocks/mock-comparisons/pom.xml similarity index 100% rename from testing-libraries/mocks/mock-comparisons/pom.xml rename to testing-modules/mocks/mock-comparisons/pom.xml diff --git a/testing-libraries/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/ArticleReader.java b/testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/ArticleReader.java similarity index 100% rename from testing-libraries/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/ArticleReader.java rename to testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/ArticleReader.java diff --git a/testing-libraries/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/BaeldungArticle.java b/testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/BaeldungArticle.java similarity index 100% rename from testing-libraries/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/BaeldungArticle.java rename to testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/BaeldungArticle.java diff --git a/testing-libraries/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/BaeldungReader.java b/testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/BaeldungReader.java similarity index 100% rename from testing-libraries/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/BaeldungReader.java rename to testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/BaeldungReader.java diff --git a/testing-libraries/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/IArticleWriter.java b/testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/IArticleWriter.java similarity index 100% rename from testing-libraries/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/IArticleWriter.java rename to testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/IArticleWriter.java diff --git a/testing-libraries/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/IUserService.java b/testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/IUserService.java similarity index 100% rename from testing-libraries/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/IUserService.java rename to testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/IUserService.java diff --git a/testing-libraries/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/User.java b/testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/User.java similarity index 100% rename from testing-libraries/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/User.java rename to testing-modules/mocks/mock-comparisons/src/main/java/com/baeldung/easymock/User.java diff --git a/testing-libraries/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/LoginController.java b/testing-modules/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/LoginController.java similarity index 100% rename from testing-libraries/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/LoginController.java rename to testing-modules/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/LoginController.java diff --git a/testing-libraries/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/LoginDao.java b/testing-modules/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/LoginDao.java similarity index 100% rename from testing-libraries/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/LoginDao.java rename to testing-modules/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/LoginDao.java diff --git a/testing-libraries/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/LoginService.java b/testing-modules/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/LoginService.java similarity index 100% rename from testing-libraries/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/LoginService.java rename to testing-modules/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/LoginService.java diff --git a/testing-libraries/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/UserForm.java b/testing-modules/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/UserForm.java similarity index 100% rename from testing-libraries/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/UserForm.java rename to testing-modules/mocks/mock-comparisons/src/main/java/org/baeldung/mocks/testCase/UserForm.java diff --git a/testing-libraries/mocks/mock-comparisons/src/main/resources/logback.xml b/testing-modules/mocks/mock-comparisons/src/main/resources/logback.xml similarity index 100% rename from testing-libraries/mocks/mock-comparisons/src/main/resources/logback.xml rename to testing-modules/mocks/mock-comparisons/src/main/resources/logback.xml diff --git a/testing-libraries/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/ArgumentMatchersUnitTest.java b/testing-modules/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/ArgumentMatchersUnitTest.java similarity index 100% rename from testing-libraries/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/ArgumentMatchersUnitTest.java rename to testing-modules/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/ArgumentMatchersUnitTest.java diff --git a/testing-libraries/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderAnnotatedUnitTest.java b/testing-modules/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderAnnotatedUnitTest.java similarity index 100% rename from testing-libraries/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderAnnotatedUnitTest.java rename to testing-modules/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderAnnotatedUnitTest.java diff --git a/testing-libraries/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderAnnotatedWithRuleUnitTest.java b/testing-modules/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderAnnotatedWithRuleUnitTest.java similarity index 100% rename from testing-libraries/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderAnnotatedWithRuleUnitTest.java rename to testing-modules/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderAnnotatedWithRuleUnitTest.java diff --git a/testing-libraries/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderMockDelegationUnitTest.java b/testing-modules/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderMockDelegationUnitTest.java similarity index 100% rename from testing-libraries/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderMockDelegationUnitTest.java rename to testing-modules/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderMockDelegationUnitTest.java diff --git a/testing-libraries/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderMockSupportUnitTest.java b/testing-modules/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderMockSupportUnitTest.java similarity index 100% rename from testing-libraries/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderMockSupportUnitTest.java rename to testing-modules/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderMockSupportUnitTest.java diff --git a/testing-libraries/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderUnitTest.java b/testing-modules/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderUnitTest.java similarity index 100% rename from testing-libraries/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderUnitTest.java rename to testing-modules/mocks/mock-comparisons/src/test/java/com/baeldung/easymock/BaeldungReaderUnitTest.java diff --git a/testing-libraries/mocks/mock-comparisons/src/test/java/org/baeldung/mocks/easymock/LoginControllerIntegrationTest.java b/testing-modules/mocks/mock-comparisons/src/test/java/org/baeldung/mocks/easymock/LoginControllerIntegrationTest.java similarity index 100% rename from testing-libraries/mocks/mock-comparisons/src/test/java/org/baeldung/mocks/easymock/LoginControllerIntegrationTest.java rename to testing-modules/mocks/mock-comparisons/src/test/java/org/baeldung/mocks/easymock/LoginControllerIntegrationTest.java diff --git a/testing-libraries/mocks/mock-comparisons/src/test/java/org/baeldung/mocks/jmockit/LoginControllerIntegrationTest.java b/testing-modules/mocks/mock-comparisons/src/test/java/org/baeldung/mocks/jmockit/LoginControllerIntegrationTest.java similarity index 100% rename from testing-libraries/mocks/mock-comparisons/src/test/java/org/baeldung/mocks/jmockit/LoginControllerIntegrationTest.java rename to testing-modules/mocks/mock-comparisons/src/test/java/org/baeldung/mocks/jmockit/LoginControllerIntegrationTest.java diff --git a/testing-libraries/mocks/mock-comparisons/src/test/java/org/baeldung/mocks/mockito/LoginControllerIntegrationTest.java b/testing-modules/mocks/mock-comparisons/src/test/java/org/baeldung/mocks/mockito/LoginControllerIntegrationTest.java similarity index 100% rename from testing-libraries/mocks/mock-comparisons/src/test/java/org/baeldung/mocks/mockito/LoginControllerIntegrationTest.java rename to testing-modules/mocks/mock-comparisons/src/test/java/org/baeldung/mocks/mockito/LoginControllerIntegrationTest.java diff --git a/testing-libraries/mocks/pom.xml b/testing-modules/mocks/pom.xml similarity index 100% rename from testing-libraries/mocks/pom.xml rename to testing-modules/mocks/pom.xml diff --git a/testing-libraries/mockserver/README.md b/testing-modules/mockserver/README.md similarity index 100% rename from testing-libraries/mockserver/README.md rename to testing-modules/mockserver/README.md diff --git a/testing-libraries/mockserver/pom.xml b/testing-modules/mockserver/pom.xml similarity index 100% rename from testing-libraries/mockserver/pom.xml rename to testing-modules/mockserver/pom.xml diff --git a/testing-libraries/mockserver/src/main/java/com/baeldung/mock/server/ExpectationCallbackHandler.java b/testing-modules/mockserver/src/main/java/com/baeldung/mock/server/ExpectationCallbackHandler.java similarity index 100% rename from testing-libraries/mockserver/src/main/java/com/baeldung/mock/server/ExpectationCallbackHandler.java rename to testing-modules/mockserver/src/main/java/com/baeldung/mock/server/ExpectationCallbackHandler.java diff --git a/testing-libraries/mockserver/src/main/resources/logback.xml b/testing-modules/mockserver/src/main/resources/logback.xml similarity index 100% rename from testing-libraries/mockserver/src/main/resources/logback.xml rename to testing-modules/mockserver/src/main/resources/logback.xml diff --git a/testing-libraries/mockserver/src/test/java/com/baeldung/mock/server/MockServerLiveTest.java b/testing-modules/mockserver/src/test/java/com/baeldung/mock/server/MockServerLiveTest.java similarity index 100% rename from testing-libraries/mockserver/src/test/java/com/baeldung/mock/server/MockServerLiveTest.java rename to testing-modules/mockserver/src/test/java/com/baeldung/mock/server/MockServerLiveTest.java diff --git a/testing-libraries/parallel-tests-junit/README.md b/testing-modules/parallel-tests-junit/README.md similarity index 100% rename from testing-libraries/parallel-tests-junit/README.md rename to testing-modules/parallel-tests-junit/README.md diff --git a/testing-libraries/parallel-tests-junit/math-test-functions/pom.xml b/testing-modules/parallel-tests-junit/math-test-functions/pom.xml similarity index 100% rename from testing-libraries/parallel-tests-junit/math-test-functions/pom.xml rename to testing-modules/parallel-tests-junit/math-test-functions/pom.xml diff --git a/testing-libraries/parallel-tests-junit/math-test-functions/src/test/java/com/baeldung/ArithmeticFunctionUnitTest.java b/testing-modules/parallel-tests-junit/math-test-functions/src/test/java/com/baeldung/ArithmeticFunctionUnitTest.java similarity index 100% rename from testing-libraries/parallel-tests-junit/math-test-functions/src/test/java/com/baeldung/ArithmeticFunctionUnitTest.java rename to testing-modules/parallel-tests-junit/math-test-functions/src/test/java/com/baeldung/ArithmeticFunctionUnitTest.java diff --git a/testing-libraries/parallel-tests-junit/math-test-functions/src/test/java/com/baeldung/ComparisonFunctionUnitTest.java b/testing-modules/parallel-tests-junit/math-test-functions/src/test/java/com/baeldung/ComparisonFunctionUnitTest.java similarity index 100% rename from testing-libraries/parallel-tests-junit/math-test-functions/src/test/java/com/baeldung/ComparisonFunctionUnitTest.java rename to testing-modules/parallel-tests-junit/math-test-functions/src/test/java/com/baeldung/ComparisonFunctionUnitTest.java diff --git a/testing-libraries/parallel-tests-junit/math-test-functions/src/test/java/com/baeldung/FunctionTestSuite.java b/testing-modules/parallel-tests-junit/math-test-functions/src/test/java/com/baeldung/FunctionTestSuite.java similarity index 100% rename from testing-libraries/parallel-tests-junit/math-test-functions/src/test/java/com/baeldung/FunctionTestSuite.java rename to testing-modules/parallel-tests-junit/math-test-functions/src/test/java/com/baeldung/FunctionTestSuite.java diff --git a/testing-libraries/parallel-tests-junit/pom.xml b/testing-modules/parallel-tests-junit/pom.xml similarity index 100% rename from testing-libraries/parallel-tests-junit/pom.xml rename to testing-modules/parallel-tests-junit/pom.xml diff --git a/testing-libraries/parallel-tests-junit/string-test-functions/pom.xml b/testing-modules/parallel-tests-junit/string-test-functions/pom.xml similarity index 100% rename from testing-libraries/parallel-tests-junit/string-test-functions/pom.xml rename to testing-modules/parallel-tests-junit/string-test-functions/pom.xml diff --git a/testing-libraries/parallel-tests-junit/string-test-functions/src/test/java/com/baeldung/StringFunctionUnitTest.java b/testing-modules/parallel-tests-junit/string-test-functions/src/test/java/com/baeldung/StringFunctionUnitTest.java similarity index 100% rename from testing-libraries/parallel-tests-junit/string-test-functions/src/test/java/com/baeldung/StringFunctionUnitTest.java rename to testing-modules/parallel-tests-junit/string-test-functions/src/test/java/com/baeldung/StringFunctionUnitTest.java diff --git a/testing-libraries/pom.xml b/testing-modules/pom.xml similarity index 100% rename from testing-libraries/pom.xml rename to testing-modules/pom.xml diff --git a/testing-libraries/rest-assured/.gitignore b/testing-modules/rest-assured/.gitignore similarity index 100% rename from testing-libraries/rest-assured/.gitignore rename to testing-modules/rest-assured/.gitignore diff --git a/testing-libraries/rest-assured/README.md b/testing-modules/rest-assured/README.md similarity index 100% rename from testing-libraries/rest-assured/README.md rename to testing-modules/rest-assured/README.md diff --git a/testing-libraries/rest-assured/pom.xml b/testing-modules/rest-assured/pom.xml similarity index 100% rename from testing-libraries/rest-assured/pom.xml rename to testing-modules/rest-assured/pom.xml diff --git a/testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/Application.java b/testing-modules/rest-assured/src/main/java/com/baeldung/restassured/Application.java similarity index 100% rename from testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/Application.java rename to testing-modules/rest-assured/src/main/java/com/baeldung/restassured/Application.java diff --git a/testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/controller/AppController.java b/testing-modules/rest-assured/src/main/java/com/baeldung/restassured/controller/AppController.java similarity index 100% rename from testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/controller/AppController.java rename to testing-modules/rest-assured/src/main/java/com/baeldung/restassured/controller/AppController.java diff --git a/testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/learner/Course.java b/testing-modules/rest-assured/src/main/java/com/baeldung/restassured/learner/Course.java similarity index 100% rename from testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/learner/Course.java rename to testing-modules/rest-assured/src/main/java/com/baeldung/restassured/learner/Course.java diff --git a/testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseController.java b/testing-modules/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseController.java similarity index 100% rename from testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseController.java rename to testing-modules/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseController.java diff --git a/testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseControllerExceptionHandler.java b/testing-modules/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseControllerExceptionHandler.java similarity index 100% rename from testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseControllerExceptionHandler.java rename to testing-modules/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseControllerExceptionHandler.java diff --git a/testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseNotFoundException.java b/testing-modules/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseNotFoundException.java similarity index 100% rename from testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseNotFoundException.java rename to testing-modules/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseNotFoundException.java diff --git a/testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseService.java b/testing-modules/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseService.java similarity index 100% rename from testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseService.java rename to testing-modules/rest-assured/src/main/java/com/baeldung/restassured/learner/CourseService.java diff --git a/testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/model/Movie.java b/testing-modules/rest-assured/src/main/java/com/baeldung/restassured/model/Movie.java similarity index 100% rename from testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/model/Movie.java rename to testing-modules/rest-assured/src/main/java/com/baeldung/restassured/model/Movie.java diff --git a/testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/service/AppService.java b/testing-modules/rest-assured/src/main/java/com/baeldung/restassured/service/AppService.java similarity index 100% rename from testing-libraries/rest-assured/src/main/java/com/baeldung/restassured/service/AppService.java rename to testing-modules/rest-assured/src/main/java/com/baeldung/restassured/service/AppService.java diff --git a/testing-libraries/rest-assured/src/main/resources/1 b/testing-modules/rest-assured/src/main/resources/1 similarity index 100% rename from testing-libraries/rest-assured/src/main/resources/1 rename to testing-modules/rest-assured/src/main/resources/1 diff --git a/testing-libraries/rest-assured/src/main/resources/2 b/testing-modules/rest-assured/src/main/resources/2 similarity index 100% rename from testing-libraries/rest-assured/src/main/resources/2 rename to testing-modules/rest-assured/src/main/resources/2 diff --git a/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/Odd.java b/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/Odd.java similarity index 100% rename from testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/Odd.java rename to testing-modules/rest-assured/src/test/java/com/baeldung/restassured/Odd.java diff --git a/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/RestAssured2IntegrationTest.java b/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/RestAssured2IntegrationTest.java similarity index 100% rename from testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/RestAssured2IntegrationTest.java rename to testing-modules/rest-assured/src/test/java/com/baeldung/restassured/RestAssured2IntegrationTest.java diff --git a/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredAdvancedLiveTest.java b/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredAdvancedLiveTest.java similarity index 100% rename from testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredAdvancedLiveTest.java rename to testing-modules/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredAdvancedLiveTest.java diff --git a/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredIntegrationTest.java b/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredIntegrationTest.java similarity index 100% rename from testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredIntegrationTest.java rename to testing-modules/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredIntegrationTest.java diff --git a/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredXML2IntegrationTest.java b/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredXML2IntegrationTest.java similarity index 100% rename from testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredXML2IntegrationTest.java rename to testing-modules/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredXML2IntegrationTest.java diff --git a/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredXMLIntegrationTest.java b/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredXMLIntegrationTest.java similarity index 100% rename from testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredXMLIntegrationTest.java rename to testing-modules/rest-assured/src/test/java/com/baeldung/restassured/RestAssuredXMLIntegrationTest.java diff --git a/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/Util.java b/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/Util.java similarity index 100% rename from testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/Util.java rename to testing-modules/rest-assured/src/test/java/com/baeldung/restassured/Util.java diff --git a/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/authentication/BasicAuthenticationLiveTest.java b/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/authentication/BasicAuthenticationLiveTest.java similarity index 100% rename from testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/authentication/BasicAuthenticationLiveTest.java rename to testing-modules/rest-assured/src/test/java/com/baeldung/restassured/authentication/BasicAuthenticationLiveTest.java diff --git a/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/authentication/BasicPreemtiveAuthenticationLiveTest.java b/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/authentication/BasicPreemtiveAuthenticationLiveTest.java similarity index 100% rename from testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/authentication/BasicPreemtiveAuthenticationLiveTest.java rename to testing-modules/rest-assured/src/test/java/com/baeldung/restassured/authentication/BasicPreemtiveAuthenticationLiveTest.java diff --git a/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/authentication/DigestAuthenticationLiveTest.java b/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/authentication/DigestAuthenticationLiveTest.java similarity index 100% rename from testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/authentication/DigestAuthenticationLiveTest.java rename to testing-modules/rest-assured/src/test/java/com/baeldung/restassured/authentication/DigestAuthenticationLiveTest.java diff --git a/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/authentication/FormAuthenticationLiveTest.java b/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/authentication/FormAuthenticationLiveTest.java similarity index 100% rename from testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/authentication/FormAuthenticationLiveTest.java rename to testing-modules/rest-assured/src/test/java/com/baeldung/restassured/authentication/FormAuthenticationLiveTest.java diff --git a/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/authentication/FormAutoconfAuthenticationLiveTest.java b/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/authentication/FormAutoconfAuthenticationLiveTest.java similarity index 100% rename from testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/authentication/FormAutoconfAuthenticationLiveTest.java rename to testing-modules/rest-assured/src/test/java/com/baeldung/restassured/authentication/FormAutoconfAuthenticationLiveTest.java diff --git a/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/authentication/OAuth2AuthenticationLiveTest.java b/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/authentication/OAuth2AuthenticationLiveTest.java similarity index 100% rename from testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/authentication/OAuth2AuthenticationLiveTest.java rename to testing-modules/rest-assured/src/test/java/com/baeldung/restassured/authentication/OAuth2AuthenticationLiveTest.java diff --git a/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/authentication/OAuthAuthenticationLiveTest.java b/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/authentication/OAuthAuthenticationLiveTest.java similarity index 100% rename from testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/authentication/OAuthAuthenticationLiveTest.java rename to testing-modules/rest-assured/src/test/java/com/baeldung/restassured/authentication/OAuthAuthenticationLiveTest.java diff --git a/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/controller/AppControllerIntegrationTest.java b/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/controller/AppControllerIntegrationTest.java similarity index 100% rename from testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/controller/AppControllerIntegrationTest.java rename to testing-modules/rest-assured/src/test/java/com/baeldung/restassured/controller/AppControllerIntegrationTest.java diff --git a/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/learner/CourseControllerIntegrationTest.java b/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/learner/CourseControllerIntegrationTest.java similarity index 100% rename from testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/learner/CourseControllerIntegrationTest.java rename to testing-modules/rest-assured/src/test/java/com/baeldung/restassured/learner/CourseControllerIntegrationTest.java diff --git a/testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/learner/CourseControllerUnitTest.java b/testing-modules/rest-assured/src/test/java/com/baeldung/restassured/learner/CourseControllerUnitTest.java similarity index 100% rename from testing-libraries/rest-assured/src/test/java/com/baeldung/restassured/learner/CourseControllerUnitTest.java rename to testing-modules/rest-assured/src/test/java/com/baeldung/restassured/learner/CourseControllerUnitTest.java diff --git a/testing-libraries/rest-assured/src/test/resources/employees.xml b/testing-modules/rest-assured/src/test/resources/employees.xml similarity index 100% rename from testing-libraries/rest-assured/src/test/resources/employees.xml rename to testing-modules/rest-assured/src/test/resources/employees.xml diff --git a/testing-libraries/rest-assured/src/test/resources/event_0.json b/testing-modules/rest-assured/src/test/resources/event_0.json similarity index 100% rename from testing-libraries/rest-assured/src/test/resources/event_0.json rename to testing-modules/rest-assured/src/test/resources/event_0.json diff --git a/testing-libraries/rest-assured/src/test/resources/logback.xml b/testing-modules/rest-assured/src/test/resources/logback.xml similarity index 100% rename from testing-libraries/rest-assured/src/test/resources/logback.xml rename to testing-modules/rest-assured/src/test/resources/logback.xml diff --git a/testing-libraries/rest-assured/src/test/resources/odds.json b/testing-modules/rest-assured/src/test/resources/odds.json similarity index 100% rename from testing-libraries/rest-assured/src/test/resources/odds.json rename to testing-modules/rest-assured/src/test/resources/odds.json diff --git a/testing-libraries/rest-assured/src/test/resources/teachers.xml b/testing-modules/rest-assured/src/test/resources/teachers.xml similarity index 100% rename from testing-libraries/rest-assured/src/test/resources/teachers.xml rename to testing-modules/rest-assured/src/test/resources/teachers.xml diff --git a/testing-libraries/rest-assured/src/test/resources/test.txt b/testing-modules/rest-assured/src/test/resources/test.txt similarity index 100% rename from testing-libraries/rest-assured/src/test/resources/test.txt rename to testing-modules/rest-assured/src/test/resources/test.txt diff --git a/testing-libraries/rest-testing/.gitignore b/testing-modules/rest-testing/.gitignore similarity index 100% rename from testing-libraries/rest-testing/.gitignore rename to testing-modules/rest-testing/.gitignore diff --git a/testing-libraries/rest-testing/README.md b/testing-modules/rest-testing/README.md similarity index 100% rename from testing-libraries/rest-testing/README.md rename to testing-modules/rest-testing/README.md diff --git a/testing-libraries/rest-testing/pom.xml b/testing-modules/rest-testing/pom.xml similarity index 100% rename from testing-libraries/rest-testing/pom.xml rename to testing-modules/rest-testing/pom.xml diff --git a/testing-libraries/rest-testing/src/main/resources/cucumber.json b/testing-modules/rest-testing/src/main/resources/cucumber.json similarity index 100% rename from testing-libraries/rest-testing/src/main/resources/cucumber.json rename to testing-modules/rest-testing/src/main/resources/cucumber.json diff --git a/testing-libraries/rest-testing/src/main/resources/karate/cucumber.feature b/testing-modules/rest-testing/src/main/resources/karate/cucumber.feature similarity index 100% rename from testing-libraries/rest-testing/src/main/resources/karate/cucumber.feature rename to testing-modules/rest-testing/src/main/resources/karate/cucumber.feature diff --git a/testing-libraries/rest-testing/src/main/resources/logback.xml b/testing-modules/rest-testing/src/main/resources/logback.xml similarity index 100% rename from testing-libraries/rest-testing/src/main/resources/logback.xml rename to testing-modules/rest-testing/src/main/resources/logback.xml diff --git a/testing-libraries/rest-testing/src/main/resources/wiremock_intro.json b/testing-modules/rest-testing/src/main/resources/wiremock_intro.json similarity index 100% rename from testing-libraries/rest-testing/src/main/resources/wiremock_intro.json rename to testing-modules/rest-testing/src/main/resources/wiremock_intro.json diff --git a/testing-libraries/rest-testing/src/test/java/com/baeldung/rest/cucumber/CucumberIntegrationTest.java b/testing-modules/rest-testing/src/test/java/com/baeldung/rest/cucumber/CucumberIntegrationTest.java similarity index 100% rename from testing-libraries/rest-testing/src/test/java/com/baeldung/rest/cucumber/CucumberIntegrationTest.java rename to testing-modules/rest-testing/src/test/java/com/baeldung/rest/cucumber/CucumberIntegrationTest.java diff --git a/testing-libraries/rest-testing/src/test/java/com/baeldung/rest/cucumber/StepDefinition.java b/testing-modules/rest-testing/src/test/java/com/baeldung/rest/cucumber/StepDefinition.java similarity index 100% rename from testing-libraries/rest-testing/src/test/java/com/baeldung/rest/cucumber/StepDefinition.java rename to testing-modules/rest-testing/src/test/java/com/baeldung/rest/cucumber/StepDefinition.java diff --git a/testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/AbstractStory.java b/testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/AbstractStory.java similarity index 100% rename from testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/AbstractStory.java rename to testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/AbstractStory.java diff --git a/testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserNotFoundSteps.java b/testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserNotFoundSteps.java similarity index 100% rename from testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserNotFoundSteps.java rename to testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserNotFoundSteps.java diff --git a/testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserNotFoundStoryLiveTest.java b/testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserNotFoundStoryLiveTest.java similarity index 100% rename from testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserNotFoundStoryLiveTest.java rename to testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserNotFoundStoryLiveTest.java diff --git a/testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponseMediaTypeSteps.java b/testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponseMediaTypeSteps.java similarity index 100% rename from testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponseMediaTypeSteps.java rename to testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponseMediaTypeSteps.java diff --git a/testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponseMediaTypeStoryLiveTest.java b/testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponseMediaTypeStoryLiveTest.java similarity index 100% rename from testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponseMediaTypeStoryLiveTest.java rename to testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponseMediaTypeStoryLiveTest.java diff --git a/testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponsePayloadSteps.java b/testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponsePayloadSteps.java similarity index 100% rename from testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponsePayloadSteps.java rename to testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponsePayloadSteps.java diff --git a/testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponsePayloadStoryLiveTest.java b/testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponsePayloadStoryLiveTest.java similarity index 100% rename from testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponsePayloadStoryLiveTest.java rename to testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/GithubUserResponsePayloadStoryLiveTest.java diff --git a/testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/IncreaseSteps.java b/testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/IncreaseSteps.java similarity index 100% rename from testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/IncreaseSteps.java rename to testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/IncreaseSteps.java diff --git a/testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/IncreaseStoryLiveTest.java b/testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/IncreaseStoryLiveTest.java similarity index 100% rename from testing-libraries/rest-testing/src/test/java/com/baeldung/rest/jbehave/IncreaseStoryLiveTest.java rename to testing-modules/rest-testing/src/test/java/com/baeldung/rest/jbehave/IncreaseStoryLiveTest.java diff --git a/testing-libraries/rest-testing/src/test/java/com/baeldung/rest/karate/KarateIntegrationTest.java b/testing-modules/rest-testing/src/test/java/com/baeldung/rest/karate/KarateIntegrationTest.java similarity index 100% rename from testing-libraries/rest-testing/src/test/java/com/baeldung/rest/karate/KarateIntegrationTest.java rename to testing-modules/rest-testing/src/test/java/com/baeldung/rest/karate/KarateIntegrationTest.java diff --git a/testing-libraries/rest-testing/src/test/java/com/baeldung/rest/wiremock/introduction/JUnitManagedIntegrationTest.java b/testing-modules/rest-testing/src/test/java/com/baeldung/rest/wiremock/introduction/JUnitManagedIntegrationTest.java similarity index 100% rename from testing-libraries/rest-testing/src/test/java/com/baeldung/rest/wiremock/introduction/JUnitManagedIntegrationTest.java rename to testing-modules/rest-testing/src/test/java/com/baeldung/rest/wiremock/introduction/JUnitManagedIntegrationTest.java diff --git a/testing-libraries/rest-testing/src/test/java/com/baeldung/rest/wiremock/introduction/ProgrammaticallyManagedLiveTest.java b/testing-modules/rest-testing/src/test/java/com/baeldung/rest/wiremock/introduction/ProgrammaticallyManagedLiveTest.java similarity index 100% rename from testing-libraries/rest-testing/src/test/java/com/baeldung/rest/wiremock/introduction/ProgrammaticallyManagedLiveTest.java rename to testing-modules/rest-testing/src/test/java/com/baeldung/rest/wiremock/introduction/ProgrammaticallyManagedLiveTest.java diff --git a/testing-libraries/rest-testing/src/test/java/com/baeldung/rest/wiremock/scenario/WireMockScenarioExampleIntegrationTest.java b/testing-modules/rest-testing/src/test/java/com/baeldung/rest/wiremock/scenario/WireMockScenarioExampleIntegrationTest.java similarity index 100% rename from testing-libraries/rest-testing/src/test/java/com/baeldung/rest/wiremock/scenario/WireMockScenarioExampleIntegrationTest.java rename to testing-modules/rest-testing/src/test/java/com/baeldung/rest/wiremock/scenario/WireMockScenarioExampleIntegrationTest.java diff --git a/testing-libraries/rest-testing/src/test/java/org/baeldung/rest/GitHubUser.java b/testing-modules/rest-testing/src/test/java/org/baeldung/rest/GitHubUser.java similarity index 100% rename from testing-libraries/rest-testing/src/test/java/org/baeldung/rest/GitHubUser.java rename to testing-modules/rest-testing/src/test/java/org/baeldung/rest/GitHubUser.java diff --git a/testing-libraries/rest-testing/src/test/java/org/baeldung/rest/RetrieveUtil.java b/testing-modules/rest-testing/src/test/java/org/baeldung/rest/RetrieveUtil.java similarity index 100% rename from testing-libraries/rest-testing/src/test/java/org/baeldung/rest/RetrieveUtil.java rename to testing-modules/rest-testing/src/test/java/org/baeldung/rest/RetrieveUtil.java diff --git a/testing-libraries/rest-testing/src/test/resources/Feature/cucumber.feature b/testing-modules/rest-testing/src/test/resources/Feature/cucumber.feature similarity index 100% rename from testing-libraries/rest-testing/src/test/resources/Feature/cucumber.feature rename to testing-modules/rest-testing/src/test/resources/Feature/cucumber.feature diff --git a/testing-libraries/rest-testing/src/test/resources/github_user_not_found.story b/testing-modules/rest-testing/src/test/resources/github_user_not_found.story similarity index 100% rename from testing-libraries/rest-testing/src/test/resources/github_user_not_found.story rename to testing-modules/rest-testing/src/test/resources/github_user_not_found.story diff --git a/testing-libraries/rest-testing/src/test/resources/github_user_response_mediatype.story b/testing-modules/rest-testing/src/test/resources/github_user_response_mediatype.story similarity index 100% rename from testing-libraries/rest-testing/src/test/resources/github_user_response_mediatype.story rename to testing-modules/rest-testing/src/test/resources/github_user_response_mediatype.story diff --git a/testing-libraries/rest-testing/src/test/resources/github_user_response_payload.story b/testing-modules/rest-testing/src/test/resources/github_user_response_payload.story similarity index 100% rename from testing-libraries/rest-testing/src/test/resources/github_user_response_payload.story rename to testing-modules/rest-testing/src/test/resources/github_user_response_payload.story diff --git a/testing-libraries/rest-testing/src/test/resources/increase.story b/testing-modules/rest-testing/src/test/resources/increase.story similarity index 100% rename from testing-libraries/rest-testing/src/test/resources/increase.story rename to testing-modules/rest-testing/src/test/resources/increase.story diff --git a/testing-libraries/rest-testing/src/test/resources/karate/user.feature b/testing-modules/rest-testing/src/test/resources/karate/user.feature similarity index 100% rename from testing-libraries/rest-testing/src/test/resources/karate/user.feature rename to testing-modules/rest-testing/src/test/resources/karate/user.feature diff --git a/testing-libraries/runjunitfromjava/src/main/resources/logback.xml b/testing-modules/runjunitfromjava/src/main/resources/logback.xml similarity index 100% rename from testing-libraries/runjunitfromjava/src/main/resources/logback.xml rename to testing-modules/runjunitfromjava/src/main/resources/logback.xml diff --git a/testing-libraries/runjunitfromjava/src/test/java/com/baeldung/junit4/runfromjava/FirstUnitTest.java b/testing-modules/runjunitfromjava/src/test/java/com/baeldung/junit4/runfromjava/FirstUnitTest.java similarity index 100% rename from testing-libraries/runjunitfromjava/src/test/java/com/baeldung/junit4/runfromjava/FirstUnitTest.java rename to testing-modules/runjunitfromjava/src/test/java/com/baeldung/junit4/runfromjava/FirstUnitTest.java diff --git a/testing-libraries/runjunitfromjava/src/test/java/com/baeldung/junit4/runfromjava/SecondUnitTest.java b/testing-modules/runjunitfromjava/src/test/java/com/baeldung/junit4/runfromjava/SecondUnitTest.java similarity index 100% rename from testing-libraries/runjunitfromjava/src/test/java/com/baeldung/junit4/runfromjava/SecondUnitTest.java rename to testing-modules/runjunitfromjava/src/test/java/com/baeldung/junit4/runfromjava/SecondUnitTest.java diff --git a/testing-libraries/runjunitfromjava/src/test/java/com/baeldung/junit5/runfromjava/FirstUnitTest.java b/testing-modules/runjunitfromjava/src/test/java/com/baeldung/junit5/runfromjava/FirstUnitTest.java similarity index 100% rename from testing-libraries/runjunitfromjava/src/test/java/com/baeldung/junit5/runfromjava/FirstUnitTest.java rename to testing-modules/runjunitfromjava/src/test/java/com/baeldung/junit5/runfromjava/FirstUnitTest.java diff --git a/testing-libraries/runjunitfromjava/src/test/java/com/baeldung/junit5/runfromjava/SecondUnitTest.java b/testing-modules/runjunitfromjava/src/test/java/com/baeldung/junit5/runfromjava/SecondUnitTest.java similarity index 100% rename from testing-libraries/runjunitfromjava/src/test/java/com/baeldung/junit5/runfromjava/SecondUnitTest.java rename to testing-modules/runjunitfromjava/src/test/java/com/baeldung/junit5/runfromjava/SecondUnitTest.java diff --git a/testing-libraries/selenium-junit-testng/README.md b/testing-modules/selenium-junit-testng/README.md similarity index 100% rename from testing-libraries/selenium-junit-testng/README.md rename to testing-modules/selenium-junit-testng/README.md diff --git a/testing-libraries/selenium-junit-testng/geckodriver.mac b/testing-modules/selenium-junit-testng/geckodriver.mac similarity index 100% rename from testing-libraries/selenium-junit-testng/geckodriver.mac rename to testing-modules/selenium-junit-testng/geckodriver.mac diff --git a/testing-libraries/selenium-junit-testng/pom.xml b/testing-modules/selenium-junit-testng/pom.xml similarity index 100% rename from testing-libraries/selenium-junit-testng/pom.xml rename to testing-modules/selenium-junit-testng/pom.xml diff --git a/testing-libraries/selenium-junit-testng/src/main/java/com/baeldung/selenium/SeleniumExample.java b/testing-modules/selenium-junit-testng/src/main/java/com/baeldung/selenium/SeleniumExample.java similarity index 100% rename from testing-libraries/selenium-junit-testng/src/main/java/com/baeldung/selenium/SeleniumExample.java rename to testing-modules/selenium-junit-testng/src/main/java/com/baeldung/selenium/SeleniumExample.java diff --git a/testing-libraries/selenium-junit-testng/src/main/java/com/baeldung/selenium/config/SeleniumConfig.java b/testing-modules/selenium-junit-testng/src/main/java/com/baeldung/selenium/config/SeleniumConfig.java similarity index 100% rename from testing-libraries/selenium-junit-testng/src/main/java/com/baeldung/selenium/config/SeleniumConfig.java rename to testing-modules/selenium-junit-testng/src/main/java/com/baeldung/selenium/config/SeleniumConfig.java diff --git a/testing-libraries/selenium-junit-testng/src/main/java/com/baeldung/selenium/models/BaeldungAbout.java b/testing-modules/selenium-junit-testng/src/main/java/com/baeldung/selenium/models/BaeldungAbout.java similarity index 100% rename from testing-libraries/selenium-junit-testng/src/main/java/com/baeldung/selenium/models/BaeldungAbout.java rename to testing-modules/selenium-junit-testng/src/main/java/com/baeldung/selenium/models/BaeldungAbout.java diff --git a/testing-libraries/selenium-junit-testng/src/main/java/com/baeldung/selenium/pages/BaeldungAboutPage.java b/testing-modules/selenium-junit-testng/src/main/java/com/baeldung/selenium/pages/BaeldungAboutPage.java similarity index 100% rename from testing-libraries/selenium-junit-testng/src/main/java/com/baeldung/selenium/pages/BaeldungAboutPage.java rename to testing-modules/selenium-junit-testng/src/main/java/com/baeldung/selenium/pages/BaeldungAboutPage.java diff --git a/testing-libraries/selenium-junit-testng/src/main/java/com/baeldung/selenium/pages/BaeldungHomePage.java b/testing-modules/selenium-junit-testng/src/main/java/com/baeldung/selenium/pages/BaeldungHomePage.java similarity index 100% rename from testing-libraries/selenium-junit-testng/src/main/java/com/baeldung/selenium/pages/BaeldungHomePage.java rename to testing-modules/selenium-junit-testng/src/main/java/com/baeldung/selenium/pages/BaeldungHomePage.java diff --git a/testing-libraries/selenium-junit-testng/src/main/java/com/baeldung/selenium/pages/StartHerePage.java b/testing-modules/selenium-junit-testng/src/main/java/com/baeldung/selenium/pages/StartHerePage.java similarity index 100% rename from testing-libraries/selenium-junit-testng/src/main/java/com/baeldung/selenium/pages/StartHerePage.java rename to testing-modules/selenium-junit-testng/src/main/java/com/baeldung/selenium/pages/StartHerePage.java diff --git a/testing-libraries/selenium-junit-testng/src/main/resources/logback.xml b/testing-modules/selenium-junit-testng/src/main/resources/logback.xml similarity index 100% rename from testing-libraries/selenium-junit-testng/src/main/resources/logback.xml rename to testing-modules/selenium-junit-testng/src/main/resources/logback.xml diff --git a/testing-libraries/selenium-junit-testng/src/test/java/com/baeldung/selenium/junit/SeleniumPageObjectLiveTest.java b/testing-modules/selenium-junit-testng/src/test/java/com/baeldung/selenium/junit/SeleniumPageObjectLiveTest.java similarity index 100% rename from testing-libraries/selenium-junit-testng/src/test/java/com/baeldung/selenium/junit/SeleniumPageObjectLiveTest.java rename to testing-modules/selenium-junit-testng/src/test/java/com/baeldung/selenium/junit/SeleniumPageObjectLiveTest.java diff --git a/testing-libraries/selenium-junit-testng/src/test/java/com/baeldung/selenium/junit/SeleniumWithJUnitLiveTest.java b/testing-modules/selenium-junit-testng/src/test/java/com/baeldung/selenium/junit/SeleniumWithJUnitLiveTest.java similarity index 100% rename from testing-libraries/selenium-junit-testng/src/test/java/com/baeldung/selenium/junit/SeleniumWithJUnitLiveTest.java rename to testing-modules/selenium-junit-testng/src/test/java/com/baeldung/selenium/junit/SeleniumWithJUnitLiveTest.java diff --git a/testing-libraries/selenium-junit-testng/src/test/java/com/baeldung/selenium/testng/SeleniumWithTestNGLiveTest.java b/testing-modules/selenium-junit-testng/src/test/java/com/baeldung/selenium/testng/SeleniumWithTestNGLiveTest.java similarity index 100% rename from testing-libraries/selenium-junit-testng/src/test/java/com/baeldung/selenium/testng/SeleniumWithTestNGLiveTest.java rename to testing-modules/selenium-junit-testng/src/test/java/com/baeldung/selenium/testng/SeleniumWithTestNGLiveTest.java diff --git a/testing-libraries/spring-testing/README.md b/testing-modules/spring-testing/README.md similarity index 100% rename from testing-libraries/spring-testing/README.md rename to testing-modules/spring-testing/README.md diff --git a/testing-libraries/spring-testing/pom.xml b/testing-modules/spring-testing/pom.xml similarity index 100% rename from testing-libraries/spring-testing/pom.xml rename to testing-modules/spring-testing/pom.xml diff --git a/testing-libraries/spring-testing/src/main/java/com/baeldung/config/ScheduledConfig.java b/testing-modules/spring-testing/src/main/java/com/baeldung/config/ScheduledConfig.java similarity index 100% rename from testing-libraries/spring-testing/src/main/java/com/baeldung/config/ScheduledConfig.java rename to testing-modules/spring-testing/src/main/java/com/baeldung/config/ScheduledConfig.java diff --git a/testing-libraries/spring-testing/src/main/java/com/baeldung/config/WebConfig.java b/testing-modules/spring-testing/src/main/java/com/baeldung/config/WebConfig.java similarity index 100% rename from testing-libraries/spring-testing/src/main/java/com/baeldung/config/WebConfig.java rename to testing-modules/spring-testing/src/main/java/com/baeldung/config/WebConfig.java diff --git a/testing-libraries/spring-testing/src/main/java/com/baeldung/controller/parameterized/EmployeeRoleController.java b/testing-modules/spring-testing/src/main/java/com/baeldung/controller/parameterized/EmployeeRoleController.java similarity index 100% rename from testing-libraries/spring-testing/src/main/java/com/baeldung/controller/parameterized/EmployeeRoleController.java rename to testing-modules/spring-testing/src/main/java/com/baeldung/controller/parameterized/EmployeeRoleController.java diff --git a/testing-libraries/spring-testing/src/main/java/com/baeldung/overrideproperties/Application.java b/testing-modules/spring-testing/src/main/java/com/baeldung/overrideproperties/Application.java similarity index 100% rename from testing-libraries/spring-testing/src/main/java/com/baeldung/overrideproperties/Application.java rename to testing-modules/spring-testing/src/main/java/com/baeldung/overrideproperties/Application.java diff --git a/testing-libraries/spring-testing/src/main/java/com/baeldung/overrideproperties/resolver/PropertySourceResolver.java b/testing-modules/spring-testing/src/main/java/com/baeldung/overrideproperties/resolver/PropertySourceResolver.java similarity index 100% rename from testing-libraries/spring-testing/src/main/java/com/baeldung/overrideproperties/resolver/PropertySourceResolver.java rename to testing-modules/spring-testing/src/main/java/com/baeldung/overrideproperties/resolver/PropertySourceResolver.java diff --git a/testing-libraries/spring-testing/src/main/java/com/baeldung/scheduled/Counter.java b/testing-modules/spring-testing/src/main/java/com/baeldung/scheduled/Counter.java similarity index 100% rename from testing-libraries/spring-testing/src/main/java/com/baeldung/scheduled/Counter.java rename to testing-modules/spring-testing/src/main/java/com/baeldung/scheduled/Counter.java diff --git a/testing-libraries/spring-testing/src/main/java/com/baeldung/testpropertysource/ClassUsingProperty.java b/testing-modules/spring-testing/src/main/java/com/baeldung/testpropertysource/ClassUsingProperty.java similarity index 100% rename from testing-libraries/spring-testing/src/main/java/com/baeldung/testpropertysource/ClassUsingProperty.java rename to testing-modules/spring-testing/src/main/java/com/baeldung/testpropertysource/ClassUsingProperty.java diff --git a/testing-libraries/spring-testing/src/main/java/org/baeldung/mockito/repository/User.java b/testing-modules/spring-testing/src/main/java/org/baeldung/mockito/repository/User.java similarity index 100% rename from testing-libraries/spring-testing/src/main/java/org/baeldung/mockito/repository/User.java rename to testing-modules/spring-testing/src/main/java/org/baeldung/mockito/repository/User.java diff --git a/testing-libraries/spring-testing/src/main/java/org/baeldung/mockito/repository/UserRepository.java b/testing-modules/spring-testing/src/main/java/org/baeldung/mockito/repository/UserRepository.java similarity index 100% rename from testing-libraries/spring-testing/src/main/java/org/baeldung/mockito/repository/UserRepository.java rename to testing-modules/spring-testing/src/main/java/org/baeldung/mockito/repository/UserRepository.java diff --git a/testing-libraries/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/Employee.java b/testing-modules/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/Employee.java similarity index 100% rename from testing-libraries/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/Employee.java rename to testing-modules/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/Employee.java diff --git a/testing-libraries/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/EmployeeService.java b/testing-modules/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/EmployeeService.java similarity index 100% rename from testing-libraries/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/EmployeeService.java rename to testing-modules/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/EmployeeService.java diff --git a/testing-libraries/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/HRService.java b/testing-modules/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/HRService.java similarity index 100% rename from testing-libraries/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/HRService.java rename to testing-modules/spring-testing/src/main/java/org/baeldung/reflectiontestutils/repository/HRService.java diff --git a/testing-libraries/spring-testing/src/main/resources/logback.xml b/testing-modules/spring-testing/src/main/resources/logback.xml similarity index 100% rename from testing-libraries/spring-testing/src/main/resources/logback.xml rename to testing-modules/spring-testing/src/main/resources/logback.xml diff --git a/testing-libraries/spring-testing/src/test/java/com/baeldung/controller/parameterized/RoleControllerIntegrationTest.java b/testing-modules/spring-testing/src/test/java/com/baeldung/controller/parameterized/RoleControllerIntegrationTest.java similarity index 100% rename from testing-libraries/spring-testing/src/test/java/com/baeldung/controller/parameterized/RoleControllerIntegrationTest.java rename to testing-modules/spring-testing/src/test/java/com/baeldung/controller/parameterized/RoleControllerIntegrationTest.java diff --git a/testing-libraries/spring-testing/src/test/java/com/baeldung/controller/parameterized/RoleControllerParameterizedClassRuleIntegrationTest.java b/testing-modules/spring-testing/src/test/java/com/baeldung/controller/parameterized/RoleControllerParameterizedClassRuleIntegrationTest.java similarity index 100% rename from testing-libraries/spring-testing/src/test/java/com/baeldung/controller/parameterized/RoleControllerParameterizedClassRuleIntegrationTest.java rename to testing-modules/spring-testing/src/test/java/com/baeldung/controller/parameterized/RoleControllerParameterizedClassRuleIntegrationTest.java diff --git a/testing-libraries/spring-testing/src/test/java/com/baeldung/controller/parameterized/RoleControllerParameterizedIntegrationTest.java b/testing-modules/spring-testing/src/test/java/com/baeldung/controller/parameterized/RoleControllerParameterizedIntegrationTest.java similarity index 100% rename from testing-libraries/spring-testing/src/test/java/com/baeldung/controller/parameterized/RoleControllerParameterizedIntegrationTest.java rename to testing-modules/spring-testing/src/test/java/com/baeldung/controller/parameterized/RoleControllerParameterizedIntegrationTest.java diff --git a/testing-libraries/spring-testing/src/test/java/com/baeldung/overrideproperties/ContextPropertySourceResolverIntegrationTest.java b/testing-modules/spring-testing/src/test/java/com/baeldung/overrideproperties/ContextPropertySourceResolverIntegrationTest.java similarity index 100% rename from testing-libraries/spring-testing/src/test/java/com/baeldung/overrideproperties/ContextPropertySourceResolverIntegrationTest.java rename to testing-modules/spring-testing/src/test/java/com/baeldung/overrideproperties/ContextPropertySourceResolverIntegrationTest.java diff --git a/testing-libraries/spring-testing/src/test/java/com/baeldung/overrideproperties/ProfilePropertySourceResolverIntegrationTest.java b/testing-modules/spring-testing/src/test/java/com/baeldung/overrideproperties/ProfilePropertySourceResolverIntegrationTest.java similarity index 100% rename from testing-libraries/spring-testing/src/test/java/com/baeldung/overrideproperties/ProfilePropertySourceResolverIntegrationTest.java rename to testing-modules/spring-testing/src/test/java/com/baeldung/overrideproperties/ProfilePropertySourceResolverIntegrationTest.java diff --git a/testing-libraries/spring-testing/src/test/java/com/baeldung/overrideproperties/PropertyOverrideContextInitializer.java b/testing-modules/spring-testing/src/test/java/com/baeldung/overrideproperties/PropertyOverrideContextInitializer.java similarity index 100% rename from testing-libraries/spring-testing/src/test/java/com/baeldung/overrideproperties/PropertyOverrideContextInitializer.java rename to testing-modules/spring-testing/src/test/java/com/baeldung/overrideproperties/PropertyOverrideContextInitializer.java diff --git a/testing-libraries/spring-testing/src/test/java/com/baeldung/overrideproperties/SpringBootPropertySourceResolverIntegrationTest.java b/testing-modules/spring-testing/src/test/java/com/baeldung/overrideproperties/SpringBootPropertySourceResolverIntegrationTest.java similarity index 100% rename from testing-libraries/spring-testing/src/test/java/com/baeldung/overrideproperties/SpringBootPropertySourceResolverIntegrationTest.java rename to testing-modules/spring-testing/src/test/java/com/baeldung/overrideproperties/SpringBootPropertySourceResolverIntegrationTest.java diff --git a/testing-libraries/spring-testing/src/test/java/com/baeldung/overrideproperties/TestResourcePropertySourceResolverIntegrationTest.java b/testing-modules/spring-testing/src/test/java/com/baeldung/overrideproperties/TestResourcePropertySourceResolverIntegrationTest.java similarity index 100% rename from testing-libraries/spring-testing/src/test/java/com/baeldung/overrideproperties/TestResourcePropertySourceResolverIntegrationTest.java rename to testing-modules/spring-testing/src/test/java/com/baeldung/overrideproperties/TestResourcePropertySourceResolverIntegrationTest.java diff --git a/testing-libraries/spring-testing/src/test/java/com/baeldung/scheduled/ScheduledAwaitilityIntegrationTest.java b/testing-modules/spring-testing/src/test/java/com/baeldung/scheduled/ScheduledAwaitilityIntegrationTest.java similarity index 100% rename from testing-libraries/spring-testing/src/test/java/com/baeldung/scheduled/ScheduledAwaitilityIntegrationTest.java rename to testing-modules/spring-testing/src/test/java/com/baeldung/scheduled/ScheduledAwaitilityIntegrationTest.java diff --git a/testing-libraries/spring-testing/src/test/java/com/baeldung/scheduled/ScheduledIntegrationTest.java b/testing-modules/spring-testing/src/test/java/com/baeldung/scheduled/ScheduledIntegrationTest.java similarity index 100% rename from testing-libraries/spring-testing/src/test/java/com/baeldung/scheduled/ScheduledIntegrationTest.java rename to testing-modules/spring-testing/src/test/java/com/baeldung/scheduled/ScheduledIntegrationTest.java diff --git a/testing-libraries/spring-testing/src/test/java/com/baeldung/testpropertysource/DefaultTestPropertySourceIntegrationTest.java b/testing-modules/spring-testing/src/test/java/com/baeldung/testpropertysource/DefaultTestPropertySourceIntegrationTest.java similarity index 100% rename from testing-libraries/spring-testing/src/test/java/com/baeldung/testpropertysource/DefaultTestPropertySourceIntegrationTest.java rename to testing-modules/spring-testing/src/test/java/com/baeldung/testpropertysource/DefaultTestPropertySourceIntegrationTest.java diff --git a/testing-libraries/spring-testing/src/test/java/com/baeldung/testpropertysource/LocationTestPropertySourceIntegrationTest.java b/testing-modules/spring-testing/src/test/java/com/baeldung/testpropertysource/LocationTestPropertySourceIntegrationTest.java similarity index 100% rename from testing-libraries/spring-testing/src/test/java/com/baeldung/testpropertysource/LocationTestPropertySourceIntegrationTest.java rename to testing-modules/spring-testing/src/test/java/com/baeldung/testpropertysource/LocationTestPropertySourceIntegrationTest.java diff --git a/testing-libraries/spring-testing/src/test/java/com/baeldung/testpropertysource/PropertiesTestPropertySourceIntegrationTest.java b/testing-modules/spring-testing/src/test/java/com/baeldung/testpropertysource/PropertiesTestPropertySourceIntegrationTest.java similarity index 100% rename from testing-libraries/spring-testing/src/test/java/com/baeldung/testpropertysource/PropertiesTestPropertySourceIntegrationTest.java rename to testing-modules/spring-testing/src/test/java/com/baeldung/testpropertysource/PropertiesTestPropertySourceIntegrationTest.java diff --git a/testing-libraries/spring-testing/src/test/java/org/baeldung/mockito/MockAnnotationUnitTest.java b/testing-modules/spring-testing/src/test/java/org/baeldung/mockito/MockAnnotationUnitTest.java similarity index 100% rename from testing-libraries/spring-testing/src/test/java/org/baeldung/mockito/MockAnnotationUnitTest.java rename to testing-modules/spring-testing/src/test/java/org/baeldung/mockito/MockAnnotationUnitTest.java diff --git a/testing-libraries/spring-testing/src/test/java/org/baeldung/mockito/MockBeanAnnotationIntegrationTest.java b/testing-modules/spring-testing/src/test/java/org/baeldung/mockito/MockBeanAnnotationIntegrationTest.java similarity index 100% rename from testing-libraries/spring-testing/src/test/java/org/baeldung/mockito/MockBeanAnnotationIntegrationTest.java rename to testing-modules/spring-testing/src/test/java/org/baeldung/mockito/MockBeanAnnotationIntegrationTest.java diff --git a/testing-libraries/spring-testing/src/test/java/org/baeldung/reflectiontestutils/ReflectionTestUtilsUnitTest.java b/testing-modules/spring-testing/src/test/java/org/baeldung/reflectiontestutils/ReflectionTestUtilsUnitTest.java similarity index 100% rename from testing-libraries/spring-testing/src/test/java/org/baeldung/reflectiontestutils/ReflectionTestUtilsUnitTest.java rename to testing-modules/spring-testing/src/test/java/org/baeldung/reflectiontestutils/ReflectionTestUtilsUnitTest.java diff --git a/testing-libraries/spring-testing/src/test/resources/application-test.properties b/testing-modules/spring-testing/src/test/resources/application-test.properties similarity index 100% rename from testing-libraries/spring-testing/src/test/resources/application-test.properties rename to testing-modules/spring-testing/src/test/resources/application-test.properties diff --git a/testing-libraries/spring-testing/src/test/resources/application.properties b/testing-modules/spring-testing/src/test/resources/application.properties similarity index 100% rename from testing-libraries/spring-testing/src/test/resources/application.properties rename to testing-modules/spring-testing/src/test/resources/application.properties diff --git a/testing-libraries/spring-testing/src/test/resources/com/baeldung/testpropertysource/DefaultTestPropertySourceIntegrationTest.properties b/testing-modules/spring-testing/src/test/resources/com/baeldung/testpropertysource/DefaultTestPropertySourceIntegrationTest.properties similarity index 100% rename from testing-libraries/spring-testing/src/test/resources/com/baeldung/testpropertysource/DefaultTestPropertySourceIntegrationTest.properties rename to testing-modules/spring-testing/src/test/resources/com/baeldung/testpropertysource/DefaultTestPropertySourceIntegrationTest.properties diff --git a/testing-libraries/spring-testing/src/test/resources/context-override-application.properties b/testing-modules/spring-testing/src/test/resources/context-override-application.properties similarity index 100% rename from testing-libraries/spring-testing/src/test/resources/context-override-application.properties rename to testing-modules/spring-testing/src/test/resources/context-override-application.properties diff --git a/testing-libraries/spring-testing/src/test/resources/other-location.properties b/testing-modules/spring-testing/src/test/resources/other-location.properties similarity index 100% rename from testing-libraries/spring-testing/src/test/resources/other-location.properties rename to testing-modules/spring-testing/src/test/resources/other-location.properties diff --git a/testing-libraries/test-containers/README.md b/testing-modules/test-containers/README.md similarity index 100% rename from testing-libraries/test-containers/README.md rename to testing-modules/test-containers/README.md diff --git a/testing-libraries/test-containers/pom.xml b/testing-modules/test-containers/pom.xml similarity index 100% rename from testing-libraries/test-containers/pom.xml rename to testing-modules/test-containers/pom.xml diff --git a/testing-libraries/test-containers/src/test/java/com/baeldung/testconainers/DockerComposeContainerLiveTest.java b/testing-modules/test-containers/src/test/java/com/baeldung/testconainers/DockerComposeContainerLiveTest.java similarity index 100% rename from testing-libraries/test-containers/src/test/java/com/baeldung/testconainers/DockerComposeContainerLiveTest.java rename to testing-modules/test-containers/src/test/java/com/baeldung/testconainers/DockerComposeContainerLiveTest.java diff --git a/testing-libraries/test-containers/src/test/java/com/baeldung/testconainers/GenericContainerLiveTest.java b/testing-modules/test-containers/src/test/java/com/baeldung/testconainers/GenericContainerLiveTest.java similarity index 100% rename from testing-libraries/test-containers/src/test/java/com/baeldung/testconainers/GenericContainerLiveTest.java rename to testing-modules/test-containers/src/test/java/com/baeldung/testconainers/GenericContainerLiveTest.java diff --git a/testing-libraries/test-containers/src/test/java/com/baeldung/testconainers/PostgreSqlContainerLiveTest.java b/testing-modules/test-containers/src/test/java/com/baeldung/testconainers/PostgreSqlContainerLiveTest.java similarity index 100% rename from testing-libraries/test-containers/src/test/java/com/baeldung/testconainers/PostgreSqlContainerLiveTest.java rename to testing-modules/test-containers/src/test/java/com/baeldung/testconainers/PostgreSqlContainerLiveTest.java diff --git a/testing-libraries/test-containers/src/test/java/com/baeldung/testconainers/WebDriverContainerLiveTest.java b/testing-modules/test-containers/src/test/java/com/baeldung/testconainers/WebDriverContainerLiveTest.java similarity index 100% rename from testing-libraries/test-containers/src/test/java/com/baeldung/testconainers/WebDriverContainerLiveTest.java rename to testing-modules/test-containers/src/test/java/com/baeldung/testconainers/WebDriverContainerLiveTest.java diff --git a/testing-libraries/test-containers/src/test/resources/test-compose.yml b/testing-modules/test-containers/src/test/resources/test-compose.yml similarity index 100% rename from testing-libraries/test-containers/src/test/resources/test-compose.yml rename to testing-modules/test-containers/src/test/resources/test-compose.yml diff --git a/testing-libraries/testng/README.md b/testing-modules/testng/README.md similarity index 100% rename from testing-libraries/testng/README.md rename to testing-modules/testng/README.md diff --git a/testing-libraries/testng/pom.xml b/testing-modules/testng/pom.xml similarity index 100% rename from testing-libraries/testng/pom.xml rename to testing-modules/testng/pom.xml diff --git a/testing-libraries/testng/src/test/java/com/baeldung/DependentLongRunningUnitTest.java b/testing-modules/testng/src/test/java/com/baeldung/DependentLongRunningUnitTest.java similarity index 100% rename from testing-libraries/testng/src/test/java/com/baeldung/DependentLongRunningUnitTest.java rename to testing-modules/testng/src/test/java/com/baeldung/DependentLongRunningUnitTest.java diff --git a/testing-libraries/testng/src/test/java/com/baeldung/GroupIntegrationTest.java b/testing-modules/testng/src/test/java/com/baeldung/GroupIntegrationTest.java similarity index 100% rename from testing-libraries/testng/src/test/java/com/baeldung/GroupIntegrationTest.java rename to testing-modules/testng/src/test/java/com/baeldung/GroupIntegrationTest.java diff --git a/testing-libraries/testng/src/test/java/com/baeldung/MultiThreadedIntegrationTest.java b/testing-modules/testng/src/test/java/com/baeldung/MultiThreadedIntegrationTest.java similarity index 100% rename from testing-libraries/testng/src/test/java/com/baeldung/MultiThreadedIntegrationTest.java rename to testing-modules/testng/src/test/java/com/baeldung/MultiThreadedIntegrationTest.java diff --git a/testing-libraries/testng/src/test/java/com/baeldung/ParametrizedLongRunningUnitTest.java b/testing-modules/testng/src/test/java/com/baeldung/ParametrizedLongRunningUnitTest.java similarity index 100% rename from testing-libraries/testng/src/test/java/com/baeldung/ParametrizedLongRunningUnitTest.java rename to testing-modules/testng/src/test/java/com/baeldung/ParametrizedLongRunningUnitTest.java diff --git a/testing-libraries/testng/src/test/java/com/baeldung/PriorityLongRunningUnitTest.java b/testing-modules/testng/src/test/java/com/baeldung/PriorityLongRunningUnitTest.java similarity index 100% rename from testing-libraries/testng/src/test/java/com/baeldung/PriorityLongRunningUnitTest.java rename to testing-modules/testng/src/test/java/com/baeldung/PriorityLongRunningUnitTest.java diff --git a/testing-libraries/testng/src/test/java/com/baeldung/RegistrationLongRunningUnitTest.java b/testing-modules/testng/src/test/java/com/baeldung/RegistrationLongRunningUnitTest.java similarity index 100% rename from testing-libraries/testng/src/test/java/com/baeldung/RegistrationLongRunningUnitTest.java rename to testing-modules/testng/src/test/java/com/baeldung/RegistrationLongRunningUnitTest.java diff --git a/testing-libraries/testng/src/test/java/com/baeldung/SignInLongRunningUnitTest.java b/testing-modules/testng/src/test/java/com/baeldung/SignInLongRunningUnitTest.java similarity index 100% rename from testing-libraries/testng/src/test/java/com/baeldung/SignInLongRunningUnitTest.java rename to testing-modules/testng/src/test/java/com/baeldung/SignInLongRunningUnitTest.java diff --git a/testing-libraries/testng/src/test/java/com/baeldung/SimpleLongRunningUnitTest.java b/testing-modules/testng/src/test/java/com/baeldung/SimpleLongRunningUnitTest.java similarity index 100% rename from testing-libraries/testng/src/test/java/com/baeldung/SimpleLongRunningUnitTest.java rename to testing-modules/testng/src/test/java/com/baeldung/SimpleLongRunningUnitTest.java diff --git a/testing-libraries/testng/src/test/java/com/baeldung/SummationServiceIntegrationTest.java b/testing-modules/testng/src/test/java/com/baeldung/SummationServiceIntegrationTest.java similarity index 100% rename from testing-libraries/testng/src/test/java/com/baeldung/SummationServiceIntegrationTest.java rename to testing-modules/testng/src/test/java/com/baeldung/SummationServiceIntegrationTest.java diff --git a/testing-libraries/testng/src/test/java/com/baeldung/TimeOutIntegrationTest.java b/testing-modules/testng/src/test/java/com/baeldung/TimeOutIntegrationTest.java similarity index 100% rename from testing-libraries/testng/src/test/java/com/baeldung/TimeOutIntegrationTest.java rename to testing-modules/testng/src/test/java/com/baeldung/TimeOutIntegrationTest.java diff --git a/testing-libraries/testng/src/test/java/com/baeldung/reports/CustomisedListener.java b/testing-modules/testng/src/test/java/com/baeldung/reports/CustomisedListener.java similarity index 100% rename from testing-libraries/testng/src/test/java/com/baeldung/reports/CustomisedListener.java rename to testing-modules/testng/src/test/java/com/baeldung/reports/CustomisedListener.java diff --git a/testing-libraries/testng/src/test/java/com/baeldung/reports/CustomisedReports.java b/testing-modules/testng/src/test/java/com/baeldung/reports/CustomisedReports.java similarity index 100% rename from testing-libraries/testng/src/test/java/com/baeldung/reports/CustomisedReports.java rename to testing-modules/testng/src/test/java/com/baeldung/reports/CustomisedReports.java diff --git a/testing-libraries/testng/src/test/resources/logback.xml b/testing-modules/testng/src/test/resources/logback.xml similarity index 100% rename from testing-libraries/testng/src/test/resources/logback.xml rename to testing-modules/testng/src/test/resources/logback.xml diff --git a/testing-libraries/testng/src/test/resources/parametrized_testng.xml b/testing-modules/testng/src/test/resources/parametrized_testng.xml similarity index 100% rename from testing-libraries/testng/src/test/resources/parametrized_testng.xml rename to testing-modules/testng/src/test/resources/parametrized_testng.xml diff --git a/testing-libraries/testng/src/test/resources/reportTemplate.html b/testing-modules/testng/src/test/resources/reportTemplate.html similarity index 100% rename from testing-libraries/testng/src/test/resources/reportTemplate.html rename to testing-modules/testng/src/test/resources/reportTemplate.html diff --git a/testing-libraries/testng/src/test/resources/test_group.xml b/testing-modules/testng/src/test/resources/test_group.xml similarity index 100% rename from testing-libraries/testng/src/test/resources/test_group.xml rename to testing-modules/testng/src/test/resources/test_group.xml diff --git a/testing-libraries/testng/src/test/resources/test_setup.xml b/testing-modules/testng/src/test/resources/test_setup.xml similarity index 100% rename from testing-libraries/testng/src/test/resources/test_setup.xml rename to testing-modules/testng/src/test/resources/test_setup.xml diff --git a/testing-libraries/testng/src/test/resources/test_suite.xml b/testing-modules/testng/src/test/resources/test_suite.xml similarity index 100% rename from testing-libraries/testng/src/test/resources/test_suite.xml rename to testing-modules/testng/src/test/resources/test_suite.xml diff --git a/testing-libraries/xmlunit-2/README.md b/testing-modules/xmlunit-2/README.md similarity index 100% rename from testing-libraries/xmlunit-2/README.md rename to testing-modules/xmlunit-2/README.md diff --git a/testing-libraries/xmlunit-2/pom.xml b/testing-modules/xmlunit-2/pom.xml similarity index 100% rename from testing-libraries/xmlunit-2/pom.xml rename to testing-modules/xmlunit-2/pom.xml diff --git a/testing-libraries/xmlunit-2/src/main/java/com/baeldung/xmlunit/IgnoreAttributeDifferenceEvaluator.java b/testing-modules/xmlunit-2/src/main/java/com/baeldung/xmlunit/IgnoreAttributeDifferenceEvaluator.java similarity index 100% rename from testing-libraries/xmlunit-2/src/main/java/com/baeldung/xmlunit/IgnoreAttributeDifferenceEvaluator.java rename to testing-modules/xmlunit-2/src/main/java/com/baeldung/xmlunit/IgnoreAttributeDifferenceEvaluator.java diff --git a/testing-libraries/xmlunit-2/src/main/resources/logback.xml b/testing-modules/xmlunit-2/src/main/resources/logback.xml similarity index 100% rename from testing-libraries/xmlunit-2/src/main/resources/logback.xml rename to testing-modules/xmlunit-2/src/main/resources/logback.xml diff --git a/testing-libraries/xmlunit-2/src/test/java/com/baeldung/xmlunit/XMLUnitTest.java b/testing-modules/xmlunit-2/src/test/java/com/baeldung/xmlunit/XMLUnitTest.java similarity index 100% rename from testing-libraries/xmlunit-2/src/test/java/com/baeldung/xmlunit/XMLUnitTest.java rename to testing-modules/xmlunit-2/src/test/java/com/baeldung/xmlunit/XMLUnitTest.java diff --git a/testing-libraries/xmlunit-2/src/test/resources/control.xml b/testing-modules/xmlunit-2/src/test/resources/control.xml similarity index 100% rename from testing-libraries/xmlunit-2/src/test/resources/control.xml rename to testing-modules/xmlunit-2/src/test/resources/control.xml diff --git a/testing-libraries/xmlunit-2/src/test/resources/students.xml b/testing-modules/xmlunit-2/src/test/resources/students.xml similarity index 100% rename from testing-libraries/xmlunit-2/src/test/resources/students.xml rename to testing-modules/xmlunit-2/src/test/resources/students.xml diff --git a/testing-libraries/xmlunit-2/src/test/resources/students.xsd b/testing-modules/xmlunit-2/src/test/resources/students.xsd similarity index 100% rename from testing-libraries/xmlunit-2/src/test/resources/students.xsd rename to testing-modules/xmlunit-2/src/test/resources/students.xsd diff --git a/testing-libraries/xmlunit-2/src/test/resources/students_with_error.xml b/testing-modules/xmlunit-2/src/test/resources/students_with_error.xml similarity index 100% rename from testing-libraries/xmlunit-2/src/test/resources/students_with_error.xml rename to testing-modules/xmlunit-2/src/test/resources/students_with_error.xml diff --git a/testing-libraries/xmlunit-2/src/test/resources/teachers.xml b/testing-modules/xmlunit-2/src/test/resources/teachers.xml similarity index 100% rename from testing-libraries/xmlunit-2/src/test/resources/teachers.xml rename to testing-modules/xmlunit-2/src/test/resources/teachers.xml diff --git a/testing-libraries/xmlunit-2/src/test/resources/test.xml b/testing-modules/xmlunit-2/src/test/resources/test.xml similarity index 100% rename from testing-libraries/xmlunit-2/src/test/resources/test.xml rename to testing-modules/xmlunit-2/src/test/resources/test.xml From c20918329f1ff4c03f0700c0a525603f9ec7a1ad Mon Sep 17 00:00:00 2001 From: Andrew Shcherbakov Date: Wed, 4 Sep 2019 22:25:22 +0200 Subject: [PATCH 077/316] Refactor the utility class --- .../com/baeldung/logreg/DataUtilities.java | 102 ----------------- .../com/baeldung/logreg/MnistClassifier.java | 16 +-- .../com/baeldung/logreg/MnistPrediction.java | 10 +- .../main/java/com/baeldung/logreg/Utils.java | 103 ++++++++++++++++++ 4 files changed, 119 insertions(+), 112 deletions(-) delete mode 100644 ml/src/main/java/com/baeldung/logreg/DataUtilities.java create mode 100644 ml/src/main/java/com/baeldung/logreg/Utils.java diff --git a/ml/src/main/java/com/baeldung/logreg/DataUtilities.java b/ml/src/main/java/com/baeldung/logreg/DataUtilities.java deleted file mode 100644 index 2f18d30219..0000000000 --- a/ml/src/main/java/com/baeldung/logreg/DataUtilities.java +++ /dev/null @@ -1,102 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015-2019 Skymind, Inc. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License, Version 2.0 which is available 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. - * - * SPDX-License-Identifier: Apache-2.0 - ******************************************************************************/ - -package com.baeldung.logreg; - -import org.apache.commons.compress.archivers.tar.TarArchiveEntry; -import org.apache.commons.compress.archivers.tar.TarArchiveInputStream; -import org.apache.commons.compress.compressors.gzip.GzipCompressorInputStream; -import org.apache.http.HttpEntity; -import org.apache.http.client.methods.CloseableHttpResponse; -import org.apache.http.client.methods.HttpGet; -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClientBuilder; - -import java.io.*; - -/** - * Common data utility functions. - * - * @author fvaleri - */ -public class DataUtilities { - - /** - * Download a remote file if it doesn't exist. - * @param remoteUrl URL of the remote file. - * @param localPath Where to download the file. - * @return True if and only if the file has been downloaded. - * @throws Exception IO error. - */ - public static boolean downloadFile(String remoteUrl, String localPath) throws IOException { - boolean downloaded = false; - if (remoteUrl == null || localPath == null) - return downloaded; - File file = new File(localPath); - if (!file.exists()) { - file.getParentFile().mkdirs(); - HttpClientBuilder builder = HttpClientBuilder.create(); - CloseableHttpClient client = builder.build(); - try (CloseableHttpResponse response = client.execute(new HttpGet(remoteUrl))) { - HttpEntity entity = response.getEntity(); - if (entity != null) { - try (FileOutputStream outstream = new FileOutputStream(file)) { - entity.writeTo(outstream); - outstream.flush(); - outstream.close(); - } - } - } - downloaded = true; - } - if (!file.exists()) - throw new IOException("File doesn't exist: " + localPath); - return downloaded; - } - - /** - * Extract a "tar.gz" file into a local folder. - * @param inputPath Input file path. - * @param outputPath Output directory path. - * @throws IOException IO error. - */ - public static void extractTarGz(String inputPath, String outputPath) throws IOException { - if (inputPath == null || outputPath == null) - return; - final int bufferSize = 4096; - if (!outputPath.endsWith("" + File.separatorChar)) - outputPath = outputPath + File.separatorChar; - try (TarArchiveInputStream tais = new TarArchiveInputStream( - new GzipCompressorInputStream(new BufferedInputStream(new FileInputStream(inputPath))))) { - TarArchiveEntry entry; - while ((entry = (TarArchiveEntry) tais.getNextEntry()) != null) { - if (entry.isDirectory()) { - new File(outputPath + entry.getName()).mkdirs(); - } else { - int count; - byte data[] = new byte[bufferSize]; - FileOutputStream fos = new FileOutputStream(outputPath + entry.getName()); - BufferedOutputStream dest = new BufferedOutputStream(fos, bufferSize); - while ((count = tais.read(data, 0, bufferSize)) != -1) { - dest.write(data, 0, count); - } - dest.close(); - } - } - } - } - -} diff --git a/ml/src/main/java/com/baeldung/logreg/MnistClassifier.java b/ml/src/main/java/com/baeldung/logreg/MnistClassifier.java index 395307712d..1246de973f 100644 --- a/ml/src/main/java/com/baeldung/logreg/MnistClassifier.java +++ b/ml/src/main/java/com/baeldung/logreg/MnistClassifier.java @@ -67,18 +67,20 @@ public class MnistClassifier { final String path = basePath + "mnist_png" + File.separator; if (!new File(path).exists()) { - logger.debug("Downloading data {}", dataUrl); + logger.info("Downloading data {}", dataUrl); String localFilePath = basePath + "mnist_png.tar.gz"; - logger.info("local file: {}", localFilePath); - if (DataUtilities.downloadFile(dataUrl, localFilePath)) { - DataUtilities.extractTarGz(localFilePath, basePath); + File file = new File(localFilePath); + if (!file.exists()) { + file.getParentFile() + .mkdirs(); + Utils.downloadAndSave(dataUrl, file); + Utils.extractTarArchive(file, basePath); } } else { - logger.info("local file exists {}", path); - + logger.info("Using the local data from folder {}", path); } - logger.info("Vectorizing data..."); + logger.info("Vectorizing the data from folder {}", path); // vectorization of train data File trainData = new File(path + "training"); FileSplit trainSplit = new FileSplit(trainData, NativeImageLoader.ALLOWED_FORMATS, randNumGen); diff --git a/ml/src/main/java/com/baeldung/logreg/MnistPrediction.java b/ml/src/main/java/com/baeldung/logreg/MnistPrediction.java index 5ec1348e07..56097d9a45 100644 --- a/ml/src/main/java/com/baeldung/logreg/MnistPrediction.java +++ b/ml/src/main/java/com/baeldung/logreg/MnistPrediction.java @@ -36,18 +36,22 @@ public class MnistPrediction { } public static void main(String[] args) throws IOException { - String path = fileChose().toString(); + if (!modelPath.exists()) { + logger.info("The model not found. Have you trained it?"); + return; + } MultiLayerNetwork model = ModelSerializer.restoreMultiLayerNetwork(modelPath); + String path = fileChose(); File file = new File(path); INDArray image = new NativeImageLoader(height, width, channels).asMatrix(file); new ImagePreProcessingScaler(0, 1).transform(image); - + // Pass through to neural Net INDArray output = model.output(image); logger.info("File: {}", path); - logger.info(output.toString()); + logger.info("Probabilities: {}", output); } } diff --git a/ml/src/main/java/com/baeldung/logreg/Utils.java b/ml/src/main/java/com/baeldung/logreg/Utils.java new file mode 100644 index 0000000000..fa4be127cd --- /dev/null +++ b/ml/src/main/java/com/baeldung/logreg/Utils.java @@ -0,0 +1,103 @@ +package com.baeldung.logreg; + +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; + +import org.apache.commons.compress.archivers.ArchiveEntry; +import org.apache.commons.compress.archivers.tar.TarArchiveEntry; +import org.apache.commons.compress.archivers.tar.TarArchiveInputStream; +import org.apache.commons.compress.compressors.gzip.GzipCompressorInputStream; +import org.apache.http.HttpEntity; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClientBuilder; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Utility class for digit classifier. + * + */ +public class Utils { + + private static final Logger logger = LoggerFactory.getLogger(Utils.class); + + private Utils() { + } + + /** + * Download the content of the given url and save it into a file. + * @param url + * @param file + */ + public static void downloadAndSave(String url, File file) throws IOException { + CloseableHttpClient client = HttpClientBuilder.create() + .build(); + logger.info("Connecting to {}", url); + try (CloseableHttpResponse response = client.execute(new HttpGet(url))) { + HttpEntity entity = response.getEntity(); + if (entity != null) { + logger.info("Downloaded {} bytes", entity.getContentLength()); + try (FileOutputStream outstream = new FileOutputStream(file)) { + logger.info("Saving to the local file"); + entity.writeTo(outstream); + outstream.flush(); + logger.info("Local file saved"); + } + } + } + } + + /** + * Extract a "tar.gz" file into a given folder. + * @param file + * @param folder + */ + public static void extractTarArchive(File file, String folder) throws IOException { + logger.info("Extracting archive {} into folder {}", file.getName(), folder); + // @formatter:off + try (FileInputStream fis = new FileInputStream(file); + BufferedInputStream bis = new BufferedInputStream(fis); + GzipCompressorInputStream gzip = new GzipCompressorInputStream(bis); + TarArchiveInputStream tar = new TarArchiveInputStream(gzip)) { + // @formatter:on + TarArchiveEntry entry; + while ((entry = (TarArchiveEntry) tar.getNextEntry()) != null) { + extractEntry(entry, tar, folder); + } + } + logger.info("Archive extracted"); + } + + /** + * Extract an entry of the input stream into a given folder + * @param entry + * @param tar + * @param folder + * @throws IOException + */ + public static void extractEntry(ArchiveEntry entry, InputStream tar, String folder) throws IOException { + final int bufferSize = 4096; + final String path = folder + entry.getName(); + if (entry.isDirectory()) { + new File(path).mkdirs(); + } else { + int count; + byte[] data = new byte[bufferSize]; + // @formatter:off + try (FileOutputStream os = new FileOutputStream(path); + BufferedOutputStream dest = new BufferedOutputStream(os, bufferSize)) { + // @formatter:off + while ((count = tar.read(data, 0, bufferSize)) != -1) { + dest.write(data, 0, count); + } + } + } + } +} From e925b07dabe28b6b4acf5d1a98582da0e186333e Mon Sep 17 00:00:00 2001 From: Rodrigo Graciano Date: Wed, 4 Sep 2019 21:05:08 -0400 Subject: [PATCH 078/316] BAEL-3173 --- libraries-primitive/pom.xml | 24 ++++++- .../PrimitiveCollectionsUnitTest.java | 70 +++++++++++++++++++ 2 files changed, 91 insertions(+), 3 deletions(-) create mode 100644 libraries-primitive/src/test/java/com/baeldung/PrimitiveCollectionsUnitTest.java diff --git a/libraries-primitive/pom.xml b/libraries-primitive/pom.xml index 12fc35c1b5..cddb3ab1fe 100644 --- a/libraries-primitive/pom.xml +++ b/libraries-primitive/pom.xml @@ -9,9 +9,14 @@ 1.0-SNAPSHOT libraries-primitive + + 1.8 + 1.8 + + - - + + it.unimi.dsi fastutil 8.2.2 @@ -36,5 +41,18 @@ 1.19 test + + + org.eclipse.collections + eclipse-collections-api + 10.0.0 + + + + org.eclipse.collections + eclipse-collections + 10.0.0 + + - + \ No newline at end of file diff --git a/libraries-primitive/src/test/java/com/baeldung/PrimitiveCollectionsUnitTest.java b/libraries-primitive/src/test/java/com/baeldung/PrimitiveCollectionsUnitTest.java new file mode 100644 index 0000000000..2adecd37fc --- /dev/null +++ b/libraries-primitive/src/test/java/com/baeldung/PrimitiveCollectionsUnitTest.java @@ -0,0 +1,70 @@ +package com.baeldung; + +import org.eclipse.collections.api.list.primitive.ImmutableIntList; +import org.eclipse.collections.api.list.primitive.MutableLongList; +import org.eclipse.collections.api.map.primitive.MutableIntIntMap; +import org.eclipse.collections.api.set.primitive.MutableIntSet; +import org.eclipse.collections.impl.factory.primitive.*; +import org.eclipse.collections.impl.list.Interval; +import org.eclipse.collections.impl.list.primitive.IntInterval; +import org.eclipse.collections.impl.map.mutable.primitive.IntIntHashMap; +import org.junit.Test; + +import java.util.stream.DoubleStream; + +import static org.junit.Assert.assertEquals; + + +public class PrimitiveCollectionsUnitTest { + + @Test + public void whenListOfLongHasOneTwoThree_thenSumIsSix() { + MutableLongList longList = LongLists.mutable.of(1L, 2L, 3L); + assertEquals(6, longList.sum()); + } + + @Test + public void whenListOfIntHasOneTwoThree_thenMaxIsThree() { + ImmutableIntList intList = IntLists.immutable.of(1, 2, 3); + assertEquals(3, intList.max()); + } + + @Test + public void whenConvertFromIterableToPrimitive_thenValuesAreEquals() { + Iterable iterable = Interval.oneTo(3); + MutableIntSet intSet = IntSets.mutable.withAll(iterable); + IntInterval intInterval = IntInterval.oneTo(3); + assertEquals(intInterval.toSet(), intSet); + } + + @Test + public void testOperationsOnIntIntMap() { + MutableIntIntMap map = new IntIntHashMap(); + assertEquals(5, map.addToValue(0, 5)); + assertEquals(5, map.get(0)); + assertEquals(3, map.getIfAbsentPut(1, 3)); + } + + @Test + public void whenCreateDoubleStream_thenAverageIsThree() { + DoubleStream doubleStream = DoubleLists + .mutable.with(1.0, 2.0, 3.0, 4.0, 5.0) + .primitiveStream(); + assertEquals(3, doubleStream.average().getAsDouble(), 0.001); + } + + @Test + public void whenCreateMapFromStream_thenValuesMustMatch() { + Iterable integers = Interval.oneTo(3); + MutableIntIntMap map = + IntIntMaps.mutable.from( + integers, + key -> key, + value -> value * value); + MutableIntIntMap expected = IntIntMaps.mutable.empty() + .withKeyValue(1, 1) + .withKeyValue(2, 4) + .withKeyValue(3, 9); + assertEquals(expected, map); + } +} \ No newline at end of file From 68d755274960d71920fd4f08cdd238694c631731 Mon Sep 17 00:00:00 2001 From: Krzysztof Majewski Date: Thu, 5 Sep 2019 09:50:34 +0200 Subject: [PATCH 079/316] Update pom.xml From f173646635285a51abc83cca1d2381cac80db7d6 Mon Sep 17 00:00:00 2001 From: Krzysztof Majewski Date: Thu, 5 Sep 2019 09:56:24 +0200 Subject: [PATCH 080/316] Update pom.xml From b003e69e0a57b57a766b8f3aa1d58f162e8f9479 Mon Sep 17 00:00:00 2001 From: Krzysztof Majewski Date: Thu, 5 Sep 2019 09:59:01 +0200 Subject: [PATCH 081/316] update pom --- spring-core-2/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-core-2/pom.xml b/spring-core-2/pom.xml index e24839b737..d68beda64a 100644 --- a/spring-core-2/pom.xml +++ b/spring-core-2/pom.xml @@ -57,4 +57,4 @@ 2.22.1 - + \ No newline at end of file From b04f8dad95605b165027156d192123a204b552e0 Mon Sep 17 00:00:00 2001 From: Dhawal Kapil Date: Thu, 5 Sep 2019 20:20:14 +0530 Subject: [PATCH 082/316] BAEL-17361 Slice 11 | The top 100 articles should have their own package in the module (#7683) --- .../java8/{ => streams}/Java8FindAnyFindFirstUnitTest.java | 2 +- .../baeldung/java8/{ => streams}/Java8StreamApiUnitTest.java | 2 +- .../SpringBootSecurityApplication.java | 4 ++-- .../{basic_auth => autoconfig}/config/BasicConfiguration.java | 2 +- .../config}/BasicConfigurationIntegrationTest.java | 4 +++- 5 files changed, 8 insertions(+), 6 deletions(-) rename java-streams/src/test/java/com/baeldung/java8/{ => streams}/Java8FindAnyFindFirstUnitTest.java (97%) rename java-streams/src/test/java/com/baeldung/java8/{ => streams}/Java8StreamApiUnitTest.java (99%) rename spring-boot-security/src/main/java/com/baeldung/springbootsecurity/{basic_auth => autoconfig}/SpringBootSecurityApplication.java (80%) rename spring-boot-security/src/main/java/com/baeldung/springbootsecurity/{basic_auth => autoconfig}/config/BasicConfiguration.java (95%) rename spring-boot-security/src/test/java/com/baeldung/springbootsecurity/{basic_auth => autoconfig/config}/BasicConfigurationIntegrationTest.java (93%) diff --git a/java-streams/src/test/java/com/baeldung/java8/Java8FindAnyFindFirstUnitTest.java b/java-streams/src/test/java/com/baeldung/java8/streams/Java8FindAnyFindFirstUnitTest.java similarity index 97% rename from java-streams/src/test/java/com/baeldung/java8/Java8FindAnyFindFirstUnitTest.java rename to java-streams/src/test/java/com/baeldung/java8/streams/Java8FindAnyFindFirstUnitTest.java index 8c2e0628fa..5f52fe375e 100644 --- a/java-streams/src/test/java/com/baeldung/java8/Java8FindAnyFindFirstUnitTest.java +++ b/java-streams/src/test/java/com/baeldung/java8/streams/Java8FindAnyFindFirstUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.java8; +package com.baeldung.java8.streams; import org.junit.Test; diff --git a/java-streams/src/test/java/com/baeldung/java8/Java8StreamApiUnitTest.java b/java-streams/src/test/java/com/baeldung/java8/streams/Java8StreamApiUnitTest.java similarity index 99% rename from java-streams/src/test/java/com/baeldung/java8/Java8StreamApiUnitTest.java rename to java-streams/src/test/java/com/baeldung/java8/streams/Java8StreamApiUnitTest.java index 5005cf7f47..75cfbc049f 100644 --- a/java-streams/src/test/java/com/baeldung/java8/Java8StreamApiUnitTest.java +++ b/java-streams/src/test/java/com/baeldung/java8/streams/Java8StreamApiUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.java8; +package com.baeldung.java8.streams; import com.baeldung.stream.Product; import org.junit.Before; diff --git a/spring-boot-security/src/main/java/com/baeldung/springbootsecurity/basic_auth/SpringBootSecurityApplication.java b/spring-boot-security/src/main/java/com/baeldung/springbootsecurity/autoconfig/SpringBootSecurityApplication.java similarity index 80% rename from spring-boot-security/src/main/java/com/baeldung/springbootsecurity/basic_auth/SpringBootSecurityApplication.java rename to spring-boot-security/src/main/java/com/baeldung/springbootsecurity/autoconfig/SpringBootSecurityApplication.java index 7007c15596..3afeda66a4 100644 --- a/spring-boot-security/src/main/java/com/baeldung/springbootsecurity/basic_auth/SpringBootSecurityApplication.java +++ b/spring-boot-security/src/main/java/com/baeldung/springbootsecurity/autoconfig/SpringBootSecurityApplication.java @@ -1,4 +1,4 @@ -package com.baeldung.springbootsecurity.basic_auth; +package com.baeldung.springbootsecurity.autoconfig; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -7,7 +7,7 @@ import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfi @SpringBootApplication(exclude = { SecurityAutoConfiguration.class // ,ManagementWebSecurityAutoConfiguration.class -}, scanBasePackages = "com.baeldung.springbootsecurity.basic_auth") +}, scanBasePackages = "com.baeldung.springbootsecurity.autoconfig") public class SpringBootSecurityApplication { public static void main(String[] args) { SpringApplication.run(SpringBootSecurityApplication.class, args); diff --git a/spring-boot-security/src/main/java/com/baeldung/springbootsecurity/basic_auth/config/BasicConfiguration.java b/spring-boot-security/src/main/java/com/baeldung/springbootsecurity/autoconfig/config/BasicConfiguration.java similarity index 95% rename from spring-boot-security/src/main/java/com/baeldung/springbootsecurity/basic_auth/config/BasicConfiguration.java rename to spring-boot-security/src/main/java/com/baeldung/springbootsecurity/autoconfig/config/BasicConfiguration.java index 3cfa45421c..7060792df5 100644 --- a/spring-boot-security/src/main/java/com/baeldung/springbootsecurity/basic_auth/config/BasicConfiguration.java +++ b/spring-boot-security/src/main/java/com/baeldung/springbootsecurity/autoconfig/config/BasicConfiguration.java @@ -1,4 +1,4 @@ -package com.baeldung.springbootsecurity.basic_auth.config; +package com.baeldung.springbootsecurity.autoconfig.config; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; diff --git a/spring-boot-security/src/test/java/com/baeldung/springbootsecurity/basic_auth/BasicConfigurationIntegrationTest.java b/spring-boot-security/src/test/java/com/baeldung/springbootsecurity/autoconfig/config/BasicConfigurationIntegrationTest.java similarity index 93% rename from spring-boot-security/src/test/java/com/baeldung/springbootsecurity/basic_auth/BasicConfigurationIntegrationTest.java rename to spring-boot-security/src/test/java/com/baeldung/springbootsecurity/autoconfig/config/BasicConfigurationIntegrationTest.java index f221712513..a28d0f5e26 100644 --- a/spring-boot-security/src/test/java/com/baeldung/springbootsecurity/basic_auth/BasicConfigurationIntegrationTest.java +++ b/spring-boot-security/src/test/java/com/baeldung/springbootsecurity/autoconfig/config/BasicConfigurationIntegrationTest.java @@ -1,4 +1,4 @@ -package com.baeldung.springbootsecurity.basic_auth; +package com.baeldung.springbootsecurity.autoconfig.config; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; @@ -18,6 +18,8 @@ import org.springframework.boot.web.server.LocalServerPort; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.test.context.junit4.SpringRunner; + +import com.baeldung.springbootsecurity.autoconfig.SpringBootSecurityApplication; @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = RANDOM_PORT, classes = SpringBootSecurityApplication.class) public class BasicConfigurationIntegrationTest { From 434bfc980e2bfa497e268101ed394775a9ba1812 Mon Sep 17 00:00:00 2001 From: Dhawal Kapil Date: Thu, 5 Sep 2019 21:31:32 +0530 Subject: [PATCH 083/316] BAEL-17391 Slice 13 | The top 100 articles should have their own package in the module (#7723) - Moved folders to respective packages --- .../groupingby}/Java8GroupingByCollectorUnitTest.java | 2 +- .../JacksonSerializationIgnoreUnitTest.java | 8 ++++---- .../{dtos/ignore => ignore/dtos}/MyDtoIgnoreField.java | 2 +- .../ignore => ignore/dtos}/MyDtoIgnoreFieldByName.java | 2 +- .../{dtos/ignore => ignore/dtos}/MyDtoIgnoreNull.java | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) rename core-java-modules/core-java-8/src/test/java/com/baeldung/{java8 => java_8_features/groupingby}/Java8GroupingByCollectorUnitTest.java (99%) rename jackson-simple/src/test/java/com/baeldung/jackson/{test => ignore}/JacksonSerializationIgnoreUnitTest.java (98%) rename jackson-simple/src/test/java/com/baeldung/jackson/{dtos/ignore => ignore/dtos}/MyDtoIgnoreField.java (94%) rename jackson-simple/src/test/java/com/baeldung/jackson/{dtos/ignore => ignore/dtos}/MyDtoIgnoreFieldByName.java (95%) rename jackson-simple/src/test/java/com/baeldung/jackson/{dtos/ignore => ignore/dtos}/MyDtoIgnoreNull.java (96%) diff --git a/core-java-modules/core-java-8/src/test/java/com/baeldung/java8/Java8GroupingByCollectorUnitTest.java b/core-java-modules/core-java-8/src/test/java/com/baeldung/java_8_features/groupingby/Java8GroupingByCollectorUnitTest.java similarity index 99% rename from core-java-modules/core-java-8/src/test/java/com/baeldung/java8/Java8GroupingByCollectorUnitTest.java rename to core-java-modules/core-java-8/src/test/java/com/baeldung/java_8_features/groupingby/Java8GroupingByCollectorUnitTest.java index eea019da2c..323586b85f 100644 --- a/core-java-modules/core-java-8/src/test/java/com/baeldung/java8/Java8GroupingByCollectorUnitTest.java +++ b/core-java-modules/core-java-8/src/test/java/com/baeldung/java_8_features/groupingby/Java8GroupingByCollectorUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.java8; +package com.baeldung.java_8_features.groupingby; import com.baeldung.java_8_features.groupingby.BlogPost; import com.baeldung.java_8_features.groupingby.BlogPostType; diff --git a/jackson-simple/src/test/java/com/baeldung/jackson/test/JacksonSerializationIgnoreUnitTest.java b/jackson-simple/src/test/java/com/baeldung/jackson/ignore/JacksonSerializationIgnoreUnitTest.java similarity index 98% rename from jackson-simple/src/test/java/com/baeldung/jackson/test/JacksonSerializationIgnoreUnitTest.java rename to jackson-simple/src/test/java/com/baeldung/jackson/ignore/JacksonSerializationIgnoreUnitTest.java index 146f274380..da8b464d03 100644 --- a/jackson-simple/src/test/java/com/baeldung/jackson/test/JacksonSerializationIgnoreUnitTest.java +++ b/jackson-simple/src/test/java/com/baeldung/jackson/ignore/JacksonSerializationIgnoreUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.jackson.test; +package com.baeldung.jackson.ignore; import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.not; @@ -15,9 +15,9 @@ import com.baeldung.jackson.dtos.MyDtoIncludeNonDefault; import com.baeldung.jackson.dtos.MyDtoWithFilter; import com.baeldung.jackson.dtos.MyDtoWithSpecialField; import com.baeldung.jackson.dtos.MyMixInForIgnoreType; -import com.baeldung.jackson.dtos.ignore.MyDtoIgnoreField; -import com.baeldung.jackson.dtos.ignore.MyDtoIgnoreFieldByName; -import com.baeldung.jackson.dtos.ignore.MyDtoIgnoreNull; +import com.baeldung.jackson.ignore.dtos.MyDtoIgnoreField; +import com.baeldung.jackson.ignore.dtos.MyDtoIgnoreFieldByName; +import com.baeldung.jackson.ignore.dtos.MyDtoIgnoreNull; import com.baeldung.jackson.serialization.MyDtoNullKeySerializer; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.core.JsonGenerator; diff --git a/jackson-simple/src/test/java/com/baeldung/jackson/dtos/ignore/MyDtoIgnoreField.java b/jackson-simple/src/test/java/com/baeldung/jackson/ignore/dtos/MyDtoIgnoreField.java similarity index 94% rename from jackson-simple/src/test/java/com/baeldung/jackson/dtos/ignore/MyDtoIgnoreField.java rename to jackson-simple/src/test/java/com/baeldung/jackson/ignore/dtos/MyDtoIgnoreField.java index f573501e85..8cbcb773cc 100644 --- a/jackson-simple/src/test/java/com/baeldung/jackson/dtos/ignore/MyDtoIgnoreField.java +++ b/jackson-simple/src/test/java/com/baeldung/jackson/ignore/dtos/MyDtoIgnoreField.java @@ -1,4 +1,4 @@ -package com.baeldung.jackson.dtos.ignore; +package com.baeldung.jackson.ignore.dtos; import com.fasterxml.jackson.annotation.JsonIgnore; diff --git a/jackson-simple/src/test/java/com/baeldung/jackson/dtos/ignore/MyDtoIgnoreFieldByName.java b/jackson-simple/src/test/java/com/baeldung/jackson/ignore/dtos/MyDtoIgnoreFieldByName.java similarity index 95% rename from jackson-simple/src/test/java/com/baeldung/jackson/dtos/ignore/MyDtoIgnoreFieldByName.java rename to jackson-simple/src/test/java/com/baeldung/jackson/ignore/dtos/MyDtoIgnoreFieldByName.java index e7b8ea2a8e..1aee31a1b3 100644 --- a/jackson-simple/src/test/java/com/baeldung/jackson/dtos/ignore/MyDtoIgnoreFieldByName.java +++ b/jackson-simple/src/test/java/com/baeldung/jackson/ignore/dtos/MyDtoIgnoreFieldByName.java @@ -1,4 +1,4 @@ -package com.baeldung.jackson.dtos.ignore; +package com.baeldung.jackson.ignore.dtos; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; diff --git a/jackson-simple/src/test/java/com/baeldung/jackson/dtos/ignore/MyDtoIgnoreNull.java b/jackson-simple/src/test/java/com/baeldung/jackson/ignore/dtos/MyDtoIgnoreNull.java similarity index 96% rename from jackson-simple/src/test/java/com/baeldung/jackson/dtos/ignore/MyDtoIgnoreNull.java rename to jackson-simple/src/test/java/com/baeldung/jackson/ignore/dtos/MyDtoIgnoreNull.java index bc443500a1..75532f18c2 100644 --- a/jackson-simple/src/test/java/com/baeldung/jackson/dtos/ignore/MyDtoIgnoreNull.java +++ b/jackson-simple/src/test/java/com/baeldung/jackson/ignore/dtos/MyDtoIgnoreNull.java @@ -1,4 +1,4 @@ -package com.baeldung.jackson.dtos.ignore; +package com.baeldung.jackson.ignore.dtos; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; From e7e2c0a8a6a650dbd36cc0ae559abe4c301d5489 Mon Sep 17 00:00:00 2001 From: maryarm Date: Thu, 5 Sep 2019 21:00:26 +0430 Subject: [PATCH 084/316] BAEL-3009: Logging Spring WebClient calls. -Review notes applied --- .../logging/WebClientLoggingIntegrationTest.java | 14 ++++++++------ .../reactive/logging/jetty/RequestLogEnhancer.java | 7 ++++--- .../reactive/logging/netty/CustomLogger.java | 2 +- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/WebClientLoggingIntegrationTest.java b/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/WebClientLoggingIntegrationTest.java index d5f1ef77a0..95c63f267f 100644 --- a/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/WebClientLoggingIntegrationTest.java +++ b/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/WebClientLoggingIntegrationTest.java @@ -3,7 +3,6 @@ package com.baeldung.reactive.logging; import ch.qos.logback.classic.spi.LoggingEvent; import ch.qos.logback.core.Appender; import com.baeldung.reactive.logging.filters.LogFilters; -import com.baeldung.reactive.logging.jetty.RequestLogEnhancer; import com.baeldung.reactive.logging.netty.CustomLogger; import com.fasterxml.jackson.databind.ObjectMapper; import java.net.URI; @@ -21,6 +20,7 @@ import org.springframework.web.reactive.function.client.WebClient; import reactor.netty.channel.BootstrapHandlers; import reactor.netty.http.client.HttpClient; +import static com.baeldung.reactive.logging.jetty.RequestLogEnhancer.enhance; import static org.mockito.ArgumentMatchers.argThat; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; @@ -69,13 +69,13 @@ public class WebClientLoggingIntegrationTest { } @Test - public void givenJettyHttpClient_whenEndpointIsConsumed_thenRequestAndResponseBodyShouldBeLogged() { + public void givenJettyHttpClient_whenEndpointIsConsumed_thenRequestAndResponseBodyLogged() { SslContextFactory.Client sslContextFactory = new SslContextFactory.Client(); org.eclipse.jetty.client.HttpClient httpClient = new org.eclipse.jetty.client.HttpClient(sslContextFactory) { @Override public Request newRequest(URI uri) { Request request = super.newRequest(uri); - return new RequestLogEnhancer().enhance(request); + return enhance(request); } }; @@ -94,7 +94,7 @@ public class WebClientLoggingIntegrationTest { } @Test - public void givenNettyHttpClientWithWiretap_whenEndpointIsConsumed_thenRequestAndResponseBodyShouldBeLogged() { + public void givenNettyHttpClientWithWiretap_whenEndpointIsConsumed_thenRequestAndResponseBodyLogged() { reactor.netty.http.client.HttpClient httpClient = HttpClient .create() @@ -108,11 +108,12 @@ public class WebClientLoggingIntegrationTest { .body(BodyInserters.fromObject(post)) .exchange() .block(); + verify(nettyAppender).doAppend(argThat(argument -> (((LoggingEvent) argument).getFormattedMessage()).contains("00000300"))); } @Test - public void givenNettyHttpClientWithCustomLogger_whenEndpointIsConsumed_thenRequestAndResponseBodyShouldBeLogged() { + public void givenNettyHttpClientWithCustomLogger_whenEndpointIsConsumed_thenRequestAndResponseBodyLogged() { reactor.netty.http.client.HttpClient httpClient = HttpClient .create() @@ -128,11 +129,12 @@ public class WebClientLoggingIntegrationTest { .body(BodyInserters.fromObject(post)) .exchange() .block(); + verify(nettyAppender).doAppend(argThat(argument -> (((LoggingEvent) argument).getFormattedMessage()).contains(sampleResponseBody))); } @Test - public void givenDefaultHttpClientWithString_whenEndpointIsConsumed_thenRequestAndResponseLogged() { + public void givenDefaultHttpClientWithFilter_whenEndpointIsConsumed_thenRequestAndResponseLogged() { WebClient .builder() .filters(exchangeFilterFunctions -> { diff --git a/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/jetty/RequestLogEnhancer.java b/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/jetty/RequestLogEnhancer.java index ac333feb6c..43e3660743 100644 --- a/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/jetty/RequestLogEnhancer.java +++ b/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/jetty/RequestLogEnhancer.java @@ -13,7 +13,7 @@ import org.eclipse.jetty.http.HttpHeader; @Slf4j public class RequestLogEnhancer { - public Request enhance(Request request) { + public static Request enhance(Request request) { StringBuilder group = new StringBuilder(); request.onRequestBegin(theRequest -> group .append("Request ") @@ -63,7 +63,7 @@ public class RequestLogEnhancer { return request; } - private String toString(ByteBuffer buffer, Charset charset) { + private static String toString(ByteBuffer buffer, Charset charset) { byte[] bytes; if (buffer.hasArray()) { bytes = new byte[buffer.capacity()]; @@ -75,7 +75,7 @@ public class RequestLogEnhancer { return new String(bytes, charset); } - private Charset getCharset(HttpFields headers) { + private static Charset getCharset(HttpFields headers) { String contentType = headers.get(HttpHeader.CONTENT_TYPE); if (contentType != null) { String[] tokens = contentType @@ -88,5 +88,6 @@ public class RequestLogEnhancer { } return StandardCharsets.UTF_8; } + } diff --git a/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/netty/CustomLogger.java b/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/netty/CustomLogger.java index 529549f99b..9f2a4d127f 100644 --- a/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/netty/CustomLogger.java +++ b/spring-5-reactive-client/src/test/java/com/baeldung/reactive/logging/netty/CustomLogger.java @@ -20,7 +20,7 @@ public class CustomLogger extends LoggingHandler { ByteBuf msg = (ByteBuf) arg; return decode(msg, msg.readerIndex(), msg.readableBytes(), defaultCharset()); } - return ""; + return super.format(ctx, event, arg); } private String decode(ByteBuf src, int readerIndex, int len, Charset charset) { From 3e155818d52d61a1550272c821ec61eaffb87c74 Mon Sep 17 00:00:00 2001 From: Sjmillington Date: Thu, 5 Sep 2019 17:44:52 +0100 Subject: [PATCH 085/316] [BAEL-13505] Move articles out of core-java part 1 --- .../core-java-exceptions/README.md | 5 +++++ .../core-java-exceptions/pom.xml | 20 +++++++++++++++++++ .../com/baeldung/exceptions/Arithmetic.java | 0 .../exceptions/ArrayIndexOutOfBounds.java | 0 .../com/baeldung/exceptions/ClassCast.java | 0 .../com/baeldung/exceptions/FileNotFound.java | 0 .../exceptions/GlobalExceptionHandler.java | 0 .../baeldung/exceptions/IllegalArgument.java | 0 .../com/baeldung/exceptions/IllegalState.java | 0 .../InterruptedExceptionExample.java | 0 .../com/baeldung/exceptions/MalformedURL.java | 0 .../com/baeldung/exceptions/NullPointer.java | 0 .../com/baeldung/exceptions/NumberFormat.java | 0 .../exceptions/ParseExceptionExample.java | 0 .../exceptions/StackTraceToString.java | 0 .../exceptions/StringIndexOutOfBounds.java | 0 .../java/com/baeldung/optional/Modem.java | 0 .../baeldung/optional/OrElseAndOrElseGet.java | 0 .../OrElseAndOrElseGetBenchmarkRunner.java | 0 .../java/com/baeldung/optional/Person.java | 0 .../baeldung/optional/PersonRepository.java | 0 .../GlobalExceptionHandlerUnitTest.java | 0 ...vaTryWithResourcesLongRunningUnitTest.java | 0 .../optional/PersonRepositoryUnitTest.java | 0 .../core-java-networking-2/README.md | 2 ++ .../baeldung/curltojava/JavaCurlExamples.java | 0 .../PostJSONWithHttpURLConnection.java | 0 .../curltojava/JavaCurlExamplesLiveTest.java | 0 .../core-java-reflection/README.MD | 1 + .../reflection/BaeldungReflectionUtils.java | 0 .../com/baeldung/reflection/Customer.java | 0 .../com/baeldung/reflection/Employee.java | 0 .../baeldung/reflection/MonthEmployee.java | 0 .../java/com/baeldung/reflection/Person.java | 0 .../BaeldungReflectionUtilsUnitTest.java | 0 .../PersonAndEmployeeReflectionUnitTest.java | 0 36 files changed, 28 insertions(+) rename core-java-modules/{core-java => core-java-exceptions}/src/main/java/com/baeldung/exceptions/Arithmetic.java (100%) rename core-java-modules/{core-java => core-java-exceptions}/src/main/java/com/baeldung/exceptions/ArrayIndexOutOfBounds.java (100%) rename core-java-modules/{core-java => core-java-exceptions}/src/main/java/com/baeldung/exceptions/ClassCast.java (100%) rename core-java-modules/{core-java => core-java-exceptions}/src/main/java/com/baeldung/exceptions/FileNotFound.java (100%) rename core-java-modules/{core-java => core-java-exceptions}/src/main/java/com/baeldung/exceptions/GlobalExceptionHandler.java (100%) rename core-java-modules/{core-java => core-java-exceptions}/src/main/java/com/baeldung/exceptions/IllegalArgument.java (100%) rename core-java-modules/{core-java => core-java-exceptions}/src/main/java/com/baeldung/exceptions/IllegalState.java (100%) rename core-java-modules/{core-java => core-java-exceptions}/src/main/java/com/baeldung/exceptions/InterruptedExceptionExample.java (100%) rename core-java-modules/{core-java => core-java-exceptions}/src/main/java/com/baeldung/exceptions/MalformedURL.java (100%) rename core-java-modules/{core-java => core-java-exceptions}/src/main/java/com/baeldung/exceptions/NullPointer.java (100%) rename core-java-modules/{core-java => core-java-exceptions}/src/main/java/com/baeldung/exceptions/NumberFormat.java (100%) rename core-java-modules/{core-java => core-java-exceptions}/src/main/java/com/baeldung/exceptions/ParseExceptionExample.java (100%) rename core-java-modules/{core-java => core-java-exceptions}/src/main/java/com/baeldung/exceptions/StackTraceToString.java (100%) rename core-java-modules/{core-java => core-java-exceptions}/src/main/java/com/baeldung/exceptions/StringIndexOutOfBounds.java (100%) rename core-java-modules/{core-java-8 => core-java-exceptions}/src/main/java/com/baeldung/optional/Modem.java (100%) rename core-java-modules/{core-java-8 => core-java-exceptions}/src/main/java/com/baeldung/optional/OrElseAndOrElseGet.java (100%) rename core-java-modules/{core-java-8 => core-java-exceptions}/src/main/java/com/baeldung/optional/OrElseAndOrElseGetBenchmarkRunner.java (100%) rename core-java-modules/{core-java-8 => core-java-exceptions}/src/main/java/com/baeldung/optional/Person.java (100%) rename core-java-modules/{core-java-8 => core-java-exceptions}/src/main/java/com/baeldung/optional/PersonRepository.java (100%) rename core-java-modules/{core-java => core-java-exceptions}/src/test/java/com/baeldung/exceptions/GlobalExceptionHandlerUnitTest.java (100%) rename core-java-modules/{core-java-8 => core-java-exceptions}/src/test/java/com/baeldung/java8/JavaTryWithResourcesLongRunningUnitTest.java (100%) rename core-java-modules/{core-java-8 => core-java-exceptions}/src/test/java/com/baeldung/optional/PersonRepositoryUnitTest.java (100%) rename core-java-modules/{core-java => core-java-networking-2}/src/main/java/com/baeldung/curltojava/JavaCurlExamples.java (100%) rename core-java-modules/{core-java => core-java-networking-2}/src/main/java/com/baeldung/urlconnection/PostJSONWithHttpURLConnection.java (100%) rename core-java-modules/{core-java => core-java-networking-2}/src/test/java/com/baeldung/curltojava/JavaCurlExamplesLiveTest.java (100%) rename core-java-modules/{core-java => core-java-reflection}/src/main/java/com/baeldung/reflection/BaeldungReflectionUtils.java (100%) rename core-java-modules/{core-java => core-java-reflection}/src/main/java/com/baeldung/reflection/Customer.java (100%) rename core-java-modules/{core-java => core-java-reflection}/src/main/java/com/baeldung/reflection/Employee.java (100%) rename core-java-modules/{core-java => core-java-reflection}/src/main/java/com/baeldung/reflection/MonthEmployee.java (100%) rename core-java-modules/{core-java => core-java-reflection}/src/main/java/com/baeldung/reflection/Person.java (100%) rename core-java-modules/{core-java => core-java-reflection}/src/test/java/com/baeldung/reflection/BaeldungReflectionUtilsUnitTest.java (100%) rename core-java-modules/{core-java => core-java-reflection}/src/test/java/com/baeldung/reflection/PersonAndEmployeeReflectionUnitTest.java (100%) diff --git a/core-java-modules/core-java-exceptions/README.md b/core-java-modules/core-java-exceptions/README.md index 79e5bad23a..78599c6b7b 100644 --- a/core-java-modules/core-java-exceptions/README.md +++ b/core-java-modules/core-java-exceptions/README.md @@ -1,3 +1,8 @@ ## Relevant Articles: - [Will an Error Be Caught by Catch Block in Java?](https://www.baeldung.com/java-error-catch) +- [Java Global Exception Handler](http://www.baeldung.com/java-global-exception-handler) +- [Common Java Exceptions](http://www.baeldung.com/java-common-exceptions) +- [Throw Exception in Optional in Java 8](https://www.baeldung.com/java-optional-throw-exception) +- [How to Find an Exception’s Root Cause in Java](https://www.baeldung.com/java-exception-root-cause) +- [Java – Try with Resources](https://www.baeldung.com/java-try-with-resources) diff --git a/core-java-modules/core-java-exceptions/pom.xml b/core-java-modules/core-java-exceptions/pom.xml index 2e5200944a..43c4e31033 100644 --- a/core-java-modules/core-java-exceptions/pom.xml +++ b/core-java-modules/core-java-exceptions/pom.xml @@ -26,10 +26,30 @@ commons-lang3 ${commons-lang3.version} + + org.openjdk.jmh + jmh-core + ${jmh-core.version} + + + org.openjdk.jmh + jmh-generator-annprocess + ${jmh-generator-annprocess.version} + + + + org.assertj + assertj-core + ${assertj-core.version} + test + 3.9 + 1.19 + 3.10.0 + 1.19 diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/exceptions/Arithmetic.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/Arithmetic.java similarity index 100% rename from core-java-modules/core-java/src/main/java/com/baeldung/exceptions/Arithmetic.java rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/Arithmetic.java diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/exceptions/ArrayIndexOutOfBounds.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/ArrayIndexOutOfBounds.java similarity index 100% rename from core-java-modules/core-java/src/main/java/com/baeldung/exceptions/ArrayIndexOutOfBounds.java rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/ArrayIndexOutOfBounds.java diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/exceptions/ClassCast.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/ClassCast.java similarity index 100% rename from core-java-modules/core-java/src/main/java/com/baeldung/exceptions/ClassCast.java rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/ClassCast.java diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/exceptions/FileNotFound.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/FileNotFound.java similarity index 100% rename from core-java-modules/core-java/src/main/java/com/baeldung/exceptions/FileNotFound.java rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/FileNotFound.java diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/exceptions/GlobalExceptionHandler.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/GlobalExceptionHandler.java similarity index 100% rename from core-java-modules/core-java/src/main/java/com/baeldung/exceptions/GlobalExceptionHandler.java rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/GlobalExceptionHandler.java diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/exceptions/IllegalArgument.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/IllegalArgument.java similarity index 100% rename from core-java-modules/core-java/src/main/java/com/baeldung/exceptions/IllegalArgument.java rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/IllegalArgument.java diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/exceptions/IllegalState.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/IllegalState.java similarity index 100% rename from core-java-modules/core-java/src/main/java/com/baeldung/exceptions/IllegalState.java rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/IllegalState.java diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/exceptions/InterruptedExceptionExample.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/InterruptedExceptionExample.java similarity index 100% rename from core-java-modules/core-java/src/main/java/com/baeldung/exceptions/InterruptedExceptionExample.java rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/InterruptedExceptionExample.java diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/exceptions/MalformedURL.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/MalformedURL.java similarity index 100% rename from core-java-modules/core-java/src/main/java/com/baeldung/exceptions/MalformedURL.java rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/MalformedURL.java diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/exceptions/NullPointer.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/NullPointer.java similarity index 100% rename from core-java-modules/core-java/src/main/java/com/baeldung/exceptions/NullPointer.java rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/NullPointer.java diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/exceptions/NumberFormat.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/NumberFormat.java similarity index 100% rename from core-java-modules/core-java/src/main/java/com/baeldung/exceptions/NumberFormat.java rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/NumberFormat.java diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/exceptions/ParseExceptionExample.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/ParseExceptionExample.java similarity index 100% rename from core-java-modules/core-java/src/main/java/com/baeldung/exceptions/ParseExceptionExample.java rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/ParseExceptionExample.java diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/exceptions/StackTraceToString.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/StackTraceToString.java similarity index 100% rename from core-java-modules/core-java/src/main/java/com/baeldung/exceptions/StackTraceToString.java rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/StackTraceToString.java diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/exceptions/StringIndexOutOfBounds.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/StringIndexOutOfBounds.java similarity index 100% rename from core-java-modules/core-java/src/main/java/com/baeldung/exceptions/StringIndexOutOfBounds.java rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/StringIndexOutOfBounds.java diff --git a/core-java-modules/core-java-8/src/main/java/com/baeldung/optional/Modem.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/optional/Modem.java similarity index 100% rename from core-java-modules/core-java-8/src/main/java/com/baeldung/optional/Modem.java rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/optional/Modem.java diff --git a/core-java-modules/core-java-8/src/main/java/com/baeldung/optional/OrElseAndOrElseGet.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/optional/OrElseAndOrElseGet.java similarity index 100% rename from core-java-modules/core-java-8/src/main/java/com/baeldung/optional/OrElseAndOrElseGet.java rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/optional/OrElseAndOrElseGet.java diff --git a/core-java-modules/core-java-8/src/main/java/com/baeldung/optional/OrElseAndOrElseGetBenchmarkRunner.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/optional/OrElseAndOrElseGetBenchmarkRunner.java similarity index 100% rename from core-java-modules/core-java-8/src/main/java/com/baeldung/optional/OrElseAndOrElseGetBenchmarkRunner.java rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/optional/OrElseAndOrElseGetBenchmarkRunner.java diff --git a/core-java-modules/core-java-8/src/main/java/com/baeldung/optional/Person.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/optional/Person.java similarity index 100% rename from core-java-modules/core-java-8/src/main/java/com/baeldung/optional/Person.java rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/optional/Person.java diff --git a/core-java-modules/core-java-8/src/main/java/com/baeldung/optional/PersonRepository.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/optional/PersonRepository.java similarity index 100% rename from core-java-modules/core-java-8/src/main/java/com/baeldung/optional/PersonRepository.java rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/optional/PersonRepository.java diff --git a/core-java-modules/core-java/src/test/java/com/baeldung/exceptions/GlobalExceptionHandlerUnitTest.java b/core-java-modules/core-java-exceptions/src/test/java/com/baeldung/exceptions/GlobalExceptionHandlerUnitTest.java similarity index 100% rename from core-java-modules/core-java/src/test/java/com/baeldung/exceptions/GlobalExceptionHandlerUnitTest.java rename to core-java-modules/core-java-exceptions/src/test/java/com/baeldung/exceptions/GlobalExceptionHandlerUnitTest.java diff --git a/core-java-modules/core-java-8/src/test/java/com/baeldung/java8/JavaTryWithResourcesLongRunningUnitTest.java b/core-java-modules/core-java-exceptions/src/test/java/com/baeldung/java8/JavaTryWithResourcesLongRunningUnitTest.java similarity index 100% rename from core-java-modules/core-java-8/src/test/java/com/baeldung/java8/JavaTryWithResourcesLongRunningUnitTest.java rename to core-java-modules/core-java-exceptions/src/test/java/com/baeldung/java8/JavaTryWithResourcesLongRunningUnitTest.java diff --git a/core-java-modules/core-java-8/src/test/java/com/baeldung/optional/PersonRepositoryUnitTest.java b/core-java-modules/core-java-exceptions/src/test/java/com/baeldung/optional/PersonRepositoryUnitTest.java similarity index 100% rename from core-java-modules/core-java-8/src/test/java/com/baeldung/optional/PersonRepositoryUnitTest.java rename to core-java-modules/core-java-exceptions/src/test/java/com/baeldung/optional/PersonRepositoryUnitTest.java diff --git a/core-java-modules/core-java-networking-2/README.md b/core-java-modules/core-java-networking-2/README.md index 6b6151248e..2bc648449a 100644 --- a/core-java-modules/core-java-networking-2/README.md +++ b/core-java-modules/core-java-networking-2/README.md @@ -1,3 +1,5 @@ ### Relevant Articles - [Checking if a URL Exists in Java](https://www.baeldung.com/java-check-url-exists) +- [Making a JSON POST Request With HttpURLConnection](https://www.baeldung.com/httpurlconnection-post) +- [Using Curl in Java](https://www.baeldung.com/java-curl) diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/curltojava/JavaCurlExamples.java b/core-java-modules/core-java-networking-2/src/main/java/com/baeldung/curltojava/JavaCurlExamples.java similarity index 100% rename from core-java-modules/core-java/src/main/java/com/baeldung/curltojava/JavaCurlExamples.java rename to core-java-modules/core-java-networking-2/src/main/java/com/baeldung/curltojava/JavaCurlExamples.java diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/urlconnection/PostJSONWithHttpURLConnection.java b/core-java-modules/core-java-networking-2/src/main/java/com/baeldung/urlconnection/PostJSONWithHttpURLConnection.java similarity index 100% rename from core-java-modules/core-java/src/main/java/com/baeldung/urlconnection/PostJSONWithHttpURLConnection.java rename to core-java-modules/core-java-networking-2/src/main/java/com/baeldung/urlconnection/PostJSONWithHttpURLConnection.java diff --git a/core-java-modules/core-java/src/test/java/com/baeldung/curltojava/JavaCurlExamplesLiveTest.java b/core-java-modules/core-java-networking-2/src/test/java/com/baeldung/curltojava/JavaCurlExamplesLiveTest.java similarity index 100% rename from core-java-modules/core-java/src/test/java/com/baeldung/curltojava/JavaCurlExamplesLiveTest.java rename to core-java-modules/core-java-networking-2/src/test/java/com/baeldung/curltojava/JavaCurlExamplesLiveTest.java diff --git a/core-java-modules/core-java-reflection/README.MD b/core-java-modules/core-java-reflection/README.MD index c8766d6858..d9cc95ad08 100644 --- a/core-java-modules/core-java-reflection/README.MD +++ b/core-java-modules/core-java-reflection/README.MD @@ -1,3 +1,4 @@ ## Relevant Articles - [Void Type in Java](https://www.baeldung.com/java-void-type) +- [Retrieve Fields from a Java Class Using Reflection](https://www.baeldung.com/java-reflection-class-fields) \ No newline at end of file diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/reflection/BaeldungReflectionUtils.java b/core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/BaeldungReflectionUtils.java similarity index 100% rename from core-java-modules/core-java/src/main/java/com/baeldung/reflection/BaeldungReflectionUtils.java rename to core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/BaeldungReflectionUtils.java diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/reflection/Customer.java b/core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/Customer.java similarity index 100% rename from core-java-modules/core-java/src/main/java/com/baeldung/reflection/Customer.java rename to core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/Customer.java diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/reflection/Employee.java b/core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/Employee.java similarity index 100% rename from core-java-modules/core-java/src/main/java/com/baeldung/reflection/Employee.java rename to core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/Employee.java diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/reflection/MonthEmployee.java b/core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/MonthEmployee.java similarity index 100% rename from core-java-modules/core-java/src/main/java/com/baeldung/reflection/MonthEmployee.java rename to core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/MonthEmployee.java diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/reflection/Person.java b/core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/Person.java similarity index 100% rename from core-java-modules/core-java/src/main/java/com/baeldung/reflection/Person.java rename to core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/Person.java diff --git a/core-java-modules/core-java/src/test/java/com/baeldung/reflection/BaeldungReflectionUtilsUnitTest.java b/core-java-modules/core-java-reflection/src/test/java/com/baeldung/reflection/BaeldungReflectionUtilsUnitTest.java similarity index 100% rename from core-java-modules/core-java/src/test/java/com/baeldung/reflection/BaeldungReflectionUtilsUnitTest.java rename to core-java-modules/core-java-reflection/src/test/java/com/baeldung/reflection/BaeldungReflectionUtilsUnitTest.java diff --git a/core-java-modules/core-java/src/test/java/com/baeldung/reflection/PersonAndEmployeeReflectionUnitTest.java b/core-java-modules/core-java-reflection/src/test/java/com/baeldung/reflection/PersonAndEmployeeReflectionUnitTest.java similarity index 100% rename from core-java-modules/core-java/src/test/java/com/baeldung/reflection/PersonAndEmployeeReflectionUnitTest.java rename to core-java-modules/core-java-reflection/src/test/java/com/baeldung/reflection/PersonAndEmployeeReflectionUnitTest.java From 2747b3b5e49e1e55e782481ada4ecec9aaddcc42 Mon Sep 17 00:00:00 2001 From: Eric Martin Date: Thu, 5 Sep 2019 14:45:00 -0500 Subject: [PATCH 086/316] import java.util.Arrays; --- .../core-java/src/main/java/com/baeldung/uuid/UUIDGenerator.java | 1 + 1 file changed, 1 insertion(+) diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/uuid/UUIDGenerator.java b/core-java-modules/core-java/src/main/java/com/baeldung/uuid/UUIDGenerator.java index c4663a429c..2659b29491 100644 --- a/core-java-modules/core-java/src/main/java/com/baeldung/uuid/UUIDGenerator.java +++ b/core-java-modules/core-java/src/main/java/com/baeldung/uuid/UUIDGenerator.java @@ -3,6 +3,7 @@ package com.baeldung.uuid; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; +import java.util.Arrays; import java.util.UUID; public class UUIDGenerator { From 78ca924a13817c591603ff00dddca7b370e587e8 Mon Sep 17 00:00:00 2001 From: amit2103 Date: Fri, 6 Sep 2019 01:31:18 +0530 Subject: [PATCH 087/316] [BAEL-15393] - Update Spring File Upload article --- spring-mvc-java/pom.xml | 31 +++---------------- .../java/com/baeldung/aop/LoggingAspect.java | 6 ++-- .../com/baeldung/aop/PerformanceAspect.java | 2 +- .../com/baeldung/aop/PublishingAspect.java | 4 +-- .../baeldung/spring/web/config/WebConfig.java | 12 +------ .../src/main/resources/application.properties | 26 +++------------- 6 files changed, 17 insertions(+), 64 deletions(-) diff --git a/spring-mvc-java/pom.xml b/spring-mvc-java/pom.xml index da9bd04d3d..87d2f612af 100644 --- a/spring-mvc-java/pom.xml +++ b/spring-mvc-java/pom.xml @@ -19,14 +19,6 @@ org.springframework.boot spring-boot-starter-web - - org.springframework.boot - spring-boot-starter-tomcat - - - org.springframework.boot - spring-boot-starter-jdbc - javax.servlet javax.servlet-api @@ -40,7 +32,11 @@ javax.servlet jstl - ${jstl.version} + + + org.apache.tomcat.embed + tomcat-embed-jasper + provided @@ -62,17 +58,6 @@ - - commons-fileupload - commons-fileupload - ${commons-fileupload.version} - - - commons-io - commons-io - - - net.sourceforge.htmlunit htmlunit @@ -143,12 +128,6 @@ org.springframework.boot spring-boot-starter-websocket - - - - - - org.glassfish javax.el diff --git a/spring-mvc-java/src/main/java/com/baeldung/aop/LoggingAspect.java b/spring-mvc-java/src/main/java/com/baeldung/aop/LoggingAspect.java index 7ae37404be..169d664471 100644 --- a/spring-mvc-java/src/main/java/com/baeldung/aop/LoggingAspect.java +++ b/spring-mvc-java/src/main/java/com/baeldung/aop/LoggingAspect.java @@ -23,15 +23,15 @@ public class LoggingAspect { } }; - @Pointcut("@target(org.springframework.stereotype.Repository)") + @Pointcut("within(com.baeldung..*) && execution(* com.baeldung.dao.FooDao.*(..))") public void repositoryMethods() { } - @Pointcut("@annotation(com.baeldung.aop.annotations.Loggable)") + @Pointcut("within(com.baeldung..*) && @annotation(com.baeldung.aop.annotations.Loggable)") public void loggableMethods() { } - @Pointcut("@args(com.baeldung.aop.annotations.Entity)") + @Pointcut("within(com.baeldung..*) && @args(com.baeldung.aop.annotations.Entity)") public void methodsAcceptingEntities() { } diff --git a/spring-mvc-java/src/main/java/com/baeldung/aop/PerformanceAspect.java b/spring-mvc-java/src/main/java/com/baeldung/aop/PerformanceAspect.java index 1f2076adff..8f374cc1e5 100644 --- a/spring-mvc-java/src/main/java/com/baeldung/aop/PerformanceAspect.java +++ b/spring-mvc-java/src/main/java/com/baeldung/aop/PerformanceAspect.java @@ -15,7 +15,7 @@ public class PerformanceAspect { private static Logger logger = Logger.getLogger(PerformanceAspect.class.getName()); - @Pointcut("within(@org.springframework.stereotype.Repository *)") + @Pointcut("within(com.baeldung..*) && execution(* com.baeldung.dao.FooDao.*(..))") public void repositoryClassMethods() { } diff --git a/spring-mvc-java/src/main/java/com/baeldung/aop/PublishingAspect.java b/spring-mvc-java/src/main/java/com/baeldung/aop/PublishingAspect.java index 7791c63e7b..a45402dc18 100644 --- a/spring-mvc-java/src/main/java/com/baeldung/aop/PublishingAspect.java +++ b/spring-mvc-java/src/main/java/com/baeldung/aop/PublishingAspect.java @@ -20,11 +20,11 @@ public class PublishingAspect { this.eventPublisher = eventPublisher; } - @Pointcut("@target(org.springframework.stereotype.Repository)") + @Pointcut("within(com.baeldung..*) && execution(* com.baeldung.dao.FooDao.*(..))") public void repositoryMethods() { } - @Pointcut("execution(* *..create*(Long,..))") + @Pointcut("within(com.baeldung..*) && execution(* com.baeldung.dao.FooDao.create*(Long,..))") public void firstLongParamMethods() { } diff --git a/spring-mvc-java/src/main/java/com/baeldung/spring/web/config/WebConfig.java b/spring-mvc-java/src/main/java/com/baeldung/spring/web/config/WebConfig.java index 7aa9d6c5b5..96e300464b 100644 --- a/spring-mvc-java/src/main/java/com/baeldung/spring/web/config/WebConfig.java +++ b/spring-mvc-java/src/main/java/com/baeldung/spring/web/config/WebConfig.java @@ -12,7 +12,6 @@ import org.springframework.context.support.ResourceBundleMessageSource; import org.springframework.http.MediaType; import org.springframework.http.converter.ByteArrayHttpMessageConverter; import org.springframework.http.converter.HttpMessageConverter; -import org.springframework.web.multipart.commons.CommonsMultipartResolver; import org.springframework.web.servlet.ViewResolver; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.PathMatchConfigurer; @@ -63,7 +62,7 @@ public class WebConfig implements WebMvcConfigurer { final SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver(); templateResolver.setPrefix("/WEB-INF/templates/"); templateResolver.setSuffix(".html"); - templateResolver.setTemplateMode("HTML5"); + templateResolver.setTemplateMode("HTML"); return templateResolver; } @@ -87,15 +86,6 @@ public class WebConfig implements WebMvcConfigurer { public void addResourceHandlers(final ResourceHandlerRegistry registry) { registry.addResourceHandler("/resources/**").addResourceLocations("/resources/"); } - - @Bean(name = "multipartResolver") - public CommonsMultipartResolver multipartResolver() { - - final CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(); - multipartResolver.setMaxUploadSize(100000); - - return multipartResolver; - } @Override public void extendMessageConverters(final List> converters) { diff --git a/spring-mvc-java/src/main/resources/application.properties b/spring-mvc-java/src/main/resources/application.properties index 4f618c96a9..00c491c271 100644 --- a/spring-mvc-java/src/main/resources/application.properties +++ b/spring-mvc-java/src/main/resources/application.properties @@ -1,21 +1,5 @@ -spring.servlet.multipart.max-file-size=10MB -spring.servlet.multipart.max-request-size=10MB -spring.http.multipart.enabled=true -spring.servlet.multipart.location=${java.io.tmpdir} - -logging.level.org.springframework=DEBUG -logging.level.com.baeldung=DEBUG - -#output to a temp_folder/file -logging.file=${java.io.tmpdir}/application.log - -# Logging pattern for the console -logging.pattern.console= %d{yyyy-MM-dd HH:mm:ss} - %msg%n - -# Logging pattern for file -logging.pattern.file= %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg% -spring.http.encoding.charset=UTF-8 -# Enable http encoding support. -spring.http.encoding.enabled=true -# Force the encoding to the configured charset on HTTP requests and responses. -spring.http.encoding.force=true \ No newline at end of file +server.servlet.context-path=/spring-mvc-java +spring.servlet.multipart.max-file-size=1MB +spring.servlet.multipart.max-request-size=1MB +spring.servlet.multipart.enabled=true +spring.servlet.multipart.location=${java.io.tmpdir} \ No newline at end of file From c85be3d29dd0146446ac2e79debf138e62edcb04 Mon Sep 17 00:00:00 2001 From: at508 <52303242+at508@users.noreply.github.com> Date: Thu, 5 Sep 2019 17:38:17 -0400 Subject: [PATCH 088/316] BAEL-2076: loading resources (#7347) * commits for BAEL-2076 - Created core-java-io2 module - added resource loading example code - added core-java-io2 to tutorials pom.xml * Committing review changes - change to try-with-resources - change the order of main method * Reformatting try-with-resources * Moving resources example from core-java-io2 to core-java-io. Removing core-java-io2 * Removing stray core-java-io2 in tutorials pom file. --- core-java-modules/core-java-io/pom.xml | 17 ++++++++ .../baeldung/resource/MyResourceLoader.java | 42 +++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 core-java-modules/core-java-io/src/main/java/com/baeldung/resource/MyResourceLoader.java diff --git a/core-java-modules/core-java-io/pom.xml b/core-java-modules/core-java-io/pom.xml index 1a133d2cbe..84bf3baeed 100644 --- a/core-java-modules/core-java-io/pom.xml +++ b/core-java-modules/core-java-io/pom.xml @@ -207,6 +207,21 @@ ${maven.compiler.target} + + + + org.apache.maven.plugins + maven-jar-plugin + ${maven-jar-plugin.version} + + + + true + com.baeldung.resource.MyResourceLoader + + + + @@ -274,6 +289,8 @@ 1.18 0.1.5 + 3.1.0 + \ No newline at end of file diff --git a/core-java-modules/core-java-io/src/main/java/com/baeldung/resource/MyResourceLoader.java b/core-java-modules/core-java-io/src/main/java/com/baeldung/resource/MyResourceLoader.java new file mode 100644 index 0000000000..7512b177df --- /dev/null +++ b/core-java-modules/core-java-io/src/main/java/com/baeldung/resource/MyResourceLoader.java @@ -0,0 +1,42 @@ +package com.baeldung.resource; + +import java.io.BufferedReader; +import java.io.FileReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.stream.Collectors; + +public class MyResourceLoader { + + private void loadFileWithReader() throws IOException { + + try (FileReader fileReader = new FileReader("src/main/resources/input.txt"); + BufferedReader reader = new BufferedReader(fileReader)) { + String contents = reader.lines() + .collect(Collectors.joining(System.lineSeparator())); + System.out.println(contents); + } + + } + + private void loadFileAsResource() throws IOException { + + try (InputStream inputStream = getClass().getResourceAsStream("/input.txt"); + BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) { + String contents = reader.lines() + .collect(Collectors.joining(System.lineSeparator())); + System.out.println(contents); + } + } + + public static void main(String[] args) throws IOException { + + MyResourceLoader resourceLoader = new MyResourceLoader(); + + resourceLoader.loadFileAsResource(); + resourceLoader.loadFileWithReader(); + + } + +} From cb1de34d0f6e04f13cf61c959adf314af26feeab Mon Sep 17 00:00:00 2001 From: Anshul Bansal Date: Fri, 6 Sep 2019 07:06:26 +0300 Subject: [PATCH 089/316] BAEL-3190 - working with webservices in groovy - followed test names convention --- .../webservice/WebserviceUnitTest.groovy | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/core-groovy-2/src/test/groovy/com/baeldung/webservice/WebserviceUnitTest.groovy b/core-groovy-2/src/test/groovy/com/baeldung/webservice/WebserviceUnitTest.groovy index 0d4b5cd7ee..302959d0d9 100644 --- a/core-groovy-2/src/test/groovy/com/baeldung/webservice/WebserviceUnitTest.groovy +++ b/core-groovy-2/src/test/groovy/com/baeldung/webservice/WebserviceUnitTest.groovy @@ -7,6 +7,7 @@ import wslite.rest.RESTClientException import wslite.soap.SOAPClient import wslite.soap.SOAPMessageBuilder import wslite.http.auth.HTTPBasicAuthorization +import org.junit.Test class WebserviceUnitTest extends GroovyTestCase { @@ -19,7 +20,7 @@ class WebserviceUnitTest extends GroovyTestCase { client.httpClient.sslTrustAllCerts = true } - void testHttpGetRequest() { + void test_whenSendingGet_thenRespose200() { def postmanGet = new URL('https://postman-echo.com/get') def getConnection = postmanGet.openConnection() getConnection.requestMethod = 'GET' @@ -29,7 +30,7 @@ class WebserviceUnitTest extends GroovyTestCase { } } - void testHttpPostRequest() { + void test_whenSendingPost_thenRespose200() { def postmanPost = new URL('https://postman-echo.com/post') def query = "q=This is post request form parameter." def postConnection = postmanPost.openConnection() @@ -37,7 +38,7 @@ class WebserviceUnitTest extends GroovyTestCase { assert postConnection.responseCode == 200 } - void testHttpPostRequestWithParams() { + void test_whenSendingPostWithParams_thenRespose200() { def postmanPost = new URL('https://postman-echo.com/post') def form = "param1=This is request parameter." def postConnection = postmanPost.openConnection() @@ -54,7 +55,7 @@ class WebserviceUnitTest extends GroovyTestCase { assert jsonSlurper.parseText(text)?.json.param1 == "This is request parameter." } - void testRssFeed() { + void test_whenReadingRSS_thenReceiveFeed() { def rssFeed = new XmlParser().parse("https://news.google.com/rss?hl=en-US&gl=US&ceid=US:en") def stories = [] (0..4).each { @@ -64,7 +65,7 @@ class WebserviceUnitTest extends GroovyTestCase { assert stories.size() == 5 } - void testAtomFeed() { + void test_whenReadingAtom_thenReceiveFeed() { def atomFeed = new XmlParser().parse("https://news.google.com/atom?hl=en-US&gl=US&ceid=US:en") def stories = [] (0..4).each { @@ -74,7 +75,7 @@ class WebserviceUnitTest extends GroovyTestCase { assert stories.size() == 5 } - void testSoapClient() { + void test_whenConsumingSoap_thenReceiveResponse() { def url = "http://www.dataaccess.com/webservicesserver/numberconversion.wso" def soapClient = new SOAPClient(url) def message = new SOAPMessageBuilder().build({ @@ -89,7 +90,7 @@ class WebserviceUnitTest extends GroovyTestCase { assert words == "one thousand two hundred and thirty four " } - void testRestClientGet() { + void test_whenConsumingRestGet_thenReceiveResponse() { def path = "/get" def response try { @@ -101,7 +102,7 @@ class WebserviceUnitTest extends GroovyTestCase { } } - void testRestClientPost() { + void test_whenConsumingRestPost_thenReceiveResponse() { def path = "/post" def params = ["foo":1,"bar":2] def response @@ -117,7 +118,7 @@ class WebserviceUnitTest extends GroovyTestCase { } } - void testBasicAuthentication() { + void test_whenBasicAuthentication_thenReceive200() { def path = "/basic-auth" def response try { @@ -131,7 +132,7 @@ class WebserviceUnitTest extends GroovyTestCase { } } - void testOAuth() { + void test_whenOAuth_thenReceive200() { RESTClient oAuthClient = new RESTClient("https://postman-echo.com") oAuthClient.defaultAcceptHeader = ContentType.JSON oAuthClient.httpClient.sslTrustAllCerts = true From e9e4f633138a44d88fb4fe61fdcc4b0b85ab9dc8 Mon Sep 17 00:00:00 2001 From: Ger Roza Date: Fri, 6 Sep 2019 06:19:30 -0300 Subject: [PATCH 090/316] [BAEL-9497] Fix failing context tests - part 1 (#7719) * fixed context dependency issue and added LiveContext notes in persistence-modules/spring-data-couchbase-2 module * fixed Context tests and added notes for spring-cloud-bus/spring-cloud-config-client module * Added context test in spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server module, mainly due to incompatible dependencies, plus fixed parent pom path in different modules * fixed context tests for spring-cloud/spring-cloud-task/springcloudtaskbatch module, renamed ContextLiveTest as IntegrationTest, now configured to run with an H2 embedded instance. Moved the run note to the application * Added SpringContextLiveTests in persistence-modules/spring-data-mongodb module --- .../spring-data-couchbase-2/pom.xml | 16 +++++++- .../org/baeldung/SpringContextLiveTest.java | 39 +++++++++++++++++++ .../mongoconfig/SpringContextLiveTest.java | 26 +++++++++++++ .../SpringContextLiveTest.java | 26 +++++++++++++ .../SpringContextLiveTest.java | 26 +++++++++++++ .../SpringContextIntegrationTest.java | 18 --------- .../org/baeldung/SpringContextLiveTest.java | 21 ++++++++-- .../data-flow-server/pom.xml | 20 ++++++++-- .../src/main/resources/application.properties | 2 + .../org/baeldung/SpringContextLiveTest.java | 16 -------- .../src/test/resources/application.properties | 1 + .../data-flow-shell/pom.xml | 2 +- .../log-sink/pom.xml | 2 +- .../time-processor/pom.xml | 2 +- .../time-source/pom.xml | 2 +- .../springcloudtaskbatch/pom.xml | 8 +++- .../main/java/com/baeldung/task/TaskDemo.java | 7 ++++ ...java => SpringContextIntegrationTest.java} | 12 +----- .../src/test/resources/application.yml | 11 ++++++ 19 files changed, 199 insertions(+), 58 deletions(-) create mode 100644 persistence-modules/spring-data-mongodb/src/test/java/com/baeldung/contexttests/mongoconfig/SpringContextLiveTest.java create mode 100644 persistence-modules/spring-data-mongodb/src/test/java/com/baeldung/contexttests/mongoreactiveconfig/SpringContextLiveTest.java create mode 100644 persistence-modules/spring-data-mongodb/src/test/java/com/baeldung/contexttests/simplemongoconfig/SpringContextLiveTest.java delete mode 100644 spring-cloud-bus/spring-cloud-config-client/src/test/java/org/baeldung/SpringContextIntegrationTest.java create mode 100644 spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/main/resources/application.properties delete mode 100644 spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/test/java/org/baeldung/SpringContextLiveTest.java create mode 100644 spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/test/resources/application.properties rename spring-cloud/spring-cloud-task/springcloudtaskbatch/src/test/java/org/baeldung/{SpringContextLiveTest.java => SpringContextIntegrationTest.java} (60%) create mode 100644 spring-cloud/spring-cloud-task/springcloudtaskbatch/src/test/resources/application.yml diff --git a/persistence-modules/spring-data-couchbase-2/pom.xml b/persistence-modules/spring-data-couchbase-2/pom.xml index a857ee538f..f57d9aaa62 100644 --- a/persistence-modules/spring-data-couchbase-2/pom.xml +++ b/persistence-modules/spring-data-couchbase-2/pom.xml @@ -1,4 +1,5 @@ - 4.0.0 org.baeldung @@ -59,13 +60,24 @@ ${spring-framework.version} test + + javax.el + javax.el-api + ${javax.el.version} + + + org.glassfish + javax.el + ${javax.el.version} + - 4.3.4.RELEASE + 4.3.4.RELEASE 2.1.5.RELEASE 5.3.3.Final 2.9.6 + 3.0.0 diff --git a/persistence-modules/spring-data-couchbase-2/src/test/java/org/baeldung/SpringContextLiveTest.java b/persistence-modules/spring-data-couchbase-2/src/test/java/org/baeldung/SpringContextLiveTest.java index af228735b8..5e20a98a1d 100644 --- a/persistence-modules/spring-data-couchbase-2/src/test/java/org/baeldung/SpringContextLiveTest.java +++ b/persistence-modules/spring-data-couchbase-2/src/test/java/org/baeldung/SpringContextLiveTest.java @@ -9,6 +9,45 @@ import org.springframework.test.context.TestExecutionListeners; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.support.DependencyInjectionTestExecutionListener; +/** + * This LiveTest requires: + * + * 1- Couchbase instance running (e.g. with `docker run -d --name db -p 8091-8096:8091-8096 -p 11210-11211:11210-11211 couchbase`) + * + * + * 2- Couchbase configured with (we can use the console in localhost:8091): + * + * 2.1- Buckets: named 'baeldung' and 'baeldung2' + * + * 2.2- Security: users 'baeldung' and 'baeldung2'. Note: in newer versions an empty password is not allowed, then we have to change the passwords in the project) + * + * 2.3- Spacial View: Add new spacial view (in Index tab) in document 'campus_spatial', view 'byLocation' with the following function: + * {@code + * function (doc) { + * if (doc.location && + * doc._class == "org.baeldung.spring.data.couchbase.model.Campus") { + * emit([doc.location.x, doc.location.y], null); + * } + * }} + * + * 2.4- MapReduce Views: Add new views in document 'campus': + * 2.4.1- view 'all' with function: + * {@code + * function (doc, meta) { + * if(doc._class == "org.baeldung.spring.data.couchbase.model.Campus") { + * emit(meta.id, null); + * } + * }} + * + * 2.4.2- view 'byName' with function: + * {@code + * function (doc, meta) { + * if(doc._class == "org.baeldung.spring.data.couchbase.model.Campus" && + * doc.name) { + * emit(doc.name, null); + * } + * }} + */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = { MultiBucketCouchbaseConfig.class, MultiBucketIntegrationTestConfig.class }) @TestExecutionListeners(listeners = { DependencyInjectionTestExecutionListener.class }) diff --git a/persistence-modules/spring-data-mongodb/src/test/java/com/baeldung/contexttests/mongoconfig/SpringContextLiveTest.java b/persistence-modules/spring-data-mongodb/src/test/java/com/baeldung/contexttests/mongoconfig/SpringContextLiveTest.java new file mode 100644 index 0000000000..a2a3d1761f --- /dev/null +++ b/persistence-modules/spring-data-mongodb/src/test/java/com/baeldung/contexttests/mongoconfig/SpringContextLiveTest.java @@ -0,0 +1,26 @@ +package com.baeldung.contexttests.mongoconfig; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import com.baeldung.config.MongoConfig; + +/** + * This Live test requires: + * * mongodb instance running on the environment + * + * (e.g. `docker run -d -p 27017:27017 --name bael-mongo mongo`) + * + * + */ +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(classes = MongoConfig.class) +public class SpringContextLiveTest { + + @Test + public void whenSpringContextIsBootstrapped_thenNoExceptions() { + } + +} diff --git a/persistence-modules/spring-data-mongodb/src/test/java/com/baeldung/contexttests/mongoreactiveconfig/SpringContextLiveTest.java b/persistence-modules/spring-data-mongodb/src/test/java/com/baeldung/contexttests/mongoreactiveconfig/SpringContextLiveTest.java new file mode 100644 index 0000000000..d2a946fb90 --- /dev/null +++ b/persistence-modules/spring-data-mongodb/src/test/java/com/baeldung/contexttests/mongoreactiveconfig/SpringContextLiveTest.java @@ -0,0 +1,26 @@ +package com.baeldung.contexttests.mongoreactiveconfig; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import com.baeldung.config.MongoReactiveConfig; + +/** + * This Live test requires: + * * mongodb instance running on the environment + * + * (e.g. `docker run -d -p 27017:27017 --name bael-mongo mongo`) + * + * + */ +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(classes = MongoReactiveConfig.class) +public class SpringContextLiveTest { + + @Test + public void whenSpringContextIsBootstrapped_thenNoExceptions() { + } + +} diff --git a/persistence-modules/spring-data-mongodb/src/test/java/com/baeldung/contexttests/simplemongoconfig/SpringContextLiveTest.java b/persistence-modules/spring-data-mongodb/src/test/java/com/baeldung/contexttests/simplemongoconfig/SpringContextLiveTest.java new file mode 100644 index 0000000000..6e8905c139 --- /dev/null +++ b/persistence-modules/spring-data-mongodb/src/test/java/com/baeldung/contexttests/simplemongoconfig/SpringContextLiveTest.java @@ -0,0 +1,26 @@ +package com.baeldung.contexttests.simplemongoconfig; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import com.baeldung.config.SimpleMongoConfig; + +/** + * This Live test requires: + * * mongodb instance running on the environment + * + * (e.g. `docker run -d -p 27017:27017 --name bael-mongo mongo`) + * + * + */ +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(classes = SimpleMongoConfig.class) +public class SpringContextLiveTest { + + @Test + public void whenSpringContextIsBootstrapped_thenNoExceptions() { + } + +} diff --git a/spring-cloud-bus/spring-cloud-config-client/src/test/java/org/baeldung/SpringContextIntegrationTest.java b/spring-cloud-bus/spring-cloud-config-client/src/test/java/org/baeldung/SpringContextIntegrationTest.java deleted file mode 100644 index c0298daeb1..0000000000 --- a/spring-cloud-bus/spring-cloud-config-client/src/test/java/org/baeldung/SpringContextIntegrationTest.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.baeldung; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -import com.baeldung.SpringCloudConfigClientApplication; - -@RunWith(SpringRunner.class) -@SpringBootTest(classes = SpringCloudConfigClientApplication.class) -public class SpringContextIntegrationTest { - - @Test - public void contextLoads() { - } - -} diff --git a/spring-cloud-bus/spring-cloud-config-client/src/test/java/org/baeldung/SpringContextLiveTest.java b/spring-cloud-bus/spring-cloud-config-client/src/test/java/org/baeldung/SpringContextLiveTest.java index 8a33efef43..a401d41e1e 100644 --- a/spring-cloud-bus/spring-cloud-config-client/src/test/java/org/baeldung/SpringContextLiveTest.java +++ b/spring-cloud-bus/spring-cloud-config-client/src/test/java/org/baeldung/SpringContextLiveTest.java @@ -7,12 +7,27 @@ import org.springframework.test.context.junit4.SpringRunner; import com.baeldung.SpringCloudConfigClientApplication; +/** + * This LiveTest requires: + * 1- The 'spring-cloud-bus/spring-cloud-config-server' service running, with valid Spring Cloud Config properties, for instance: + * 1.1- `spring.cloud.config.server.git.uri` pointing to a valid URI, which has `user.role` and `user.password` properties configured in a properties file. For example, to achieve this in a dev environment: + * 1.1.1- `cd my/custom/path` + * 1.1.2- `git init .` + * 1.1.3- `echo user.role=Programmer >> application.properties` + * 1.1.4- `echo user.password=d3v3L >> application.properties` + * 1.1.5- `git add .` + * 1.1.6- `git commit -m 'inital commit'` + * 1.1.7- 'spring-cloud-bus/spring-cloud-config-server' with property `spring.cloud.config.server.git.uri=my/custom/path` + * + * Note: This is enough to run the ContextTest successfully, but to get the full functionality shown in the related article, we'll need also a RabbitMQ instance running (e.g. `docker run -d --hostname my-rabbit --name some-rabbit -p 15672:15672 -p 5672:5672 rabbitmq:3-management`) + * + */ @RunWith(SpringRunner.class) @SpringBootTest(classes = SpringCloudConfigClientApplication.class) public class SpringContextLiveTest { - @Test - public void contextLoads() { - } + @Test + public void contextLoads() { + } } diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/pom.xml b/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/pom.xml index cf583c216a..7166b0fd32 100644 --- a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/pom.xml +++ b/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/pom.xml @@ -1,5 +1,6 @@ - 4.0.0 data-flow-server @@ -12,7 +13,7 @@ parent-boot-1 com.baeldung 0.0.1-SNAPSHOT - ../../parent-boot-1 + ../../../parent-boot-1 @@ -20,6 +21,16 @@ org.springframework.cloud spring-cloud-starter-dataflow-server-local + + org.hibernate + hibernate-core + ${hibernate.compatible.version} + + + org.hibernate + hibernate-entitymanager + ${hibernate.compatible.version} + @@ -42,8 +53,9 @@ - 1.1.0.RELEASE - Brixton.SR7 + 1.3.1.RELEASE + Edgware.SR6 + 5.2.12.Final diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/main/resources/application.properties b/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/main/resources/application.properties new file mode 100644 index 0000000000..20ad5d5bcb --- /dev/null +++ b/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/main/resources/application.properties @@ -0,0 +1,2 @@ +#spring.datasource.url=jdbc:h2:mem:dataflow +spring.jpa.database-platform=org.hibernate.dialect.H2Dialect \ No newline at end of file diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/test/java/org/baeldung/SpringContextLiveTest.java b/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/test/java/org/baeldung/SpringContextLiveTest.java deleted file mode 100644 index 980c096f5e..0000000000 --- a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/test/java/org/baeldung/SpringContextLiveTest.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.baeldung; - -import org.baeldung.spring.cloud.DataFlowServerApplication; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -@RunWith(SpringRunner.class) -@SpringBootTest(classes = DataFlowServerApplication.class) -public class SpringContextLiveTest { - - @Test - public void whenSpringContextIsBootstrapped_thenNoExceptions() { - } -} diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/test/resources/application.properties b/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/test/resources/application.properties new file mode 100644 index 0000000000..70e3e5c65b --- /dev/null +++ b/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-server/src/test/resources/application.properties @@ -0,0 +1 @@ +spring.datasource.url=jdbc:h2:mem:dataflow \ No newline at end of file diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-shell/pom.xml b/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-shell/pom.xml index 52cb204201..9c379624d3 100644 --- a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-shell/pom.xml +++ b/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/data-flow-shell/pom.xml @@ -12,7 +12,7 @@ parent-boot-1 com.baeldung 0.0.1-SNAPSHOT - ../../parent-boot-1 + ../../../parent-boot-1 diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/log-sink/pom.xml b/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/log-sink/pom.xml index ecabb91a98..73fb82d79f 100644 --- a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/log-sink/pom.xml +++ b/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/log-sink/pom.xml @@ -12,7 +12,7 @@ parent-boot-1 com.baeldung 0.0.1-SNAPSHOT - ../../parent-boot-1 + ../../../parent-boot-1 diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-processor/pom.xml b/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-processor/pom.xml index de354ca698..28a9d3e6e0 100644 --- a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-processor/pom.xml +++ b/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-processor/pom.xml @@ -12,7 +12,7 @@ parent-boot-1 com.baeldung 0.0.1-SNAPSHOT - ../../parent-boot-1 + ../../../parent-boot-1 diff --git a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-source/pom.xml b/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-source/pom.xml index a4d06e13d2..3b748fd7df 100644 --- a/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-source/pom.xml +++ b/spring-cloud-data-flow/spring-cloud-data-flow-stream-processing/time-source/pom.xml @@ -12,7 +12,7 @@ parent-boot-1 com.baeldung 0.0.1-SNAPSHOT - ../../parent-boot-1 + ../../../parent-boot-1 diff --git a/spring-cloud/spring-cloud-task/springcloudtaskbatch/pom.xml b/spring-cloud/spring-cloud-task/springcloudtaskbatch/pom.xml index 89c9318c4e..b6b5a1cf0f 100644 --- a/spring-cloud/spring-cloud-task/springcloudtaskbatch/pom.xml +++ b/spring-cloud/spring-cloud-task/springcloudtaskbatch/pom.xml @@ -1,4 +1,5 @@ - 4.0.0 org.baeldung.cloud @@ -43,6 +44,11 @@ org.springframework.cloud spring-cloud-task-batch + + com.h2database + h2 + test + diff --git a/spring-cloud/spring-cloud-task/springcloudtaskbatch/src/main/java/com/baeldung/task/TaskDemo.java b/spring-cloud/spring-cloud-task/springcloudtaskbatch/src/main/java/com/baeldung/task/TaskDemo.java index be2a173589..30e17cb956 100644 --- a/spring-cloud/spring-cloud-task/springcloudtaskbatch/src/main/java/com/baeldung/task/TaskDemo.java +++ b/spring-cloud/spring-cloud-task/springcloudtaskbatch/src/main/java/com/baeldung/task/TaskDemo.java @@ -14,6 +14,13 @@ import org.springframework.cloud.task.configuration.EnableTask; import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Component; +/** + * This Application requires: + * * a MySql instance running, that allows a root user with no password, and with a database named + * + * (e.g. with the following command `docker run -p 3306:3306 --name bael-mysql -e MYSQL_ALLOW_EMPTY_PASSWORD=true -e MYSQL_DATABASE=springcloud mysql:latest`) + * + */ @SpringBootApplication @EnableTask @EnableBatchProcessing diff --git a/spring-cloud/spring-cloud-task/springcloudtaskbatch/src/test/java/org/baeldung/SpringContextLiveTest.java b/spring-cloud/spring-cloud-task/springcloudtaskbatch/src/test/java/org/baeldung/SpringContextIntegrationTest.java similarity index 60% rename from spring-cloud/spring-cloud-task/springcloudtaskbatch/src/test/java/org/baeldung/SpringContextLiveTest.java rename to spring-cloud/spring-cloud-task/springcloudtaskbatch/src/test/java/org/baeldung/SpringContextIntegrationTest.java index ddbcbf65ea..0caa626c14 100644 --- a/spring-cloud/spring-cloud-task/springcloudtaskbatch/src/test/java/org/baeldung/SpringContextLiveTest.java +++ b/spring-cloud/spring-cloud-task/springcloudtaskbatch/src/test/java/org/baeldung/SpringContextIntegrationTest.java @@ -10,18 +10,10 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import com.baeldung.task.JobConfiguration; import com.baeldung.task.TaskDemo; -/** - * This Live Test requires: - * * a MySql instance running, that allows a root user with no password, and with a database named - * - * (e.g. with the following command `docker run -p 3306:3306 --name bael-mysql -e MYSQL_ALLOW_EMPTY_PASSWORD=true -e MYSQL_DATABASE=springcloud mysql:latest`) - * - */ @RunWith(SpringJUnit4ClassRunner.class) @SpringBootApplication -@ContextConfiguration(classes = { JobConfiguration.class, TaskDemo.class }, initializers = { - ConfigFileApplicationContextInitializer.class }) -public class SpringContextLiveTest { +@ContextConfiguration(classes = { JobConfiguration.class, TaskDemo.class }, initializers = { ConfigFileApplicationContextInitializer.class }) +public class SpringContextIntegrationTest { @Test public void whenSpringContextIsBootstrapped_thenNoExceptions() { diff --git a/spring-cloud/spring-cloud-task/springcloudtaskbatch/src/test/resources/application.yml b/spring-cloud/spring-cloud-task/springcloudtaskbatch/src/test/resources/application.yml new file mode 100644 index 0000000000..794ac4d247 --- /dev/null +++ b/spring-cloud/spring-cloud-task/springcloudtaskbatch/src/test/resources/application.yml @@ -0,0 +1,11 @@ +spring: + datasource: + url: jdbc:h2:mem:springcloud + username: sa + password: + jpa: + hibernate: + ddl-auto: create-drop + properties: + hibernate: + dialect: org.hibernate.dialect.H2Dialect \ No newline at end of file From 0d648321dca8d224f4319b7622e0c090b679c31a Mon Sep 17 00:00:00 2001 From: Joel Juarez Date: Fri, 6 Sep 2019 15:17:21 +0200 Subject: [PATCH 091/316] Bael 3043 datastax cassandra (#7616) * BAEL-3043: Datastax Java Driver for Apache Cassandra * changed statement to use query builder * fixed concatenation vulnerability --- persistence-modules/java-cassandra/pom.xml | 5 +++ .../datastax/cassandra/Application.java | 2 +- .../repository/KeyspaceRepository.java | 20 ++++----- .../cassandra/repository/VideoRepository.java | 45 +++++++++++-------- 4 files changed, 42 insertions(+), 30 deletions(-) diff --git a/persistence-modules/java-cassandra/pom.xml b/persistence-modules/java-cassandra/pom.xml index e7c93bc4e5..3f8367d130 100644 --- a/persistence-modules/java-cassandra/pom.xml +++ b/persistence-modules/java-cassandra/pom.xml @@ -35,6 +35,11 @@ java-driver-core ${datastax-cassandra.version} + + com.datastax.oss + java-driver-query-builder + ${datastax-cassandra.version} + io.netty diff --git a/persistence-modules/java-cassandra/src/main/java/com/baeldung/datastax/cassandra/Application.java b/persistence-modules/java-cassandra/src/main/java/com/baeldung/datastax/cassandra/Application.java index 23140e0455..f067ee8b73 100644 --- a/persistence-modules/java-cassandra/src/main/java/com/baeldung/datastax/cassandra/Application.java +++ b/persistence-modules/java-cassandra/src/main/java/com/baeldung/datastax/cassandra/Application.java @@ -26,7 +26,7 @@ public class Application { KeyspaceRepository keyspaceRepository = new KeyspaceRepository(session); - keyspaceRepository.createKeyspace("testKeyspace", "SimpleStrategy", 1); + keyspaceRepository.createKeyspace("testKeyspace", 1); keyspaceRepository.useKeyspace("testKeyspace"); VideoRepository videoRepository = new VideoRepository(session); diff --git a/persistence-modules/java-cassandra/src/main/java/com/baeldung/datastax/cassandra/repository/KeyspaceRepository.java b/persistence-modules/java-cassandra/src/main/java/com/baeldung/datastax/cassandra/repository/KeyspaceRepository.java index fd4581d055..899481738a 100644 --- a/persistence-modules/java-cassandra/src/main/java/com/baeldung/datastax/cassandra/repository/KeyspaceRepository.java +++ b/persistence-modules/java-cassandra/src/main/java/com/baeldung/datastax/cassandra/repository/KeyspaceRepository.java @@ -1,7 +1,11 @@ package com.baeldung.datastax.cassandra.repository; +import com.datastax.oss.driver.api.core.CqlIdentifier; import com.datastax.oss.driver.api.core.CqlSession; +import com.datastax.oss.driver.api.querybuilder.SchemaBuilder; +import com.datastax.oss.driver.api.querybuilder.schema.CreateKeyspace; + public class KeyspaceRepository { private final CqlSession session; @@ -9,19 +13,15 @@ public class KeyspaceRepository { this.session = session; } - public void createKeyspace(String keyspaceName, String replicationStrategy, int numberOfReplicas) { - StringBuilder sb = new StringBuilder("CREATE KEYSPACE IF NOT EXISTS ").append(keyspaceName) - .append(" WITH replication = {") - .append("'class':'").append(replicationStrategy) - .append("','replication_factor':").append(numberOfReplicas) - .append("};"); + public void createKeyspace(String keyspaceName, int numberOfReplicas) { + CreateKeyspace createKeyspace = SchemaBuilder.createKeyspace(keyspaceName) + .ifNotExists() + .withSimpleStrategy(numberOfReplicas); - final String query = sb.toString(); - - session.execute(query); + session.execute(createKeyspace.build()); } public void useKeyspace(String keyspace) { - session.execute("USE " + keyspace); + session.execute("USE " + CqlIdentifier.fromCql(keyspace)); } } diff --git a/persistence-modules/java-cassandra/src/main/java/com/baeldung/datastax/cassandra/repository/VideoRepository.java b/persistence-modules/java-cassandra/src/main/java/com/baeldung/datastax/cassandra/repository/VideoRepository.java index 9a09d77072..48eb000eba 100644 --- a/persistence-modules/java-cassandra/src/main/java/com/baeldung/datastax/cassandra/repository/VideoRepository.java +++ b/persistence-modules/java-cassandra/src/main/java/com/baeldung/datastax/cassandra/repository/VideoRepository.java @@ -7,6 +7,12 @@ import com.datastax.oss.driver.api.core.cql.BoundStatement; import com.datastax.oss.driver.api.core.cql.PreparedStatement; import com.datastax.oss.driver.api.core.cql.ResultSet; import com.datastax.oss.driver.api.core.cql.SimpleStatement; +import com.datastax.oss.driver.api.core.type.DataTypes; +import com.datastax.oss.driver.api.querybuilder.QueryBuilder; +import com.datastax.oss.driver.api.querybuilder.SchemaBuilder; +import com.datastax.oss.driver.api.querybuilder.insert.RegularInsert; +import com.datastax.oss.driver.api.querybuilder.schema.CreateTable; +import com.datastax.oss.driver.api.querybuilder.select.Select; import java.util.ArrayList; import java.util.List; @@ -27,15 +33,12 @@ public class VideoRepository { } public void createTable(String keyspace) { - StringBuilder sb = new StringBuilder("CREATE TABLE IF NOT EXISTS ").append(TABLE_NAME).append(" (") - .append("video_id UUID,") - .append("title TEXT,") - .append("creation_date TIMESTAMP,") - .append("PRIMARY KEY(video_id));"); + CreateTable createTable = SchemaBuilder.createTable(TABLE_NAME).ifNotExists() + .withPartitionKey("video_id", DataTypes.UUID) + .withColumn("title", DataTypes.TEXT) + .withColumn("creation_date", DataTypes.TIMESTAMP); - String query = sb.toString(); - - executeStatement(SimpleStatement.newInstance(query), keyspace); + executeStatement(createTable.build(), keyspace); } public UUID insertVideo(Video video) { @@ -47,17 +50,23 @@ public class VideoRepository { video.setId(videoId); - String absoluteTableName = keyspace != null ? keyspace + "." + TABLE_NAME: TABLE_NAME; + RegularInsert insertInto = QueryBuilder.insertInto(TABLE_NAME) + .value("video_id", QueryBuilder.bindMarker()) + .value("title", QueryBuilder.bindMarker()) + .value("creation_date", QueryBuilder.bindMarker()); - StringBuilder sb = new StringBuilder("INSERT INTO ").append(absoluteTableName) - .append("(video_id, title, creation_date) values (:video_id, :title, :creation_date)"); + SimpleStatement insertStatement = insertInto.build(); - PreparedStatement preparedStatement = session.prepare(sb.toString()); + if (keyspace != null) { + insertStatement = insertStatement.setKeyspace(keyspace); + } + + PreparedStatement preparedStatement = session.prepare(insertStatement); BoundStatement statement = preparedStatement.bind() - .setUuid("video_id", video.getId()) - .setString("title", video.getTitle()) - .setInstant("creation_date", video.getCreationDate()); + .setUuid(0, video.getId()) + .setString(1, video.getTitle()) + .setInstant(2, video.getCreationDate()); session.execute(statement); @@ -69,11 +78,9 @@ public class VideoRepository { } public List