generated from hmcts/service-hmcts-crime-springboot-template
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathDocumentHttpLiveTest.java
More file actions
72 lines (57 loc) · 2.71 KB
/
DocumentHttpLiveTest.java
File metadata and controls
72 lines (57 loc) · 2.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
package uk.gov.hmcts.cp.cdk.http;
import static org.assertj.core.api.Assertions.assertThat;
import static uk.gov.hmcts.cp.cdk.util.UtilConstants.CJSCPPUID;
import static uk.gov.hmcts.cp.cdk.util.UtilConstants.USER_WITH_PERMISSIONS;
import uk.gov.hmcts.cp.cdk.testsupport.AbstractHttpLiveTest;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.time.OffsetDateTime;
import java.util.UUID;
import org.junit.jupiter.api.Test;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
class DocumentHttpLiveTest extends AbstractHttpLiveTest {
public static final MediaType VND_TYPE_MATERIAL = MediaType.valueOf("application/vnd.casedocumentknowledge-service.document-content+json");
@Test
void materialContentUrl_returnsExpectedUrl() throws Exception {
final UUID docId = UUID.randomUUID();
final UUID materialId = UUID.randomUUID();
try (Connection c = DriverManager.getConnection(jdbcUrl, jdbcUser, jdbcPass);
PreparedStatement ps = c.prepareStatement(
"INSERT INTO case_documents (doc_id, case_id, material_id, source,doc_name ,blob_uri,uploaded_at) " +
"VALUES (?, ?, ?, ?, ?,?,?)"
)) {
ps.setObject(1, docId);
ps.setObject(2, UUID.randomUUID());
ps.setObject(3, materialId);
ps.setString(4, "IDPC");
ps.setString(5, "docnmae");
ps.setString(6, "IDPC");
ps.setObject(7, OffsetDateTime.now());
ps.executeUpdate();
}
final HttpHeaders headers = new HttpHeaders();
headers.setContentType(VND_TYPE_MATERIAL);
headers.set(CJSCPPUID, USER_WITH_PERMISSIONS); // add required header
// --- Act: perform GET request to the endpoint ---
final ResponseEntity<String> res = http.exchange(
baseUrl + "/document/" + docId + "/content",
HttpMethod.GET,
new HttpEntity<>(headers),
String.class
);
assertThat(res.getStatusCode()).isEqualTo(HttpStatus.OK);
assertThat(res.getBody()).contains("\"url\"");
assertThat(res.getBody()).contains("http"); // the URL should look like a URI
try (Connection c = DriverManager.getConnection(jdbcUrl, jdbcUser, jdbcPass);
PreparedStatement del = c.prepareStatement("DELETE FROM case_documents WHERE doc_id = ?")) {
del.setObject(1, docId);
del.executeUpdate();
}
}
}