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())); } }