This is an automated email from the ASF dual-hosted git repository.

pvillard pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/master by this push:
     new 9df53e7  NIFI-6977 - Change the reporting behavior of Azure Reporting 
task to report report the time when metrics are generated
9df53e7 is described below

commit 9df53e7204789ff84fc4ed7bd4ed4675588a21d9
Author: sjyang18 <ilson...@hotmail.com>
AuthorDate: Thu Jan 9 19:39:36 2020 +0000

    NIFI-6977 - Change the reporting behavior of Azure Reporting task to report 
report the time when metrics are generated
    
    Signed-off-by: Pierre Villard <pierre.villard...@gmail.com>
    
    This closes #4211.
---
 .../loganalytics/AbstractAzureLogAnalyticsReportingTask.java |  6 +++++-
 .../loganalytics/TestAzureLogAnalyticsReportingTask.java     | 12 ++++++++----
 2 files changed, 13 insertions(+), 5 deletions(-)

diff --git 
a/nifi-nar-bundles/nifi-azure-bundle/nifi-azure-reporting-task/src/main/java/org/apache/nifi/reporting/azure/loganalytics/AbstractAzureLogAnalyticsReportingTask.java
 
b/nifi-nar-bundles/nifi-azure-bundle/nifi-azure-reporting-task/src/main/java/org/apache/nifi/reporting/azure/loganalytics/AbstractAzureLogAnalyticsReportingTask.java
index 245e6bb..1017ee5 100644
--- 
a/nifi-nar-bundles/nifi-azure-bundle/nifi-azure-reporting-task/src/main/java/org/apache/nifi/reporting/azure/loganalytics/AbstractAzureLogAnalyticsReportingTask.java
+++ 
b/nifi-nar-bundles/nifi-azure-bundle/nifi-azure-reporting-task/src/main/java/org/apache/nifi/reporting/azure/loganalytics/AbstractAzureLogAnalyticsReportingTask.java
@@ -133,11 +133,15 @@ public abstract class 
AbstractAzureLogAnalyticsReportingTask extends AbstractRep
 
     protected void sendToLogAnalytics(final HttpPost request, final String 
workspaceId, final String linuxPrimaryKey,
             final String rawJson) throws IllegalArgumentException, 
RuntimeException, IOException {
+
         final int bodyLength = rawJson.getBytes(UTF8).length;
-        final String nowRfc1123 = 
RFC_1123_DATE_TIME.format(ZonedDateTime.now(ZoneOffset.UTC));
+        final ZonedDateTime zNow = ZonedDateTime.now(ZoneOffset.UTC);
+        final String nowRfc1123 = 
zNow.format(DateTimeFormatter.RFC_1123_DATE_TIME);
+        final String nowISO8601 = zNow.format(DateTimeFormatter.ISO_DATE_TIME);
         final String createAuthorization = createAuthorization(workspaceId, 
linuxPrimaryKey, bodyLength, nowRfc1123);
         request.addHeader("Authorization", createAuthorization);
         request.addHeader("x-ms-date", nowRfc1123);
+        request.addHeader("time-generated-field", nowISO8601);
         request.setEntity(new StringEntity(rawJson));
         try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
             postRequest(httpClient, request);
diff --git 
a/nifi-nar-bundles/nifi-azure-bundle/nifi-azure-reporting-task/src/test/java/org/apache/nifi/reporting/azure/loganalytics/TestAzureLogAnalyticsReportingTask.java
 
b/nifi-nar-bundles/nifi-azure-bundle/nifi-azure-reporting-task/src/test/java/org/apache/nifi/reporting/azure/loganalytics/TestAzureLogAnalyticsReportingTask.java
index b8c4c17..1dbefa1 100644
--- 
a/nifi-nar-bundles/nifi-azure-bundle/nifi-azure-reporting-task/src/test/java/org/apache/nifi/reporting/azure/loganalytics/TestAzureLogAnalyticsReportingTask.java
+++ 
b/nifi-nar-bundles/nifi-azure-bundle/nifi-azure-reporting-task/src/test/java/org/apache/nifi/reporting/azure/loganalytics/TestAzureLogAnalyticsReportingTask.java
@@ -213,9 +213,13 @@ public class TestAzureLogAnalyticsReportingTask {
         testedReportingTask.onTrigger(reportingContextStub);
 
         HttpPost postRequest = testedReportingTask.getPostRequest();
-        ArgumentCaptor<String> captor = ArgumentCaptor.forClass(String.class);
-        verify(postRequest, atLeast(1)).addHeader( eq("Authorization"), 
captor.capture());
-        assertTrue(captor.getValue().contains("SharedKey"));
+        ArgumentCaptor<String> captorAuthorization = 
ArgumentCaptor.forClass(String.class);
+        ArgumentCaptor<String> captorXMsDate = 
ArgumentCaptor.forClass(String.class);
+        ArgumentCaptor<String> captorTimeGeneratedField = 
ArgumentCaptor.forClass(String.class);
+        verify(postRequest, atLeast(1)).addHeader( eq("Authorization"), 
captorAuthorization.capture());
+        verify(postRequest, atLeast(1)).addHeader( eq("x-ms-date"), 
captorXMsDate.capture());
+        verify(postRequest, atLeast(1)).addHeader( eq("time-generated-field"), 
captorTimeGeneratedField.capture());
+        assertTrue(captorAuthorization.getValue().contains("SharedKey"));
     }
 
 
@@ -252,4 +256,4 @@ public class TestAzureLogAnalyticsReportingTask {
             super.postRequest(mockClient, request);
         }
     }
-}
\ No newline at end of file
+}

Reply via email to