Family-Map-Project / FamilyMapServer / FamilyMapServerStudent-master / java / dao / AuthTokenDAOTest.java
AuthTokenDAOTest.java
Raw
package dao;

import model.AuthToken;
import model.Event;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

import javax.xml.crypto.Data;
import java.sql.Connection;

import static org.junit.jupiter.api.Assertions.*;

public class AuthTokenDAOTest
{
    private Database db;
    private AuthToken insertAuthToken;
    private AuthToken retrieveAuthToken;
    private AuthTokenDAO aDao;

    @BeforeEach
    public void setUp() throws DataAccessException
    {
        db = new Database();

        insertAuthToken = new AuthToken("AdamL", "12095867");

        retrieveAuthToken = new AuthToken("DavidM", "912856675");

        Connection conn = db.getConnection();
        db.clearTables();

        aDao = new AuthTokenDAO(conn);
    }

    @AfterEach
    public void tearDown() throws DataAccessException
    {
        db.closeConnection(false);
    }

    @Test
    public void insertPass() throws DataAccessException
    {
        String compareTest = aDao.getUsername(insertAuthToken.getAuthToken());

        assertNull(compareTest);

        aDao.createAuthToken(insertAuthToken);

        compareTest = aDao.getUsername(insertAuthToken.getAuthToken());

        assertEquals(insertAuthToken.getUsername(), compareTest);
    }

    @Test
    public void insertFail() throws DataAccessException
    {
        aDao.createAuthToken(insertAuthToken);

        assertThrows(DataAccessException.class, ()-> aDao.createAuthToken(insertAuthToken));
    }

    @Test
    public void retrievalPass() throws DataAccessException
    {
        aDao.createAuthToken(retrieveAuthToken);

        String compareTest = aDao.getUsername(retrieveAuthToken.getAuthToken());

        assertNotNull(compareTest);

        assertEquals(retrieveAuthToken.getUsername(), compareTest);
    }

    @Test
    public void retrievalFail() throws DataAccessException
    {
        String compareTest = aDao.getUsername("012597");
        assertEquals(compareTest, null);
    }

    @Test
    public void clearPass() throws DataAccessException
    {
        aDao.createAuthToken(insertAuthToken);

        assertNotNull(aDao.getUsername(insertAuthToken.getAuthToken()));

        assertDoesNotThrow(() -> aDao.removeAllTokens());

        assertNull(aDao.getUsername(insertAuthToken.getAuthToken()));
    }
}