Skip to content

Commit 4b26f25

Browse files
Small changes
1 parent 3f81ec8 commit 4b26f25

File tree

3 files changed

+37
-8
lines changed

3 files changed

+37
-8
lines changed

file-storage/src/main/java/com/maestro/examples/app/azure/filestorage/controllers/AzureBlobStorageController.java

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,40 @@
11
package com.maestro.examples.app.azure.filestorage.controllers;
22

3+
import com.azure.storage.blob.models.BlobContainerItem;
4+
import com.azure.storage.blob.models.BlobItem;
35
import com.maestro.examples.app.azure.filestorage.domains.DataBlock;
46
import com.maestro.examples.app.azure.filestorage.domains.FilePrm;
57
import com.maestro.examples.app.azure.filestorage.services.AzureBlobStorageService;
68
import lombok.extern.slf4j.Slf4j;
79
import org.springframework.validation.annotation.Validated;
810
import org.springframework.web.bind.annotation.*;
911

12+
import java.util.List;
13+
import java.util.stream.Collectors;
14+
1015
@RestController
1116
@RequestMapping("/bs")
1217
@Slf4j
1318
public class AzureBlobStorageController {
14-
private AzureBlobStorageService fileService;
19+
private final AzureBlobStorageService fileService;
1520

1621
public AzureBlobStorageController(AzureBlobStorageService fileService) {
1722
this.fileService = fileService;
1823
}
1924

25+
/**
26+
* Getting document file link from Azure Blob Storage
27+
*
28+
* @return List of blob's name
29+
*/
30+
@GetMapping(value = "/")
31+
public List<String> listContainers() {
32+
return fileService.listContainers()
33+
.stream()
34+
.map(BlobContainerItem::getName)
35+
.collect(Collectors.toList());
36+
}
37+
2038
/**
2139
* Creating container in Azure Blob Storage before uploading document file
2240
*
@@ -71,4 +89,18 @@ public void deleteDocFile(@PathVariable String idContainer, @PathVariable String
7189
public String getLinkDocFile(@PathVariable String idContainer, @PathVariable String idFile) {
7290
return fileService.getLinkFile(idContainer, idFile);
7391
}
92+
93+
/**
94+
* Getting document file link from Azure Blob Storage
95+
*
96+
* @param idContainer document id
97+
* @return List of blob's name
98+
*/
99+
@GetMapping(value = "/{idContainer}/files")
100+
public List<String> listBlobs(@PathVariable String idContainer) {
101+
return fileService.listBlobs(idContainer)
102+
.stream()
103+
.map(BlobItem::getName)
104+
.collect(Collectors.toList());
105+
}
74106
}

file-storage/src/test/java/com/maestro/examples/app/azure/filestorage/services/AzureBlobStorageServiceTest.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,17 +101,18 @@ void getLinkDocFile() throws IOException {
101101
// exec curl
102102
String command = String.format("curl -X GET %s", filesService.getLinkFile(idContainer, idFile1));
103103
Process process = Runtime.getRuntime().exec(command);
104-
104+
// get content
105105
final String content = CurlUtils.inputStreamToString(process.getInputStream());
106-
System.out.println(content);
107-
106+
// asserts
108107
assertTrue(null != content && !content.isEmpty());
108+
assertEquals(content.trim(), "<html><head></head><body>Test</body></html>");
109109
}
110110

111111
@Order(10)
112112
@Test
113113
void listOfContainers() {
114114
PagedIterable<BlobContainerItem> items = filesService.listContainers();
115+
assertTrue(items.stream().count() >= 1);
115116
for (BlobContainerItem itm : items) {
116117
System.out.println(itm.getName());
117118
//assertEquals(itm.getName(), idContainer);

file-storage/src/test/java/com/maestro/examples/app/azure/filestorage/utils/CurlUtils.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,4 @@ public static String inputStreamToString(InputStream inputStream) {
1818
}
1919
return builder.toString();
2020
}
21-
22-
public static void consumeInputStream(InputStream inputStream) {
23-
inputStreamToString(inputStream);
24-
}
2521
}

0 commit comments

Comments
 (0)