Search in sources :

Example 1 with TestDataProviderEngine

use of net.n2oapp.framework.engine.data.json.TestDataProviderEngine in project n2o-framework by i-novus-llc.

the class InvocationProcessorTest method setUp.

@Before
public void setUp() throws Exception {
    N2oInvocationFactory actionInvocationFactory = mock(N2oInvocationFactory.class);
    javaDataProviderEngine = new JavaDataProviderEngine();
    when(actionInvocationFactory.produce(N2oJavaDataProvider.class)).thenReturn(javaDataProviderEngine);
    SqlInvocationEngine sqlInvocationEngine = new SqlInvocationEngine();
    when(actionInvocationFactory.produce(N2oSqlDataProvider.class)).thenReturn(sqlInvocationEngine);
    TestDataProviderEngine testDataProviderEngine = new TestDataProviderEngine();
    when(actionInvocationFactory.produce(N2oTestDataProvider.class)).thenReturn(testDataProviderEngine);
    ContextProcessor processor = mock(ContextProcessor.class);
    when(processor.resolve(anyMap())).thenAnswer((Answer<DataSet>) invocation -> (DataSet) invocation.getArguments()[0]);
    when(processor.resolve(anyString())).thenAnswer((Answer<String>) invocation -> (String) invocation.getArguments()[0]);
    when(processor.resolve(anyInt())).thenAnswer((Answer<Integer>) invocation -> (Integer) invocation.getArguments()[0]);
    when(processor.resolve(anyList())).thenAnswer((Answer<List>) invocation -> (List) invocation.getArguments()[0]);
    when(processor.resolve(anyBoolean())).thenAnswer((Answer<Boolean>) invocation -> (Boolean) invocation.getArguments()[0]);
    N2oEnvironment env = new N2oEnvironment();
    env.setContextProcessor(processor);
    invocationProcessor = new N2oInvocationProcessor(actionInvocationFactory);
    invocationProcessor.setEnvironment(env);
}
Also used : N2oInvocationFactory(net.n2oapp.framework.engine.data.N2oInvocationFactory) java.util(java.util) N2oJavaDataProvider(net.n2oapp.framework.api.metadata.dataprovider.N2oJavaDataProvider) N2oSqlDataProvider(net.n2oapp.framework.api.metadata.dataprovider.N2oSqlDataProvider) ArgumentMatchers(org.mockito.ArgumentMatchers) DataSet(net.n2oapp.criteria.dataset.DataSet) ObjectSetField(net.n2oapp.framework.api.metadata.global.dao.object.field.ObjectSetField) Matchers.anyString(org.mockito.Matchers.anyString) ObjectListField(net.n2oapp.framework.api.metadata.global.dao.object.field.ObjectListField) ContextProcessor(net.n2oapp.framework.api.context.ContextProcessor) Answer(org.mockito.stubbing.Answer) JavaDataProviderEngine(net.n2oapp.framework.engine.data.java.JavaDataProviderEngine) Matchers.nullValue(org.hamcrest.Matchers.nullValue) ObjectReferenceField(net.n2oapp.framework.api.metadata.global.dao.object.field.ObjectReferenceField) MapInvocationEngine(net.n2oapp.framework.api.data.MapInvocationEngine) N2oEnvironment(net.n2oapp.framework.config.compile.pipeline.N2oEnvironment) MatcherAssert.assertThat(org.hamcrest.MatcherAssert.assertThat) AbstractParameter(net.n2oapp.framework.api.metadata.global.dao.object.AbstractParameter) Before(org.junit.Before) N2oInvocationFactory(net.n2oapp.framework.engine.data.N2oInvocationFactory) Test(org.junit.Test) Mockito.when(org.mockito.Mockito.when) N2oInvocationProcessor(net.n2oapp.framework.engine.data.N2oInvocationProcessor) ObjectSimpleField(net.n2oapp.framework.api.metadata.global.dao.object.field.ObjectSimpleField) N2oTestDataProvider(net.n2oapp.framework.api.metadata.dataprovider.N2oTestDataProvider) TestDataProviderEngine(net.n2oapp.framework.engine.data.json.TestDataProviderEngine) TestEntity(net.n2oapp.framework.engine.util.TestEntity) Argument(net.n2oapp.framework.api.metadata.global.dao.invocation.model.Argument) Matchers.is(org.hamcrest.Matchers.is) Mockito.mock(org.mockito.Mockito.mock) DataSet(net.n2oapp.criteria.dataset.DataSet) TestDataProviderEngine(net.n2oapp.framework.engine.data.json.TestDataProviderEngine) Matchers.anyString(org.mockito.Matchers.anyString) N2oInvocationProcessor(net.n2oapp.framework.engine.data.N2oInvocationProcessor) JavaDataProviderEngine(net.n2oapp.framework.engine.data.java.JavaDataProviderEngine) N2oEnvironment(net.n2oapp.framework.config.compile.pipeline.N2oEnvironment) ContextProcessor(net.n2oapp.framework.api.context.ContextProcessor) Before(org.junit.Before)

Example 2 with TestDataProviderEngine

use of net.n2oapp.framework.engine.data.json.TestDataProviderEngine in project n2o-framework by i-novus-llc.

the class CopyValuesControllerTest method testQuery.

private GetDataResponse testQuery(String path, ReadCompileTerminalPipeline<ReadCompileBindTerminalPipeline> pipeline, Map<String, String[]> params) {
    N2oInvocationFactory invocationFactory = Mockito.mock(N2oInvocationFactory.class);
    TestDataProviderEngine testDataProviderEngine = new TestDataProviderEngine();
    testDataProviderEngine.setResourceLoader(new DefaultResourceLoader());
    Mockito.when(invocationFactory.produce(Mockito.any(Class.class))).thenReturn(testDataProviderEngine);
    ContextEngine contextEngine = Mockito.mock(ContextEngine.class);
    UserContext userContext = new UserContext(contextEngine);
    ContextProcessor contextProcessor = new ContextProcessor(userContext);
    N2oQueryProcessor queryProcessor = new N2oQueryProcessor(invocationFactory, new N2oQueryExceptionHandler());
    N2oEnvironment env = new N2oEnvironment();
    env.setContextProcessor(contextProcessor);
    queryProcessor.setEnvironment(env);
    N2oSubModelsProcessor subModelsProcessor = Mockito.mock(N2oSubModelsProcessor.class);
    Mockito.doNothing().when(subModelsProcessor);
    DataProcessingStack dataProcessingStack = Mockito.mock(SpringDataProcessingStack.class);
    CopyValuesController copyValuesController = new CopyValuesController(dataProcessingStack, queryProcessor, subModelsProcessor, null, null);
    Map<String, Object> map = new HashMap<>();
    map.put("CopyValuesController", copyValuesController);
    N2oRouter router = new N2oRouter(builder.getEnvironment(), pipeline);
    N2oControllerFactory factory = new N2oControllerFactory(map);
    factory.setEnvironment(builder.getEnvironment());
    DataController controller = new DataController(factory, builder.getEnvironment(), router);
    return controller.getData(path, params, userContext);
}
Also used : N2oInvocationFactory(net.n2oapp.framework.engine.data.N2oInvocationFactory) CopyValuesController(net.n2oapp.framework.ui.controller.query.CopyValuesController) SpringDataProcessingStack(net.n2oapp.framework.engine.modules.stack.SpringDataProcessingStack) DataProcessingStack(net.n2oapp.framework.engine.modules.stack.DataProcessingStack) HashMap(java.util.HashMap) UserContext(net.n2oapp.framework.api.user.UserContext) N2oSubModelsProcessor(net.n2oapp.framework.config.util.N2oSubModelsProcessor) TestDataProviderEngine(net.n2oapp.framework.engine.data.json.TestDataProviderEngine) ContextEngine(net.n2oapp.framework.api.context.ContextEngine) N2oQueryProcessor(net.n2oapp.framework.engine.data.N2oQueryProcessor) N2oEnvironment(net.n2oapp.framework.config.compile.pipeline.N2oEnvironment) N2oRouter(net.n2oapp.framework.config.register.route.N2oRouter) ContextProcessor(net.n2oapp.framework.api.context.ContextProcessor) N2oQueryExceptionHandler(net.n2oapp.framework.engine.data.N2oQueryExceptionHandler) DefaultResourceLoader(org.springframework.core.io.DefaultResourceLoader)

Example 3 with TestDataProviderEngine

use of net.n2oapp.framework.engine.data.json.TestDataProviderEngine in project n2o-framework by i-novus-llc.

the class DataControllerExceptionTest method buildController.

private DataController buildController(DataProcessingStack dataProcessingStack) {
    N2oInvocationFactory invocationFactory = Mockito.mock(N2oInvocationFactory.class);
    TestDataProviderEngine testDataProviderEngine = new TestDataProviderEngine();
    testDataProviderEngine.setResourceLoader(new DefaultResourceLoader());
    Mockito.when(invocationFactory.produce(Mockito.any(Class.class))).thenReturn(testDataProviderEngine);
    N2oInvocationProcessor invocationProcessor = new N2oInvocationProcessor(invocationFactory);
    N2oValidationModule validationModule = new N2oValidationModule(new ValidationProcessor(invocationProcessor));
    Map<String, DataProcessing> moduleMap = new HashMap<>();
    moduleMap.put("validationModule", validationModule);
    N2oOperationProcessor operationProcessor = new N2oOperationProcessor(invocationProcessor, new N2oOperationExceptionHandler());
    ApplicationContext context = Mockito.mock(ApplicationContext.class);
    Mockito.when(context.getBeansOfType(DataProcessing.class)).thenReturn(moduleMap);
    ReadCompileTerminalPipeline<ReadCompileBindTerminalPipeline> pipeline = compile("net/n2oapp/framework/ui/controller/testObject.object.xml", "net/n2oapp/framework/ui/controller/testPage.page.xml", "net/n2oapp/framework/ui/controller/testQuery.query.xml");
    pipeline.get(new PageContext("testPage"));
    N2oRouter router = new N2oRouter(builder.getEnvironment(), pipeline);
    ContextEngine contextEngine = Mockito.mock(ContextEngine.class);
    QueryProcessor queryProcessor = mock(QueryProcessor.class);
    Map<String, Object> map = new HashMap<>();
    AlertMessageBuilder messageBuilder = new AlertMessageBuilder(builder.getEnvironment().getMessageSource(), null);
    OperationController operationController = new OperationController(dataProcessingStack, operationProcessor, messageBuilder, builder.getEnvironment());
    QueryController queryController = new QueryController(dataProcessingStack, queryProcessor, null, messageBuilder, builder.getEnvironment());
    map.put("operationController", operationController);
    map.put("queryController", queryController);
    N2oControllerFactory factory = new N2oControllerFactory(map);
    factory.setEnvironment(builder.getEnvironment());
    DataController controller = new DataController(factory, builder.getEnvironment(), router);
    return controller;
}
Also used : N2oInvocationFactory(net.n2oapp.framework.engine.data.N2oInvocationFactory) HashMap(java.util.HashMap) N2oOperationProcessor(net.n2oapp.framework.engine.data.N2oOperationProcessor) ContextEngine(net.n2oapp.framework.api.context.ContextEngine) DataProcessing(net.n2oapp.framework.api.processing.DataProcessing) ApplicationContext(org.springframework.context.ApplicationContext) ReadCompileBindTerminalPipeline(net.n2oapp.framework.api.metadata.pipeline.ReadCompileBindTerminalPipeline) N2oValidationModule(net.n2oapp.framework.engine.validation.N2oValidationModule) PageContext(net.n2oapp.framework.config.metadata.compile.context.PageContext) QueryController(net.n2oapp.framework.ui.controller.query.QueryController) ValidationProcessor(net.n2oapp.framework.engine.validation.engine.ValidationProcessor) N2oOperationExceptionHandler(net.n2oapp.framework.engine.data.N2oOperationExceptionHandler) N2oRouter(net.n2oapp.framework.config.register.route.N2oRouter) DefaultResourceLoader(org.springframework.core.io.DefaultResourceLoader) OperationController(net.n2oapp.framework.ui.controller.action.OperationController) TestDataProviderEngine(net.n2oapp.framework.engine.data.json.TestDataProviderEngine) QueryProcessor(net.n2oapp.framework.api.data.QueryProcessor) N2oInvocationProcessor(net.n2oapp.framework.engine.data.N2oInvocationProcessor)

Example 4 with TestDataProviderEngine

use of net.n2oapp.framework.engine.data.json.TestDataProviderEngine in project n2o-framework by i-novus-llc.

the class DefaultValuesControllerTest method testQuery.

private GetDataResponse testQuery(String path, ReadCompileTerminalPipeline<ReadCompileBindTerminalPipeline> pipeline, Map<String, String[]> params) {
    N2oInvocationFactory invocationFactory = Mockito.mock(N2oInvocationFactory.class);
    TestDataProviderEngine testDataProviderEngine = new TestDataProviderEngine();
    testDataProviderEngine.setResourceLoader(new DefaultResourceLoader());
    Mockito.when(invocationFactory.produce(Mockito.any(Class.class))).thenReturn(testDataProviderEngine);
    ContextEngine contextEngine = Mockito.mock(ContextEngine.class);
    UserContext userContext = new UserContext(contextEngine);
    ContextProcessor contextProcessor = new ContextProcessor(userContext);
    N2oQueryProcessor queryProcessor = new N2oQueryProcessor(invocationFactory, new N2oQueryExceptionHandler());
    N2oEnvironment env = new N2oEnvironment();
    env.setContextProcessor(contextProcessor);
    queryProcessor.setEnvironment(env);
    N2oSubModelsProcessor subModelsProcessor = Mockito.mock(N2oSubModelsProcessor.class);
    Mockito.doNothing().when(subModelsProcessor);
    DataProcessingStack dataProcessingStack = Mockito.mock(SpringDataProcessingStack.class);
    SimpleDefaultValuesController valuesController = new SimpleDefaultValuesController(dataProcessingStack, queryProcessor, subModelsProcessor, null, null);
    Map<String, Object> map = new HashMap<>();
    map.put("SimpleDefaultValuesController", valuesController);
    N2oRouter router = new N2oRouter(builder.getEnvironment(), pipeline);
    N2oControllerFactory factory = new N2oControllerFactory(map);
    factory.setEnvironment(builder.getEnvironment());
    DataController controller = new DataController(factory, builder.getEnvironment(), router);
    return controller.getData(path, params, userContext);
}
Also used : N2oInvocationFactory(net.n2oapp.framework.engine.data.N2oInvocationFactory) SpringDataProcessingStack(net.n2oapp.framework.engine.modules.stack.SpringDataProcessingStack) DataProcessingStack(net.n2oapp.framework.engine.modules.stack.DataProcessingStack) SimpleDefaultValuesController(net.n2oapp.framework.ui.controller.query.SimpleDefaultValuesController) HashMap(java.util.HashMap) UserContext(net.n2oapp.framework.api.user.UserContext) N2oSubModelsProcessor(net.n2oapp.framework.config.util.N2oSubModelsProcessor) TestDataProviderEngine(net.n2oapp.framework.engine.data.json.TestDataProviderEngine) ContextEngine(net.n2oapp.framework.api.context.ContextEngine) N2oQueryProcessor(net.n2oapp.framework.engine.data.N2oQueryProcessor) N2oEnvironment(net.n2oapp.framework.config.compile.pipeline.N2oEnvironment) N2oRouter(net.n2oapp.framework.config.register.route.N2oRouter) ContextProcessor(net.n2oapp.framework.api.context.ContextProcessor) N2oQueryExceptionHandler(net.n2oapp.framework.engine.data.N2oQueryExceptionHandler) DefaultResourceLoader(org.springframework.core.io.DefaultResourceLoader)

Example 5 with TestDataProviderEngine

use of net.n2oapp.framework.engine.data.json.TestDataProviderEngine in project n2o-framework by i-novus-llc.

the class QueryProcessorTest method query4Unique.

@Test
public void query4Unique() {
    TestDataProviderEngine testDataprovider = new TestDataProviderEngine();
    when(factory.produce(any())).thenReturn(testDataprovider);
    CompiledQuery query = builder.read().compile().get(new QueryContext("testQueryProcessorUnique"));
    // case unique selection
    N2oPreparedCriteria criteria = new N2oPreparedCriteria();
    criteria.setSize(1);
    criteria.addRestriction(new Restriction("id", 1));
    CollectionPage<DataSet> result = queryProcessor.execute(query, criteria);
    assertThat(result.getCount(), is(1));
    DataSet first = result.getCollection().iterator().next();
    assertThat(first.get("id"), is(1L));
    // case list filter by code selection
    criteria = new N2oPreparedCriteria();
    criteria.setSize(1);
    criteria.addRestriction(new Restriction("code", "test1"));
    result = queryProcessor.execute(query, criteria);
    assertThat(result.getCount(), is(1));
    first = result.getCollection().iterator().next();
    assertThat(first.get("code"), is("test1"));
    // case list any filters selection
    criteria = new N2oPreparedCriteria();
    criteria.setSize(1);
    criteria.addRestriction(new Restriction("type", 10));
    result = queryProcessor.execute(query, criteria);
    assertThat(result.getCount(), is(1));
    first = result.getCollection().iterator().next();
    assertThat(first.get("type"), is(10));
}
Also used : Restriction(net.n2oapp.framework.api.criteria.Restriction) DataSet(net.n2oapp.criteria.dataset.DataSet) TestDataProviderEngine(net.n2oapp.framework.engine.data.json.TestDataProviderEngine) N2oPreparedCriteria(net.n2oapp.framework.api.criteria.N2oPreparedCriteria) QueryContext(net.n2oapp.framework.config.metadata.compile.context.QueryContext) CompiledQuery(net.n2oapp.framework.api.metadata.local.CompiledQuery) Test(org.junit.Test)

Aggregations

TestDataProviderEngine (net.n2oapp.framework.engine.data.json.TestDataProviderEngine)8 N2oInvocationFactory (net.n2oapp.framework.engine.data.N2oInvocationFactory)5 HashMap (java.util.HashMap)4 ContextEngine (net.n2oapp.framework.api.context.ContextEngine)4 N2oRouter (net.n2oapp.framework.config.register.route.N2oRouter)4 DefaultResourceLoader (org.springframework.core.io.DefaultResourceLoader)4 DataSet (net.n2oapp.criteria.dataset.DataSet)3 ContextProcessor (net.n2oapp.framework.api.context.ContextProcessor)3 UserContext (net.n2oapp.framework.api.user.UserContext)3 N2oEnvironment (net.n2oapp.framework.config.compile.pipeline.N2oEnvironment)3 N2oInvocationProcessor (net.n2oapp.framework.engine.data.N2oInvocationProcessor)3 DataProcessingStack (net.n2oapp.framework.engine.modules.stack.DataProcessingStack)3 SpringDataProcessingStack (net.n2oapp.framework.engine.modules.stack.SpringDataProcessingStack)3 Test (org.junit.Test)3 N2oPreparedCriteria (net.n2oapp.framework.api.criteria.N2oPreparedCriteria)2 CompiledQuery (net.n2oapp.framework.api.metadata.local.CompiledQuery)2 DataProcessing (net.n2oapp.framework.api.processing.DataProcessing)2 QueryContext (net.n2oapp.framework.config.metadata.compile.context.QueryContext)2 N2oSubModelsProcessor (net.n2oapp.framework.config.util.N2oSubModelsProcessor)2 N2oOperationExceptionHandler (net.n2oapp.framework.engine.data.N2oOperationExceptionHandler)2