use of org.mule.runtime.extension.api.model.ImmutableOutputModel in project mule by mulesoft.
the class OperationReturnTypeModelValidatorTestCase method before.
@Before
public void before() {
ExtensionOperationDescriptorModelProperty modelProperty = new ExtensionOperationDescriptorModelProperty(methodElement);
when(extensionModel.getOperationModels()).thenReturn(asList(operationModel));
when(operationModel.getOutput()).thenReturn(new ImmutableOutputModel("Message.Payload", toMetadataType(String.class), false, emptySet()));
when(operationModel.getName()).thenReturn("operation");
when(operationModel.getModelProperty(ExtensionOperationDescriptorModelProperty.class)).thenReturn(Optional.of(modelProperty));
when(methodElement.getReturnType()).thenReturn(new TypeWrapper(String.class, typeLoader));
visitableMock(operationModel);
}
use of org.mule.runtime.extension.api.model.ImmutableOutputModel in project mule by mulesoft.
the class OperationMessageProcessorTestCase method setUpOperationReturning.
private void setUpOperationReturning(Object payload, Type type) throws InitialisationException {
messageProcessor = createOperationMessageProcessor();
MetadataType mapType = new DefaultExtensionsTypeLoaderFactory().createTypeLoader().load(type);
when(operationModel.getOutput()).thenReturn(new ImmutableOutputModel("desc", mapType, false, emptySet()));
initialiseIfNeeded(messageProcessor, muleContext);
when(operationExecutor.execute(any(ExecutionContext.class))).thenReturn(just(payload));
}
use of org.mule.runtime.extension.api.model.ImmutableOutputModel in project mule by mulesoft.
the class AbstractExtensionMessageSourceTestCase method before.
@Before
public void before() throws Exception {
initMocks(this);
spyInjector(muleContext);
reset(muleContext.getSchedulerService());
when(result.getMediaType()).thenReturn(of(ANY));
when(result.getAttributes()).thenReturn(empty());
((MuleContextWithRegistries) muleContext).getRegistry().registerObject(OBJECT_STREAMING_MANAGER, streamingManager);
when(extensionModel.getXmlDslModel()).thenReturn(XmlDslModel.builder().setPrefix("test-extension").build());
cursorStreamProviderFactory = getDefaultCursorStreamProviderFactory(streamingManager);
sourceAdapter = createSourceAdapter();
when(sourceAdapterFactory.createAdapter(any(), any(), any(), any(), any())).thenReturn(sourceAdapter);
mockExceptionEnricher(sourceModel, null);
when(sourceModel.requiresConnection()).thenReturn(true);
when(sourceModel.getName()).thenReturn(SOURCE_NAME);
when(sourceModel.getModelProperty(MetadataResolverFactoryModelProperty.class)).thenReturn(empty());
when(sourceModel.getModelProperty(SourceCallbackModelProperty.class)).thenReturn(empty());
when(sourceModel.getModelProperty(MediaTypeModelProperty.class)).thenReturn(empty());
setRequires(sourceModel, true, true);
when(sourceModel.getOutput().getType()).thenReturn(TYPE_LOADER.load(String.class));
when(sourceModel.getNotificationModels()).thenReturn(emptySet());
mockExceptionEnricher(extensionModel, null);
mockClassLoaderModelProperty(extensionModel, getClass().getClassLoader());
retryPolicyTemplate.setNotificationFirer(((MuleContextWithRegistries) muleContext).getRegistry().lookupObject(NotificationDispatcher.class));
initialiseIfNeeded(retryPolicyTemplate, muleContext);
((MuleContextWithRegistries) muleContext).getRegistry().registerObject(OBJECT_EXTENSION_MANAGER, extensionManager);
when(flowConstruct.getMuleContext()).thenReturn(muleContext);
mockSubTypes(extensionModel);
when(configurationModel.getSourceModel(SOURCE_NAME)).thenReturn(of(sourceModel));
when(extensionManager.getConfigurationProvider(CONFIG_NAME)).thenReturn(of(configurationProvider));
when(configurationProvider.get(any())).thenReturn(configurationInstance);
when(configurationProvider.getConfigurationModel()).thenReturn(configurationModel);
when(configurationProvider.getName()).thenReturn(CONFIG_NAME);
mockMetadataResolverFactory(sourceModel, metadataResolverFactory);
when(metadataResolverFactory.getKeyResolver()).thenReturn(new TestNoConfigMetadataResolver());
when(metadataResolverFactory.getInputResolver("content")).thenReturn(new TestNoConfigMetadataResolver());
when(metadataResolverFactory.getInputResolver("type")).thenReturn(new NullMetadataResolver());
when(metadataResolverFactory.getOutputResolver()).thenReturn(new TestNoConfigMetadataResolver());
when(metadataResolverFactory.getOutputAttributesResolver()).thenReturn(new TestNoConfigMetadataResolver());
when(sourceModel.getOutput()).thenReturn(new ImmutableOutputModel("Output", BaseTypeBuilder.create(JAVA).stringType().build(), true, emptySet()));
when(sourceModel.getOutputAttributes()).thenReturn(new ImmutableOutputModel("Output", BaseTypeBuilder.create(JAVA).stringType().build(), false, emptySet()));
when(sourceModel.getModelProperty(MetadataKeyIdModelProperty.class)).thenReturn(of(new MetadataKeyIdModelProperty(typeLoader.load(String.class), METADATA_KEY)));
when(sourceModel.getAllParameterModels()).thenReturn(emptyList());
when(messageProcessContext.getTransactionConfig()).thenReturn(empty());
messageSource = getNewExtensionMessageSourceInstance();
sourceCallback = spy(DefaultSourceCallback.builder().setSourceModel(sourceModel).setProcessingManager(messageProcessingManager).setListener(messageProcessor).setSource(messageSource).setMuleContext(muleContext).setProcessContextSupplier(() -> messageProcessContext).setCompletionHandlerFactory(completionHandlerFactory).setExceptionCallback(exceptionCallback).setCursorStreamProviderFactory(cursorStreamProviderFactory).build());
when(sourceCallbackFactory.createSourceCallback(any())).thenReturn(sourceCallback);
}
use of org.mule.runtime.extension.api.model.ImmutableOutputModel in project mule by mulesoft.
the class AbstractOperationMessageProcessorTestCase method before.
@Before
public void before() throws Exception {
((MuleContextWithRegistries) muleContext).getRegistry().registerObject(OBJECT_STREAMING_MANAGER, streamingManager);
cursorStreamProviderFactory = spy(getDefaultCursorStreamProviderFactory(streamingManager));
event = configureEvent();
when(context.getInjector().inject(any())).thenAnswer(invocationOnMock -> {
final Object subject = invocationOnMock.getArguments()[0];
muleContext.getInjector().inject(subject);
return subject;
});
when(extensionModel.getName()).thenReturn(EXTENSION_NAMESPACE);
when(extensionModel.getConfigurationModels()).thenReturn(asList(configurationModel));
when(operationModel.getName()).thenReturn(getClass().getName());
when(operationModel.isBlocking()).thenReturn(true);
when(extensionModel.getXmlDslModel()).thenReturn(XmlDslModel.builder().setPrefix("test-extension").build());
when(operationModel.getOutput()).thenReturn(new ImmutableOutputModel("Message.Payload", toMetadataType(String.class), false, emptySet()));
mockExecutorFactory(operationModel, operationExecutorFactory);
visitableMock(operationModel);
when(operationModel.getModelProperty(MetadataKeyIdModelProperty.class)).thenReturn(of(new MetadataKeyIdModelProperty(ExtensionsTypeLoaderFactory.getDefault().createTypeLoader().load(String.class), "someParam")));
setRequires(operationModel, true, true);
when(operationExecutorFactory.createExecutor(same(operationModel), anyMap())).thenReturn(operationExecutor);
when(operationModel.getName()).thenReturn(OPERATION_NAME);
when(operationModel.getDisplayModel()).thenReturn(empty());
when(operationModel.getModelProperty(MediaTypeModelProperty.class)).thenReturn(empty());
mockExceptionEnricher(operationModel, exceptionHandlerFactory);
when(exceptionHandlerFactory.createHandler()).thenReturn(new NullExceptionHandler());
mockMetadataResolverFactory(operationModel, metadataResolverFactory);
when(metadataResolverFactory.getKeyResolver()).thenReturn(new TestNoConfigMetadataResolver());
when(metadataResolverFactory.getInputResolver("content")).thenReturn(new TestNoConfigMetadataResolver());
when(metadataResolverFactory.getInputResolver("type")).thenReturn(new NullMetadataResolver());
when(metadataResolverFactory.getOutputResolver()).thenReturn(new TestNoConfigMetadataResolver());
when(metadataResolverFactory.getOutputAttributesResolver()).thenReturn(new TestNoConfigMetadataResolver());
when(metadataResolverFactory.getQueryEntityResolver()).thenReturn(new TestNoConfigMetadataResolver());
when(keyParamMock.getName()).thenReturn("type");
when(keyParamMock.getType()).thenReturn(stringType);
when(keyParamMock.getModelProperty(MetadataKeyPartModelProperty.class)).thenReturn(of(new MetadataKeyPartModelProperty(1)));
when(keyParamMock.getRole()).thenReturn(BEHAVIOUR);
when(keyParamMock.getDisplayModel()).thenReturn(empty());
when(keyParamMock.getLayoutModel()).thenReturn(empty());
when(keyParamMock.getModelProperty(QueryParameterModelProperty.class)).thenReturn(empty());
when(keyParamMock.getModelProperty(FieldOperationParameterModelProperty.class)).thenReturn(empty());
when(contentMock.getName()).thenReturn("content");
when(contentMock.hasDynamicType()).thenReturn(true);
when(contentMock.getType()).thenReturn(stringType);
when(contentMock.getRole()).thenReturn(CONTENT);
when(contentMock.getDisplayModel()).thenReturn(empty());
when(contentMock.getLayoutModel()).thenReturn(empty());
when(contentMock.getModelProperty(MetadataKeyPartModelProperty.class)).thenReturn(empty());
when(contentMock.getModelProperty(QueryParameterModelProperty.class)).thenReturn(empty());
when(contentMock.getModelProperty(FieldOperationParameterModelProperty.class)).thenReturn(empty());
parameterGroupModel = mockParameters(operationModel, keyParamMock, contentMock);
when(parameterGroupModel.getDisplayModel()).thenReturn(empty());
when(parameterGroupModel.getLayoutModel()).thenReturn(empty());
when(parameterGroupModel.getModelProperty(MetadataKeyIdModelProperty.class)).thenReturn(empty());
when(outputMock.getType()).thenReturn(stringType);
when(outputMock.hasDynamicType()).thenReturn(true);
when(operationModel.getOutput()).thenReturn(outputMock);
when(operationModel.getOutputAttributes()).thenReturn(outputMock);
when(operationModel.getModelProperty(InterceptorsModelProperty.class)).thenReturn(empty());
when(operationExecutorFactory.createExecutor(same(operationModel), anyMap())).thenReturn(operationExecutor);
when(operationExecutor.execute(any())).thenReturn(just(""));
when(resolverSet.resolve(from(event))).thenReturn(parameters);
when(configurationInstance.getName()).thenReturn(CONFIG_NAME);
when(configurationInstance.getModel()).thenReturn(configurationModel);
when(configurationInstance.getValue()).thenReturn(configuration);
when(configurationInstance.getConnectionProvider()).thenReturn(of(connectionProviderWrapper));
when(configurationProvider.get(event)).thenReturn(configurationInstance);
when(configurationProvider.getConfigurationModel()).thenReturn(configurationModel);
when(configurationProvider.getName()).thenReturn(configurationName);
when(configurationModel.getOperationModels()).thenReturn(asList(operationModel));
when(configurationModel.getOperationModel(OPERATION_NAME)).thenReturn(of(operationModel));
when(connectionProviderWrapper.getReconnectionConfig()).thenReturn(of(ReconnectionConfig.getDefault()));
when(connectionProviderWrapper.getRetryPolicyTemplate()).thenReturn(new NoRetryPolicyTemplate());
mockSubTypes(extensionModel);
mockClassLoaderModelProperty(extensionModel, getClass().getClassLoader());
when(extensionManager.getConfiguration(anyString(), anyObject())).thenReturn(configurationInstance);
when(extensionManager.getConfiguration(extensionModel, operationModel, event)).thenReturn(of(configurationInstance));
when(configurationProvider.get(anyObject())).thenReturn(configurationInstance);
when(extensionManager.getConfigurationProvider(extensionModel, operationModel)).thenReturn(of(configurationProvider));
when(extensionManager.getConfigurationProvider(CONFIG_NAME)).thenReturn(of(configurationProvider));
when(stringType.getAnnotation(anyObject())).thenReturn(empty());
when(mockPolicyManager.createOperationPolicy(any(), any(), any(), any())).thenAnswer(invocationOnMock -> {
if (mockOperationPolicy == null) {
mockOperationPolicy = mock(OperationPolicy.class);
when(mockOperationPolicy.process(any())).thenAnswer(operationPolicyInvocationMock -> ((OperationExecutionFunction) invocationOnMock.getArguments()[3]).execute((Map<String, Object>) invocationOnMock.getArguments()[2], (CoreEvent) invocationOnMock.getArguments()[1]));
}
return mockOperationPolicy;
});
when(executionContext.getRetryPolicyTemplate()).thenReturn(empty());
when(connectionManagerAdapter.getConnection(anyString())).thenReturn(null);
messageProcessor = setUpOperationMessageProcessor();
}
use of org.mule.runtime.extension.api.model.ImmutableOutputModel in project mule by mulesoft.
the class OperationMessageProcessorTestCase method operationIsVoid.
@Test
public void operationIsVoid() throws Exception {
when(operationModel.getOutput()).thenReturn(new ImmutableOutputModel("Message.Payload", toMetadataType(void.class), false, emptySet()));
messageProcessor = setUpOperationMessageProcessor();
when(operationExecutor.execute(any(ExecutionContext.class))).thenReturn(empty());
assertThat(messageProcessor.process(event), is(sameInstance(event)));
}
Aggregations