Skip to content
This repository was archived by the owner on Apr 5, 2024. It is now read-only.

Commit 261675d

Browse files
committed
updated IntegrationTest
1 parent fc32903 commit 261675d

File tree

1 file changed

+29
-30
lines changed

1 file changed

+29
-30
lines changed
Lines changed: 29 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
package de.filefighter.rest.domain.health.rest;
22

3+
import com.fasterxml.jackson.core.JsonProcessingException;
4+
import com.fasterxml.jackson.databind.JsonNode;
5+
import com.fasterxml.jackson.databind.ObjectMapper;
6+
import com.jayway.jsonpath.internal.filter.ValueNode;
37
import de.filefighter.rest.domain.filesystem.data.persistance.FileSystemRepository;
48
import de.filefighter.rest.domain.token.data.persistance.AccessTokenRepository;
59
import de.filefighter.rest.domain.user.data.persistance.UserEntitiy;
@@ -16,56 +20,51 @@
1620
import org.springframework.boot.web.server.LocalServerPort;
1721

1822
import static org.assertj.core.api.Assertions.assertThat;
23+
import static org.junit.Assert.assertEquals;
1924
import static org.junit.Assert.assertTrue;
2025

2126
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
2227
public class SystemHealthRestIntegrationTest {
2328

24-
private final Logger LOG = LoggerFactory.getLogger(SystemHealthRestIntegrationTest.class);
25-
2629
@LocalServerPort
2730
private int port;
2831

29-
@Autowired
30-
private TestRestTemplate restTemplate;
31-
32-
@Autowired
33-
private UserRepository userRepository;
34-
35-
@Autowired
36-
private FileSystemRepository fileSystemRepository;
32+
private final Logger LOG = LoggerFactory.getLogger(SystemHealthRestIntegrationTest.class);
33+
private final ObjectMapper objectMapper;
34+
private final TestRestTemplate restTemplate;
35+
private final UserRepository userRepository;
36+
private final FileSystemRepository fileSystemRepository;
37+
private final AccessTokenRepository accessTokenRepository;
3738

3839
@Autowired
39-
private AccessTokenRepository accessTokenRepository;
40-
40+
public SystemHealthRestIntegrationTest(TestRestTemplate restTemplate, UserRepository userRepository, FileSystemRepository fileSystemRepository, AccessTokenRepository accessTokenRepository) {
41+
this.objectMapper = new ObjectMapper();
42+
this.restTemplate = restTemplate;
43+
this.userRepository = userRepository;
44+
this.fileSystemRepository = fileSystemRepository;
45+
this.accessTokenRepository = accessTokenRepository;
46+
}
4147

4248
@BeforeEach
43-
public void cleanDbs(){
49+
public void cleanDbs() {
4450
LOG.info("Cleaning Databases.");
4551
userRepository.deleteAll();
4652
fileSystemRepository.deleteAll();
4753
accessTokenRepository.deleteAll();
4854
}
4955

5056
@Test
51-
public void healthCheckShouldReturnUptime() {
52-
LOG.info("Running: healthCheckShouldReturnUptime");
53-
String jsonString = this.restTemplate.getForObject("http://localhost:" + port + "/health", String.class);
54-
assertTrue(jsonString.contains("uptimeInSeconds"));
55-
}
57+
public void healthCheckShouldContainVariablesAndCorrectValues() throws JsonProcessingException {
58+
LOG.info("Preloading default admin user: " + userRepository.save(new UserEntitiy(0L, "admin", "admin", "refreshToken1234", 0, 1)));
5659

57-
@Test
58-
public void healthCheckShouldReturnUserCount() {
59-
LOG.info("Running: healthCheckShouldReturnUserCount");
6060
String jsonString = this.restTemplate.getForObject("http://localhost:" + port + "/health", String.class);
61-
assertTrue(jsonString.contains("userCount"));
62-
}
6361

64-
/*@Test
65-
public void healthCheckShouldReturnCorrectUserCount() {
66-
LOG.info("Running: healthCheckShouldReturnCorrectUserCount");
67-
LOG.info("Preloading default admin user: " + userRepository.save(new UserEntitiy(0L, "admin", "admin", "refreshToken1234", 0, 1)));
68-
String jsonString = this.restTemplate.getForObject("http://localhost:" + port + "/health", String.class);
69-
assertTrue(jsonString.contains("userCount") && jsonString.contains(":1"));
70-
}*/
62+
// Note when a key does not exist, a NullPointerException will be thrown.
63+
JsonNode root = objectMapper.readTree(jsonString);
64+
String uptime = root.get("uptimeInSeconds").asText();
65+
String userCount = root.get("userCount").asText();
66+
67+
assertTrue(Integer.parseInt(uptime) > 0);
68+
assertEquals(1, Integer.parseInt(userCount));
69+
}
7170
}

0 commit comments

Comments
 (0)