summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYoung Gyu Park <younggyu@google.com>2018-11-06 21:16:06 -0800
committerandroid-build-merger <android-build-merger@google.com>2018-11-06 21:16:06 -0800
commit28ef98866dd463ed60c61e2fb1c009e9af1431de (patch)
tree03de694bef330b2a47155ce6f600dec4eaa5845a
parentb88f2be166fcadb439eb13aed98722f50267fa4f (diff)
parent7c7324802b93084843842f601c10f8bf3fdee7db (diff)
downloaddashboard-28ef98866dd463ed60c61e2fb1c009e9af1431de.tar.gz
Merge "Adding unit test for HalApiEntity" am: dc9f081010 am: 73329bdea1
am: 7c7324802b Change-Id: I44c23d5627553e935408a5adefc192e2959061a1
-rw-r--r--src/test/java/com/android/vts/api/DataRestServletTest.java34
-rw-r--r--src/test/java/com/android/vts/api/VtsSpreadSheetSyncServletTest.java70
-rw-r--r--src/test/java/com/android/vts/entity/ApiCoverageExcludedEntityTest.java1
-rw-r--r--src/test/java/com/android/vts/entity/TestAcknowledgmentEntityTest.java44
-rw-r--r--src/test/java/com/android/vts/job/VtsAlertJobServletTest.java23
-rw-r--r--src/test/java/com/android/vts/job/VtsPerformanceJobServletTest.java13
-rw-r--r--src/test/java/com/android/vts/job/VtsProfilingStatsJobServletTest.java13
7 files changed, 131 insertions, 67 deletions
diff --git a/src/test/java/com/android/vts/api/DataRestServletTest.java b/src/test/java/com/android/vts/api/DataRestServletTest.java
index 7d21707..b01c761 100644
--- a/src/test/java/com/android/vts/api/DataRestServletTest.java
+++ b/src/test/java/com/android/vts/api/DataRestServletTest.java
@@ -16,6 +16,8 @@
package com.android.vts.api;
+import com.android.vts.entity.BranchEntity;
+import com.android.vts.entity.BuildTargetEntity;
import com.android.vts.entity.DeviceInfoEntity;
import com.android.vts.entity.TestEntity;
import com.android.vts.entity.TestRunEntity;
@@ -25,6 +27,7 @@ import com.googlecode.objectify.Key;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.Mock;
+import org.mockito.Spy;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
@@ -36,13 +39,14 @@ import java.util.LinkedList;
import static com.googlecode.objectify.ObjectifyService.factory;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.when;
public class DataRestServletTest extends ObjectifyTestBase {
private Gson gson;
+ @Spy private DataRestServlet servlet;
+
@Mock private HttpServletRequest request;
@Mock private HttpServletResponse response;
@@ -54,8 +58,20 @@ public class DataRestServletTest extends ObjectifyTestBase {
factory().register(TestEntity.class);
factory().register(TestRunEntity.class);
+ factory().register(BranchEntity.class);
+ factory().register(BuildTargetEntity.class);
factory().register(DeviceInfoEntity.class);
+ BranchEntity branchEntity1 = new BranchEntity("master");
+ branchEntity1.save();
+ BranchEntity branchEntity2 = new BranchEntity("pi");
+ branchEntity2.save();
+
+ BuildTargetEntity buildTargetEntity1 = new BuildTargetEntity("aosp_arm64_ab-userdebug");
+ buildTargetEntity1.save();
+ BuildTargetEntity buildTargetEntity2 = new BuildTargetEntity("sailfish-userdebug");
+ buildTargetEntity2.save();
+
Key testParentKey = Key.create(TestEntity.class, "test1");
Key testRunParentKey = Key.create(testParentKey, TestRunEntity.class, 1);
DeviceInfoEntity deviceInfoEntity1 =
@@ -87,14 +103,14 @@ public class DataRestServletTest extends ObjectifyTestBase {
public void testBranchData() throws IOException, ServletException {
when(request.getPathInfo()).thenReturn("/branch");
+ when(request.getParameter("schKey")).thenReturn("*");
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
when(response.getWriter()).thenReturn(pw);
- DataRestServlet dataRestServlet = new DataRestServlet();
- dataRestServlet.doGet(request, response);
+ servlet.doGet(request, response);
String result = sw.getBuffer().toString().trim();
LinkedList resultList = gson.fromJson(result, LinkedList.class);
@@ -108,26 +124,18 @@ public class DataRestServletTest extends ObjectifyTestBase {
public void testDeviceData() throws IOException, ServletException {
when(request.getPathInfo()).thenReturn("/device");
+ when(request.getParameter("schKey")).thenReturn("*");
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
when(response.getWriter()).thenReturn(pw);
- DataRestServlet dataRestServlet = new DataRestServlet();
- dataRestServlet.doGet(request, response);
+ servlet.doGet(request, response);
String result = sw.getBuffer().toString().trim();
LinkedList resultList = gson.fromJson(result, LinkedList.class);
- String value = "1";
- int charValue = value.charAt(0);
- String next = String.valueOf((char) (charValue + 1));
- System.out.println(next);
-
- String s = "asb";
- System.out.println(s.replace("[.]$", ""));
- assertTrue(s.charAt(0) == s.charAt(s.length() - 1));
assertEquals(resultList.size(), 2);
assertEquals(resultList.get(0), "aosp_arm64_ab-userdebug");
assertEquals(resultList.get(1), "sailfish-userdebug");
diff --git a/src/test/java/com/android/vts/api/VtsSpreadSheetSyncServletTest.java b/src/test/java/com/android/vts/api/VtsSpreadSheetSyncServletTest.java
index f6e3694..661ea9e 100644
--- a/src/test/java/com/android/vts/api/VtsSpreadSheetSyncServletTest.java
+++ b/src/test/java/com/android/vts/api/VtsSpreadSheetSyncServletTest.java
@@ -19,57 +19,101 @@ package com.android.vts.api;
import com.android.vts.entity.ApiCoverageExcludedEntity;
import com.android.vts.job.VtsSpreadSheetSyncServlet;
import com.android.vts.util.ObjectifyTestBase;
+import com.google.api.client.extensions.appengine.datastore.AppEngineDataStoreFactory;
+import com.google.api.services.sheets.v4.SheetsScopes;
import com.google.gson.Gson;
+import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.Mock;
+import org.mockito.Spy;
import javax.servlet.ServletConfig;
+import javax.servlet.ServletContext;
import javax.servlet.ServletException;
+import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import java.io.FileNotFoundException;
import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.StringWriter;
+import java.io.InputStream;
+import java.util.Collections;
import java.util.List;
+import java.util.Properties;
import static com.googlecode.objectify.ObjectifyService.factory;
import static com.googlecode.objectify.ObjectifyService.ofy;
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.when;
+@Slf4j
public class VtsSpreadSheetSyncServletTest extends ObjectifyTestBase {
private Gson gson;
+ @Spy private VtsSpreadSheetSyncServlet servlet;
+
@Mock private HttpServletRequest request;
@Mock private HttpServletResponse response;
- @Mock ServletConfig servletConfig;
+ @Mock private ServletContext context;
+
+ @Mock private ServletConfig servletConfig;
+
+ @Mock private ServletOutputStream outputStream;
+
+ private final AppEngineDataStoreFactory DATA_STORE_FACTORY = new AppEngineDataStoreFactory();
+
+ private final List<String> GOOGLE_API_SCOPES =
+ Collections.singletonList(SheetsScopes.SPREADSHEETS_READONLY);
/** It be executed before each @Test method */
@BeforeEach
void setUpExtra() {
+
+ factory().register(ApiCoverageExcludedEntity.class);
+
gson = new Gson();
+
+ Properties systemConfigProp = new Properties();
+
+ InputStream defaultInputStream =
+ VtsSpreadSheetSyncServletTest.class
+ .getClassLoader()
+ .getResourceAsStream("config.properties");
+
+ try {
+ systemConfigProp.load(defaultInputStream);
+ } catch (FileNotFoundException e) {
+ log.error(e.getMessage());
+ } catch (IOException e) {
+ log.error(e.getMessage());
+ }
+
+ when(request.getServletContext()).thenReturn(context);
+ when(request.getServletContext().getAttribute("dataStoreFactory"))
+ .thenReturn(DATA_STORE_FACTORY);
+ when(request.getServletContext().getAttribute("googleApiScopes"))
+ .thenReturn(GOOGLE_API_SCOPES);
+
+ when(servletConfig.getServletContext()).thenReturn(context);
+ when(servletConfig.getServletContext().getAttribute("systemConfigProp"))
+ .thenReturn(systemConfigProp);
+
}
@Test
public void testSyncServletJob() throws IOException, ServletException {
- factory().register(ApiCoverageExcludedEntity.class);
-
when(request.getPathInfo()).thenReturn("/cron/vts_spreadsheet_sync_job");
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- when(response.getWriter()).thenReturn(pw);
+ when(servlet.getServletConfig()).thenReturn(servletConfig);
+ when(response.getOutputStream()).thenReturn(outputStream);
- VtsSpreadSheetSyncServlet vtsSpreadSheetSyncServlet = new VtsSpreadSheetSyncServlet();
- vtsSpreadSheetSyncServlet.init(servletConfig);
- vtsSpreadSheetSyncServlet.doGet(request, response);
- String result = sw.getBuffer().toString().trim();
+ servlet.init(servletConfig);
+ servlet.doGet(request, response);
+ String result = outputStream.toString().trim();
List<ApiCoverageExcludedEntity> apiCoverageExcludedEntityList =
ofy().load().type(ApiCoverageExcludedEntity.class).list();
diff --git a/src/test/java/com/android/vts/entity/ApiCoverageExcludedEntityTest.java b/src/test/java/com/android/vts/entity/ApiCoverageExcludedEntityTest.java
index 4fa9b2a..40d3af9 100644
--- a/src/test/java/com/android/vts/entity/ApiCoverageExcludedEntityTest.java
+++ b/src/test/java/com/android/vts/entity/ApiCoverageExcludedEntityTest.java
@@ -46,6 +46,7 @@ public class ApiCoverageExcludedEntityTest extends ObjectifyTestBase {
@Test
public void getUrlSafeKeyTest() {
+ factory().register(CodeCoverageEntity.class);
factory().register(ApiCoverageExcludedEntity.class);
Key testParentKey = Key.create(TestEntity.class, "test1");
diff --git a/src/test/java/com/android/vts/entity/TestAcknowledgmentEntityTest.java b/src/test/java/com/android/vts/entity/TestAcknowledgmentEntityTest.java
index cf9c322..8ed68b6 100644
--- a/src/test/java/com/android/vts/entity/TestAcknowledgmentEntityTest.java
+++ b/src/test/java/com/android/vts/entity/TestAcknowledgmentEntityTest.java
@@ -68,7 +68,7 @@ public class TestAcknowledgmentEntityTest {
Assert.assertNotNull(e);
Assert.assertEquals(key, e.getProperty(TestAcknowledgmentEntity.TEST_KEY));
- Assert.assertEquals(user, e.getProperty(TestAcknowledgmentEntity.USER));
+ Assert.assertEquals(user, e.getProperty(TestAcknowledgmentEntity.USER_OBJ));
Assert.assertTrue(
((List<String>) e.getProperty(TestAcknowledgmentEntity.BRANCHES))
.containsAll(branches));
@@ -83,11 +83,11 @@ public class TestAcknowledgmentEntityTest {
TestAcknowledgmentEntity deserialized = TestAcknowledgmentEntity.fromEntity(e);
Assert.assertNotNull(deserialized);
Assert.assertEquals(key, deserialized.test);
- Assert.assertEquals(user, deserialized.user);
- Assert.assertTrue(deserialized.branches.containsAll(branches));
- Assert.assertTrue(deserialized.devices.containsAll(devices));
- Assert.assertTrue(deserialized.testCaseNames.containsAll(testCaseNames));
- Assert.assertEquals(note.getValue(), deserialized.note);
+ Assert.assertEquals(user, deserialized.getUserObj());
+ Assert.assertTrue(deserialized.getBranches().containsAll(branches));
+ Assert.assertTrue(deserialized.getDevices().containsAll(devices));
+ Assert.assertTrue(deserialized.getTestCaseNames().containsAll(testCaseNames));
+ Assert.assertEquals(note.getValue(), deserialized.getNote());
}
/** Test serialization to/from Entity objects when optional parameters are null. */
@@ -101,7 +101,7 @@ public class TestAcknowledgmentEntityTest {
Assert.assertNotNull(e);
Assert.assertEquals(key, e.getProperty(TestAcknowledgmentEntity.TEST_KEY));
- Assert.assertEquals(user, e.getProperty(TestAcknowledgmentEntity.USER));
+ Assert.assertEquals(user, e.getProperty(TestAcknowledgmentEntity.USER_OBJ));
Assert.assertFalse(e.hasProperty(TestAcknowledgmentEntity.BRANCHES));
Assert.assertFalse(e.hasProperty(TestAcknowledgmentEntity.DEVICES));
Assert.assertFalse(e.hasProperty(TestAcknowledgmentEntity.TEST_CASE_NAMES));
@@ -110,11 +110,11 @@ public class TestAcknowledgmentEntityTest {
TestAcknowledgmentEntity deserialized = TestAcknowledgmentEntity.fromEntity(e);
Assert.assertNotNull(deserialized);
Assert.assertEquals(key, deserialized.test);
- Assert.assertEquals(user, deserialized.user);
- Assert.assertEquals(0, deserialized.branches.size());
- Assert.assertEquals(0, deserialized.devices.size());
- Assert.assertEquals(0, deserialized.testCaseNames.size());
- Assert.assertNull(deserialized.note);
+ Assert.assertEquals(user, deserialized.getUserObj());
+ Assert.assertEquals(0, deserialized.getBranches().size());
+ Assert.assertEquals(0, deserialized.getDevices().size());
+ Assert.assertEquals(0, deserialized.getTestCaseNames().size());
+ Assert.assertNull(deserialized.getNote());
}
/** Test serialization to/from Json objects. */
@@ -138,11 +138,11 @@ public class TestAcknowledgmentEntityTest {
TestAcknowledgmentEntity deserialized = TestAcknowledgmentEntity.fromJson(user, json);
Assert.assertNotNull(deserialized);
Assert.assertEquals(key, deserialized.test);
- Assert.assertEquals(user, deserialized.user);
- Assert.assertTrue(deserialized.branches.containsAll(branches));
- Assert.assertTrue(deserialized.devices.containsAll(devices));
- Assert.assertTrue(deserialized.testCaseNames.containsAll(testCaseNames));
- Assert.assertEquals(note.getValue(), deserialized.note);
+ Assert.assertEquals(user, deserialized.getUserObj());
+ Assert.assertTrue(deserialized.getBranches().containsAll(branches));
+ Assert.assertTrue(deserialized.getDevices().containsAll(devices));
+ Assert.assertTrue(deserialized.getTestCaseNames().containsAll(testCaseNames));
+ Assert.assertEquals(note.getValue(), deserialized.getNote());
}
/** Test serialization to/from Json objects when optional properties are null. */
@@ -159,10 +159,10 @@ public class TestAcknowledgmentEntityTest {
TestAcknowledgmentEntity deserialized = TestAcknowledgmentEntity.fromJson(user, json);
Assert.assertNotNull(deserialized);
Assert.assertEquals(key, deserialized.test);
- Assert.assertEquals(user, deserialized.user);
- Assert.assertEquals(0, deserialized.branches.size());
- Assert.assertEquals(0, deserialized.devices.size());
- Assert.assertEquals(0, deserialized.testCaseNames.size());
- Assert.assertEquals("", deserialized.note);
+ Assert.assertEquals(user, deserialized.getUserObj());
+ Assert.assertEquals(0, deserialized.getBranches().size());
+ Assert.assertEquals(0, deserialized.getDevices().size());
+ Assert.assertEquals(0, deserialized.getTestCaseNames().size());
+ Assert.assertEquals("", deserialized.getNote());
}
}
diff --git a/src/test/java/com/android/vts/job/VtsAlertJobServletTest.java b/src/test/java/com/android/vts/job/VtsAlertJobServletTest.java
index 7f88af8..9c24c65 100644
--- a/src/test/java/com/android/vts/job/VtsAlertJobServletTest.java
+++ b/src/test/java/com/android/vts/job/VtsAlertJobServletTest.java
@@ -16,11 +16,13 @@
package com.android.vts.job;
+import static com.googlecode.objectify.ObjectifyService.factory;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import com.android.vts.entity.DeviceInfoEntity;
import com.android.vts.entity.TestAcknowledgmentEntity;
+import com.android.vts.util.ObjectifyTestBase;
import com.google.appengine.api.datastore.Key;
import com.google.appengine.api.datastore.KeyFactory;
import com.google.appengine.api.users.User;
@@ -31,11 +33,12 @@ import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-public class VtsAlertJobServletTest {
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.BeforeEach;
+
+public class VtsAlertJobServletTest extends ObjectifyTestBase {
private final LocalServiceTestHelper userHelper =
new LocalServiceTestHelper(new LocalUserServiceTestConfig())
.setEnvIsAdmin(true)
@@ -48,8 +51,11 @@ public class VtsAlertJobServletTest {
private Set<String> allTestCases;
private List<DeviceInfoEntity> allDevices;
- @Before
- public void setUp() {
+ @BeforeEach
+ void setUpExtra() {
+ factory().register(DeviceInfoEntity.class);
+ factory().register(TestAcknowledgmentEntity.class);
+
userHelper.setUp();
user = UserServiceFactory.getUserService().getCurrentUser();
@@ -71,7 +77,7 @@ public class VtsAlertJobServletTest {
allDevices.add(device2);
}
- @After
+ @AfterEach
public void tearDown() {
userHelper.tearDown();
}
@@ -79,6 +85,7 @@ public class VtsAlertJobServletTest {
/** Test that acknowledge-all works correctly. */
@Test
public void testSeparateAcknowledgedAll() {
+
Set<String> testCases = new HashSet<>(allTestCases);
List<TestAcknowledgmentEntity> acks = new ArrayList<>();
TestAcknowledgmentEntity ack =
@@ -95,6 +102,7 @@ public class VtsAlertJobServletTest {
/** Test that specific branch/device/test case acknowledgement works correctly. */
@Test
public void testSeparateAcknowledgedSpecific() {
+
Set<String> testCases = new HashSet<>(allTestCases);
List<TestAcknowledgmentEntity> acks = new ArrayList<>();
List<String> branches = new ArrayList<>();
@@ -120,6 +128,7 @@ public class VtsAlertJobServletTest {
/** Test that specific branch/device/test case acknowledgement skips device mismatches. */
@Test
public void testSeparateAcknowledgedSpecificMismatch() {
+
Set<String> testCases = new HashSet<>(allTestCases);
List<TestAcknowledgmentEntity> acks = new ArrayList<>();
List<String> branches = new ArrayList<>();
diff --git a/src/test/java/com/android/vts/job/VtsPerformanceJobServletTest.java b/src/test/java/com/android/vts/job/VtsPerformanceJobServletTest.java
index ba73453..814ab3a 100644
--- a/src/test/java/com/android/vts/job/VtsPerformanceJobServletTest.java
+++ b/src/test/java/com/android/vts/job/VtsPerformanceJobServletTest.java
@@ -21,6 +21,7 @@ import static org.junit.Assert.assertEquals;
import com.android.vts.entity.ProfilingPointEntity;
import com.android.vts.entity.ProfilingPointSummaryEntity;
import com.android.vts.proto.VtsReportMessage.VtsProfilingRegressionMode;
+import com.android.vts.util.ObjectifyTestBase;
import com.android.vts.util.PerformanceSummary;
import com.android.vts.util.ProfilingPointSummary;
import com.android.vts.util.StatSummary;
@@ -36,11 +37,11 @@ import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
-public class VtsPerformanceJobServletTest {
+public class VtsPerformanceJobServletTest extends ObjectifyTestBase {
private final LocalServiceTestHelper helper =
new LocalServiceTestHelper(new LocalDatastoreServiceTestConfig());
@@ -101,12 +102,12 @@ public class VtsPerformanceJobServletTest {
assertEquals(baseline, text);
}
- @Before
+ @BeforeEach
public void setUp() {
helper.setUp();
}
- @After
+ @AfterEach
public void tearDown() {
helper.tearDown();
}
diff --git a/src/test/java/com/android/vts/job/VtsProfilingStatsJobServletTest.java b/src/test/java/com/android/vts/job/VtsProfilingStatsJobServletTest.java
index 5ed748e..36637a3 100644
--- a/src/test/java/com/android/vts/job/VtsProfilingStatsJobServletTest.java
+++ b/src/test/java/com/android/vts/job/VtsProfilingStatsJobServletTest.java
@@ -28,6 +28,7 @@ import com.android.vts.entity.ProfilingPointSummaryEntity;
import com.android.vts.entity.TestEntity;
import com.android.vts.entity.TestRunEntity;
import com.android.vts.proto.VtsReportMessage;
+import com.android.vts.util.ObjectifyTestBase;
import com.android.vts.util.StatSummary;
import com.android.vts.util.TimeUtil;
import com.google.appengine.api.datastore.DatastoreService;
@@ -55,11 +56,11 @@ import java.util.List;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import org.apache.commons.math3.stat.descriptive.moment.Mean;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
-public class VtsProfilingStatsJobServletTest {
+public class VtsProfilingStatsJobServletTest extends ObjectifyTestBase {
private final LocalServiceTestHelper helper =
new LocalServiceTestHelper(
new LocalDatastoreServiceTestConfig(),
@@ -67,12 +68,12 @@ public class VtsProfilingStatsJobServletTest {
.setQueueXmlPath("src/main/webapp/WEB-INF/queue.xml"));
private static final double THRESHOLD = 1e-10;
- @Before
+ @BeforeEach
public void setUp() {
helper.setUp();
}
- @After
+ @AfterEach
public void tearDown() {
helper.tearDown();
}