diff --git a/department-service/pom.xml b/department-service/pom.xml index 8cc6b4e..5af1a6e 100644 --- a/department-service/pom.xml +++ b/department-service/pom.xml @@ -1,119 +1,119 @@ - 4.0.0 - - org.springframework.boot - spring-boot-starter-parent - 2.3.3.RELEASE - - department-service - pl.piomin.services - 1.1 + 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 + + org.springframework.boot + spring-boot-starter-parent + 2.3.3.RELEASE + + department-service + pl.piomin.services + 1.1 - - 1.8 - + + 1.8 + - - - - org.springframework.cloud - spring-cloud-dependencies - Hoxton.SR8 - pom - import - - - + + + + org.springframework.cloud + spring-cloud-dependencies + Hoxton.SR8 + pom + import + + + - - - org.springframework.cloud - spring-cloud-starter-kubernetes-all - - - org.springframework.cloud - spring-cloud-starter-netflix-ribbon - - - org.springframework.cloud - spring-cloud-starter-kubernetes-ribbon - - - org.springframework.cloud - spring-cloud-starter-openfeign - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-actuator - - - org.springframework.boot - spring-boot-starter-data-mongodb - - - io.springfox - springfox-swagger2 - 2.9.2 - - - org.springframework.cloud - spring-cloud-starter-sleuth - - - org.springframework.boot - spring-boot-starter-test - test - - - de.flapdoodle.embed - de.flapdoodle.embed.mongo - test - - - io.fabric8 - kubernetes-server-mock - 4.10.3 - test - - - io.specto - hoverfly-java-junit5 - 0.13.0 - test - - - io.specto - hoverfly-java - 0.13.0 - test - - + + + org.springframework.cloud + spring-cloud-starter-kubernetes-all + + + org.springframework.cloud + spring-cloud-starter-netflix-ribbon + + + org.springframework.cloud + spring-cloud-starter-kubernetes-ribbon + + + org.springframework.cloud + spring-cloud-starter-openfeign + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-actuator + + + org.springframework.boot + spring-boot-starter-data-mongodb + + + io.springfox + springfox-swagger2 + 2.9.2 + + + org.springframework.cloud + spring-cloud-starter-sleuth + + + org.springframework.boot + spring-boot-starter-test + test + + + de.flapdoodle.embed + de.flapdoodle.embed.mongo + test + + + io.fabric8 + kubernetes-server-mock + 4.10.3 + test + + + io.specto + hoverfly-java-junit5 + 0.13.0 + test + + + io.specto + hoverfly-java + 0.13.0 + test + + - - - - org.springframework.boot - spring-boot-maven-plugin - - - - build-info - - - - - - com.google.cloud.tools - jib-maven-plugin - 2.4.0 - - - + + + + org.springframework.boot + spring-boot-maven-plugin + + + + build-info + + + + + + com.google.cloud.tools + jib-maven-plugin + 2.4.0 + + + \ No newline at end of file diff --git a/department-service/src/test/java/pl/piomin/services/department/DepartmentAPIAdvancedTest.java b/department-service/src/test/java/pl/piomin/services/department/DepartmentAPIAdvancedTest.java index 7b006e6..a5a8504 100644 --- a/department-service/src/test/java/pl/piomin/services/department/DepartmentAPIAdvancedTest.java +++ b/department-service/src/test/java/pl/piomin/services/department/DepartmentAPIAdvancedTest.java @@ -28,8 +28,6 @@ @ExtendWith(HoverflyExtension.class) public class DepartmentAPIAdvancedTest { - @Autowired - TestRestTemplate restTemplate; @Autowired KubernetesClient client; @@ -38,14 +36,26 @@ static void setup(Hoverfly hoverfly) { System.setProperty(Config.KUBERNETES_TRUST_CERT_SYSTEM_PROPERTY, "true"); System.setProperty(Config.KUBERNETES_AUTH_TRYKUBECONFIG_SYSTEM_PROPERTY, "false"); System.setProperty(Config.KUBERNETES_AUTH_TRYSERVICEACCOUNT_SYSTEM_PROPERTY, - "false"); + "false"); System.setProperty(Config.KUBERNETES_HTTP2_DISABLE, "true"); System.setProperty(Config.KUBERNETES_NAMESPACE_SYSTEM_PROPERTY, "default"); hoverfly.simulate(dsl(service("kubernetes.default.svc") - .get("/api/v1/namespaces/default/configmaps/department") - .willReturn(success().body(json(buildConfigMap()))))); + .get("/api/v1/namespaces/default/configmaps/department") + .willReturn(success().body(json(buildConfigMap()))))); } + private static ConfigMap buildConfigMap() { + return new ConfigMapBuilder().withNewMetadata() + .withName("department").withNamespace("default") + .endMetadata() + .addToData("application.properties", + "spring.data.mongodb.uri=mongodb://localhost:27017/test") + .build(); + } + + @Autowired + TestRestTemplate restTemplate; + @Test void findByOrganizationWithEmployees(Hoverfly hoverfly) { Department department = new Department(1L, "Test"); @@ -53,31 +63,23 @@ void findByOrganizationWithEmployees(Hoverfly hoverfly) { Assertions.assertNotNull(department); Assertions.assertNotNull(department.getId()); - hoverfly.simulate(dsl(service(prepareUrl()) - .get("/api/v1/namespaces/default/endpoints/employee") - .willReturn(success().body(json(buildEndpoints())))), - dsl(service(prepareUrl()) - .get("/api/v1/namespaces/default/services/employee") - .willReturn(success().body(json(buildService())))), - dsl(service("employee.default:8080") - .get("/department/" + department.getId()) - .willReturn(success().body(json(buildEmployees()))))); - - Department[] departments = - restTemplate.getForObject("/organization/{organizationId}/with-employees", Department[].class, 1L); + hoverfly.simulate( + dsl(service(prepareUrl()) + .get("/api/v1/namespaces/default/endpoints/employee") + .willReturn(success().body(json(buildEndpoints())))), + dsl(service(prepareUrl()) + .get("/api/v1/namespaces/default/services/employee") + .willReturn(success().body(json(buildService())))), + dsl(service("employee.default:8080") + .get("/department/" + department.getId()) + .willReturn(success().body(json(buildEmployees()))))); + + Department[] departments = restTemplate + .getForObject("/organization/{organizationId}/with-employees", Department[].class, 1L); Assertions.assertEquals(1, departments.length); Assertions.assertEquals(1, departments[0].getEmployees().size()); } - private static ConfigMap buildConfigMap() { - return new ConfigMapBuilder().withNewMetadata() - .withName("department").withNamespace("default") - .endMetadata() - .addToData("application.properties", - "spring.data.mongodb.uri=mongodb://localhost:27017/test") - .build(); - } - private Service buildService() { return new ServiceBuilder().withNewMetadata().withName("employee") .withNamespace("default").withLabels(new HashMap<>()) @@ -87,10 +89,12 @@ private Service buildService() { private Endpoints buildEndpoints() { return new EndpointsBuilder().withNewMetadata() - .withName("employee").withNamespace("default").endMetadata().addNewSubset().addNewAddress() - .withIp("employee.default").endAddress().addNewPort().withName("http") - .withPort(8080).endPort().endSubset() - .build(); + .withName("employee").withNamespace("default") + .endMetadata() + .addNewSubset().addNewAddress() + .withIp("employee.default").endAddress().addNewPort().withName("http") + .withPort(8080).endPort().endSubset() + .build(); } private List buildEmployees() { @@ -106,8 +110,8 @@ private List buildEmployees() { private String prepareUrl() { return client.getConfiguration().getMasterUrl() - .replace("/", "") - .replace("https:", ""); + .replace("/", "") + .replace("https:", ""); } } diff --git a/employee-service/pom.xml b/employee-service/pom.xml index af77c79..c097a24 100644 --- a/employee-service/pom.xml +++ b/employee-service/pom.xml @@ -1,94 +1,94 @@ - 4.0.0 - - org.springframework.boot - spring-boot-starter-parent - 2.3.3.RELEASE - - employee-service - pl.piomin.services - 1.1 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.3.3.RELEASE + + employee-service + pl.piomin.services + 1.1 - - 1.8 - + + 1.8 + - - - - org.springframework.cloud - spring-cloud-dependencies - Hoxton.SR8 - pom - import - - - + + + + org.springframework.cloud + spring-cloud-dependencies + Hoxton.SR8 + pom + import + + + - - - org.springframework.cloud - spring-cloud-starter-kubernetes-all - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-actuator - - - io.springfox - springfox-swagger2 - 2.9.2 - - - org.springframework.boot - spring-boot-starter-data-mongodb - - - org.springframework.cloud - spring-cloud-starter-sleuth - - - org.springframework.boot - spring-boot-starter-test - test - - - de.flapdoodle.embed - de.flapdoodle.embed.mongo - test - - - io.fabric8 - kubernetes-server-mock - 4.10.3 - test - - + + + org.springframework.cloud + spring-cloud-starter-kubernetes-all + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-actuator + + + io.springfox + springfox-swagger2 + 2.9.2 + + + org.springframework.boot + spring-boot-starter-data-mongodb + + + org.springframework.cloud + spring-cloud-starter-sleuth + + + org.springframework.boot + spring-boot-starter-test + test + + + de.flapdoodle.embed + de.flapdoodle.embed.mongo + test + + + io.fabric8 + kubernetes-server-mock + 4.10.3 + test + + - - - - org.springframework.boot - spring-boot-maven-plugin - - - - build-info - - - - - - com.google.cloud.tools - jib-maven-plugin - 2.4.0 - - - + + + + org.springframework.boot + spring-boot-maven-plugin + + + + build-info + + + + + + com.google.cloud.tools + jib-maven-plugin + 2.4.0 + + + \ No newline at end of file diff --git a/employee-service/src/test/java/pl/piomin/services/employee/EmployeeAPITest.java b/employee-service/src/test/java/pl/piomin/services/employee/EmployeeAPITest.java index 575ff25..573573f 100644 --- a/employee-service/src/test/java/pl/piomin/services/employee/EmployeeAPITest.java +++ b/employee-service/src/test/java/pl/piomin/services/employee/EmployeeAPITest.java @@ -22,19 +22,21 @@ class EmployeeAPITest { @BeforeAll static void init() { System.setProperty(Config.KUBERNETES_MASTER_SYSTEM_PROPERTY, - client.getConfiguration().getMasterUrl()); - System.setProperty(Config.KUBERNETES_TRUST_CERT_SYSTEM_PROPERTY, "true"); - System.setProperty(Config.KUBERNETES_AUTH_TRYKUBECONFIG_SYSTEM_PROPERTY, - "false"); - System.setProperty(Config.KUBERNETES_AUTH_TRYSERVICEACCOUNT_SYSTEM_PROPERTY, - "false"); + client.getConfiguration().getMasterUrl()); + System.setProperty(Config.KUBERNETES_TRUST_CERT_SYSTEM_PROPERTY, + "true"); + System.setProperty( + Config.KUBERNETES_AUTH_TRYKUBECONFIG_SYSTEM_PROPERTY, "false"); + System.setProperty( + Config.KUBERNETES_AUTH_TRYSERVICEACCOUNT_SYSTEM_PROPERTY, "false"); System.setProperty(Config.KUBERNETES_HTTP2_DISABLE, "true"); - System.setProperty(Config.KUBERNETES_NAMESPACE_SYSTEM_PROPERTY, "default"); + System.setProperty(Config.KUBERNETES_NAMESPACE_SYSTEM_PROPERTY, + "default"); client.configMaps().inNamespace("default").createNew() - .withNewMetadata().withName("employee").endMetadata() - .addToData("application.properties", - "spring.data.mongodb.uri=mongodb://localhost:27017/test") - .done(); + .withNewMetadata().withName("employee").endMetadata() + .addToData("application.properties", + "spring.data.mongodb.uri=mongodb://localhost:27017/test") + .done(); } @Test @@ -51,26 +53,30 @@ void addAndThenFindEmployeeByIdTest() { employee = restTemplate.postForObject("/", employee, Employee.class); Assertions.assertNotNull(employee); Assertions.assertNotNull(employee.getId()); - employee = restTemplate.getForObject("/{id}", Employee.class, employee.getId()); + employee = restTemplate + .getForObject("/{id}", Employee.class, employee.getId()); Assertions.assertNotNull(employee); Assertions.assertNotNull(employee.getId()); } @Test void findAllEmployeesTest() { - Employee[] employees = restTemplate.getForObject("/", Employee[].class); + Employee[] employees = + restTemplate.getForObject("/", Employee[].class); Assertions.assertEquals(2, employees.length); } @Test void findEmployeesByDepartmentTest() { - Employee[] employees = restTemplate.getForObject("/department/1", Employee[].class); + Employee[] employees = + restTemplate.getForObject("/department/1", Employee[].class); Assertions.assertEquals(1, employees.length); } @Test void findEmployeesByOrganizationTest() { - Employee[] employees = restTemplate.getForObject("/organization/1", Employee[].class); + Employee[] employees = + restTemplate.getForObject("/organization/1", Employee[].class); Assertions.assertEquals(2, employees.length); }