tenthe commented on code in PR #3945:
URL: https://github.com/apache/streampipes/pull/3945#discussion_r2559893806


##########
streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/admin/ExportProviderConfigurationResource.java:
##########
@@ -48,14 +59,72 @@ public ResponseEntity<List<ExportProviderSettings>> 
getExportProviderConfigurati
   }
 
   @GetMapping(value = "/{providerId}", produces = 
MediaType.APPLICATION_JSON_VALUE)
-@PreAuthorize(AuthConstants.IS_ADMIN_ROLE)
-public ResponseEntity<ExportProviderSettings> 
getExportProviderSettingById(@PathVariable String providerId) {
+  @PreAuthorize(AuthConstants.IS_ADMIN_ROLE)
+  public ResponseEntity<ExportProviderSettings> 
getExportProviderSettingById(@PathVariable String providerId) {
     return 
getSpCoreConfigurationStorage().get().getExportProviderSettings().stream()
         .filter(setting -> 
setting.getProviderId().equalsIgnoreCase(providerId))
         .findFirst()
         .map(ResponseEntity::ok)
         .orElse(ResponseEntity.notFound().build());
-}
+  }
+
+  @GetMapping(value = "/test/{providerId}", produces = 
MediaType.APPLICATION_JSON_VALUE)
+  @PreAuthorize(AuthConstants.IS_ADMIN_ROLE)
+  public ResponseEntity<?> testExportProviderSettingById(@PathVariable String 
providerId) {
+    // Get Export Provider Settings
+    Optional<ExportProviderSettings> exportProviderSetting = 
getSpCoreConfigurationStorage().get()
+        .getExportProviderSettings().stream()
+        .filter(setting -> 
setting.getProviderId().equalsIgnoreCase(providerId))
+        .findFirst();
+
+    if (exportProviderSetting.isPresent()) {
+      ExportProviderSettings setting = exportProviderSetting.get();
+      ProviderType providerType = setting.getProviderType();
+
+      try {
+
+        IObjectStorage exportProvider = 
ExportProviderFactory.createExportProvider(
+            providerType, "TEST", setting,
+            "csv");
+        
+            String filePath = exportProvider.getFileName();
+
+      String csvData = "Message\nThis test file was automatically created as a 
connectivity test by StreamPipes.\n";
+
+      InputStream csvInputStream = new 
ByteArrayInputStream(csvData.getBytes());
+
+
+      StreamingResponseBody responseBody = outputStream -> {
+        byte[] buffer = new byte[1024];
+        int length;
+        while ((length = csvInputStream.read(buffer)) > 0) {
+          outputStream.write(buffer, 0, length);
+        }
+      };
+      try {
+        exportProvider.store(responseBody);
+      } catch (IOException e) {
+        return serverError(SpLogMessage.from(e));
+
+      }
+
+           Map<String, Object> response = new HashMap<>();
+            response.put("filePath", filePath);
+            response.put("setting", setting);
+
+      return ok(response);// ok(setting);

Review Comment:
   ```suggestion
         return ok(response);
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to