diff options
author | Young Gyu Park <younggyu@google.com> | 2018-04-02 14:36:20 +0900 |
---|---|---|
committer | Young Gyu Park <younggyu@google.com> | 2018-04-02 14:36:20 +0900 |
commit | fe5140c5aa9e68542fdbdb8125736882cf3849a9 (patch) | |
tree | f844a899e3b9b4f510a9230141c0144146ea048d /src/main/java/com/android/vts/api | |
parent | e409e4044306992b9ac101929148098b7a9d94b9 (diff) | |
download | dashboard-fe5140c5aa9e68542fdbdb8125736882cf3849a9.tar.gz |
New Dev API for generating suite test data
Test: Tested with curl command on local dev machine
Bug: 77455172
Change-Id: I4ad9db889581cb2a41f667584a5894070e7dbdac
Diffstat (limited to 'src/main/java/com/android/vts/api')
-rw-r--r-- | src/main/java/com/android/vts/api/TestDataForDevServlet.java | 80 |
1 files changed, 63 insertions, 17 deletions
diff --git a/src/main/java/com/android/vts/api/TestDataForDevServlet.java b/src/main/java/com/android/vts/api/TestDataForDevServlet.java index f140184..603807c 100644 --- a/src/main/java/com/android/vts/api/TestDataForDevServlet.java +++ b/src/main/java/com/android/vts/api/TestDataForDevServlet.java @@ -16,18 +16,8 @@ package com.android.vts.api; -import com.android.vts.entity.BranchEntity; -import com.android.vts.entity.BuildTargetEntity; -import com.android.vts.entity.CoverageEntity; -import com.android.vts.entity.DeviceInfoEntity; -import com.android.vts.entity.ProfilingPointRunEntity; -import com.android.vts.entity.TestCaseRunEntity; -import com.android.vts.entity.TestEntity; -import com.android.vts.entity.TestPlanEntity; -import com.android.vts.entity.TestPlanRunEntity; -import com.android.vts.entity.TestRunEntity; +import com.android.vts.entity.*; import com.android.vts.entity.TestRunEntity.TestRunType; -import com.android.vts.entity.TestStatusEntity; import com.android.vts.entity.TestStatusEntity.TestCaseReference; import com.google.appengine.api.datastore.DatastoreFailureException; import com.google.appengine.api.datastore.DatastoreService; @@ -48,14 +38,11 @@ import com.google.gson.GsonBuilder; import java.io.IOException; import java.io.InputStreamReader; import java.io.Reader; -import java.util.ArrayList; -import java.util.ConcurrentModificationException; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; import java.util.logging.Level; import java.util.logging.Logger; +import java.util.stream.IntStream; +import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -175,6 +162,65 @@ public class TestDataForDevServlet extends HttpServlet { } } + private Map<String, Object> generateSuiteTestData(HttpServletRequest request, HttpServletResponse response) { + Map<String, Object> resultMap = new HashMap<>(); + Random rand = new Random(); + List<String> branchList = Arrays.asList("master", "oc_mr", "oc"); + List<String> targetList = Arrays.asList("sailfish-userdebug", "marlin-userdebug", "taimen-userdebug", + "walleye-userdebug", "aosp_arm_a-userdebug"); + branchList.forEach(branch -> { + targetList.forEach(target -> { + IntStream.range(0, 10) + .forEach( + idx -> { + TestSuiteResultEntity ttestSuiteResultEntity = + new TestSuiteResultEntity( + rand.nextLong(), + rand.nextLong(), + "Suite Test Plan", + "Suite Version " + idx, + "Suite Build Number " + idx, + rand.nextInt(), + rand.nextInt(), + branch, + target, + Long.toString(rand.nextLong()), + "Build System Fingerprint " + idx, + "Build Vendor Fingerprint " + idx, + rand.nextInt(), + rand.nextInt() + ); + + ttestSuiteResultEntity.save(); + }); + }); + }); + resultMap.put("result", "successfully generated!"); + return resultMap; + } + + @Override + public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { + String requestUri = request.getRequestURI(); + String requestArgs = request.getQueryString(); + + Map<String, Object> resultMap = new HashMap<>(); + String pathInfo = requestUri.replace("/api/test_data/", ""); + switch (pathInfo) { + case "suite": + resultMap = this.generateSuiteTestData(request, response); + break; + default: + throw new IllegalArgumentException("Invalid path info of URL"); + } + + String json = new Gson().toJson(resultMap); + response.setStatus(HttpServletResponse.SC_OK); + response.setContentType("application/json"); + response.setCharacterEncoding("UTF-8"); + response.getWriter().write(json); + } + /** Add mock data to local dev datastore. */ @Override public void doPost(HttpServletRequest request, HttpServletResponse response) |