package com.alpha.beta;

import java.util.Date;
import org.apache.log4j.Logger;
import junit.framework.ComparisonFailure;
import net.sourceforge.jwebunit.junit.WebTestCase;
import net.sourceforge.jwebunit.util.TestingEngineRegistry;

public class Test2 extends WebTestCase{
	
	private final String USER_NAME = "AAAAAAAAAA";
	private final String PASSWORD = "AAAAAAAAA";
	private final String BASE_URL = "AAAAAAAAAA";
	private final String TEST1_BEGIN_AT = "AAAAA";
	
	
	private final Logger logger = Logger.getLogger(Test.class);
	/**
	 * This method will setup the environment for testing.
	 * It includes:
	 * 		1. Testing Engine (Here we are using HTMLUNIT)
	 * 		2. Base URL (URL of site)
	 */
	public void setUp() {
		logger.info("Setting Environment");
        try {
			super.setUp();
			/**
			 * Testing Engine Registry
			 */
			logger.info("Registering Testing Engine");
			setTestingEngineKey(TestingEngineRegistry.TESTING_ENGINE_HTMLUNIT);
			logger.info("Testing Engine Registered");
		} catch (Exception e) {
			e.printStackTrace();
		}
		logger.info("Setting Base URL"); 
		setBaseUrl(BASE_URL);
    }
	/**
	 * Following method will perform authentication.  
	 */
    @SuppressWarnings("deprecation")
	public void testAuthentication() {
    	//WebConversation wc = new WebConversation();
    	logger.info("Test test1 being started");
    	beginAt(TEST1_BEGIN_AT);
    	
		setTextField("username", USER_NAME);
		setTextField("password", PASSWORD);
		logger.info("Submitting credentials");
		clickButtonWithText("Login");
		try {
			assertTitleEquals("Alpha");
			logger.info("User : " + USER_NAME + " successfully logged into " + BASE_URL);
			logger.info("Time to login was " + new Date());
		}catch(ComparisonFailure cf) {
			logger.warn("User : " + USER_NAME + " was unsuccessful in logging into " + BASE_URL);
		}
		logger.info("test1 completed successfully");
		prescribe();
    }
    public void prescribe() {
		assertLinkPresentWithExactText("Link1");
		clickLinkWithExactText("Beta");
		logger.info("At page with Url"+getDialog().getPageURL());
	    	
    }

}
