Fix tests and add build pipeline
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
Armin Friedl 2020-06-07 12:10:21 +02:00
parent 18f035b7c2
commit 226d2802ef
Signed by: armin
GPG key ID: 48C726EEE7FBCBC8
4 changed files with 37 additions and 22 deletions

18
.drone.yml Normal file
View file

@ -0,0 +1,18 @@
kind: pipeline
type: docker
name: default
steps:
- name: build-service
image: adoptopenjdk:11-hotspot
commands:
- ls -al
- cd service/fling
- ./mvnw clean package
- name: build-web
image: node:latest
commands:
- ls -al
- cd web/fling
- npm install && npm run build

View file

@ -26,6 +26,8 @@ public class ArtifactDto {
@JsonProperty("uploadTime") @JsonProperty("uploadTime")
public Long getJsonUploadTime() { public Long getJsonUploadTime() {
if(uploadTime == null) return null;
return uploadTime.toEpochMilli(); return uploadTime.toEpochMilli();
} }
} }

View file

@ -1,13 +0,0 @@
package net.friedl.fling;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class FlingApplicationTests {
@Test
void contextLoads() {
}
}

View file

@ -10,16 +10,22 @@ import java.util.List;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.context.annotation.ComponentScan.Filter;
import org.springframework.context.annotation.FilterType;
import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.MockMvc;
import net.friedl.fling.model.dto.ArtifactDto; import net.friedl.fling.model.dto.ArtifactDto;
import net.friedl.fling.service.ArtifactService; import net.friedl.fling.service.ArtifactService;
@WebMvcTest(ArtifactController.class) @WebMvcTest(controllers = ArtifactController.class,
// do auto-configure security
excludeAutoConfiguration = SecurityAutoConfiguration.class,
// do not try to create beans in security
excludeFilters = @Filter(type = FilterType.REGEX, pattern = "net.friedl.fling.security.*"))
class ArtifactControllerTest { class ArtifactControllerTest {
@Autowired @Autowired
private MockMvc mvc; private MockMvc mvc;
@ -27,25 +33,27 @@ class ArtifactControllerTest {
private ArtifactService artifactService; private ArtifactService artifactService;
@Test @Test
void testGetArtifacts_noArtifacts_empty() throws Exception { public void testGetArtifacts_noArtifacts_empty() throws Exception {
var flingId = 123L; Long flingId = 123L;
when(artifactService.findAllArtifacts(flingId)).thenReturn(List.of()); when(artifactService.findAllArtifacts(flingId)).thenReturn(List.of());
mvc.perform(get("/api/fling/{flingId}/artifact", flingId)).andExpect(jsonPath("$", hasSize(0))); mvc.perform(get("/api/artifacts").param("flingId", flingId.toString()))
.andExpect(jsonPath("$", hasSize(0)));
} }
@Test @Test
void testGetArtifacts_hasArtifacts_allArtifacts() throws Exception { public void testGetArtifacts_hasArtifacts_allArtifacts() throws Exception {
var flingId = 123L; Long flingId = 123L;
var artifactName = "TEST"; String artifactName = "TEST";
ArtifactDto artifactDto = new ArtifactDto(); ArtifactDto artifactDto = new ArtifactDto();
artifactDto.setName(artifactName); artifactDto.setName(artifactName);
when(artifactService.findAllArtifacts(flingId)).thenReturn(List.of(artifactDto)); when(artifactService.findAllArtifacts(flingId)).thenReturn(List.of(artifactDto));
mvc.perform(get("/api/fling/{flingId}/artifact", flingId)).andExpect(jsonPath("$", hasSize(1))) mvc.perform(get("/api/artifacts").param("flingId", flingId.toString()))
.andExpect(jsonPath("$", hasSize(1)))
.andExpect(jsonPath("$[0].name", equalTo(artifactName))); .andExpect(jsonPath("$[0].name", equalTo(artifactName)));
} }
} }