summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorYoung Gyu Park <younggyu@google.com>2018-08-10 13:16:19 +0900
committerYoung Gyu Park <younggyu@google.com>2018-08-10 13:16:19 +0900
commit91647f1bc86aa3eba3f6d553a97cb61dfccce4be (patch)
treeb71cb2196e5d06121223e21661cb4f022ea1f73a /src/main/java
parent021de0e7fc01ccdac4039d249cb92f9b6731610b (diff)
downloaddashboard-91647f1bc86aa3eba3f6d553a97cb61dfccce4be.tar.gz
Adding null check logic for suite test name
Test: go/vts-web-staging Bug: 112338819 Change-Id: I8ced065c879354c3946113d331ee9cc8eb52e281
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/android/vts/entity/TestSuiteResultEntity.java29
-rw-r--r--src/main/java/com/android/vts/job/VtsSuiteTestJobServlet.java139
2 files changed, 90 insertions, 78 deletions
diff --git a/src/main/java/com/android/vts/entity/TestSuiteResultEntity.java b/src/main/java/com/android/vts/entity/TestSuiteResultEntity.java
index 82cafd7..b3d24df 100644
--- a/src/main/java/com/android/vts/entity/TestSuiteResultEntity.java
+++ b/src/main/java/com/android/vts/entity/TestSuiteResultEntity.java
@@ -16,6 +16,7 @@
package com.android.vts.entity;
+import com.google.common.base.Strings;
import com.googlecode.objectify.Key;
import com.googlecode.objectify.annotation.Cache;
import com.googlecode.objectify.annotation.Entity;
@@ -23,6 +24,8 @@ import com.googlecode.objectify.annotation.Id;
import com.googlecode.objectify.annotation.Ignore;
import com.googlecode.objectify.annotation.Index;
import com.googlecode.objectify.annotation.Parent;
+import java.util.logging.Level;
+import java.util.logging.Logger;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;
@@ -125,6 +128,8 @@ class TestTypeIndex {
@NoArgsConstructor
public class TestSuiteResultEntity {
+ private static final Logger logger = Logger.getLogger(TestSuiteResultEntity.class.getName());
+
/** Bug Tracking System Property class */
private static Properties bugTrackingSystemProp = new Properties();
@@ -288,9 +293,27 @@ public class TestSuiteResultEntity {
}
/** Saving function for the instance of this class */
- public void save() {
- this.updated = new Date();
- ofy().save().entity(this).now();
+ public void save(TestSuiteFileEntity newTestSuiteFileEntity) {
+ List<String> checkList =
+ Arrays.asList(
+ this.hostName,
+ this.suitePlan,
+ this.suiteName,
+ this.suiteBuildNumber,
+ this.branch,
+ this.target,
+ this.buildId);
+ boolean isAllTrue = checkList.stream().allMatch(val -> Strings.isNullOrEmpty(val));
+
+ if (isAllTrue) {
+ logger.log(Level.WARNING, "There is null or empty string among required fields!");
+ } else {
+ this.updated = new Date();
+ ofy().transact(() -> {
+ newTestSuiteFileEntity.save();
+ ofy().save().entity(this).now();
+ });
+ }
}
public static void setPropertyValues(Properties newSystemConfigProp) {
diff --git a/src/main/java/com/android/vts/job/VtsSuiteTestJobServlet.java b/src/main/java/com/android/vts/job/VtsSuiteTestJobServlet.java
index 719ba64..c0189b3 100644
--- a/src/main/java/com/android/vts/job/VtsSuiteTestJobServlet.java
+++ b/src/main/java/com/android/vts/job/VtsSuiteTestJobServlet.java
@@ -143,77 +143,70 @@ public class VtsSuiteTestJobServlet extends HttpServlet {
}
dateStringList.add(todayDateString);
- dateStringList.forEach(
- dateString -> {
- String[] dateArray = dateString.split("-");
- if (dateArray.length == 3) {
-
- Queue queue = QueueFactory.getQueue(QUEUE);
-
- List<TaskOptions> tasks = new ArrayList<>();
-
- String fileSeparator = FileSystems.getDefault().getSeparator();
-
- String year = dateArray[0];
- String month = dateArray[1];
- String day = dateArray[2];
-
- List<String> pathList =
- Arrays.asList(GCS_SUITE_TEST_FOLDER_NAME, year, month, day);
- Path pathInfo = Paths.get(String.join(fileSeparator, pathList));
-
- List<TestSuiteFileEntity> testSuiteFileEntityList =
- ofy().load()
- .type(TestSuiteFileEntity.class)
- .filter("year", Integer.parseInt(year))
- .filter("month", Integer.parseInt(month))
- .filter("day", Integer.parseInt(day))
- .list();
-
- List<String> filePathList =
- testSuiteFileEntityList
- .stream()
- .map(testSuiteFile -> testSuiteFile.getFilePath())
- .collect(Collectors.toList());
-
- Bucket vtsReportBucket = this.storage.get(GCS_BUCKET_NAME);
-
- Storage.BlobListOption[] listOptions =
- new Storage.BlobListOption[] {
- Storage.BlobListOption.prefix(
- pathInfo.toString() + fileSeparator)
- };
-
- Iterable<Blob> blobIterable =
- vtsReportBucket.list(listOptions).iterateAll();
- Iterator<Blob> blobIterator = blobIterable.iterator();
- while (blobIterator.hasNext()) {
- Blob blob = blobIterator.next();
- if (blob.isDirectory()) {
- logger.log(
- Level.INFO, blob.getName() + " directory will be skipped!");
- } else {
- if (filePathList.contains(blob.getName())) {
- logger.log(
- Level.INFO,
- "filePathList contain => " + blob.getName());
- } else if (blob.getName().endsWith(fileSeparator)) {
- logger.log(Level.INFO, blob.getName() + " endswith slash!");
- } else {
- TaskOptions task =
- TaskOptions.Builder.withUrl(SUITE_TEST_URL)
- .param("filePath", blob.getName())
- .method(TaskOptions.Method.POST);
- tasks.add(task);
- }
- }
- }
- TaskQueueHelper.addToQueue(queue, tasks);
+ for (String dateString : dateStringList) {
+ String[] dateArray = dateString.split("-");
+ if (dateArray.length == 3) {
+
+ Queue queue = QueueFactory.getQueue(QUEUE);
+
+ List<TaskOptions> tasks = new ArrayList<>();
+
+ String fileSeparator = FileSystems.getDefault().getSeparator();
+
+ String year = dateArray[0];
+ String month = dateArray[1];
+ String day = dateArray[2];
+
+ List<String> pathList = Arrays.asList(GCS_SUITE_TEST_FOLDER_NAME, year, month, day);
+ Path pathInfo = Paths.get(String.join(fileSeparator, pathList));
+
+ List<TestSuiteFileEntity> testSuiteFileEntityList =
+ ofy().load()
+ .type(TestSuiteFileEntity.class)
+ .filter("year", Integer.parseInt(year))
+ .filter("month", Integer.parseInt(month))
+ .filter("day", Integer.parseInt(day))
+ .list();
+
+ List<String> filePathList =
+ testSuiteFileEntityList
+ .stream()
+ .map(testSuiteFile -> testSuiteFile.getFilePath())
+ .collect(Collectors.toList());
+
+ Bucket vtsReportBucket = this.storage.get(GCS_BUCKET_NAME);
+
+ Storage.BlobListOption[] listOptions =
+ new Storage.BlobListOption[] {
+ Storage.BlobListOption.prefix(pathInfo.toString() + fileSeparator)
+ };
+
+ Iterable<Blob> blobIterable = vtsReportBucket.list(listOptions).iterateAll();
+ Iterator<Blob> blobIterator = blobIterable.iterator();
+ while (blobIterator.hasNext()) {
+ Blob blob = blobIterator.next();
+ if (blob.isDirectory()) {
+ logger.log(Level.INFO, blob.getName() + " directory will be skipped!");
} else {
- throw new IllegalArgumentException(
- todayDateString + " date string not in correct format");
+ if (filePathList.contains(blob.getName())) {
+ logger.log(Level.INFO, "filePathList contain => " + blob.getName());
+ } else if (blob.getName().endsWith(fileSeparator)) {
+ logger.log(Level.INFO, blob.getName() + " endswith slash!");
+ } else {
+ TaskOptions task =
+ TaskOptions.Builder.withUrl(SUITE_TEST_URL)
+ .param("filePath", blob.getName())
+ .method(TaskOptions.Method.POST);
+ tasks.add(task);
+ }
}
- });
+ }
+ TaskQueueHelper.addToQueue(queue, tasks);
+ } else {
+ throw new IllegalArgumentException(
+ todayDateString + " date string not in correct format");
+ }
+ }
}
@Override
@@ -245,12 +238,8 @@ public class VtsSuiteTestJobServlet extends HttpServlet {
if (blobFile.exists()) {
TestSuiteFileEntity newTestSuiteFileEntity = new TestSuiteFileEntity(filePath);
- newTestSuiteFileEntity.save();
- TestSuiteResultMessageProto.TestSuiteResultMessage testSuiteResultMessage;
try {
- // String payload = blobFile.getContent().collect(Collectors.joining());
- // byte[] value = Base64.decodeBase64(payload);
- testSuiteResultMessage =
+ TestSuiteResultMessageProto.TestSuiteResultMessage testSuiteResultMessage =
TestSuiteResultMessageProto.TestSuiteResultMessage.parseFrom(
blobFile.getContent());
@@ -278,7 +267,7 @@ public class VtsSuiteTestJobServlet extends HttpServlet {
testSuiteResultMessage.getPassedTestCaseCount(),
testSuiteResultMessage.getFailedTestCaseCount());
- testSuiteResultEntity.save();
+ testSuiteResultEntity.save(newTestSuiteFileEntity);
} catch (IOException e) {
ofy().delete().type(TestSuiteFileEntity.class).id(filePath).now();
response.setStatus(HttpServletResponse.SC_BAD_REQUEST);