Compare commits
No commits in common. "86cc38d3cb9a4d3dc5333c8d071d13b0f78a4f7e" and "1e1305b5ad177695371ea47c6c53198b8efe69f5" have entirely different histories.
86cc38d3cb
...
1e1305b5ad
@ -11,7 +11,7 @@ jobs:
|
|||||||
image: "cimg/openjdk:21.0.2-node"
|
image: "cimg/openjdk:21.0.2-node"
|
||||||
steps:
|
steps:
|
||||||
- name: "Checkout"
|
- name: "Checkout"
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v3
|
||||||
- uses: actions/cache@v4
|
- uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
path: |
|
path: |
|
||||||
@ -23,7 +23,7 @@ jobs:
|
|||||||
- name: "Prepare Gradle"
|
- name: "Prepare Gradle"
|
||||||
run: gradle clean
|
run: gradle clean
|
||||||
- name: "Check"
|
- name: "Check"
|
||||||
run: gradle test
|
run: gradle testClasses
|
||||||
- name: "Stop Gradle"
|
- name: "Stop Gradle"
|
||||||
run: gradle --stop
|
run: gradle --stop
|
||||||
checkstyle:
|
checkstyle:
|
||||||
@ -33,7 +33,7 @@ jobs:
|
|||||||
image: "cimg/openjdk:21.0.2-node"
|
image: "cimg/openjdk:21.0.2-node"
|
||||||
steps:
|
steps:
|
||||||
- name: "Checkout"
|
- name: "Checkout"
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v3
|
||||||
- uses: actions/cache@v4
|
- uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
path: |
|
path: |
|
||||||
@ -45,6 +45,6 @@ jobs:
|
|||||||
- name: "Prepare Gradle"
|
- name: "Prepare Gradle"
|
||||||
run: gradle clean
|
run: gradle clean
|
||||||
- name: "Check"
|
- name: "Check"
|
||||||
run: gradle checkstyleMain --scan
|
run: gradle check
|
||||||
- name: "Stop Gradle"
|
- name: "Stop Gradle"
|
||||||
run: gradle --stop
|
run: gradle --stop
|
||||||
|
@ -1,38 +0,0 @@
|
|||||||
package de.szut.lf8_starter.project;
|
|
||||||
|
|
||||||
import de.szut.lf8_starter.project.dto.GetProjectDto;
|
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
|
||||||
import io.swagger.v3.oas.annotations.media.Content;
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
|
||||||
import io.swagger.v3.oas.annotations.responses.ApiResponse;
|
|
||||||
import io.swagger.v3.oas.annotations.responses.ApiResponses;
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@RestController
|
|
||||||
@RequestMapping(value = "projects")
|
|
||||||
public class ProjectController {
|
|
||||||
private final ProjectService service;
|
|
||||||
private final ProjectMapper projectMapper;
|
|
||||||
public ProjectController(ProjectService service, ProjectMapper projectMapper) {
|
|
||||||
this.service = service;
|
|
||||||
this.projectMapper = projectMapper;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Operation(summary = "returns all projects")
|
|
||||||
@ApiResponses(value = {
|
|
||||||
@ApiResponse(responseCode = "200", description = "all projects",
|
|
||||||
content = {@Content(mediaType = "application/json",
|
|
||||||
schema = @Schema(implementation = GetProjectDto.class))}),
|
|
||||||
@ApiResponse(responseCode = "401", description = "not authorized",
|
|
||||||
content = @Content)})
|
|
||||||
@GetMapping
|
|
||||||
public List<GetProjectDto> findAll() {
|
|
||||||
return this.service
|
|
||||||
.readAll()
|
|
||||||
.stream()
|
|
||||||
.map(this.projectMapper::mapToGetDto)
|
|
||||||
.toList();
|
|
||||||
}
|
|
||||||
}
|
|
@ -25,7 +25,6 @@ public class ProjectMapper {
|
|||||||
public GetProjectDto mapToGetDto(ProjectEntity projectEntity) {
|
public GetProjectDto mapToGetDto(ProjectEntity projectEntity) {
|
||||||
GetProjectDto getProjectDto = new GetProjectDto();
|
GetProjectDto getProjectDto = new GetProjectDto();
|
||||||
|
|
||||||
getProjectDto.setId(projectEntity.getId());
|
|
||||||
getProjectDto.setName(projectEntity.getName());
|
getProjectDto.setName(projectEntity.getName());
|
||||||
getProjectDto.setComment(projectEntity.getComment());
|
getProjectDto.setComment(projectEntity.getComment());
|
||||||
getProjectDto.setLeadingEmployee(projectEntity.getLeadingEmployee());
|
getProjectDto.setLeadingEmployee(projectEntity.getLeadingEmployee());
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
package de.szut.lf8_starter.project;
|
package de.szut.lf8_starter.project;
|
||||||
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
import org.springframework.stereotype.Repository;
|
|
||||||
|
|
||||||
@Repository
|
|
||||||
public interface ProjectRepository extends JpaRepository<ProjectEntity, Long> {
|
public interface ProjectRepository extends JpaRepository<ProjectEntity, Long> {
|
||||||
}
|
}
|
||||||
|
@ -2,8 +2,6 @@ package de.szut.lf8_starter.project;
|
|||||||
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class ProjectService {
|
public class ProjectService {
|
||||||
private final ProjectRepository projectRepository;
|
private final ProjectRepository projectRepository;
|
||||||
@ -15,8 +13,4 @@ public class ProjectService {
|
|||||||
public ProjectEntity create(ProjectEntity projectEntity) {
|
public ProjectEntity create(ProjectEntity projectEntity) {
|
||||||
return this.projectRepository.save(projectEntity);
|
return this.projectRepository.save(projectEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<ProjectEntity> readAll() {
|
|
||||||
return this.projectRepository.findAll();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -12,8 +12,6 @@ import java.util.List;
|
|||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
public class GetProjectDto {
|
public class GetProjectDto {
|
||||||
private long id;
|
|
||||||
|
|
||||||
@NotBlank
|
@NotBlank
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
|
@ -5,7 +5,6 @@ import java.util.stream.Collectors;
|
|||||||
|
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.context.annotation.Profile;
|
|
||||||
import org.springframework.http.HttpMethod;
|
import org.springframework.http.HttpMethod;
|
||||||
import org.springframework.security.config.Customizer;
|
import org.springframework.security.config.Customizer;
|
||||||
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
||||||
|
@ -1,37 +0,0 @@
|
|||||||
package de.szut.lf8_starter.integration.project;
|
|
||||||
|
|
||||||
import de.szut.lf8_starter.project.ProjectEntity;
|
|
||||||
import de.szut.lf8_starter.project.ProjectRepository;
|
|
||||||
import org.junit.jupiter.api.Test;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
|
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
|
||||||
import org.springframework.boot.test.web.client.TestRestTemplate;
|
|
||||||
import org.springframework.test.web.servlet.MockMvc;
|
|
||||||
|
|
||||||
import java.time.LocalDate;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import static org.hamcrest.collection.IsCollectionWithSize.hasSize;
|
|
||||||
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
|
|
||||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
|
|
||||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
|
||||||
|
|
||||||
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
|
|
||||||
@AutoConfigureMockMvc(addFilters = true)
|
|
||||||
public class ProjectFindAllNotAuthenticated {
|
|
||||||
@Autowired
|
|
||||||
private ProjectRepository projectRepository;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private MockMvc mockMvc;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private TestRestTemplate restTemplate;
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void findAllProjects() throws Exception {
|
|
||||||
this.mockMvc.perform(get("/projects"))
|
|
||||||
.andExpect(status().isUnauthorized());
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,60 +0,0 @@
|
|||||||
package de.szut.lf8_starter.integration.project;
|
|
||||||
|
|
||||||
import de.szut.lf8_starter.project.ProjectEntity;
|
|
||||||
import de.szut.lf8_starter.project.ProjectRepository;
|
|
||||||
import org.junit.jupiter.api.Test;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
|
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
|
||||||
import org.springframework.boot.test.web.client.TestRestTemplate;
|
|
||||||
import org.springframework.test.web.servlet.MockMvc;
|
|
||||||
|
|
||||||
import java.time.LocalDate;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import static org.hamcrest.collection.IsCollectionWithSize.hasSize;
|
|
||||||
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
|
|
||||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
|
|
||||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
|
||||||
|
|
||||||
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
|
|
||||||
@AutoConfigureMockMvc(addFilters = false)
|
|
||||||
public class ProjectFindAllSuccess {
|
|
||||||
@Autowired
|
|
||||||
private ProjectRepository projectRepository;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private MockMvc mockMvc;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private TestRestTemplate restTemplate;
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void findAllProjects() throws Exception {
|
|
||||||
var project = new ProjectEntity();
|
|
||||||
project.setId(1);
|
|
||||||
project.setComment("comment");
|
|
||||||
project.setContractor(1);
|
|
||||||
project.setContractorName("contractorName");
|
|
||||||
project.setEndDate(LocalDate.of(2024, 1, 1));
|
|
||||||
project.setLeadingEmployee(1);
|
|
||||||
project.setName("name");
|
|
||||||
project.setStartDate(LocalDate.of(2021, 1, 1));
|
|
||||||
project.setEmployees(List.of(1L,2L,3L));
|
|
||||||
this.projectRepository.save(project);
|
|
||||||
|
|
||||||
this.mockMvc.perform(get("/projects"))
|
|
||||||
.andExpect(status().isOk())
|
|
||||||
.andExpect(jsonPath("$", hasSize(1)))
|
|
||||||
.andExpect(jsonPath("$[0].id").value(1))
|
|
||||||
.andExpect(jsonPath("$[0].comment").value("comment"))
|
|
||||||
.andExpect(jsonPath("$[0].contractor").value(1))
|
|
||||||
.andExpect(jsonPath("$[0].contractorName").value("contractorName"))
|
|
||||||
.andExpect(jsonPath("$[0].endDate").value("01.01.2024"))
|
|
||||||
.andExpect(jsonPath("$[0].leadingEmployee").value(1))
|
|
||||||
.andExpect(jsonPath("$[0].name").value("name"))
|
|
||||||
.andExpect(jsonPath("$[0].startDate").value("01.01.2021"))
|
|
||||||
.andExpect(jsonPath("$[0].employees").isArray())
|
|
||||||
.andExpect(jsonPath("$[0].employees", hasSize(3)));
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user