use of org.pentaho.osgi.metastore.locator.api.MetastoreLocator in project pentaho-kettle by pentaho.
the class RunConfigurationManagerTest method testOrdering.
@Test
public void testOrdering() {
MemoryMetaStore memoryMetaStore = new MemoryMetaStore();
MetastoreLocator metastoreLocator = createMetastoreLocator(memoryMetaStore);
DefaultRunConfigurationProvider defaultRunConfigurationProvider = new DefaultRunConfigurationProvider(metastoreLocator, defaultRunConfigurationExecutor);
SparkRunConfigurationExecutor sparkRunConfigurationExecutor = new SparkRunConfigurationExecutor(null);
SparkRunConfigurationProvider sparkRunConfigurationProvider = new SparkRunConfigurationProvider(metastoreLocator, sparkRunConfigurationExecutor);
List<RunConfigurationProvider> runConfigurationProviders = new ArrayList<>();
runConfigurationProviders.add(sparkRunConfigurationProvider);
executionConfigurationManager = new RunConfigurationManager(runConfigurationProviders);
executionConfigurationManager.setDefaultRunConfigurationProvider(defaultRunConfigurationProvider);
DefaultRunConfiguration defaultRunConfiguration1 = new DefaultRunConfiguration();
defaultRunConfiguration1.setName("z");
executionConfigurationManager.save(defaultRunConfiguration1);
DefaultRunConfiguration defaultRunConfiguration2 = new DefaultRunConfiguration();
defaultRunConfiguration2.setName("f");
executionConfigurationManager.save(defaultRunConfiguration2);
DefaultRunConfiguration defaultRunConfiguration3 = new DefaultRunConfiguration();
defaultRunConfiguration3.setName("x");
executionConfigurationManager.save(defaultRunConfiguration3);
SparkRunConfiguration sparkRunConfiguration = new SparkRunConfiguration();
sparkRunConfiguration.setName("d");
executionConfigurationManager.save(sparkRunConfiguration);
DefaultRunConfiguration defaultRunConfiguration5 = new DefaultRunConfiguration();
defaultRunConfiguration5.setName("a");
executionConfigurationManager.save(defaultRunConfiguration5);
List<RunConfiguration> runConfigurations = executionConfigurationManager.load();
assertEquals(runConfigurations.get(0).getName(), DefaultRunConfigurationProvider.DEFAULT_CONFIG_NAME);
assertEquals(runConfigurations.get(1).getName(), "a");
assertEquals(runConfigurations.get(2).getName(), "d");
assertEquals(runConfigurations.get(3).getName(), "f");
assertEquals(runConfigurations.get(4).getName(), "x");
assertEquals(runConfigurations.get(5).getName(), "z");
List<String> names = executionConfigurationManager.getNames();
assertEquals(names.get(0), DefaultRunConfigurationProvider.DEFAULT_CONFIG_NAME);
assertEquals(names.get(1), "a");
assertEquals(names.get(2), "d");
assertEquals(names.get(3), "f");
assertEquals(names.get(4), "x");
assertEquals(names.get(5), "z");
}
use of org.pentaho.osgi.metastore.locator.api.MetastoreLocator in project pdi-dataservice-server-plugin by pentaho.
the class AnnotationsQueryServiceTest method testLogsExceptionOnWriteEror.
@Test
public void testLogsExceptionOnWriteEror() throws Exception {
final DataServiceDelegate dataServiceFactory = mock(DataServiceDelegate.class);
final DataServiceContext dataServiceContext = mock(DataServiceContext.class);
final DataServiceResolver dataServiceResolver = mock(DataServiceResolver.class);
final MetastoreLocator metastoreLocator = mock(MetastoreLocator.class);
when(dataServiceContext.getDataServiceDelegate()).thenReturn(dataServiceFactory);
when(metastoreLocator.getMetastore()).thenReturn(null);
final AnnotationsQueryService queryService = new AnnotationsQueryService(metastoreLocator, dataServiceResolver);
Query query = queryService.prepareQuery("show annotations from annotatedService", 0, Collections.<String, String>emptyMap());
MetaStoreException metaStoreException = new MetaStoreException("Unable to load dataservice annotatedService");
when(dataServiceResolver.getDataService("annotatedService")).thenReturn(null);
try {
query.writeTo(new ByteArrayOutputStream());
fail("should have got exception");
} catch (IOException e) {
assertEquals("Error while executing 'show annotations from annotatedService'", e.getMessage());
}
}
use of org.pentaho.osgi.metastore.locator.api.MetastoreLocator in project pdi-dataservice-server-plugin by pentaho.
the class ExecutorQueryServiceTest method testQueryBuildsWithMetastore.
@Test
public void testQueryBuildsWithMetastore() throws Exception {
final DataServiceFactory factory = mock(DataServiceFactory.class);
final DataServiceContext context = mock(DataServiceContext.class);
final DataServiceResolver dataServiceResolver = mock(DataServiceResolver.class);
final DataServiceExecutor dataServiceExecutor = mock(DataServiceExecutor.class);
final Trans serviceTrans = mock(Trans.class);
final Trans genTrans = mock(Trans.class);
when(context.getMetaStoreUtil()).thenReturn(factory);
DataServiceExecutor.Builder builder = mock(DataServiceExecutor.Builder.class);
final IMetaStore metastore = mock(IMetaStore.class);
final MetastoreLocator metastoreLocator = mock(MetastoreLocator.class);
when(metastoreLocator.getMetastore()).thenReturn(metastore);
SQL sql = new SQL("select field from table");
HashMap<String, String> parameters = new HashMap<>();
int rowLimit = 5432;
ExecutorQueryService executorQueryService = new ExecutorQueryService(dataServiceResolver, metastoreLocator);
when(dataServiceResolver.createBuilder(argThat(matchesSql(sql)))).thenReturn(builder);
when(factory.getMetaStore()).thenReturn(metastore);
when(builder.rowLimit(rowLimit)).thenReturn(builder);
when(builder.parameters(parameters)).thenReturn(builder);
when(builder.metastore(metastore)).thenReturn(builder);
when(builder.windowMode(null)).thenReturn(builder);
when(builder.windowSize(0)).thenReturn(builder);
when(builder.windowEvery(0)).thenReturn(builder);
when(builder.windowLimit(0)).thenReturn(builder);
when(builder.build()).thenReturn(dataServiceExecutor);
when(dataServiceExecutor.getServiceTrans()).thenReturn(serviceTrans);
when(dataServiceExecutor.getGenTrans()).thenReturn(genTrans);
Query result = executorQueryService.prepareQuery(sql.getSqlString(), rowLimit, parameters);
assertEquals(ImmutableList.of(serviceTrans, genTrans), result.getTransList());
verify(builder).rowLimit(rowLimit);
verify(builder).parameters(parameters);
verify(builder).metastore(metastore);
}
Aggregations