Package com.walters.sms

Source Code of com.walters.sms.AuthenticationServiceTest

package com.walters.sms;

import com.walters.sms.domain.User;
import org.junit.*;

import static org.junit.Assert.*;

public class AuthenticationServiceTest
{
    private static final String USERNAME = "username";
    private static final String PASSWORD = "password";
    private static IUserService userService;
    private IUserAuthenticationService objectUnderTest;

    @BeforeClass
    public static void setUpClass() throws Exception
    {
        final User user = UserDataHelper.createUser(USERNAME, PASSWORD);
        userService = getServiceLocator().getService(IUserService.class);

        userService.saveUser(user);
    }

    @AfterClass
    public static void tearDownClass() throws Exception
    {
        userService.deleteAll();
        userService = null;
    }

    @Before
    public void executeBeforeEachTest()
    {
        objectUnderTest = getServiceLocator().getService(IUserAuthenticationService.class);
    }

    @After
    public void executeAfterEachTest() throws Exception
    {
        if (objectUnderTest.isUserAuthenticated())
        {
            objectUnderTest.logoutUser();
        }

        objectUnderTest = null;
    }

    @Test
    public void testAuthenticate() throws Exception
    {
        System.out.println("testAuthenticate()");

        assertNull(objectUnderTest.getCurrentUser());
        assertFalse(objectUnderTest.isUserAuthenticated());

        assertTrue(objectUnderTest.authenticateUser(USERNAME, PASSWORD));

        assertTrue(objectUnderTest.isUserAuthenticated());

        final User authenticatedUser = objectUnderTest.getCurrentUser();

        assertEquals(USERNAME, authenticatedUser.getUsername());
        assertEquals(PASSWORD, authenticatedUser.getPassword());
        assertFalse(objectUnderTest.authenticateUser(USERNAME, "wrongPassword"));
        assertFalse(objectUnderTest.authenticateUser("wrongUsername", PASSWORD));
        assertFalse(objectUnderTest.authenticateUser("wrongUsername", "wrongPassword"));
    }

    @Test
    public void testLogout() throws Exception
    {
        System.out.println("testLogout()");

        assertNull(objectUnderTest.getCurrentUser());
        assertFalse(objectUnderTest.isUserAuthenticated());

        objectUnderTest.authenticateUser(USERNAME, PASSWORD);

        assertTrue(objectUnderTest.isUserAuthenticated());

        final User currentUser = objectUnderTest.logoutUser();
        assertNull("Current user must be null.", currentUser);

        assertFalse(objectUnderTest.isUserAuthenticated());
    }

    private static IServiceLocator getServiceLocator()
    {
        return ServiceLocator.getInstance();
    }
}
TOP

Related Classes of com.walters.sms.AuthenticationServiceTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.