From 51c5a67ed75f40d54247d2f94db5bff1d29b206f Mon Sep 17 00:00:00 2001 From: Athanasios Salamanis Date: Wed, 11 Jan 2023 18:42:46 +0200 Subject: [PATCH 1/5] Started the process of adding the necessary unit tests for the controllers of the API. --- pom.xml | 32 ++++++++--- .../dbapi/controller/ServiceController.java | 36 ++++++------- .../opensmartclide/dbapi/model/Service.java | 3 ++ .../dbapi/repository/ServiceRepository.java | 3 -- src/main/resources/application.properties | 3 +- .../controller/ServiceControllerTest.java | 53 +++++++++++++++++++ 6 files changed, 101 insertions(+), 29 deletions(-) create mode 100644 src/test/java/org/eclipse/opensmartclide/dbapi/controller/ServiceControllerTest.java diff --git a/pom.xml b/pom.xml index 2e5f9e3..6303dcc 100644 --- a/pom.xml +++ b/pom.xml @@ -20,7 +20,8 @@ The DB API of the OpenSmartCLIDE project. - 11 + + 8 @@ -29,6 +30,21 @@ spring-boot-starter-data-mongodb + + + org.springframework.boot + spring-boot-starter-test + test + + + + + junit + junit + 4.11 + test + + org.springframework.boot spring-boot-starter-web @@ -37,18 +53,22 @@ org.projectlombok lombok - true + 1.18.24 + provided + + org.springframework.boot - spring-boot-starter-test - test + spring-boot-starter-validation + - org.springframework.boot - spring-boot-starter-validation + com.h2database + h2 + test diff --git a/src/main/java/org/eclipse/opensmartclide/dbapi/controller/ServiceController.java b/src/main/java/org/eclipse/opensmartclide/dbapi/controller/ServiceController.java index eefa660..1e124cf 100644 --- a/src/main/java/org/eclipse/opensmartclide/dbapi/controller/ServiceController.java +++ b/src/main/java/org/eclipse/opensmartclide/dbapi/controller/ServiceController.java @@ -32,24 +32,24 @@ public class ServiceController { private MongoTemplate template; @GetMapping("/services") - public List getAllServices(@RequestParam(value = "licence",required = false) String licence, - @RequestParam(value = "framework",required = false) String framework, - @RequestParam(value = "min_stars",required = false) String min_stars, - @RequestParam(value = "max_stars",required = false) String max_stars, - @RequestParam(value = "min_forks",required = false) String min_forks, - @RequestParam(value = "max_forks",required = false) String max_forks, - @RequestParam(value = "min_watchers",required = false) String min_watchers, - @RequestParam(value = "max_watchers",required = false) String max_watchers, - @RequestParam(value = "url",required = false) String url, - @RequestParam(value = "deployable",required = false) String deployable, - @RequestParam(value = "created_before",required = false) String created_before, - @RequestParam(value = "created_after",required = false) String created_after, - @RequestParam(value = "updated_before",required = false) String updated_before, - @RequestParam(value = "updated_after",required = false) String updated_after, - @RequestParam(value = "user_id",required = false) String userId, - @RequestParam(value = "registry_id",required = false) String registryId, - @RequestParam(value = "workspace_id",required = false) String workspaceId, - @RequestParam(value = "search",required = false) String search) throws ParseException { + public List getAllServices(@RequestParam(value = "licence", required = false) String licence, + @RequestParam(value = "framework", required = false) String framework, + @RequestParam(value = "min_stars", required = false) String min_stars, + @RequestParam(value = "max_stars", required = false) String max_stars, + @RequestParam(value = "min_forks", required = false) String min_forks, + @RequestParam(value = "max_forks", required = false) String max_forks, + @RequestParam(value = "min_watchers", required = false) String min_watchers, + @RequestParam(value = "max_watchers", required = false) String max_watchers, + @RequestParam(value = "url", required = false) String url, + @RequestParam(value = "deployable", required = false) String deployable, + @RequestParam(value = "created_before", required = false) String created_before, + @RequestParam(value = "created_after", required = false) String created_after, + @RequestParam(value = "updated_before", required = false) String updated_before, + @RequestParam(value = "updated_after", required = false) String updated_after, + @RequestParam(value = "user_id", required = false) String userId, + @RequestParam(value = "registry_id", required = false) String registryId, + @RequestParam(value = "workspace_id", required = false) String workspaceId, + @RequestParam(value = "search", required = false) String search) throws ParseException { if (search != null) { TextIndexDefinition textIndexDefinition = new TextIndexDefinition.TextIndexDefinitionBuilder() .onField("name") diff --git a/src/main/java/org/eclipse/opensmartclide/dbapi/model/Service.java b/src/main/java/org/eclipse/opensmartclide/dbapi/model/Service.java index c9ea461..c54d303 100644 --- a/src/main/java/org/eclipse/opensmartclide/dbapi/model/Service.java +++ b/src/main/java/org/eclipse/opensmartclide/dbapi/model/Service.java @@ -2,6 +2,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; +import lombok.Getter; +import lombok.Setter; + import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.Id; import org.springframework.data.mongodb.core.index.TextIndexed; diff --git a/src/main/java/org/eclipse/opensmartclide/dbapi/repository/ServiceRepository.java b/src/main/java/org/eclipse/opensmartclide/dbapi/repository/ServiceRepository.java index af5d29e..9b25b0c 100644 --- a/src/main/java/org/eclipse/opensmartclide/dbapi/repository/ServiceRepository.java +++ b/src/main/java/org/eclipse/opensmartclide/dbapi/repository/ServiceRepository.java @@ -3,8 +3,5 @@ import org.eclipse.opensmartclide.dbapi.model.Service; import org.springframework.data.mongodb.repository.MongoRepository; -import java.util.Date; -import java.util.List; - public interface ServiceRepository extends MongoRepository { } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 1342a4b..49307dc 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -2,5 +2,4 @@ #spring.data.mongodb.port=$MONGODB_PORT spring.data.mongodb.database=smartclide #spring.data.mongodb.username=$MONGODB_USERNAME -#spring.data.mongodb.password=$MONGODB_PASSWORD - +#spring.data.mongodb.password=$MONGODB_PASSWORD \ No newline at end of file diff --git a/src/test/java/org/eclipse/opensmartclide/dbapi/controller/ServiceControllerTest.java b/src/test/java/org/eclipse/opensmartclide/dbapi/controller/ServiceControllerTest.java new file mode 100644 index 0000000..b94496b --- /dev/null +++ b/src/test/java/org/eclipse/opensmartclide/dbapi/controller/ServiceControllerTest.java @@ -0,0 +1,53 @@ +/** + * + */ +package org.eclipse.opensmartclide.dbapi.controller; + +import java.util.List; + +import org.assertj.core.util.Arrays; +import org.eclipse.opensmartclide.dbapi.model.Service; +import org.eclipse.opensmartclide.dbapi.repository.ServiceRepository; +import org.junit.jupiter.api.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.http.MediaType; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; +import org.springframework.test.web.servlet.result.MockMvcResultMatchers; + +/** + * @author asal + * + */ +@RunWith(SpringRunner.class) +@WebMvcTest(ServiceController.class) +class ServiceControllerTest { + + @Autowired + private MockMvc mvc; + + @MockBean + private ServiceRepository repository; + + @Test + void getAllServicesEndpoint() throws Exception { + + Service service = new Service(); + service.setName("TestService"); + List services = Arrays.asList(service); + repository.saveAll(services); + + mvc.perform(MockMvcRequestBuilders + .get("/services") + .accept(MediaType.APPLICATION_JSON)) + .andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.jsonPath("$.services").exists()) + .andExpect(MockMvcResultMatchers.jsonPath("$.services[*].id").isNotEmpty()); + + } + +} From 5d71c5756ad9f5add303926e759ceed65fe4f6ca Mon Sep 17 00:00:00 2001 From: Athanasios Salamanis Date: Thu, 12 Jan 2023 12:52:10 +0200 Subject: [PATCH 2/5] Proceeded with the process of adding unit tests for the controllers of the API. Still stuck into the MongoDB repositories dependency. --- pom.xml | 36 ++++++++---- .../controller/ServiceControllerTest.java | 55 ++++++++++++------- 2 files changed, 60 insertions(+), 31 deletions(-) diff --git a/pom.xml b/pom.xml index 6303dcc..cb2eac1 100644 --- a/pom.xml +++ b/pom.xml @@ -20,23 +20,42 @@ The DB API of the OpenSmartCLIDE project. - + 8 + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot spring-boot-starter-data-mongodb - + org.springframework.boot spring-boot-starter-test test + + + + com.h2database + h2 + test + + + + + + + junit @@ -45,11 +64,9 @@ test - - org.springframework.boot - spring-boot-starter-web - + + org.projectlombok lombok @@ -64,12 +81,7 @@ spring-boot-starter-validation - - - com.h2database - h2 - test - + diff --git a/src/test/java/org/eclipse/opensmartclide/dbapi/controller/ServiceControllerTest.java b/src/test/java/org/eclipse/opensmartclide/dbapi/controller/ServiceControllerTest.java index b94496b..4b4d0d0 100644 --- a/src/test/java/org/eclipse/opensmartclide/dbapi/controller/ServiceControllerTest.java +++ b/src/test/java/org/eclipse/opensmartclide/dbapi/controller/ServiceControllerTest.java @@ -4,50 +4,67 @@ package org.eclipse.opensmartclide.dbapi.controller; import java.util.List; +import java.util.ArrayList; +import java.util.Arrays; -import org.assertj.core.util.Arrays; import org.eclipse.opensmartclide.dbapi.model.Service; import org.eclipse.opensmartclide.dbapi.repository.ServiceRepository; +import org.junit.Before; import org.junit.jupiter.api.Test; import org.junit.runner.RunWith; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.http.MediaType; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.junit4.SpringRunner; + +// Mockito +import static org.mockito.Mockito.when; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; + +// WebMvcTest import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; import org.springframework.test.web.servlet.result.MockMvcResultMatchers; +import org.springframework.test.web.servlet.result.MockMvcResultHandlers; /** * @author asal * */ @RunWith(SpringRunner.class) -@WebMvcTest(ServiceController.class) -class ServiceControllerTest { +@WebMvcTest(controllers = ServiceController.class) +public class ServiceControllerTest { - @Autowired + @MockBean + private ServiceRepository serviceRepository; + + @MockBean + private MongoTemplate template; + + @Autowired private MockMvc mvc; - @MockBean - private ServiceRepository repository; - @Test - void getAllServicesEndpoint() throws Exception { - + public void getAllServicesEndpoint() throws Exception { + // mock services repository Service service = new Service(); - service.setName("TestService"); - List services = Arrays.asList(service); - repository.saveAll(services); + service.setName("TestService-1"); + List services = new ArrayList<>(Arrays.asList(service)); + when(serviceRepository.findAll()).thenReturn(services); - mvc.perform(MockMvcRequestBuilders - .get("/services") - .accept(MediaType.APPLICATION_JSON)) - .andExpect(MockMvcResultMatchers.status().isOk()) - .andExpect(MockMvcResultMatchers.jsonPath("$.services").exists()) - .andExpect(MockMvcResultMatchers.jsonPath("$.services[*].id").isNotEmpty()); + String uri = "/services"; + // perform test + mvc.perform(MockMvcRequestBuilders.get(uri) + .accept(MediaType.APPLICATION_JSON_VALUE)) + .andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.jsonPath("$.size()").value(services.size())) + .andDo(MockMvcResultHandlers.print()); } - } From ba7912254a394656063f71be1c7f9129ead52e4c Mon Sep 17 00:00:00 2001 From: Athanasios Salamanis Date: Wed, 22 Feb 2023 14:21:26 +0200 Subject: [PATCH 3/5] Added the local unit tests for the ServiceRegistry, Service, Team, User and Workflow entity classes. --- .../ServiceRegistryRepositoryTest.java | 73 ++++++++++ .../repository/ServiceRepositoryTest.java | 135 ++++++++++++++++++ .../dbapi/repository/TeamRepositoryTest.java | 41 ++++++ .../dbapi/repository/UserRepositoryTest.java | 50 +++++++ .../repository/WorkflowRepositoryTest.java | 101 +++++++++++++ 5 files changed, 400 insertions(+) create mode 100644 src/test/java/org/eclipse/opensmartclide/dbapi/repository/ServiceRegistryRepositoryTest.java create mode 100644 src/test/java/org/eclipse/opensmartclide/dbapi/repository/ServiceRepositoryTest.java create mode 100644 src/test/java/org/eclipse/opensmartclide/dbapi/repository/TeamRepositoryTest.java create mode 100644 src/test/java/org/eclipse/opensmartclide/dbapi/repository/UserRepositoryTest.java create mode 100644 src/test/java/org/eclipse/opensmartclide/dbapi/repository/WorkflowRepositoryTest.java diff --git a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/ServiceRegistryRepositoryTest.java b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/ServiceRegistryRepositoryTest.java new file mode 100644 index 0000000..8701b1c --- /dev/null +++ b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/ServiceRegistryRepositoryTest.java @@ -0,0 +1,73 @@ +package org.eclipse.opensmartclide.dbapi.repository; + +import static org.junit.Assert.assertEquals; +import java.util.Optional; +import org.eclipse.opensmartclide.dbapi.model.ServiceRegistry; +import org.junit.Before; +import org.junit.jupiter.api.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest; +import org.springframework.test.context.junit4.SpringRunner; + +@RunWith(SpringRunner.class) +@DataMongoTest +class ServiceRegistryRepositoryTest { + + @Autowired + ServiceRegistryRepository serviceRegistryRepository; + + @Before + public void setUp() throws Exception { + ServiceRegistry serviceRegistry = new ServiceRegistry(); + serviceRegistry.setId(Long.toString(1L)); + serviceRegistry.setUser_id("testServiceRegistryUserId"); + serviceRegistry.setType("testServiceRegistryType"); + serviceRegistry.setUrl("testServiceRegistryUrl"); + serviceRegistry.setUsername("testServiceRegistryUsername"); + serviceRegistry.setToken("testServiceRegistryToken"); + serviceRegistryRepository.save(serviceRegistry); + } + + @Test + public void assertServiceRegistryIdPersisted() { + Optional serviceRegistry = serviceRegistryRepository.findById(Long.toString(1L)); + String serviceRegistryId = serviceRegistry.get().getId(); + assertEquals(Long.toString(1L), serviceRegistryId); + } + + @Test + public void assertServiceRegistryUserIdPersisted() { + Optional serviceRegistry = serviceRegistryRepository.findById(Long.toString(1L)); + String serviceRegistryUserId = serviceRegistry.get().getUser_id(); + assertEquals("testServiceRegistryUserId", serviceRegistryUserId); + } + + @Test + public void assertServiceRegistryTypePersisted() { + Optional serviceRegistry = serviceRegistryRepository.findById(Long.toString(1L)); + String serviceRegistryType = serviceRegistry.get().getType(); + assertEquals("testServiceRegistryType", serviceRegistryType); + } + + @Test + public void assertServiceRegistryUrlPersisted() { + Optional serviceRegistry = serviceRegistryRepository.findById(Long.toString(1L)); + String serviceRegistryUrl = serviceRegistry.get().getUrl(); + assertEquals("testServiceRegistryUrl", serviceRegistryUrl); + } + + @Test + public void assertServiceRegistryUsernamePersisted() { + Optional serviceRegistry = serviceRegistryRepository.findById(Long.toString(1L)); + String serviceRegistryUsername = serviceRegistry.get().getUsername(); + assertEquals("testServiceRegistryUsername", serviceRegistryUsername); + } + + @Test + public void assertServiceRegistryTokenPersisted() { + Optional serviceRegistry = serviceRegistryRepository.findById(Long.toString(1L)); + String serviceRegistryToken = serviceRegistry.get().getToken(); + assertEquals("testServiceRegistryToken", serviceRegistryToken); + } +} diff --git a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/ServiceRepositoryTest.java b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/ServiceRepositoryTest.java new file mode 100644 index 0000000..1a7631e --- /dev/null +++ b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/ServiceRepositoryTest.java @@ -0,0 +1,135 @@ +package org.eclipse.opensmartclide.dbapi.repository; + +import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.*; +import org.eclipse.opensmartclide.dbapi.model.Service; +import org.junit.Before; +import org.junit.jupiter.api.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest; +import org.springframework.test.context.junit4.SpringRunner; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Optional; + +@RunWith(SpringRunner.class) +@DataMongoTest +class ServiceRepositoryTest { + + @Autowired + ServiceRepository serviceRepository; + + @Before + public void setUp() throws Exception { + Service service = new Service(); + service.setId(Long.toString(1L)); + service.setName("testServiceName"); + service.setUser_id("testUserId"); + service.setRegistry_id("testRegistryId"); + service.setWorkspace_id("testWorkSpaceId"); + service.setGit_credentials_id("testGitCredentialsId"); + service.setUrl("testServiceUrl"); + service.setDescription("testServiceDescription"); + service.setIsPublic(true); + service.setLicence("testServiceLicense"); + service.setFramework("testServiceFramework"); + Date createdDate = new SimpleDateFormat("dd/mm/yyyy").parse("10/01/2022"); + Date updatedDate = new SimpleDateFormat("dd/mm/yyyy").parse("20/03/2022"); + service.setCreated(createdDate); + service.setUpdated(updatedDate); + serviceRepository.save(service); + } + + @Test + public void assertServiceIdPersisted() { + Optional service = serviceRepository.findById(Long.toString(1L)); + String serviceId = service.get().getId(); + assertEquals(Long.toString(1L), serviceId); + } + + @Test + public void assertServiceNamePersisted() { + Optional service = serviceRepository.findById(Long.toString(1L)); + String serviceName = service.get().getName(); + assertEquals("testServiceName", serviceName); + } + + @Test + public void assertServiceUserIdPersisted() { + Optional service = serviceRepository.findById(Long.toString(1L)); + String serviceUserId = service.get().getUser_id(); + assertEquals("testUserId", serviceUserId); + } + + @Test + public void assertServiceRegistryIdPersisted() { + Optional service = serviceRepository.findById(Long.toString(1L)); + String serviceRegistryId = service.get().getRegistry_id(); + assertEquals("testRegistryId", serviceRegistryId); + } + + @Test + public void assertServiceWorkspaceIdPersisted() { + Optional service = serviceRepository.findById(Long.toString(1L)); + String serviceWorkspaceId = service.get().getWorkspace_id(); + assertEquals("testWorkSpaceId", serviceWorkspaceId); + } + + @Test + public void assertServiceGitCredentialsIdPersisted() { + Optional service = serviceRepository.findById(Long.toString(1L)); + String serviceGitCredentialsId = service.get().getGit_credentials_id(); + assertEquals("testGitCredentialsId", serviceGitCredentialsId); + } + + @Test + public void assertServiceUrlPersisted() { + Optional service = serviceRepository.findById(Long.toString(1L)); + String serviceUrl = service.get().getUrl(); + assertEquals("testServiceUrl", serviceUrl); + } + + @Test + public void assertServiceDescriptionPersisted() { + Optional service = serviceRepository.findById(Long.toString(1L)); + String serviceDescription = service.get().getDescription(); + assertEquals("testServiceDescription", serviceDescription); + } + + @Test + public void assertServiceIsPublic() { + Optional service = serviceRepository.findById(Long.toString(1L)); + boolean serviceIsPublic = service.get().getIsPublic(); + assertTrue(serviceIsPublic == true); + } + + @Test + public void assertServiceLicensePersisted() { + Optional service = serviceRepository.findById(Long.toString(1L)); + String serviceLicense = service.get().getLicence(); + assertEquals("testServiceLicense", serviceLicense); + } + + @Test + public void assertServiceFrameworkPersisted() { + Optional service = serviceRepository.findById(Long.toString(1L)); + String serviceFramework = service.get().getFramework(); + assertEquals("testServiceFramework", serviceFramework); + } + + @Test + public void assertServiceCreatedDatePersisted() throws ParseException { + Optional service = serviceRepository.findById(Long.toString(1L)); + Date serviceCreatedDate = service.get().getCreated(); + assertTrue(serviceCreatedDate.equals(new SimpleDateFormat("dd/mm/yyyy").parse("10/01/2022"))); + } + + @Test + public void assertServiceUpdatedDatePersisted() throws ParseException { + Optional service = serviceRepository.findById(Long.toString(1L)); + Date serviceUpdatedDate = service.get().getUpdated(); + assertTrue(serviceUpdatedDate.equals(new SimpleDateFormat("dd/mm/yyyy").parse("20/03/2022"))); + } +} diff --git a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/TeamRepositoryTest.java b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/TeamRepositoryTest.java new file mode 100644 index 0000000..9963a10 --- /dev/null +++ b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/TeamRepositoryTest.java @@ -0,0 +1,41 @@ +package org.eclipse.opensmartclide.dbapi.repository; + +import static org.junit.Assert.assertEquals; +import java.util.Optional; +import org.eclipse.opensmartclide.dbapi.model.Team; +import org.junit.Before; +import org.junit.jupiter.api.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest; +import org.springframework.test.context.junit4.SpringRunner; + +@RunWith(SpringRunner.class) +@DataMongoTest +class TeamRepositoryTest { + + @Autowired + TeamRepository teamRepository; + + @Before + public void setUp() throws Exception { + Team team = new Team(); + team.setId(Long.toString(1L)); + team.setName("testTeamName"); + teamRepository.save(team); + } + + @Test + public void assertTeamIdPersisted() { + Optional team = teamRepository.findById(Long.toString(1L)); + String teamId = team.get().getId(); + assertEquals(Long.toString(1L), teamId); + } + + @Test + public void assertTeamNamePersisted() { + Optional team = teamRepository.findById(Long.toString(1L)); + String teamName = team.get().getName(); + assertEquals("testTeamName", teamName); + } +} diff --git a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/UserRepositoryTest.java b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/UserRepositoryTest.java new file mode 100644 index 0000000..6d99afd --- /dev/null +++ b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/UserRepositoryTest.java @@ -0,0 +1,50 @@ +package org.eclipse.opensmartclide.dbapi.repository; + +import static org.junit.Assert.assertEquals; +import java.util.Optional; +import org.eclipse.opensmartclide.dbapi.model.User; +import org.junit.Before; +import org.junit.jupiter.api.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest; +import org.springframework.test.context.junit4.SpringRunner; + +@RunWith(SpringRunner.class) +@DataMongoTest +class UserRepositoryTest { + + @Autowired + UserRepository userRepository; + + @Before + public void setUp() throws Exception { + User user = new User(); + user.setId(Long.toString(1L)); + user.setEmail("testUser@email.com"); + user.setTeam_id("testUserTeamId"); + userRepository.save(user); + } + + @Test + public void assertUserIdPersisted() { + Optional user = userRepository.findById(Long.toString(1L)); + String userId = user.get().getId(); + assertEquals(Long.toString(1L), userId); + } + + @Test + public void assertUserEmailPersisted() { + Optional user = userRepository.findById(Long.toString(1L)); + String userEmail = user.get().getEmail(); + assertEquals("testUser@email.com", userEmail); + } + + @Test + public void assertUserTeamIdPersisted() { + Optional user = userRepository.findById(Long.toString(1L)); + String userTeamId = user.get().getTeam_id(); + assertEquals("testUserTeamId", userTeamId); + } + +} diff --git a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/WorkflowRepositoryTest.java b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/WorkflowRepositoryTest.java new file mode 100644 index 0000000..c5ad7a1 --- /dev/null +++ b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/WorkflowRepositoryTest.java @@ -0,0 +1,101 @@ +package org.eclipse.opensmartclide.dbapi.repository; + +import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.*; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Optional; + +import org.eclipse.opensmartclide.dbapi.model.Service; +import org.eclipse.opensmartclide.dbapi.model.Workflow; +import org.eclipse.opensmartclide.dbapi.repository.ServiceRepository; +import org.eclipse.opensmartclide.dbapi.repository.WorkflowRepository; +import org.junit.Before; +import org.junit.jupiter.api.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest; +import org.springframework.test.context.junit4.SpringRunner; + +@RunWith(SpringRunner.class) +@DataMongoTest +class WorkflowRepositoryTest { + + @Autowired + WorkflowRepository workflowRepository; + + @Before + public void setUp() throws Exception { + Workflow workflow = new Workflow(); + workflow.setId(Long.toString(1L)); + workflow.setUser_id("testWorkflowUserId"); + workflow.setGit_credentials_id("testWorkflowGitCredentialsId"); + workflow.setName("testWorkflowName"); + workflow.setUrl("testWorkflowUrl"); + workflow.setDescription("testWorkflowDescription"); + workflow.setIs_public(true); + Date createdDate = new SimpleDateFormat("dd/mm/yyyy").parse("15/09/2022"); + Date updatedDate = new SimpleDateFormat("dd/mm/yyyy").parse("11/07/2022"); + workflow.setCreated(createdDate); + workflow.setUpdated(updatedDate); + workflowRepository.save(workflow); + } + + @Test + public void assertWorkflowIdPersisted() { + Optional workflow = workflowRepository.findById(Long.toString(1L)); + String workflowId = workflow.get().getId(); + assertEquals(Long.toString(1L), workflowId); + } + + @Test + public void assertWorkflowUserIdPersisted() { + Optional workflow = workflowRepository.findById(Long.toString(1L)); + String workflowUserId = workflow.get().getUser_id(); + assertEquals("testWorkflowUserId", workflowUserId); + } + + @Test + public void assertWorkflowGitCredentialsIdPersisted() { + Optional workflow = workflowRepository.findById(Long.toString(1L)); + String workflowGitCredentialsId = workflow.get().getGit_credentials_id(); + assertEquals("testWorkflowGitCredentialsId", workflowGitCredentialsId); + } + + @Test + public void assertWorkflowNamePersisted() { + Optional workflow = workflowRepository.findById(Long.toString(1L)); + String workflowName = workflow.get().getName(); + assertEquals("testWorkflowName", workflowName); + } + + @Test + public void assertWorkflowUrlPersisted() { + Optional workflow = workflowRepository.findById(Long.toString(1L)); + String workflowUrl = workflow.get().getUrl(); + assertEquals("testWorkflowUrl", workflowUrl); + } + + @Test + public void assertWorkflowDescriptionPersisted() { + Optional workflow = workflowRepository.findById(Long.toString(1L)); + String workflowDescription = workflow.get().getDescription(); + assertEquals("testWorkflowDescription", workflowDescription); + } + + @Test + public void assertWorkflowCreatedDatePersisted() throws ParseException { + Optional workflow = workflowRepository.findById(Long.toString(1L)); + Date workflowCreatedDate = workflow.get().getCreated(); + assertTrue(workflowCreatedDate.equals(new SimpleDateFormat("dd/mm/yyyy").parse("15/09/2022"))); + } + + @Test + public void assertWorkflowUpdatedDatePersisted() throws ParseException { + Optional workflow = workflowRepository.findById(Long.toString(1L)); + Date workflowUpdatedDate = workflow.get().getUpdated(); + assertTrue(workflowUpdatedDate.equals(new SimpleDateFormat("dd/mm/yyyy").parse("11/07/2022"))); + } +} From dbd06d69f1de27260eac3c2aa3fab326363a5d61 Mon Sep 17 00:00:00 2001 From: Athanasios Salamanis Date: Thu, 23 Feb 2023 11:02:17 +0200 Subject: [PATCH 4/5] Added the local unit tests for the CiManager, DeploymentPlatform, Deployment, GitCredentials entity classes. --- .../repository/CiManagerRepositoryTest.java | 74 ++++++++ .../DeploymentPlatformRepositoryTest.java | 66 +++++++ .../repository/DeploymentRepositoryTest.java | 172 ++++++++++++++++++ .../GitCredentialsRepositoryTest.java | 74 ++++++++ .../ServiceRegistryRepositoryTest.java | 2 +- .../repository/ServiceRepositoryTest.java | 2 +- .../dbapi/repository/TeamRepositoryTest.java | 2 +- .../dbapi/repository/UserRepositoryTest.java | 2 +- .../repository/WorkflowRepositoryTest.java | 4 - 9 files changed, 390 insertions(+), 8 deletions(-) create mode 100644 src/test/java/org/eclipse/opensmartclide/dbapi/repository/CiManagerRepositoryTest.java create mode 100644 src/test/java/org/eclipse/opensmartclide/dbapi/repository/DeploymentPlatformRepositoryTest.java create mode 100644 src/test/java/org/eclipse/opensmartclide/dbapi/repository/DeploymentRepositoryTest.java create mode 100644 src/test/java/org/eclipse/opensmartclide/dbapi/repository/GitCredentialsRepositoryTest.java diff --git a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/CiManagerRepositoryTest.java b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/CiManagerRepositoryTest.java new file mode 100644 index 0000000..6c33287 --- /dev/null +++ b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/CiManagerRepositoryTest.java @@ -0,0 +1,74 @@ +package org.eclipse.opensmartclide.dbapi.repository; + +import static org.junit.Assert.assertEquals; +import java.util.Optional; +import org.eclipse.opensmartclide.dbapi.model.CiManager; +import org.junit.Before; +import org.junit.jupiter.api.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest; +import org.springframework.test.context.junit4.SpringRunner; + +@RunWith(SpringRunner.class) +@DataMongoTest +class CiManagerRepositoryTest { + + @Autowired + CiManagerRepository ciManagerRepository; + + @Before + public void setUp() throws Exception { + CiManager ciManager = new CiManager(); + ciManager.setId(Long.toString(1L)); + ciManager.setUser_id("testCiManagerUserId"); + ciManager.setType("testCiManagerType"); + ciManager.setUrl("testCiManagerUrl"); + ciManager.setUsername("testCiManagerUsername"); + ciManager.setToken("testCiManagerToken"); + ciManagerRepository.save(ciManager); + } + + @Test + public void assertCiManagerIdPersisted() { + Optional ciManager = ciManagerRepository.findById(Long.toString(1L)); + String ciManagerId = ciManager.get().getId(); + assertEquals(Long.toString(1L), ciManagerId); + } + + @Test + public void assertCiManagerUserIdPersisted() { + Optional ciManager = ciManagerRepository.findById(Long.toString(1L)); + String ciManagerUserId = ciManager.get().getUser_id(); + assertEquals("testCiManagerUserId", ciManagerUserId); + } + + @Test + public void assertCiManagerTypePersisted() { + Optional ciManager = ciManagerRepository.findById(Long.toString(1L)); + String ciManagerType = ciManager.get().getType(); + assertEquals("testCiManagerType", ciManagerType); + } + + @Test + public void assertCiManagerUrlPersisted() { + Optional ciManager = ciManagerRepository.findById(Long.toString(1L)); + String ciManagerUrl = ciManager.get().getUrl(); + assertEquals("testCiManagerUrl", ciManagerUrl); + } + + @Test + public void assertCiManagerUsernamePersisted() { + Optional ciManager = ciManagerRepository.findById(Long.toString(1L)); + String ciManagerUsername = ciManager.get().getUsername(); + assertEquals("testCiManagerUsername", ciManagerUsername); + } + + @Test + public void assertCiManagerTokenPersisted() { + Optional ciManager = ciManagerRepository.findById(Long.toString(1L)); + String ciManagerToken = ciManager.get().getToken(); + assertEquals("testCiManagerToken", ciManagerToken); + } + +} diff --git a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/DeploymentPlatformRepositoryTest.java b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/DeploymentPlatformRepositoryTest.java new file mode 100644 index 0000000..fe70053 --- /dev/null +++ b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/DeploymentPlatformRepositoryTest.java @@ -0,0 +1,66 @@ +package org.eclipse.opensmartclide.dbapi.repository; + +import static org.junit.Assert.assertEquals; +import java.util.Optional; +import org.eclipse.opensmartclide.dbapi.model.DeploymentPlatform; +import org.junit.Before; +import org.junit.jupiter.api.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest; +import org.springframework.test.context.junit4.SpringRunner; + +@RunWith(SpringRunner.class) +@DataMongoTest +class DeploymentPlatformRepositoryTest { + + @Autowired + DeploymentPlatformRepository deploymentPlatformRepository; + + @Before + public void setUp() throws Exception { + DeploymentPlatform deploymentPlatform = new DeploymentPlatform(); + deploymentPlatform.setId(Long.toString(1L)); + deploymentPlatform.setUser_id("testDeploymentPlatformUserId"); + deploymentPlatform.setUrl("testDeploymentPlatformUrl"); + deploymentPlatform.setUsername("testDeploymentPlatformUsername"); + deploymentPlatform.setToken("testDeploymentPlatformToken"); + deploymentPlatformRepository.save(deploymentPlatform); + } + + @Test + public void assertDeploymentPlatformIdPersisted() { + Optional deploymentPlatform = deploymentPlatformRepository.findById(Long.toString(1L)); + String deploymentPlatformId = deploymentPlatform.get().getId(); + assertEquals(Long.toString(1L), deploymentPlatformId); + } + + @Test + public void assertDeploymentPlatformUserIdPersisted() { + Optional deploymentPlatform = deploymentPlatformRepository.findById(Long.toString(1L)); + String deploymentPlatformUserId = deploymentPlatform.get().getUser_id(); + assertEquals("testDeploymentPlatformUserId", deploymentPlatformUserId); + } + + @Test + public void assertDeploymentPlatformUrlPersisted() { + Optional deploymentPlatform = deploymentPlatformRepository.findById(Long.toString(1L)); + String deploymentPlatformUrl = deploymentPlatform.get().getUrl(); + assertEquals("testDeploymentPlatformUrl", deploymentPlatformUrl); + } + + @Test + public void assertDeploymentPlatformUsernamePersisted() { + Optional deploymentPlatform = deploymentPlatformRepository.findById(Long.toString(1L)); + String deploymentPlatformUsername = deploymentPlatform.get().getUsername(); + assertEquals("testDeploymentPlatformUsername", deploymentPlatformUsername); + } + + @Test + public void assertDeploymentPlatformTokenPersisted() { + Optional deploymentPlatform = deploymentPlatformRepository.findById(Long.toString(1L)); + String deploymentPlatformToken = deploymentPlatform.get().getToken(); + assertEquals("testDeploymentPlatformToken", deploymentPlatformToken); + } + +} diff --git a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/DeploymentRepositoryTest.java b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/DeploymentRepositoryTest.java new file mode 100644 index 0000000..7ca3431 --- /dev/null +++ b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/DeploymentRepositoryTest.java @@ -0,0 +1,172 @@ +package org.eclipse.opensmartclide.dbapi.repository; + +import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.*; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Optional; +import org.eclipse.opensmartclide.dbapi.model.Deployment; +import org.eclipse.opensmartclide.dbapi.model.Service; +import org.junit.Before; +import org.junit.jupiter.api.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest; +import org.springframework.test.context.junit4.SpringRunner; + +@RunWith(SpringRunner.class) +@DataMongoTest +class DeploymentRepositoryTest { + + @Autowired + DeploymentRepository deploymentRepository; + + @Before + public void setUp() throws Exception { + Deployment deployment = new Deployment(); + deployment.setId(Long.toString(1L)); + deployment.setUser_id("testDeploymentUserId"); + deployment.setUser("testDeploymentUser"); + deployment.setGit_credentials_id("testDeploymentGitCredentialsId"); + deployment.setName("testDeploymentName"); + deployment.setProject("testDeploymentProject"); + deployment.setService_url("testDeploymentServiceUrl"); + deployment.setK8s_url("testDeploymentK8sUrl"); + deployment.setPort(8080); + deployment.setReplicas(2); + deployment.setWorkflow_id("testDeploymentWorkflowId"); + deployment.setService_id("testDeploymentServiceId"); + deployment.setVersion("testDeploymentVersion"); + deployment.setState("testDeploymentState"); + + Date createdDate = new SimpleDateFormat("dd/mm/yyyy").parse("01/10/2022"); + Date updatedDate = new SimpleDateFormat("dd/mm/yyyy").parse("02/10/2022"); + Date stoppedDate = new SimpleDateFormat("dd/mm/yyyy").parse("03/10/2022"); + deployment.setCreated(createdDate); + deployment.setUpdated(updatedDate); + deployment.setStopped(stoppedDate); + + deploymentRepository.save(deployment); + } + + @Test + public void assertDeploymentIdPersisted() { + Optional deployment = deploymentRepository.findById(Long.toString(1L)); + String deploymentId = deployment.get().getId(); + assertEquals(Long.toString(1L), deploymentId); + } + + @Test + public void assertDeploymentUserIdPersisted() { + Optional deployment = deploymentRepository.findById(Long.toString(1L)); + String deploymentUserId = deployment.get().getUser_id(); + assertEquals("testDeploymentUserId", deploymentUserId); + } + + @Test + public void assertDeploymentUserPersisted() { + Optional deployment = deploymentRepository.findById(Long.toString(1L)); + String deploymentUser = deployment.get().getUser(); + assertEquals("testDeploymentUser", deploymentUser); + } + + @Test + public void assertDeploymentGitCredentialsIdPersisted() { + Optional deployment = deploymentRepository.findById(Long.toString(1L)); + String deploymentGitCredentialsId = deployment.get().getGit_credentials_id(); + assertEquals("testDeploymentGitCredentialsId", deploymentGitCredentialsId); + } + + @Test + public void assertDeploymentNamePersisted() { + Optional deployment = deploymentRepository.findById(Long.toString(1L)); + String deploymentName = deployment.get().getName(); + assertEquals("testDeploymentName", deploymentName); + } + + @Test + public void assertDeploymentProjectPersisted() { + Optional deployment = deploymentRepository.findById(Long.toString(1L)); + String deploymentProject = deployment.get().getProject(); + assertEquals("testDeploymentProject", deploymentProject); + } + + @Test + public void assertDeploymentServiceUrlPersisted() { + Optional deployment = deploymentRepository.findById(Long.toString(1L)); + String deploymentUrl = deployment.get().getService_url(); + assertEquals("testDeploymentServiceUrl", deploymentUrl); + } + + @Test + public void assertDeploymentK8sUrlPersisted() { + Optional deployment = deploymentRepository.findById(Long.toString(1L)); + String deploymentK8sUrl = deployment.get().getK8s_url(); + assertEquals("testDeploymentK8sUrl", deploymentK8sUrl); + } + + @Test + public void assertDeploymentPortPersisted() { + Optional deployment = deploymentRepository.findById(Long.toString(1L)); + Integer deploymentPort = deployment.get().getPort(); + assertEquals(8080, deploymentPort); + } + + @Test + public void assertDeploymentReplicasPersisted() { + Optional deployment = deploymentRepository.findById(Long.toString(1L)); + Integer deploymentReplicas = deployment.get().getReplicas(); + assertEquals(2, deploymentReplicas); + } + + @Test + public void assertDeploymentWorkflowIdPersisted() { + Optional deployment = deploymentRepository.findById(Long.toString(1L)); + String deploymentWorkflowId = deployment.get().getWorkflow_id(); + assertEquals("testDeploymentWorkflowId", deploymentWorkflowId); + } + + @Test + public void assertDeploymentServiceIdPersisted() { + Optional deployment = deploymentRepository.findById(Long.toString(1L)); + String deploymentServiceId = deployment.get().getService_id(); + assertEquals("testDeploymentServiceId", deploymentServiceId); + } + + @Test + public void assertDeploymentVersionPersisted() { + Optional deployment = deploymentRepository.findById(Long.toString(1L)); + String deploymentVersion = deployment.get().getVersion(); + assertEquals("testDeploymentVersion", deploymentVersion); + } + + @Test + public void assertDeploymentStatePersisted() { + Optional deployment = deploymentRepository.findById(Long.toString(1L)); + String deploymentState = deployment.get().getState(); + assertEquals("testDeploymentState", deploymentState); + } + + @Test + public void assertDeploymentCreatedDatePersisted() throws ParseException { + Optional deployment = deploymentRepository.findById(Long.toString(1L)); + Date deploymentCreatedDate = deployment.get().getCreated(); + assertTrue(deploymentCreatedDate.equals(new SimpleDateFormat("dd/mm/yyyy").parse("01/10/2022"))); + } + + @Test + public void assertDeploymentUpdatedDatePersisted() throws ParseException { + Optional deployment = deploymentRepository.findById(Long.toString(1L)); + Date deploymentUpdatedDate = deployment.get().getUpdated(); + assertTrue(deploymentUpdatedDate.equals(new SimpleDateFormat("dd/mm/yyyy").parse("02/10/2022"))); + } + + @Test + public void assertDeploymentStoppedDatePersisted() throws ParseException { + Optional deployment = deploymentRepository.findById(Long.toString(1L)); + Date deploymentStoppedDate = deployment.get().getStopped(); + assertTrue(deploymentStoppedDate.equals(new SimpleDateFormat("dd/mm/yyyy").parse("03/10/2022"))); + } +} diff --git a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/GitCredentialsRepositoryTest.java b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/GitCredentialsRepositoryTest.java new file mode 100644 index 0000000..5e28e59 --- /dev/null +++ b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/GitCredentialsRepositoryTest.java @@ -0,0 +1,74 @@ +package org.eclipse.opensmartclide.dbapi.repository; + +import static org.junit.Assert.assertEquals; +import java.util.Optional; +import org.eclipse.opensmartclide.dbapi.model.GitCredentials; +import org.junit.Before; +import org.junit.jupiter.api.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest; +import org.springframework.test.context.junit4.SpringRunner; + +@RunWith(SpringRunner.class) +@DataMongoTest +class GitCredentialsRepositoryTest { + + @Autowired + GitCredentialsRepository gitCredentialsRepository; + + @Before + public void setUp() { + GitCredentials gitCredentials = new GitCredentials(); + gitCredentials.setId(Long.toString(1L)); + gitCredentials.setUser_id("testGitCredentialsUserId"); + gitCredentials.setToken("testGitCredentialsType"); + gitCredentials.setUrl("testGitCredentialsUrl"); + gitCredentials.setUsername("testGitCredentialsUsername"); + gitCredentials.setToken("testGitCredentialsToken"); + gitCredentialsRepository.save(gitCredentials); + } + + @Test + public void assertGitCredentialsIdPersisted() { + Optional gitCredentials = gitCredentialsRepository.findById(Long.toString(1L)); + String gitCredentialsId = gitCredentials.get().getId(); + assertEquals(Long.toString(1L), gitCredentialsId); + } + + @Test + public void assertGitCredentialsUserIdPersisted() { + Optional gitCredentials = gitCredentialsRepository.findById(Long.toString(1L)); + String gitCredentialsUserId = gitCredentials.get().getUser_id(); + assertEquals("testGitCredentialsUserId", gitCredentialsUserId); + } + + @Test + public void assertGitCredentialsTypePersisted() { + Optional gitCredentials = gitCredentialsRepository.findById(Long.toString(1L)); + String gitCredentialsType = gitCredentials.get().getType(); + assertEquals("testGitCredentialsType", gitCredentialsType); + } + + @Test + public void assertGitCredentialsUrlPersisted() { + Optional gitCredentials = gitCredentialsRepository.findById(Long.toString(1L)); + String gitCredentialsUrl = gitCredentials.get().getUrl(); + assertEquals("testGitCredentialsUrl", gitCredentialsUrl); + } + + @Test + public void assertGitCredentialsUsernamePersisted() { + Optional gitCredentials = gitCredentialsRepository.findById(Long.toString(1L)); + String gitCredentialsUsername = gitCredentials.get().getUsername(); + assertEquals("testGitCredentialsUsername", gitCredentialsUsername); + } + + @Test + public void assertGitCredentialsTokenPersisted() { + Optional gitCredentials = gitCredentialsRepository.findById(Long.toString(1L)); + String gitCredentialsToken = gitCredentials.get().getToken(); + assertEquals("testGitCredentialsToken", gitCredentialsToken); + } + +} diff --git a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/ServiceRegistryRepositoryTest.java b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/ServiceRegistryRepositoryTest.java index 8701b1c..94c4aa9 100644 --- a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/ServiceRegistryRepositoryTest.java +++ b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/ServiceRegistryRepositoryTest.java @@ -18,7 +18,7 @@ class ServiceRegistryRepositoryTest { ServiceRegistryRepository serviceRegistryRepository; @Before - public void setUp() throws Exception { + public void setUp() { ServiceRegistry serviceRegistry = new ServiceRegistry(); serviceRegistry.setId(Long.toString(1L)); serviceRegistry.setUser_id("testServiceRegistryUserId"); diff --git a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/ServiceRepositoryTest.java b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/ServiceRepositoryTest.java index 1a7631e..f4ccff0 100644 --- a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/ServiceRepositoryTest.java +++ b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/ServiceRepositoryTest.java @@ -22,7 +22,7 @@ class ServiceRepositoryTest { ServiceRepository serviceRepository; @Before - public void setUp() throws Exception { + public void setUp() throws Exception { Service service = new Service(); service.setId(Long.toString(1L)); service.setName("testServiceName"); diff --git a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/TeamRepositoryTest.java b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/TeamRepositoryTest.java index 9963a10..98108ee 100644 --- a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/TeamRepositoryTest.java +++ b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/TeamRepositoryTest.java @@ -18,7 +18,7 @@ class TeamRepositoryTest { TeamRepository teamRepository; @Before - public void setUp() throws Exception { + public void setUp() { Team team = new Team(); team.setId(Long.toString(1L)); team.setName("testTeamName"); diff --git a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/UserRepositoryTest.java b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/UserRepositoryTest.java index 6d99afd..5a30621 100644 --- a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/UserRepositoryTest.java +++ b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/UserRepositoryTest.java @@ -18,7 +18,7 @@ class UserRepositoryTest { UserRepository userRepository; @Before - public void setUp() throws Exception { + public void setUp() { User user = new User(); user.setId(Long.toString(1L)); user.setEmail("testUser@email.com"); diff --git a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/WorkflowRepositoryTest.java b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/WorkflowRepositoryTest.java index c5ad7a1..6940366 100644 --- a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/WorkflowRepositoryTest.java +++ b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/WorkflowRepositoryTest.java @@ -2,15 +2,11 @@ import static org.junit.Assert.assertEquals; import static org.junit.jupiter.api.Assertions.*; - import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Optional; - -import org.eclipse.opensmartclide.dbapi.model.Service; import org.eclipse.opensmartclide.dbapi.model.Workflow; -import org.eclipse.opensmartclide.dbapi.repository.ServiceRepository; import org.eclipse.opensmartclide.dbapi.repository.WorkflowRepository; import org.junit.Before; import org.junit.jupiter.api.Test; From 4e79d04577139353238b96c06733c80c0dbab0e2 Mon Sep 17 00:00:00 2001 From: Athanasios Salamanis Date: Thu, 23 Feb 2023 16:33:21 +0200 Subject: [PATCH 5/5] Fixed minor issues of the (entities) testing code. --- pom.xml | 39 ++++------- src/main/resources/application.properties | 1 + .../controller/ServiceControllerTest.java | 70 ------------------- .../repository/CiManagerRepositoryTest.java | 7 +- .../DeploymentPlatformRepositoryTest.java | 7 +- .../repository/DeploymentRepositoryTest.java | 26 ++++--- .../GitCredentialsRepositoryTest.java | 9 +-- .../ServiceRegistryRepositoryTest.java | 7 +- .../repository/ServiceRepositoryTest.java | 13 ++-- .../dbapi/repository/TeamRepositoryTest.java | 7 +- .../dbapi/repository/UserRepositoryTest.java | 7 +- .../repository/WorkflowRepositoryTest.java | 13 ++-- 12 files changed, 71 insertions(+), 135 deletions(-) delete mode 100644 src/test/java/org/eclipse/opensmartclide/dbapi/controller/ServiceControllerTest.java diff --git a/pom.xml b/pom.xml index cb2eac1..d3437a6 100644 --- a/pom.xml +++ b/pom.xml @@ -43,45 +43,34 @@ test - - + + + junit + junit + 4.11 + test + + + - com.h2database - h2 + de.flapdoodle.embed + de.flapdoodle.embed.mongo test - - - - - - - - - junit - junit - 4.11 - test - - - - - + + org.projectlombok lombok 1.18.24 provided - - - + org.springframework.boot spring-boot-starter-validation - diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 49307dc..649a971 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,5 +1,6 @@ #spring.data.mongodb.host=$MONGODB_HOST #spring.data.mongodb.port=$MONGODB_PORT spring.data.mongodb.database=smartclide +spring.mongodb.embedded.version=3.6.5 #spring.data.mongodb.username=$MONGODB_USERNAME #spring.data.mongodb.password=$MONGODB_PASSWORD \ No newline at end of file diff --git a/src/test/java/org/eclipse/opensmartclide/dbapi/controller/ServiceControllerTest.java b/src/test/java/org/eclipse/opensmartclide/dbapi/controller/ServiceControllerTest.java deleted file mode 100644 index 4b4d0d0..0000000 --- a/src/test/java/org/eclipse/opensmartclide/dbapi/controller/ServiceControllerTest.java +++ /dev/null @@ -1,70 +0,0 @@ -/** - * - */ -package org.eclipse.opensmartclide.dbapi.controller; - -import java.util.List; -import java.util.ArrayList; -import java.util.Arrays; - -import org.eclipse.opensmartclide.dbapi.model.Service; -import org.eclipse.opensmartclide.dbapi.repository.ServiceRepository; -import org.junit.Before; -import org.junit.jupiter.api.Test; -import org.junit.runner.RunWith; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.mock.mockito.MockBean; -import org.springframework.data.mongodb.core.MongoTemplate; -import org.springframework.http.MediaType; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.junit4.SpringRunner; - -// Mockito -import static org.mockito.Mockito.when; -import org.mockito.Mock; -import org.mockito.MockitoAnnotations; - -// WebMvcTest -import org.springframework.test.web.servlet.MockMvc; -import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; -import org.springframework.test.web.servlet.result.MockMvcResultMatchers; -import org.springframework.test.web.servlet.result.MockMvcResultHandlers; - -/** - * @author asal - * - */ -@RunWith(SpringRunner.class) -@WebMvcTest(controllers = ServiceController.class) -public class ServiceControllerTest { - - @MockBean - private ServiceRepository serviceRepository; - - @MockBean - private MongoTemplate template; - - @Autowired - private MockMvc mvc; - - @Test - public void getAllServicesEndpoint() throws Exception { - // mock services repository - Service service = new Service(); - service.setName("TestService-1"); - List services = new ArrayList<>(Arrays.asList(service)); - when(serviceRepository.findAll()).thenReturn(services); - - String uri = "/services"; - - // perform test - mvc.perform(MockMvcRequestBuilders.get(uri) - .accept(MediaType.APPLICATION_JSON_VALUE)) - .andExpect(MockMvcResultMatchers.status().isOk()) - .andExpect(MockMvcResultMatchers.jsonPath("$.size()").value(services.size())) - .andDo(MockMvcResultHandlers.print()); - } -} diff --git a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/CiManagerRepositoryTest.java b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/CiManagerRepositoryTest.java index 6c33287..1997eb7 100644 --- a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/CiManagerRepositoryTest.java +++ b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/CiManagerRepositoryTest.java @@ -3,7 +3,7 @@ import static org.junit.Assert.assertEquals; import java.util.Optional; import org.eclipse.opensmartclide.dbapi.model.CiManager; -import org.junit.Before; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; @@ -15,9 +15,9 @@ class CiManagerRepositoryTest { @Autowired - CiManagerRepository ciManagerRepository; + private CiManagerRepository ciManagerRepository; - @Before + @BeforeEach public void setUp() throws Exception { CiManager ciManager = new CiManager(); ciManager.setId(Long.toString(1L)); @@ -26,6 +26,7 @@ public void setUp() throws Exception { ciManager.setUrl("testCiManagerUrl"); ciManager.setUsername("testCiManagerUsername"); ciManager.setToken("testCiManagerToken"); + ciManagerRepository.save(ciManager); } diff --git a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/DeploymentPlatformRepositoryTest.java b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/DeploymentPlatformRepositoryTest.java index fe70053..c46d0c8 100644 --- a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/DeploymentPlatformRepositoryTest.java +++ b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/DeploymentPlatformRepositoryTest.java @@ -3,7 +3,7 @@ import static org.junit.Assert.assertEquals; import java.util.Optional; import org.eclipse.opensmartclide.dbapi.model.DeploymentPlatform; -import org.junit.Before; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; @@ -15,9 +15,9 @@ class DeploymentPlatformRepositoryTest { @Autowired - DeploymentPlatformRepository deploymentPlatformRepository; + private DeploymentPlatformRepository deploymentPlatformRepository; - @Before + @BeforeEach public void setUp() throws Exception { DeploymentPlatform deploymentPlatform = new DeploymentPlatform(); deploymentPlatform.setId(Long.toString(1L)); @@ -25,6 +25,7 @@ public void setUp() throws Exception { deploymentPlatform.setUrl("testDeploymentPlatformUrl"); deploymentPlatform.setUsername("testDeploymentPlatformUsername"); deploymentPlatform.setToken("testDeploymentPlatformToken"); + deploymentPlatformRepository.save(deploymentPlatform); } diff --git a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/DeploymentRepositoryTest.java b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/DeploymentRepositoryTest.java index 7ca3431..3a7330e 100644 --- a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/DeploymentRepositoryTest.java +++ b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/DeploymentRepositoryTest.java @@ -8,8 +8,7 @@ import java.util.Date; import java.util.Optional; import org.eclipse.opensmartclide.dbapi.model.Deployment; -import org.eclipse.opensmartclide.dbapi.model.Service; -import org.junit.Before; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; @@ -21,9 +20,11 @@ class DeploymentRepositoryTest { @Autowired - DeploymentRepository deploymentRepository; + private DeploymentRepository deploymentRepository; + + private Date currentDate; - @Before + @BeforeEach public void setUp() throws Exception { Deployment deployment = new Deployment(); deployment.setId(Long.toString(1L)); @@ -41,14 +42,17 @@ public void setUp() throws Exception { deployment.setVersion("testDeploymentVersion"); deployment.setState("testDeploymentState"); - Date createdDate = new SimpleDateFormat("dd/mm/yyyy").parse("01/10/2022"); - Date updatedDate = new SimpleDateFormat("dd/mm/yyyy").parse("02/10/2022"); - Date stoppedDate = new SimpleDateFormat("dd/mm/yyyy").parse("03/10/2022"); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/mm/yyyy"); + + Date createdDate = simpleDateFormat.parse("01/10/2022"); + currentDate = new Date(); + Date updatedDate = simpleDateFormat.parse(simpleDateFormat.format(currentDate)); + Date stoppedDate = simpleDateFormat.parse("03/10/2022"); deployment.setCreated(createdDate); deployment.setUpdated(updatedDate); deployment.setStopped(stoppedDate); - deploymentRepository.save(deployment); + deploymentRepository.save(deployment); } @Test @@ -111,14 +115,14 @@ public void assertDeploymentK8sUrlPersisted() { public void assertDeploymentPortPersisted() { Optional deployment = deploymentRepository.findById(Long.toString(1L)); Integer deploymentPort = deployment.get().getPort(); - assertEquals(8080, deploymentPort); + assertEquals(Integer.valueOf(8080), deploymentPort); } @Test public void assertDeploymentReplicasPersisted() { Optional deployment = deploymentRepository.findById(Long.toString(1L)); Integer deploymentReplicas = deployment.get().getReplicas(); - assertEquals(2, deploymentReplicas); + assertEquals(Integer.valueOf(2), deploymentReplicas); } @Test @@ -160,7 +164,7 @@ public void assertDeploymentCreatedDatePersisted() throws ParseException { public void assertDeploymentUpdatedDatePersisted() throws ParseException { Optional deployment = deploymentRepository.findById(Long.toString(1L)); Date deploymentUpdatedDate = deployment.get().getUpdated(); - assertTrue(deploymentUpdatedDate.equals(new SimpleDateFormat("dd/mm/yyyy").parse("02/10/2022"))); + assertTrue(deploymentUpdatedDate.toString().equals(currentDate.toString())); } @Test diff --git a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/GitCredentialsRepositoryTest.java b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/GitCredentialsRepositoryTest.java index 5e28e59..b725c78 100644 --- a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/GitCredentialsRepositoryTest.java +++ b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/GitCredentialsRepositoryTest.java @@ -3,7 +3,7 @@ import static org.junit.Assert.assertEquals; import java.util.Optional; import org.eclipse.opensmartclide.dbapi.model.GitCredentials; -import org.junit.Before; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; @@ -15,17 +15,18 @@ class GitCredentialsRepositoryTest { @Autowired - GitCredentialsRepository gitCredentialsRepository; + private GitCredentialsRepository gitCredentialsRepository; - @Before + @BeforeEach public void setUp() { GitCredentials gitCredentials = new GitCredentials(); gitCredentials.setId(Long.toString(1L)); gitCredentials.setUser_id("testGitCredentialsUserId"); - gitCredentials.setToken("testGitCredentialsType"); + gitCredentials.setType("testGitCredentialsType"); gitCredentials.setUrl("testGitCredentialsUrl"); gitCredentials.setUsername("testGitCredentialsUsername"); gitCredentials.setToken("testGitCredentialsToken"); + gitCredentialsRepository.save(gitCredentials); } diff --git a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/ServiceRegistryRepositoryTest.java b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/ServiceRegistryRepositoryTest.java index 94c4aa9..5d3c532 100644 --- a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/ServiceRegistryRepositoryTest.java +++ b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/ServiceRegistryRepositoryTest.java @@ -3,7 +3,7 @@ import static org.junit.Assert.assertEquals; import java.util.Optional; import org.eclipse.opensmartclide.dbapi.model.ServiceRegistry; -import org.junit.Before; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; @@ -15,9 +15,9 @@ class ServiceRegistryRepositoryTest { @Autowired - ServiceRegistryRepository serviceRegistryRepository; + private ServiceRegistryRepository serviceRegistryRepository; - @Before + @BeforeEach public void setUp() { ServiceRegistry serviceRegistry = new ServiceRegistry(); serviceRegistry.setId(Long.toString(1L)); @@ -26,6 +26,7 @@ public void setUp() { serviceRegistry.setUrl("testServiceRegistryUrl"); serviceRegistry.setUsername("testServiceRegistryUsername"); serviceRegistry.setToken("testServiceRegistryToken"); + serviceRegistryRepository.save(serviceRegistry); } diff --git a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/ServiceRepositoryTest.java b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/ServiceRepositoryTest.java index f4ccff0..344ff76 100644 --- a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/ServiceRepositoryTest.java +++ b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/ServiceRepositoryTest.java @@ -3,7 +3,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.jupiter.api.Assertions.*; import org.eclipse.opensmartclide.dbapi.model.Service; -import org.junit.Before; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; @@ -19,9 +19,9 @@ class ServiceRepositoryTest { @Autowired - ServiceRepository serviceRepository; + private ServiceRepository serviceRepository; - @Before + @BeforeEach public void setUp() throws Exception { Service service = new Service(); service.setId(Long.toString(1L)); @@ -35,10 +35,13 @@ public void setUp() throws Exception { service.setIsPublic(true); service.setLicence("testServiceLicense"); service.setFramework("testServiceFramework"); - Date createdDate = new SimpleDateFormat("dd/mm/yyyy").parse("10/01/2022"); - Date updatedDate = new SimpleDateFormat("dd/mm/yyyy").parse("20/03/2022"); + + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/mm/yyyy"); + Date createdDate = simpleDateFormat.parse("10/01/2022"); + Date updatedDate = simpleDateFormat.parse("20/03/2022"); service.setCreated(createdDate); service.setUpdated(updatedDate); + serviceRepository.save(service); } diff --git a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/TeamRepositoryTest.java b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/TeamRepositoryTest.java index 98108ee..4418275 100644 --- a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/TeamRepositoryTest.java +++ b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/TeamRepositoryTest.java @@ -3,7 +3,7 @@ import static org.junit.Assert.assertEquals; import java.util.Optional; import org.eclipse.opensmartclide.dbapi.model.Team; -import org.junit.Before; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; @@ -15,13 +15,14 @@ class TeamRepositoryTest { @Autowired - TeamRepository teamRepository; + private TeamRepository teamRepository; - @Before + @BeforeEach public void setUp() { Team team = new Team(); team.setId(Long.toString(1L)); team.setName("testTeamName"); + teamRepository.save(team); } diff --git a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/UserRepositoryTest.java b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/UserRepositoryTest.java index 5a30621..946f64a 100644 --- a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/UserRepositoryTest.java +++ b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/UserRepositoryTest.java @@ -3,7 +3,7 @@ import static org.junit.Assert.assertEquals; import java.util.Optional; import org.eclipse.opensmartclide.dbapi.model.User; -import org.junit.Before; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; @@ -15,14 +15,15 @@ class UserRepositoryTest { @Autowired - UserRepository userRepository; + private UserRepository userRepository; - @Before + @BeforeEach public void setUp() { User user = new User(); user.setId(Long.toString(1L)); user.setEmail("testUser@email.com"); user.setTeam_id("testUserTeamId"); + userRepository.save(user); } diff --git a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/WorkflowRepositoryTest.java b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/WorkflowRepositoryTest.java index 6940366..100c812 100644 --- a/src/test/java/org/eclipse/opensmartclide/dbapi/repository/WorkflowRepositoryTest.java +++ b/src/test/java/org/eclipse/opensmartclide/dbapi/repository/WorkflowRepositoryTest.java @@ -8,7 +8,7 @@ import java.util.Optional; import org.eclipse.opensmartclide.dbapi.model.Workflow; import org.eclipse.opensmartclide.dbapi.repository.WorkflowRepository; -import org.junit.Before; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; @@ -20,9 +20,9 @@ class WorkflowRepositoryTest { @Autowired - WorkflowRepository workflowRepository; + private WorkflowRepository workflowRepository; - @Before + @BeforeEach public void setUp() throws Exception { Workflow workflow = new Workflow(); workflow.setId(Long.toString(1L)); @@ -32,10 +32,13 @@ public void setUp() throws Exception { workflow.setUrl("testWorkflowUrl"); workflow.setDescription("testWorkflowDescription"); workflow.setIs_public(true); - Date createdDate = new SimpleDateFormat("dd/mm/yyyy").parse("15/09/2022"); - Date updatedDate = new SimpleDateFormat("dd/mm/yyyy").parse("11/07/2022"); + + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/mm/yyyy"); + Date createdDate = simpleDateFormat.parse("15/09/2022"); + Date updatedDate = simpleDateFormat.parse("11/07/2022"); workflow.setCreated(createdDate); workflow.setUpdated(updatedDate); + workflowRepository.save(workflow); }