/******************************************************************************* * ATE, Automation Test Engine * * Copyright 2015, Montreal PROT, or individual contributors as * indicated by the @author tags or express copyright attribution * statements applied by the authors. All third-party contributions are * distributed under license by Montreal PROT. * * 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 org.bigtester.ate.test.model.page.page; import java.io.File; import org.bigtester.ate.model.page.atewebdriver.CookiesManager; import org.bigtester.ate.test.BigtesterProjectTest; import org.bigtester.ate.test.data.cookies.CookiesData; import org.mockito.Mockito; import org.springframework.test.context.ContextConfiguration; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; import org.testng.Assert; import static org.mockito.Mockito.when; /** * The Class CookiesManagerTest. * * @author Peidong Hu */ @ContextConfiguration(locations = { "classpath:bigtesterTestNG/testSuite01/loginSuccess.xml" }) public class CookiesManagerTest extends BigtesterProjectTest { /** The cookies data. */ final private CookiesData cookiesData = new CookiesData(); /** The cookies mng. */ final private transient CookiesManager cookiesMng; /** The file name with absolute path. */ private static String fileNameWithAbsolutePath = "logs/testfile"; /** * Instantiates a new cookies manager test. */ public CookiesManagerTest() { super(); cookiesMng = new CookiesManager(getMyMockedDriver(), cookiesData.getCookies()); } /** * Setup. */ @BeforeClass public void setup() { cookiesMng.setExportFileNameWithAbsolutePath(fileNameWithAbsolutePath); when(getMyMockedDriver().getWebDriverInstance()).thenReturn(getMockedDriver()); when(getMockedDriver().manage()).thenReturn(getOptions()); // Mockito.doThrow(GlobalUtils.createInternalError("errora")).when(getOptions()).addCookie(Mockito.refEq(cookie4)); // Mockito.doNothing().when(getOptions()).addCookie(Mockito.refEq(cookie2)); // Mockito.doNothing().when(getOptions()).addCookie(Mockito.eq(cookie4)); } /** * Hello world test * * @throws InterruptedException */ @Test (priority = 1) public void exportToSingleFileTest() throws InterruptedException { cookiesMng.saveToSingleFile(); File newFile = new File(cookiesMng.getExportFileNameWithAbsolutePath()); Assert.assertTrue(newFile.exists()); } /** * Import file test. */ @Test (priority = 2) public void importFromSingleFileTest() { cookiesMng.setImportFileNameWithAbsolutePath(fileNameWithAbsolutePath); cookiesMng.importFromSingleFile(); Mockito.verify(getOptions()).addCookie(cookiesData.getCookie1()); Mockito.verify(getOptions()).addCookie(cookiesData.getCookie2()); Mockito.verify(getOptions()).addCookie(cookiesData.getCookie3()); } /** * {@inheritDoc} */ @AfterClass public void tearDown() { File newFile = new File(cookiesMng.getExportFileNameWithAbsolutePath()); if (newFile.exists()) newFile.delete(); } /** * @return the cookiesData */ public CookiesData getCookiesData() { return cookiesData; } }