@@ -0,0 +1,2870 @@
+package com.seleniumtests.tests;%0A%0Aimport com.seleniumtests.controller.ContextManager;%0Aimport com.seleniumtests.controller.EasyFilter;%0Aimport com.seleniumtests.controller.TestPlan;%0Aimport com.seleniumtests.dataobject.User;%0Aimport com.seleniumtests.util.SpreadSheetUtil;%0Aimport com.seleniumtests.util.internal.entity.TestObject;%0Aimport com.seleniumtests.webpage.TestLinkLoginPage;%0Aimport org.testng.ITestContext;%0Aimport org.testng.annotations.DataProvider;%0Aimport org.testng.annotations.Test;%0A%0Aimport java.lang.reflect.Method;%0Aimport java.util.Iterator;%0Aimport java.util.LinkedHashMap;%0A%0A/**%0A * User: tbhadauria%0A * Date: 10/2/13%0A * Time: 6:36 PM%0A */%0Apublic class TestLinkTest extends TestPlan %7B%0A%0A    @DataProvider(name = %22loginData%22, parallel = true)%0A    public static Iterator%3CObject%5B%5D%3E getUserInfo(Method m,%0A                                                 ITestContext testContext) throws Exception %7B%0A        EasyFilter filter = EasyFilter.equalsIgnoreCase(TestObject.TEST_METHOD,%0A                m.getName());%0A        filter = EasyFilter.and(filter, EasyFilter.equalsIgnoreCase(%0A                TestObject.TEST_SITE,%0A                ContextManager.getTestLevelContext(testContext).getSite()));%0A%0A        LinkedHashMap%3CString, Class%3C?%3E%3E classMap = new LinkedHashMap%3CString, Class%3C?%3E%3E();%0A        classMap.put(%22TestObject%22, TestObject.class);%0A        classMap.put(%22User%22, User.class);%0A%0A        return SpreadSheetUtil.getEntitiesFromSpreadsheet(%0A                TestLinkTest.class, classMap, %22loginuser.csv%22, 0,%0A                null, filter);%0A    %7D%0A%0A    /**%0A     * Logs in to TestLink as admin%0A     * This test fails because of verifyDocumentationDropDownFail and is retried%0A     *%0A     * @param testObject%0A     * @param user%0A     * @throws Exception%0A     */%0A    @Test(groups = %7B%22loginTestFailure%22%7D, dataProvider = %22loginData%22,%0A            description = %22Logs in to TestLink as admin, This test is marked for deliberate failure%22)%0A    public void loginTestFailure(TestObject testObject, final User user)%0A            throws Exception %7B%0A%0A        new TestLinkLoginPage(true)%0A                .login(user)%0A                .selectGivenTestProject(2)%0A                .verifyDocumentationDropDownFail()      // Injected failure. Test would continue to run despite this failure%0A                .selectGivenTestProject(1)%0A                .verifyDocumentationDropDown();%0A    %7D%0A%0A    /**%0A     * Logs in to TestLink as admin%0A     * This test succeeds%0A     *%0A     * @param testObject%0A     * @param user%0A     * @throws Exception%0A     */%0A    @Test(groups = %7B%22loginTestSuccess%22%7D, dataProvider = %22loginData%22,%0A            description = %22Logs in to TestLink as admin%22)%0A    public void loginTestSuccess(TestObject testObject, final User user)%0A            throws Exception %7B%0A%0A        new TestLinkLoginPage(true)%0A                .login(user)%0A                .verifyDocumentationDropDown();%0A    %7D%0A%0A%7D%0A

add success adn failure test