You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by of...@apache.org on 2019/12/04 11:51:03 UTC

[incubator-dlab] branch develop updated: [DLAB-1271] Added PROJECT column to billing export

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

ofuks pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git


The following commit(s) were added to refs/heads/develop by this push:
     new fcd4915  [DLAB-1271] Added PROJECT column to billing export
fcd4915 is described below

commit fcd4915201f0214ff57dc337c8a6e3f9aa1f0a89
Author: Oleh Fuks <ol...@gmail.com>
AuthorDate: Wed Dec 4 13:50:42 2019 +0200

    [DLAB-1271] Added PROJECT column to billing export
---
 .../java/com/epam/dlab/model/aws/ReportLine.java     |  1 +
 .../backendapi/service/aws/AwsBillingService.java    |  2 ++
 .../service/azure/AzureBillingService.java           |  3 +++
 .../backendapi/service/gcp/GcpBillingService.java    |  2 ++
 .../service/aws/AwsBillingServiceTest.java           | 16 ++++++++--------
 .../service/azure/AzureBillingServiceTest.java       | 20 ++++++++++----------
 6 files changed, 26 insertions(+), 18 deletions(-)

diff --git a/services/dlab-model/src/main/java/com/epam/dlab/model/aws/ReportLine.java b/services/dlab-model/src/main/java/com/epam/dlab/model/aws/ReportLine.java
index f80544d..46c82f0 100644
--- a/services/dlab-model/src/main/java/com/epam/dlab/model/aws/ReportLine.java
+++ b/services/dlab-model/src/main/java/com/epam/dlab/model/aws/ReportLine.java
@@ -33,6 +33,7 @@ import java.util.regex.Pattern;
 public class ReportLine {
 	public static final String FIELD_DLAB_ID = "dlab_id";
 	public static final String FIELD_USER_ID = "user";
+	public static final String FIELD_PROJECT = "project";
 	public static final String FIELD_USAGE_DATE = "usage_date";
 	public static final String FIELD_PRODUCT = "product";
 	public static final String FIELD_USAGE_TYPE = "usage_type";
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/aws/AwsBillingService.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/aws/AwsBillingService.java
index aa102cb..14a57a9 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/aws/AwsBillingService.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/aws/AwsBillingService.java
@@ -64,6 +64,7 @@ public class AwsBillingService extends BillingService<AwsBillingFilter> {
 			headers.add("USER");
 		}
 
+		headers.add("PROJECT");
 		headers.add("ENVIRONMENT NAME");
 		headers.add("RESOURCE TYPE");
 		headers.add("SHAPE");
@@ -80,6 +81,7 @@ public class AwsBillingService extends BillingService<AwsBillingFilter> {
 			items.add(getValueOrEmpty(document, ReportLine.FIELD_USER_ID));
 		}
 
+		items.add(getValueOrEmpty(document, ReportLine.FIELD_PROJECT));
 		items.add(getValueOrEmpty(document, ReportLine.FIELD_DLAB_ID));
 		items.add(getValueOrEmpty(document, AwsBillingDAO.DLAB_RESOURCE_TYPE));
 		items.add(getValueOrEmpty(document, AwsBillingDAO.SHAPE).replace(System.lineSeparator(), " "));
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/azure/AzureBillingService.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/azure/AzureBillingService.java
index 672aa7d..5b329be 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/azure/AzureBillingService.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/azure/AzureBillingService.java
@@ -27,6 +27,7 @@ import com.epam.dlab.backendapi.dao.azure.AzureBillingDAO;
 import com.epam.dlab.backendapi.resources.dto.azure.AzureBillingFilter;
 import com.epam.dlab.backendapi.service.BillingService;
 import com.epam.dlab.backendapi.util.CSVFormatter;
+import com.epam.dlab.model.aws.ReportLine;
 import com.google.inject.Inject;
 import com.google.inject.Singleton;
 import lombok.extern.slf4j.Slf4j;
@@ -68,6 +69,7 @@ public class AzureBillingService extends BillingService<AzureBillingFilter> {
             headers.add("USER");
         }
 
+        headers.add("PROJECT");
         headers.add("ENVIRONMENT NAME");
         headers.add("RESOURCE TYPE");
         headers.add("INSTANCE SIZE");
@@ -85,6 +87,7 @@ public class AzureBillingService extends BillingService<AzureBillingFilter> {
             items.add(getValueOrEmpty(document, MongoKeyWords.DLAB_USER));
         }
 
+        items.add(getValueOrEmpty(document, ReportLine.FIELD_PROJECT));
         items.add(getValueOrEmpty(document, MongoKeyWords.DLAB_ID));
         items.add(getValueOrEmpty(document, MongoKeyWords.RESOURCE_TYPE));
         items.add(getValueOrEmpty(document, AzureBillingDAO.SIZE).replace(System.lineSeparator(), " "));
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/gcp/GcpBillingService.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/gcp/GcpBillingService.java
index 6851f33..4b89e4b 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/gcp/GcpBillingService.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/gcp/GcpBillingService.java
@@ -52,6 +52,7 @@ public class GcpBillingService extends BillingService<GcpBillingFilter> {
             headers.add("USER");
         }
 
+        headers.add("PROJECT");
         headers.add("ENVIRONMENT NAME");
         headers.add("RESOURCE TYPE");
         headers.add("SHAPE");
@@ -69,6 +70,7 @@ public class GcpBillingService extends BillingService<GcpBillingFilter> {
             items.add(getValueOrEmpty(document, ReportLine.FIELD_USER_ID));
         }
 
+        items.add(getValueOrEmpty(document, ReportLine.FIELD_PROJECT));
         items.add(getValueOrEmpty(document, ReportLine.FIELD_DLAB_ID));
         items.add(getValueOrEmpty(document, AwsBillingDAO.DLAB_RESOURCE_TYPE));
         items.add(getValueOrEmpty(document, AwsBillingDAO.SHAPE).replace(System.lineSeparator(), " "));
diff --git a/services/self-service/src/test/java/com/epam/dlab/backendapi/service/aws/AwsBillingServiceTest.java b/services/self-service/src/test/java/com/epam/dlab/backendapi/service/aws/AwsBillingServiceTest.java
index e24e009..d7d00b5 100644
--- a/services/self-service/src/test/java/com/epam/dlab/backendapi/service/aws/AwsBillingServiceTest.java
+++ b/services/self-service/src/test/java/com/epam/dlab/backendapi/service/aws/AwsBillingServiceTest.java
@@ -167,7 +167,7 @@ public class AwsBillingServiceTest {
 	@Test
 	public void getHeadersList() {
 		List<String> expectedResult1 =
-				Arrays.asList("USER", "ENVIRONMENT NAME", "RESOURCE TYPE", "SHAPE", "SERVICE", "SERVICE CHARGES");
+				Arrays.asList("USER", "PROJECT", "ENVIRONMENT NAME", "RESOURCE TYPE", "SHAPE", "SERVICE", "SERVICE CHARGES");
 		List<String> expectedResult2 = expectedResult1.subList(1, expectedResult1.size());
 
 		List<String> actualResult1 = awsBillingService.getHeadersList(true);
@@ -179,23 +179,23 @@ public class AwsBillingServiceTest {
 
 	@Test
 	public void getLine() {
-		String expectedResult1 = "someUser,someId,someResType,someShape,someProduct,someCost someCode\n";
+		String expectedResult1 = "someUser,someProject,someId,someResType,someShape,someProduct,someCost someCode\n";
 		String actualResult1 = awsBillingService.getLine(true, basicDocument);
 		assertEquals(expectedResult1, actualResult1);
 
 		basicDocument.remove("user");
-		String expectedResult2 = "someId,someResType,someShape,someProduct,someCost someCode\n";
+		String expectedResult2 = "someProject,someId,someResType,someShape,someProduct,someCost someCode\n";
 		String actualResult2 = awsBillingService.getLine(false, basicDocument);
 		assertEquals(expectedResult2, actualResult2);
 	}
 
 	@Test
 	public void getTotal() {
-		String expectedResult1 = ",,,,,Total: someCostTotal someCode\n";
+		String expectedResult1 = ",,,,,,Total: someCostTotal someCode\n";
 		String actualResult1 = awsBillingService.getTotal(true, basicDocument);
 		assertEquals(expectedResult1, actualResult1);
 
-		String expectedResult2 = ",,,,Total: someCostTotal someCode\n";
+		String expectedResult2 = ",,,,,Total: someCostTotal someCode\n";
 		String actualResult2 = awsBillingService.getTotal(false, basicDocument);
 		assertEquals(expectedResult2, actualResult2);
 	}
@@ -206,9 +206,9 @@ public class AwsBillingServiceTest {
 
 	private Document getBasicDocument() {
 		return new Document().append("service_base_name", "someSBN").append("user", "someUser")
-				.append("dlab_id", "someId").append("dlab_resource_type", "someResType")
-				.append("tag_resource_id", "someTagResourceId").append("from", "2018-03-21")
-				.append("to", "2018-03-22").append("full_report", false)
+				.append("project", "someProject").append("dlab_id", "someId")
+				.append("dlab_resource_type", "someResType").append("tag_resource_id", "someTagResourceId")
+				.append("from", "2018-03-21").append("to", "2018-03-22").append("full_report", false)
 				.append("shape", "someShape").append("product", "someProduct").append("cost", "someCost")
 				.append("cost_total", "someCostTotal").append("currency_code", "someCode")
 				.append("lines", Collections.singletonList(new Document()));
diff --git a/services/self-service/src/test/java/com/epam/dlab/backendapi/service/azure/AzureBillingServiceTest.java b/services/self-service/src/test/java/com/epam/dlab/backendapi/service/azure/AzureBillingServiceTest.java
index 1fafa87..cc96d0a 100644
--- a/services/self-service/src/test/java/com/epam/dlab/backendapi/service/azure/AzureBillingServiceTest.java
+++ b/services/self-service/src/test/java/com/epam/dlab/backendapi/service/azure/AzureBillingServiceTest.java
@@ -152,7 +152,7 @@ public class AzureBillingServiceTest {
 	@Test
 	public void getHeadersList() {
 		List<String> expectedResult1 =
-				Arrays.asList("USER", "ENVIRONMENT NAME", "RESOURCE TYPE", "INSTANCE SIZE", "CATEGORY", "SERVICE " +
+				Arrays.asList("USER", "PROJECT" ,"ENVIRONMENT NAME", "RESOURCE TYPE", "INSTANCE SIZE", "CATEGORY", "SERVICE " +
 						"CHARGES");
 		List<String> expectedResult2 = expectedResult1.subList(1, expectedResult1.size());
 
@@ -165,23 +165,23 @@ public class AzureBillingServiceTest {
 
 	@Test
 	public void getLine() {
-		String expectedResult1 = "someUser,someId,someResType,someSize,someMeterCategory,someCost someCode\n";
+		String expectedResult1 = "someUser,someProject,someId,someResType,someSize,someMeterCategory,someCost someCode\n";
 		String actualResult1 = azureBillingService.getLine(true, basicDocument);
 		assertEquals(expectedResult1, actualResult1);
 
 		basicDocument.remove("user");
-		String expectedResult2 = "someId,someResType,someSize,someMeterCategory,someCost someCode\n";
+		String expectedResult2 = "someProject,someId,someResType,someSize,someMeterCategory,someCost someCode\n";
 		String actualResult2 = azureBillingService.getLine(false, basicDocument);
 		assertEquals(expectedResult2, actualResult2);
 	}
 
 	@Test
 	public void getTotal() {
-		String expectedResult1 = ",,,,,Total: someCost someCode\n";
+		String expectedResult1 = ",,,,,,Total: someCost someCode\n";
 		String actualResult1 = azureBillingService.getTotal(true, basicDocument);
 		assertEquals(expectedResult1, actualResult1);
 
-		String expectedResult2 = ",,,,Total: someCost someCode\n";
+		String expectedResult2 = ",,,,,Total: someCost someCode\n";
 		String actualResult2 = azureBillingService.getTotal(false, basicDocument);
 		assertEquals(expectedResult2, actualResult2);
 	}
@@ -192,11 +192,11 @@ public class AzureBillingServiceTest {
 
 	private Document getBasicDocument() {
 		return new Document().append("service_base_name", "someSBN").append("user", "someUser")
-				.append("dlabId", "someId").append("resourceType", "someResType")
-				.append("from", "2018-03-21").append("size", "someSize")
-				.append("to", "2018-03-22").append("full_report", false)
-				.append("meterCategory", "someMeterCategory").append("costString", "someCost")
-				.append("currencyCode", "someCode").append("lines", Collections.singletonList(new Document()));
+				.append("project", "someProject").append("dlabId", "someId").append("resourceType", "someResType")
+				.append("from", "2018-03-21").append("size", "someSize").append("to", "2018-03-22")
+				.append("full_report", false).append("meterCategory", "someMeterCategory")
+				.append("costString", "someCost").append("currencyCode", "someCode")
+				.append("lines", Collections.singletonList(new Document()));
 	}
 
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org