diff options
Diffstat (limited to 'src/test/java/com/android/vts/api/VtsSpreadSheetSyncServletTest.java')
-rw-r--r-- | src/test/java/com/android/vts/api/VtsSpreadSheetSyncServletTest.java | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/src/test/java/com/android/vts/api/VtsSpreadSheetSyncServletTest.java b/src/test/java/com/android/vts/api/VtsSpreadSheetSyncServletTest.java new file mode 100644 index 0000000..f6e3694 --- /dev/null +++ b/src/test/java/com/android/vts/api/VtsSpreadSheetSyncServletTest.java @@ -0,0 +1,87 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you + * may not use this file except in compliance with the License. You may + * obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +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.gson.Gson; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.mockito.Mock; + +import javax.servlet.ServletConfig; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.PrintWriter; +import java.io.StringWriter; +import java.util.List; + +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; + +public class VtsSpreadSheetSyncServletTest extends ObjectifyTestBase { + + private Gson gson; + + @Mock private HttpServletRequest request; + + @Mock private HttpServletResponse response; + + @Mock ServletConfig servletConfig; + + /** It be executed before each @Test method */ + @BeforeEach + void setUpExtra() { + gson = new Gson(); + } + + @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); + + VtsSpreadSheetSyncServlet vtsSpreadSheetSyncServlet = new VtsSpreadSheetSyncServlet(); + vtsSpreadSheetSyncServlet.init(servletConfig); + vtsSpreadSheetSyncServlet.doGet(request, response); + String result = sw.getBuffer().toString().trim(); + + List<ApiCoverageExcludedEntity> apiCoverageExcludedEntityList = + ofy().load().type(ApiCoverageExcludedEntity.class).list(); + + assertEquals(apiCoverageExcludedEntityList.size(), 2); + assertEquals(apiCoverageExcludedEntityList.get(0).getApiName(), "getMasterMuteTest"); + assertEquals( + apiCoverageExcludedEntityList.get(0).getPackageName(), + "android.hardware.audio.test"); + assertEquals(apiCoverageExcludedEntityList.get(1).getApiName(), "getMasterVolumeTest"); + assertEquals( + apiCoverageExcludedEntityList.get(1).getPackageName(), + "android.hardware.video.test"); + } +} |