Merge pull request #13 from 30x/xapid_883

[XAPID-883] Bug fix: Use UTC time instead of local for creating local…
diff --git a/buffering_manager.go b/buffering_manager.go
index 79d4259..d581135 100644
--- a/buffering_manager.go
+++ b/buffering_manager.go
@@ -106,7 +106,7 @@
 
 // Save records to correct file based on what timestamp data is being collected for
 func save(records axRecords) error {
-	bucket, err := getBucketForTimestamp(time.Now(), records.Tenant)
+	bucket, err := getBucketForTimestamp(time.Now().UTC(), records.Tenant)
 	if err != nil {
 		return err
 	}
@@ -126,11 +126,11 @@
 	if exists {
 		return b, nil
 	} else {
-		timestamp := time.Unix(ts, 0).Format(timestampLayout)
+		timestamp := time.Unix(ts, 0).UTC().Format(timestampLayout)
 
 		// endtimestamp of bucket = starttimestamp + collectionInterval
 		endTime := time.Unix(ts+int64(config.GetInt(analyticsCollectionInterval)), 0)
-		endtimestamp := endTime.Format(timestampLayout)
+		endtimestamp := endTime.UTC().Format(timestampLayout)
 
 		dirName := tenant.Org + "~" + tenant.Env + "~" + timestamp
 		newPath := filepath.Join(localAnalyticsTempDir, dirName)
@@ -161,7 +161,7 @@
 
 		//Send event to close directory after endTime + 5
 		// seconds to make sure all buffers are flushed to file
-		timer := time.After(endTime.Sub(time.Now()) + time.Second*5)
+		timer := time.After(endTime.Sub(time.Now().UTC()) + time.Second*5)
 		go func() {
 			<-timer
 			closeBucketEvent <- newBucket
diff --git a/buffering_manager_test.go b/buffering_manager_test.go
index c3c747e..42cd512 100644
--- a/buffering_manager_test.go
+++ b/buffering_manager_test.go
@@ -12,7 +12,7 @@
 
 var _ = Describe("test getBucketForTimestamp()", func() {
 	It("should return new bucket or existing bucket if created previously", func() {
-		t := time.Date(2017, 1, 20, 10, 24, 5, 0, time.Local)
+		t := time.Date(2017, 1, 20, 10, 24, 5, 0, time.UTC)
 		tenant := tenant{Org: "testorg", Env: "testenv", TenantId: "tenantid"}
 
 		bucket, err := getBucketForTimestamp(t, tenant)
@@ -25,7 +25,7 @@
 		Expect(fw.file.Name()).To(ContainSubstring("20170120102400.20170120102600"))
 
 		// Should return existing bucket if same interval timestamp is passed
-		t2 := time.Date(2017, 1, 20, 10, 25, 5, 0, time.Local)
+		t2 := time.Date(2017, 1, 20, 10, 25, 5, 0, time.UTC)
 		bucket, err = getBucketForTimestamp(t2, tenant)
 		Expect(err).ShouldNot(HaveOccurred())
 		Expect(bucket.DirName).To(Equal("testorg~testenv~20170120102400"))