package com.allanditzel.dashboard.persistence; import com.allanditzel.dashboard.model.StormpathUserMapping; import com.allanditzel.dashboard.test.AbstractDaoTest; import com.allanditzel.dashboard.test.annotation.Dao; import com.allanditzel.dashboard.test.annotation.DataSet; import com.google.common.collect.Iterables; import org.junit.Test; import java.util.Iterator; /** * Integration */ public class StormpathUserMappingRepositoryIT extends AbstractDaoTest { @Dao private StormpathUserMappingRepository repository; @Test public void shouldInsertAndFindByAttributesCorrectly() { String username = "aditzel"; String url = "http://some.url/"; StormpathUserMapping expectedMapping = new StormpathUserMapping(username, url); assertNull(expectedMapping.getId()); StormpathUserMapping savedMapping = repository.save(expectedMapping); assertNotNull(savedMapping.getId()); StormpathUserMapping actualMapping = repository.findOne(savedMapping.getId()); assertEquals(savedMapping.getId(), actualMapping.getId()); assertEquals(savedMapping.getUsername(), actualMapping.getUsername()); assertEquals(savedMapping.getStormpathUrl(), actualMapping.getStormpathUrl()); actualMapping = repository.findByStormpathUrlIgnoreCase(url); assertEquals(savedMapping.getId(), actualMapping.getId()); assertEquals(savedMapping.getUsername(), actualMapping.getUsername()); assertEquals(savedMapping.getStormpathUrl(), actualMapping.getStormpathUrl()); actualMapping = repository.findByUsernameIgnoreCase(username); assertNotNull(actualMapping.getId()); assertEquals(username, actualMapping.getUsername()); assertEquals(url, actualMapping.getStormpathUrl()); } @DataSet("classpath:dbunit/stormpath_user_mapping.xml") @Test public void testFindAll() { Iterable<StormpathUserMapping> mappings = repository.findAll(); assertEquals(2, Iterables.size(mappings)); Iterator<StormpathUserMapping> iterator = mappings.iterator(); assertEquals("test-1", iterator.next().getId()); assertEquals("test-2", iterator.next().getId()); } @DataSet("classpath:dbunit/stormpath_user_mapping.xml") @Test public void testFindByUsername() { assertEquals("test-1", repository.findByUsernameIgnoreCase("aditzel").getId()); assertEquals("test-2", repository.findByUsernameIgnoreCase("bturner").getId()); assertNull(repository.findByUsernameIgnoreCase("jdoe")); } @DataSet("classpath:dbunit/stormpath_user_mapping.xml") @Test public void testFindByStormpathUrl() { assertEquals("test-1", repository.findByStormpathUrlIgnoreCase("http://example.com").getId()); assertEquals("test-2", repository.findByStormpathUrlIgnoreCase("http://test.com").getId()); assertNull(repository.findByStormpathUrlIgnoreCase("http://some.url/")); } }