Search in sources :

Example 1 with RepositorySecurityProvider

use of org.pentaho.di.repository.RepositorySecurityProvider in project pentaho-kettle by pentaho.

the class SpoonTest method prepareSetShellTextTests.

private static Shell prepareSetShellTextTests(Spoon spoon, AbstractMeta abstractMeta, boolean versionEnabled, boolean isTransformation, boolean repIsNull, boolean revIsNull, boolean hasChanged, boolean nameIsNull, boolean filenameIsNull, boolean tabNameIsNull) {
    Shell mockShell = mock(Shell.class);
    ObjectRevision mockObjectRevision = revIsNull ? null : mock(ObjectRevision.class);
    RepositoryDirectory mockRepDirectory = mock(RepositoryDirectory.class);
    Repository mockRepository = repIsNull ? null : mock(Repository.class);
    RepositorySecurityProvider mockRepSecurityProvider = mock(RepositorySecurityProvider.class);
    SpoonDelegates mockDelegate = mock(SpoonDelegates.class);
    SpoonTabsDelegate mockDelegateTabs = mock(SpoonTabsDelegate.class);
    spoon.rep = mockRepository;
    spoon.delegates = mockDelegate;
    mockDelegate.tabs = mockDelegateTabs;
    doCallRealMethod().when(spoon).openSpoon();
    doCallRealMethod().when(spoon).setShellText();
    doReturn(mockShell).when(spoon).getShell();
    if (!tabNameIsNull) {
        doReturn("tabName").when(spoon).getActiveTabText();
    }
    doReturn(false).when(mockShell).isDisposed();
    setTransJobValues(abstractMeta, spoon, mockObjectRevision, mockRepDirectory, isTransformation, hasChanged, nameIsNull, filenameIsNull);
    if (!revIsNull) {
        doReturn("1.0").when(mockObjectRevision).getName();
    }
    doReturn("/admin").when(mockRepDirectory).getPath();
    Mockito.doReturn(null).when(abstractMeta).getVersioningEnabled();
    if (!repIsNull) {
        doReturn(mockRepSecurityProvider).when(mockRepository).getSecurityProvider();
        doReturn(versionEnabled).when(mockRepSecurityProvider).isVersioningEnabled(anyString());
    }
    doReturn("RepositoryName").when(spoon).getRepositoryName();
    doReturn(new ArrayList<TabMapEntry>()).when(mockDelegateTabs).getTabs();
    try {
        spoon.openSpoon();
    } catch (NullPointerException e) {
    // ignore work is done
    }
    spoon.setShellText();
    return mockShell;
}
Also used : ObjectRevision(org.pentaho.di.repository.ObjectRevision) RepositorySecurityProvider(org.pentaho.di.repository.RepositorySecurityProvider) Shell(org.eclipse.swt.widgets.Shell) Repository(org.pentaho.di.repository.Repository) RepositoryDirectory(org.pentaho.di.repository.RepositoryDirectory) SpoonDelegates(org.pentaho.di.ui.spoon.delegates.SpoonDelegates) SpoonTabsDelegate(org.pentaho.di.ui.spoon.delegates.SpoonTabsDelegate)

Example 2 with RepositorySecurityProvider

use of org.pentaho.di.repository.RepositorySecurityProvider in project pentaho-kettle by pentaho.

the class SpoonTest method testVersioningCheckingOnServer.

@Test
public void testVersioningCheckingOnServer() throws Exception {
    Repository repository = Mockito.mock(Repository.class);
    RepositorySecurityProvider securityProvider = Mockito.mock(RepositorySecurityProvider.class);
    Mockito.doReturn(securityProvider).when(repository).getSecurityProvider();
    EngineMetaInterface jobTransMeta = Mockito.spy(new TransMeta());
    RepositoryDirectoryInterface repositoryDirectoryInterface = Mockito.mock(RepositoryDirectoryInterface.class);
    Mockito.doReturn("/home").when(repositoryDirectoryInterface).toString();
    Mockito.doReturn("trans").when(jobTransMeta).getName();
    Mockito.doReturn(RepositoryObjectType.TRANSFORMATION).when(jobTransMeta).getRepositoryElementType();
    Mockito.doReturn(true).when(securityProvider).isVersioningEnabled(Mockito.anyString());
    boolean result = Spoon.isVersionEnabled(repository, jobTransMeta);
    Assert.assertTrue(result);
}
Also used : RepositorySecurityProvider(org.pentaho.di.repository.RepositorySecurityProvider) RepositoryDirectoryInterface(org.pentaho.di.repository.RepositoryDirectoryInterface) Repository(org.pentaho.di.repository.Repository) TransMeta(org.pentaho.di.trans.TransMeta) DummyTransMeta(org.pentaho.di.trans.steps.dummytrans.DummyTransMeta) EngineMetaInterface(org.pentaho.di.core.EngineMetaInterface) Test(org.junit.Test)

Example 3 with RepositorySecurityProvider

use of org.pentaho.di.repository.RepositorySecurityProvider in project pentaho-kettle by pentaho.

the class SpoonTest method testVersioningDisabled.

@Test
public void testVersioningDisabled() throws Exception {
    Repository repository = Mockito.mock(Repository.class);
    RepositorySecurityProvider securityProvider = Mockito.mock(RepositorySecurityProvider.class);
    Mockito.doReturn(securityProvider).when(repository).getSecurityProvider();
    EngineMetaInterface jobTransMeta = Mockito.spy(new TransMeta());
    RepositoryDirectoryInterface repositoryDirectoryInterface = Mockito.mock(RepositoryDirectoryInterface.class);
    Mockito.doReturn("/home").when(repositoryDirectoryInterface).toString();
    Mockito.doReturn("trans").when(jobTransMeta).getName();
    Mockito.doReturn(RepositoryObjectType.TRANSFORMATION).when(jobTransMeta).getRepositoryElementType();
    Mockito.doReturn(false).when(jobTransMeta).getVersioningEnabled();
    boolean result = Spoon.isVersionEnabled(repository, jobTransMeta);
    Assert.assertFalse(result);
    Mockito.verify(securityProvider, Mockito.never()).isVersioningEnabled(Mockito.anyString());
}
Also used : RepositorySecurityProvider(org.pentaho.di.repository.RepositorySecurityProvider) RepositoryDirectoryInterface(org.pentaho.di.repository.RepositoryDirectoryInterface) Repository(org.pentaho.di.repository.Repository) TransMeta(org.pentaho.di.trans.TransMeta) DummyTransMeta(org.pentaho.di.trans.steps.dummytrans.DummyTransMeta) EngineMetaInterface(org.pentaho.di.core.EngineMetaInterface) Test(org.junit.Test)

Example 4 with RepositorySecurityProvider

use of org.pentaho.di.repository.RepositorySecurityProvider in project pentaho-kettle by pentaho.

the class RepositorySecurityUI method getVersionComment.

public static String getVersionComment(Shell shell, Repository repository, String operationDescription, String fullPath, boolean forceEntry) {
    // removes a web service call per file.
    if (repository == null) {
        return null;
    }
    RepositorySecurityProvider provider = repository.getSecurityProvider();
    if (forceEntry || provider.allowsVersionComments(fullPath)) {
        String explanation = "Enter a comment ";
        if (provider.isVersionCommentMandatory()) {
            explanation += "(Mandatory) : ";
        } else {
            explanation += ": ";
        }
        String versionComment = "Checked in";
        EnterStringDialog dialog = new EnterStringDialog(shell, versionComment, "Enter comment", explanation);
        dialog.setManditory(provider.isVersionCommentMandatory());
        versionComment = dialog.open();
        return versionComment;
    }
    return null;
}
Also used : RepositorySecurityProvider(org.pentaho.di.repository.RepositorySecurityProvider) EnterStringDialog(org.pentaho.di.ui.core.dialog.EnterStringDialog)

Example 5 with RepositorySecurityProvider

use of org.pentaho.di.repository.RepositorySecurityProvider in project pentaho-kettle by pentaho.

the class SpoonTest method testVersioningEnabled.

@Test
public void testVersioningEnabled() throws Exception {
    Repository repository = Mockito.mock(Repository.class);
    RepositorySecurityProvider securityProvider = Mockito.mock(RepositorySecurityProvider.class);
    Mockito.doReturn(securityProvider).when(repository).getSecurityProvider();
    EngineMetaInterface jobTransMeta = Mockito.spy(new TransMeta());
    RepositoryDirectoryInterface repositoryDirectoryInterface = Mockito.mock(RepositoryDirectoryInterface.class);
    Mockito.doReturn("/home").when(repositoryDirectoryInterface).toString();
    Mockito.doReturn("trans").when(jobTransMeta).getName();
    Mockito.doReturn(RepositoryObjectType.TRANSFORMATION).when(jobTransMeta).getRepositoryElementType();
    Mockito.doReturn(true).when(jobTransMeta).getVersioningEnabled();
    boolean result = Spoon.isVersionEnabled(repository, jobTransMeta);
    Assert.assertTrue(result);
    Mockito.verify(securityProvider, Mockito.never()).isVersioningEnabled(Mockito.anyString());
}
Also used : RepositorySecurityProvider(org.pentaho.di.repository.RepositorySecurityProvider) RepositoryDirectoryInterface(org.pentaho.di.repository.RepositoryDirectoryInterface) Repository(org.pentaho.di.repository.Repository) TransMeta(org.pentaho.di.trans.TransMeta) DummyTransMeta(org.pentaho.di.trans.steps.dummytrans.DummyTransMeta) EngineMetaInterface(org.pentaho.di.core.EngineMetaInterface) Test(org.junit.Test)

Aggregations

RepositorySecurityProvider (org.pentaho.di.repository.RepositorySecurityProvider)9 Repository (org.pentaho.di.repository.Repository)4 TransMeta (org.pentaho.di.trans.TransMeta)4 Test (org.junit.Test)3 EngineMetaInterface (org.pentaho.di.core.EngineMetaInterface)3 RepositoryDirectoryInterface (org.pentaho.di.repository.RepositoryDirectoryInterface)3 DummyTransMeta (org.pentaho.di.trans.steps.dummytrans.DummyTransMeta)3 ValueMetaString (org.pentaho.di.core.row.value.ValueMetaString)2 Date (java.util.Date)1 MessageDialogWithToggle (org.eclipse.jface.dialogs.MessageDialogWithToggle)1 MessageBox (org.eclipse.swt.widgets.MessageBox)1 Shell (org.eclipse.swt.widgets.Shell)1 JobMeta (org.pentaho.di.job.JobMeta)1 ObjectId (org.pentaho.di.repository.ObjectId)1 ObjectRevision (org.pentaho.di.repository.ObjectRevision)1 RepositoryDirectory (org.pentaho.di.repository.RepositoryDirectory)1 RepositorySecurityManager (org.pentaho.di.repository.RepositorySecurityManager)1 PurRepositoryMetaStore (org.pentaho.di.repository.pur.metastore.PurRepositoryMetaStore)1 EEUserInfo (org.pentaho.di.repository.pur.model.EEUserInfo)1 EnterStringDialog (org.pentaho.di.ui.core.dialog.EnterStringDialog)1