package com.processpuzzle.application.security.domain;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import java.util.Iterator;
import org.junit.Test;
import com.processpuzzle.litest.template.RepositoryTestTemplate;
import com.processpuzzle.sharedfixtures.domaintier.DomainTierTestConfiguration;
public class UserRepositoryTest extends RepositoryTestTemplate<UserRepository, UserRepositoryTestFixture, User> {
private static final String USER_TABLE_NAME = "T_USER";
private static final String ACCESS_RIGHT_TABLE_NAME = "T_ACCESS_RIGHT";
public UserRepositoryTest() {
super( DomainTierTestConfiguration.FIXTURE_CONTAINER_DEFINITION_PATH );
}
@Override
@Test
public void testAdd_ForOwnedAttributesAndComponents() {
assertEquals( root.getUserName(), databaseSpy.retrieveColumnFromRow( USER_TABLE_NAME, root.getId(), String.class, "userName"));
assertEquals( root.getPassword(), databaseSpy.retrieveColumnFromRow( USER_TABLE_NAME, root.getId(), String.class, "password"));
for (Iterator<AccessRight> iter = root.getAccessRightsIterator(); iter.hasNext();) {
AccessRight right = iter.next();
assertEquals( root.getId(), databaseSpy.retrieveColumnFromRow(ACCESS_RIGHT_TABLE_NAME, right.getId(), Integer.class, "USER_ID"));
assertEquals( right.getCanRead(), databaseSpy.retrieveColumnFromRow(ACCESS_RIGHT_TABLE_NAME, right.getId(), Boolean.class, "canRead"));
assertEquals( right.getCanCreate(), databaseSpy.retrieveColumnFromRow(ACCESS_RIGHT_TABLE_NAME, right.getId(), Boolean.class, "canCreate"));
assertEquals( right.getCanDelete(), databaseSpy.retrieveColumnFromRow(ACCESS_RIGHT_TABLE_NAME, right.getId(), Boolean.class, "canDelete"));
assertEquals( right.getCanModify(), databaseSpy.retrieveColumnFromRow(ACCESS_RIGHT_TABLE_NAME, right.getId(), Boolean.class, "canModify"));
}
}
@Override
public void testAdd_ForReferencedAggregateRoots() {}
@Override
public void testUpdate_ForOwnedAttributesAndComponents() {
}
@Override
public void testUpdate_ForReferencedAggregateRoots() {
}
@Override
public void testDelete_ForOwnedAttributesAndComponents() {
}
@Override
public void testFindAll_ForResultCount() {
}
@Override
public void testFindById() {
}
@Override
public void testFindById_ForEagerLoadedComponents() {
}
@Override
public void testFindById_ForLazyLoadedComponents() {
}
@Override
public void testFindByQuery_ForComponentAttributes() {
}
@Override
public void testFindByQuery_ForDirectAttributes() {
}
@Test
public final void testFindByUserName() {
assertNotNull( "We can find a user by it's username.", repository.findUserByName( testWork, "bela" ));
}
}