@Test public void should_create_permission_template() throws Exception { setupData("createPermissionTemplate"); PermissionTemplateDto permissionTemplate = permissionDao.createPermissionTemplate("my template", "my description"); assertThat(permissionTemplate).isNotNull(); assertThat(permissionTemplate.getId()).isEqualTo(1L); checkTable( "createPermissionTemplate", "permission_templates", "id", "name", "kee", "description"); }
@Test public void should_select_permission_template_by_name() throws Exception { setupData("selectPermissionTemplate"); PermissionTemplateDto permissionTemplate = permissionDao.selectTemplateByName("my template"); assertThat(permissionTemplate).isNotNull(); assertThat(permissionTemplate.getId()).isEqualTo(1L); assertThat(permissionTemplate.getName()).isEqualTo("my template"); assertThat(permissionTemplate.getKee()).isEqualTo("my_template_20130102_030405"); assertThat(permissionTemplate.getDescription()).isEqualTo("my description"); }
@Test public void should_select_empty_permission_template() throws Exception { setupData("selectEmptyPermissionTemplate"); PermissionTemplateDto permissionTemplate = permissionDao.selectPermissionTemplate("my template"); assertThat(permissionTemplate).isNotNull(); assertThat(permissionTemplate.getName()).isEqualTo("my template"); assertThat(permissionTemplate.getDescription()).isEqualTo("my description"); assertThat(permissionTemplate.getUsersPermissions()).isNull(); assertThat(permissionTemplate.getGroupsPermissions()).isNull(); }
@Test public void should_normalize_kee_on_template_creation() throws Exception { setupData("createNonAsciiPermissionTemplate"); PermissionTemplateDto permissionTemplate = permissionDao.createPermissionTemplate("Môü Gnô Gnèçàß", "my description"); assertThat(permissionTemplate).isNotNull(); assertThat(permissionTemplate.getId()).isEqualTo(1L); checkTable( "createNonAsciiPermissionTemplate", "permission_templates", "id", "name", "kee", "description"); }
@Test public void should_skip_key_normalization_on_default_template() throws Exception { PermissionTemplateMapper mapper = mock(PermissionTemplateMapper.class); SqlSession session = mock(SqlSession.class); when(session.getMapper(PermissionTemplateMapper.class)).thenReturn(mapper); MyBatis myBatis = mock(MyBatis.class); when(myBatis.openSession()).thenReturn(session); permissionDao = new PermissionDao(myBatis, dateProvider); PermissionTemplateDto permissionTemplate = permissionDao.createPermissionTemplate(PermissionTemplateDto.DEFAULT.getName(), null); verify(mapper).insert(permissionTemplate); verify(session).commit(); assertThat(permissionTemplate.getKee()).isEqualTo(PermissionTemplateDto.DEFAULT.getKee()); }
@Test public void should_select_permission_template() throws Exception { setupData("selectPermissionTemplate"); PermissionTemplateDto permissionTemplate = permissionDao.selectPermissionTemplate("my template"); assertThat(permissionTemplate).isNotNull(); assertThat(permissionTemplate.getName()).isEqualTo("my template"); assertThat(permissionTemplate.getKee()).isEqualTo("my_template_20130102_030405"); assertThat(permissionTemplate.getDescription()).isEqualTo("my description"); assertThat(permissionTemplate.getUsersPermissions()).hasSize(3); assertThat(permissionTemplate.getUsersPermissions()) .onProperty("userId") .containsOnly(1L, 2L, 1L); assertThat(permissionTemplate.getUsersPermissions()) .onProperty("userLogin") .containsOnly("login1", "login2", "login2"); assertThat(permissionTemplate.getUsersPermissions()) .onProperty("userName") .containsOnly("user1", "user2", "user2"); assertThat(permissionTemplate.getUsersPermissions()) .onProperty("permission") .containsOnly("user_permission1", "user_permission1", "user_permission2"); assertThat(permissionTemplate.getGroupsPermissions()).hasSize(3); assertThat(permissionTemplate.getGroupsPermissions()) .onProperty("groupId") .containsOnly(1L, 2L, null); assertThat(permissionTemplate.getGroupsPermissions()) .onProperty("groupName") .containsOnly("group1", "group2", null); assertThat(permissionTemplate.getGroupsPermissions()) .onProperty("permission") .containsOnly("group_permission1", "group_permission1", "group_permission2"); }