package nl.minicom.gitolite.manager.models; import java.io.IOException; import nl.minicom.gitolite.manager.models.Config; import nl.minicom.gitolite.manager.models.Group; import nl.minicom.gitolite.manager.models.Permission; import nl.minicom.gitolite.manager.models.Recorder; import nl.minicom.gitolite.manager.models.Repository; import nl.minicom.gitolite.manager.models.User; import org.junit.Test; public class ConfigReaderTest extends ConfigReaderTestingUtils { @Test(expected = IllegalArgumentException.class) public void testCorruptedConfig() throws IOException { read("corrupted-config.conf"); } @Test public void testSimpleConfig() throws IOException { Config expected = new Config(new Recorder()); Repository repo = expected.createRepository("test"); User user = expected.createUser("test-user"); repo.setPermission(user, Permission.ALL); verifyConfigsAreTheSame(expected, read("simple-config.conf")); } @Test public void testMultipleUsersAndGroupsConfig() throws IOException { Config expected = new Config(new Recorder()); Repository repo = expected.createRepository("test"); User user1 = expected.createUser("test-user-1"); User user2 = expected.createUser("test-user-2"); User user3 = expected.createUser("test-user-3"); User user4 = expected.createUser("test-user-4"); Group group1 = expected.createGroup("@test-group-1"); Group group2 = expected.createGroup("@test-group-2"); group1.add(user1); group2.add(user2); group2.add(user3); repo.setPermission(group1, Permission.ALL); repo.setPermission(group2, Permission.READ_WRITE); repo.setPermission(user4, Permission.READ_ONLY); verifyConfigsAreTheSame(expected, read("multiple-users-and-groups-config.conf")); } @Test public void testEmbeddedGroupsConfig() throws IOException { Config expected = new Config(new Recorder()); Repository repo = expected.createRepository("test"); User user1 = expected.createUser("test-user-1"); User user2 = expected.createUser("test-user-2"); User user3 = expected.createUser("test-user-3"); Group group1 = expected.createGroup("@test-group-1"); Group group2 = expected.createGroup("@test-group-2"); group1.add(user1); group1.add(user2); group2.add(user3); group2.add(group1); repo.setPermission(group1, Permission.ALL); repo.setPermission(group2, Permission.READ_WRITE); verifyConfigsAreTheSame(expected, read("embedded-groups-config.conf")); } }