Search in sources :

Example 1 with ObjectAcl

use of org.pentaho.di.repository.pur.model.ObjectAcl in project pentaho-kettle by pentaho.

the class UIEEJobTest method testAcls.

@Test
public void testAcls() throws Exception {
    final String owner = "owner";
    final String role = "role";
    ObjectRecipient mockObjectRecipient = mock(ObjectRecipient.class);
    when(mockObjectRecipient.getName()).thenReturn(owner);
    ObjectAcl mockAcl = mock(ObjectAcl.class);
    when(mockAcl.getOwner()).thenReturn(mockObjectRecipient);
    when(mockAclService.getAcl(mockObjectId, false)).thenReturn(mockAcl);
    uiJob.clearAcl();
    UIRepositoryObjectAcls acls = new UIRepositoryObjectAcls();
    uiJob.getAcls(acls);
    verify(mockAclService).getAcl(mockObjectId, false);
    assertEquals(owner, acls.getOwner().getName());
    acls = new UIRepositoryObjectAcls();
    RepositoryObjectAcl repObjectAcl = new RepositoryObjectAcl(new RepositoryObjectRecipient(role, Type.ROLE));
    acls.setObjectAcl(new RepositoryObjectAcl(new RepositoryObjectRecipient(role, Type.ROLE)));
    uiJob.setAcls(acls);
    verify(mockAclService).setAcl(mockObjectId, repObjectAcl);
    when(mockAclService.getAcl(mockObjectId, false)).thenThrow(new KettleException(""));
    uiJob.clearAcl();
    try {
        uiJob.getAcls(acls);
        fail("Expected an exception");
    } catch (AccessDeniedException e) {
    // Test Succeeded if here
    }
    doThrow(new KettleException("")).when(mockAclService).setAcl(any(ObjectId.class), any(RepositoryObjectAcl.class));
    try {
        uiJob.setAcls(acls);
        fail("Expected an exception");
    } catch (AccessDeniedException e) {
    // Test Succeeded if here
    }
}
Also used : KettleException(org.pentaho.di.core.exception.KettleException) AccessDeniedException(org.pentaho.di.ui.repository.repositoryexplorer.AccessDeniedException) RepositoryObjectAcl(org.pentaho.di.repository.pur.model.RepositoryObjectAcl) ObjectAcl(org.pentaho.di.repository.pur.model.ObjectAcl) ObjectRecipient(org.pentaho.di.repository.ObjectRecipient) RepositoryObjectRecipient(org.pentaho.di.repository.pur.model.RepositoryObjectRecipient) ObjectId(org.pentaho.di.repository.ObjectId) RepositoryObjectAcl(org.pentaho.di.repository.pur.model.RepositoryObjectAcl) RepositoryObjectRecipient(org.pentaho.di.repository.pur.model.RepositoryObjectRecipient) Test(org.junit.Test)

Example 2 with ObjectAcl

use of org.pentaho.di.repository.pur.model.ObjectAcl in project pentaho-kettle by pentaho.

the class UIEERepositoryDirectoryTest method testAcls.

@Test
public void testAcls() throws Exception {
    final String owner = "owner";
    final String role = "role";
    ObjectRecipient mockObjectRecipient = mock(ObjectRecipient.class);
    when(mockObjectRecipient.getName()).thenReturn(owner);
    ObjectAcl mockAcl = mock(ObjectAcl.class);
    when(mockAcl.getOwner()).thenReturn(mockObjectRecipient);
    when(mockAclService.getAcl(mockObjectId, false)).thenReturn(mockAcl);
    uiRepDir.clearAcl();
    UIRepositoryObjectAcls acls = new UIRepositoryObjectAcls();
    uiRepDir.getAcls(acls);
    verify(mockAclService, times(1)).getAcl(mockObjectId, false);
    assertEquals(owner, acls.getOwner().getName());
    acls = new UIRepositoryObjectAcls();
    uiRepDir.getAcls(acls, false);
    verify(mockAclService, times(2)).getAcl(mockObjectId, false);
    assertEquals(owner, acls.getOwner().getName());
    acls = new UIRepositoryObjectAcls();
    RepositoryObjectAcl repObjectAcl = new RepositoryObjectAcl(new RepositoryObjectRecipient(role, Type.ROLE));
    acls.setObjectAcl(new RepositoryObjectAcl(new RepositoryObjectRecipient(role, Type.ROLE)));
    uiRepDir.setAcls(acls);
    verify(mockAclService).setAcl(mockObjectId, repObjectAcl);
    when(mockAclService.getAcl(mockObjectId, false)).thenThrow(new KettleException(""));
    uiRepDir.clearAcl();
    try {
        uiRepDir.getAcls(acls);
        fail("Expected an exception");
    } catch (AccessDeniedException e) {
    // Test Succeeded if here
    }
    when(mockAclService.getAcl(mockObjectId, true)).thenThrow(new KettleException(""));
    uiRepDir.clearAcl();
    try {
        uiRepDir.getAcls(acls, true);
        fail("Expected an exception");
    } catch (AccessDeniedException e) {
    // Test Succeeded if here
    }
    doThrow(new KettleException("")).when(mockAclService).setAcl(any(ObjectId.class), any(ObjectAcl.class));
    uiRepDir.clearAcl();
    try {
        uiRepDir.setAcls(acls);
        fail("Expected an exception");
    } catch (AccessDeniedException e) {
    // Test Succeeded if here
    }
}
Also used : KettleException(org.pentaho.di.core.exception.KettleException) AccessDeniedException(org.pentaho.di.ui.repository.repositoryexplorer.AccessDeniedException) RepositoryObjectAcl(org.pentaho.di.repository.pur.model.RepositoryObjectAcl) ObjectAcl(org.pentaho.di.repository.pur.model.ObjectAcl) ObjectRecipient(org.pentaho.di.repository.ObjectRecipient) RepositoryObjectRecipient(org.pentaho.di.repository.pur.model.RepositoryObjectRecipient) ObjectId(org.pentaho.di.repository.ObjectId) RepositoryObjectAcl(org.pentaho.di.repository.pur.model.RepositoryObjectAcl) RepositoryObjectRecipient(org.pentaho.di.repository.pur.model.RepositoryObjectRecipient) Test(org.junit.Test)

Example 3 with ObjectAcl

use of org.pentaho.di.repository.pur.model.ObjectAcl in project pentaho-kettle by pentaho.

the class UIEETransformationTest method testAcls.

@Test
public void testAcls() throws Exception {
    final String owner = "owner";
    final String role = "role";
    ObjectRecipient mockObjectRecipient = mock(ObjectRecipient.class);
    when(mockObjectRecipient.getName()).thenReturn(owner);
    ObjectAcl mockAcl = mock(ObjectAcl.class);
    when(mockAcl.getOwner()).thenReturn(mockObjectRecipient);
    when(mockAclService.getAcl(mockObjectId, false)).thenReturn(mockAcl);
    uiTransformation.clearAcl();
    UIRepositoryObjectAcls acls = new UIRepositoryObjectAcls();
    uiTransformation.getAcls(acls);
    verify(mockAclService).getAcl(mockObjectId, false);
    assertEquals(owner, acls.getOwner().getName());
    acls = new UIRepositoryObjectAcls();
    RepositoryObjectAcl repObjectAcl = new RepositoryObjectAcl(new RepositoryObjectRecipient(role, Type.ROLE));
    acls.setObjectAcl(new RepositoryObjectAcl(new RepositoryObjectRecipient(role, Type.ROLE)));
    uiTransformation.setAcls(acls);
    verify(mockAclService).setAcl(mockObjectId, repObjectAcl);
    when(mockAclService.getAcl(mockObjectId, false)).thenThrow(new KettleException(""));
    uiTransformation.clearAcl();
    try {
        uiTransformation.getAcls(acls);
        fail("Expected an exception");
    } catch (AccessDeniedException e) {
    // Test Succeeded if here
    }
    doThrow(new KettleException("")).when(mockAclService).setAcl(any(ObjectId.class), any(RepositoryObjectAcl.class));
    try {
        uiTransformation.setAcls(acls);
        fail("Expected an exception");
    } catch (AccessDeniedException e) {
    // Test Succeeded if here
    }
}
Also used : KettleException(org.pentaho.di.core.exception.KettleException) AccessDeniedException(org.pentaho.di.ui.repository.repositoryexplorer.AccessDeniedException) RepositoryObjectAcl(org.pentaho.di.repository.pur.model.RepositoryObjectAcl) ObjectAcl(org.pentaho.di.repository.pur.model.ObjectAcl) ObjectRecipient(org.pentaho.di.repository.ObjectRecipient) RepositoryObjectRecipient(org.pentaho.di.repository.pur.model.RepositoryObjectRecipient) ObjectId(org.pentaho.di.repository.ObjectId) RepositoryObjectAcl(org.pentaho.di.repository.pur.model.RepositoryObjectAcl) RepositoryObjectRecipient(org.pentaho.di.repository.pur.model.RepositoryObjectRecipient) Test(org.junit.Test)

Example 4 with ObjectAcl

use of org.pentaho.di.repository.pur.model.ObjectAcl in project pentaho-kettle by pentaho.

the class UIRepositoryObjectAclsTest method testSetObjectAcl.

@Test
public void testSetObjectAcl() {
    ObjectAcl objectAcl = repositoryObjectAcls.getObjectAcl();
    assertEquals(repObjectAcl, objectAcl);
}
Also used : RepositoryObjectAcl(org.pentaho.di.repository.pur.model.RepositoryObjectAcl) ObjectAcl(org.pentaho.di.repository.pur.model.ObjectAcl) Test(org.junit.Test)

Example 5 with ObjectAcl

use of org.pentaho.di.repository.pur.model.ObjectAcl in project pentaho-kettle by pentaho.

the class RepositoryTestBase method testGetAcl.

@Test
@Ignore
public void testGetAcl() throws Exception {
    RepositoryDirectoryInterface rootDir = initRepo();
    JobMeta jobMeta = createJobMeta(EXP_JOB_NAME);
    RepositoryDirectoryInterface jobsDir = rootDir.findDirectory(DIR_JOBS);
    repository.save(jobMeta, VERSION_COMMENT_V1, null);
    deleteStack.push(jobMeta);
    assertNotNull(jobMeta.getObjectId());
    ObjectRevision version = jobMeta.getObjectRevision();
    assertNotNull(version);
    assertTrue(hasVersionWithComment(jobMeta, VERSION_COMMENT_V1));
    assertTrue(repository.exists(EXP_JOB_NAME, jobsDir, RepositoryObjectType.JOB));
    ObjectAcl acl = ((IAclService) repository).getAcl(jobMeta.getObjectId(), false);
    assertNotNull(acl);
}
Also used : JobMeta(org.pentaho.di.job.JobMeta) ObjectAcl(org.pentaho.di.repository.pur.model.ObjectAcl) IAclService(org.pentaho.di.ui.repository.pur.services.IAclService) Ignore(org.junit.Ignore) Test(org.junit.Test)

Aggregations

ObjectAcl (org.pentaho.di.repository.pur.model.ObjectAcl)7 Test (org.junit.Test)6 RepositoryObjectAcl (org.pentaho.di.repository.pur.model.RepositoryObjectAcl)5 RepositoryObjectRecipient (org.pentaho.di.repository.pur.model.RepositoryObjectRecipient)5 KettleException (org.pentaho.di.core.exception.KettleException)4 ObjectRecipient (org.pentaho.di.repository.ObjectRecipient)4 ObjectId (org.pentaho.di.repository.ObjectId)3 AccessDeniedException (org.pentaho.di.ui.repository.repositoryexplorer.AccessDeniedException)3 ArrayList (java.util.ArrayList)2 Ignore (org.junit.Ignore)2 JobMeta (org.pentaho.di.job.JobMeta)2 ObjectAce (org.pentaho.di.repository.pur.model.ObjectAce)2 RepositoryObjectAce (org.pentaho.di.repository.pur.model.RepositoryObjectAce)2 IAclService (org.pentaho.di.ui.repository.pur.services.IAclService)2 RepositoryFileAce (org.pentaho.platform.api.repository2.unified.RepositoryFileAce)1 RepositoryFileAcl (org.pentaho.platform.api.repository2.unified.RepositoryFileAcl)1 RepositoryFilePermission (org.pentaho.platform.api.repository2.unified.RepositoryFilePermission)1 RepositoryFileSid (org.pentaho.platform.api.repository2.unified.RepositoryFileSid)1