|
|
@@ -79,7 +79,7 @@ class AzureBlobExamSprintReportStorageTest {
|
|
|
Duration.ofMinutes(15));
|
|
|
|
|
|
assertThat(downloadUrl).isEqualTo(URI.create(
|
|
|
- "https://dcjxbtest.blob.core.chinacloudapi.cn/report/report-123/exam-sprint-outlook-report-report-123.pdf"));
|
|
|
+ "https://dcjxbtest.blob.core.chinacloudapi.cn/report/exam-sprint-outlook-report-report-123.pdf"));
|
|
|
verifyNoInteractions(containerClient);
|
|
|
}
|
|
|
|
|
|
@@ -97,11 +97,11 @@ class AzureBlobExamSprintReportStorageTest {
|
|
|
Duration.ofMinutes(15));
|
|
|
|
|
|
assertThat(downloadUrl).isEqualTo(URI.create(
|
|
|
- "https://dcjxbtest.blob.core.chinacloudapi.cn/report/report-123/file.pdf"));
|
|
|
+ "https://dcjxbtest.blob.core.chinacloudapi.cn/report/file.pdf"));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
- void generateDownloadUrlEncodesReportScopedFileNameWithoutReportTypePath() {
|
|
|
+ void generateDownloadUrlEncodesFileNameWithoutReportScopedPath() {
|
|
|
BlobContainerClient containerClient = mock(BlobContainerClient.class);
|
|
|
AzureBlobExamSprintReportStorage storage = new AzureBlobExamSprintReportStorage(
|
|
|
containerClient,
|
|
|
@@ -110,13 +110,13 @@ class AzureBlobExamSprintReportStorageTest {
|
|
|
FIXED_CLOCK);
|
|
|
|
|
|
URI downloadUrl = storage.generateDownloadUrl(
|
|
|
- "report-123/John Doe-报告 #1?.pdf",
|
|
|
+ "John Doe-报告 #1?.pdf",
|
|
|
Duration.ofMinutes(15));
|
|
|
|
|
|
assertThat(downloadUrl.toString()).isEqualTo(
|
|
|
- "https://dcjxbtest.blob.core.chinacloudapi.cn/report/report-123/John%20Doe-报告%20%231%3F.pdf");
|
|
|
+ "https://dcjxbtest.blob.core.chinacloudapi.cn/report/John%20Doe-报告%20%231%3F.pdf");
|
|
|
assertThat(downloadUrl.getRawPath()).isEqualTo(
|
|
|
- "/report/report-123/John%20Doe-报告%20%231%3F.pdf");
|
|
|
+ "/report/John%20Doe-报告%20%231%3F.pdf");
|
|
|
assertThat(downloadUrl.getRawQuery()).isNull();
|
|
|
assertThat(downloadUrl.getRawFragment()).isNull();
|
|
|
}
|
|
|
@@ -176,7 +176,7 @@ class AzureBlobExamSprintReportStorageTest {
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
- void uploadUsesReportIdAndFileNameAsBlobNameAndSendsHeadersAndMetadataInUploadRequest() {
|
|
|
+ void uploadUsesFileNameAsBlobNameAndSendsHeadersAndMetadataInUploadRequest() {
|
|
|
BlobContainerClient containerClient = mock(BlobContainerClient.class);
|
|
|
BlobClient blobClient = mock(BlobClient.class);
|
|
|
when(containerClient.getBlobClient(anyString())).thenReturn(blobClient);
|
|
|
@@ -193,9 +193,9 @@ class AzureBlobExamSprintReportStorageTest {
|
|
|
new byte[]{1, 2, 3},
|
|
|
Instant.parse("2026-01-10T00:00:00Z"));
|
|
|
|
|
|
- assertThat(storedFile.storageObjectKey()).isEqualTo("report-123/file.pdf");
|
|
|
+ assertThat(storedFile.storageObjectKey()).isEqualTo("file.pdf");
|
|
|
assertThat(storedFile.fileName()).isEqualTo("file.pdf");
|
|
|
- verify(containerClient).getBlobClient("report-123/file.pdf");
|
|
|
+ verify(containerClient).getBlobClient("file.pdf");
|
|
|
verify(blobClient).uploadWithResponse(argThat(options ->
|
|
|
options.getLength() == 3
|
|
|
&& options.getHeaders() != null
|
|
|
@@ -234,8 +234,8 @@ class AzureBlobExamSprintReportStorageTest {
|
|
|
.contains("exam_sprint_report_azure_storage_upload_completed")
|
|
|
.contains("reportId=report-123")
|
|
|
.contains("reportType=OUTLOOK")
|
|
|
- .contains("storageObjectKey=report-123/file.pdf")
|
|
|
- .contains("blobName=report-123/file.pdf")
|
|
|
+ .contains("storageObjectKey=file.pdf")
|
|
|
+ .contains("blobName=file.pdf")
|
|
|
.contains("fileName=file.pdf")
|
|
|
.contains("pdfByteLength=3")
|
|
|
.contains("durationMs=")
|
|
|
@@ -274,8 +274,8 @@ class AzureBlobExamSprintReportStorageTest {
|
|
|
.contains("exam_sprint_report_azure_storage_upload_failed")
|
|
|
.contains("reportId=report-123")
|
|
|
.contains("reportType=OUTLOOK")
|
|
|
- .contains("storageObjectKey=report-123/file.pdf")
|
|
|
- .contains("blobName=report-123/file.pdf")
|
|
|
+ .contains("storageObjectKey=file.pdf")
|
|
|
+ .contains("blobName=file.pdf")
|
|
|
.contains("fileName=file.pdf")
|
|
|
.contains("pdfByteLength=3")
|
|
|
.contains("durationMs=")
|
|
|
@@ -290,7 +290,7 @@ class AzureBlobExamSprintReportStorageTest {
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
- void uploadUsesReportIdAndDisplayFileNameAsTheStorageObjectKey() {
|
|
|
+ void uploadUsesDisplayFileNameAsTheStorageObjectKey() {
|
|
|
BlobContainerClient containerClient = mock(BlobContainerClient.class);
|
|
|
BlobClient blobClient = mock(BlobClient.class);
|
|
|
when(containerClient.getBlobClient(anyString())).thenReturn(blobClient);
|
|
|
@@ -313,9 +313,8 @@ class AzureBlobExamSprintReportStorageTest {
|
|
|
new byte[]{2},
|
|
|
Instant.parse("2026-01-10T00:00:00Z"));
|
|
|
|
|
|
- assertThat(firstStoredFile.storageObjectKey()).isEqualTo("report-123/same-display-name.pdf");
|
|
|
- assertThat(secondStoredFile.storageObjectKey()).isEqualTo("report-456/same-display-name.pdf");
|
|
|
- assertThat(firstStoredFile.storageObjectKey()).isNotEqualTo(secondStoredFile.storageObjectKey());
|
|
|
+ assertThat(firstStoredFile.storageObjectKey()).isEqualTo("same-display-name.pdf");
|
|
|
+ assertThat(secondStoredFile.storageObjectKey()).isEqualTo("same-display-name.pdf");
|
|
|
assertThat(firstStoredFile.fileName()).isEqualTo("same-display-name.pdf");
|
|
|
assertThat(secondStoredFile.fileName()).isEqualTo("same-display-name.pdf");
|
|
|
}
|
|
|
@@ -331,7 +330,7 @@ class AzureBlobExamSprintReportStorageTest {
|
|
|
true,
|
|
|
null);
|
|
|
return new SimpleResponse<>(
|
|
|
- new HttpRequest(HttpMethod.PUT, "https://example.test/report/report-123/file.pdf"),
|
|
|
+ new HttpRequest(HttpMethod.PUT, "https://example.test/report/file.pdf"),
|
|
|
201,
|
|
|
headers,
|
|
|
blockBlobItem);
|
|
|
@@ -346,7 +345,7 @@ class AzureBlobExamSprintReportStorageTest {
|
|
|
.set("x-ms-error-code", "ServerBusy"));
|
|
|
when(response.getHeaderValue(HttpHeaderName.X_MS_REQUEST_ID)).thenReturn("azure-request-failed");
|
|
|
when(response.getHeaderValue(HttpHeaderName.X_MS_CLIENT_REQUEST_ID)).thenReturn("client-request-failed");
|
|
|
- when(response.getRequest()).thenReturn(new HttpRequest(HttpMethod.PUT, new URL("https://example.test/report/report-123/file.pdf")));
|
|
|
+ when(response.getRequest()).thenReturn(new HttpRequest(HttpMethod.PUT, new URL("https://example.test/report/file.pdf")));
|
|
|
return new BlobStorageException("ServerBusy", response, null);
|
|
|
}
|
|
|
}
|