@Test public void globalConnectedOperationWithGlobalConnectionProvider() { when(operationModel.requiresConnection()).thenReturn(true); when(extensionModel.getConnectionProviders()).thenReturn(singletonList(mock(ConnectionProviderModel.class))); validate(); }
@Test public void configLevelOperationWithConfigLevelConnectionProvider() { when(operationModel.requiresConnection()).thenReturn(true); when(extensionModel.getOperationModels()).thenReturn(emptyList()); when(configurationModel.getConnectionProviders()).thenReturn(singletonList(mock(ConnectionProviderModel.class))); when(configurationModel.getOperationModels()).thenReturn(singletonList(operationModel)); validate(); }
@Test public void configLevelOperationWithGlobalConnectionProvider() { when(operationModel.requiresConnection()).thenReturn(true); when(extensionModel.getOperationModels()).thenReturn(emptyList()); when(configurationModel.getOperationModels()).thenReturn(singletonList(operationModel)); when(extensionModel.getConnectionProviders()).thenReturn(singletonList(mock(ConnectionProviderModel.class))); validate(); }
@Test public void configLevelOperationWithoutConnectionProvider() { when(operationModel.requiresConnection()).thenReturn(true); when(extensionModel.getOperationModels()).thenReturn(emptyList()); when(configurationModel.getOperationModels()).thenReturn(singletonList(operationModel)); when(configurationModel.getConnectionProviders()).thenReturn(emptyList()); when(extensionModel.getConfigurationModels()).thenReturn(singletonList(configurationModel)); expectedException.expect(IllegalModelDefinitionException.class); validate(); }
@Test public void globalConnectedOperationWithoutConnectionProvider() { when(operationModel.requiresConnection()).thenReturn(true); expectedException.expect(IllegalModelDefinitionException.class); validate(); }
@Override @Before public void before() throws Exception { mockConfigurationInstance(configurationModel, MODULE_CLASS.newInstance()); mockInterceptors(configurationModel, null); when(configurationModel.getOperationModels()).thenReturn(asList(operationModel)); when(configurationModel.getSourceModels()).thenReturn(ImmutableList.of()); mockClassLoaderModelProperty(extensionModel, getClass().getClassLoader()); when(extensionModel.getSourceModels()).thenReturn(ImmutableList.of()); when(extensionModel.getOperationModels()).thenReturn(asList(operationModel)); when(extensionModel.getConfigurationModels()).thenReturn(asList(configurationModel)); when(operationModel.requiresConnection()).thenReturn(true); when(configurationModel.getOperationModels()).thenReturn(asList(operationModel)); when(configurationModel.getSourceModels()).thenReturn(ImmutableList.of()); when(expressionManager.openSession(any())).thenReturn(mock(ExpressionManagerSession.class)); ValueResolvingContext ctx = ValueResolvingContext.builder(event).withExpressionManager(expressionManager).build(); when(resolverSet.resolve(ctx)).thenReturn(resolverSetResult); when(resolverSetResult.asMap()).thenReturn(new HashMap<>()); visitableMock(operationModel); expirationPolicy = new ImmutableExpirationPolicy(5, MINUTES, timeSupplier); when(connectionProviderResolver.getResolverSet()).thenReturn(empty()); when(connectionProviderResolver.resolve(any())).thenReturn(null); provider = new DynamicConfigurationProvider(CONFIG_NAME, extensionModel, configurationModel, resolverSet, connectionProviderResolver, expirationPolicy, new ReflectionCache(), expressionManager, muleContext); super.before(); provider.initialise(); provider.start(); }
@Override protected void onOperation(OperationModel operation) { String operationName = operation.getName(); assertThat(operation.isBlocking(), is(!nonBlockingOperations.contains(operationName))); if (operationName.equals("approve")) { assertThat(operation.getExecutionType(), is(CPU_INTENSIVE)); cpuIntensive.set(true); } else if (operation.requiresConnection()) { assertThat(operation.getExecutionType(), is(BLOCKING)); blocking.set(true); } else { assertThat(operation.getExecutionType(), is(CPU_LITE)); } } }.walk(heisenbergExtension);
@Override public void visit(OperationModel operationModel) { OutputModel typedOutputModel = resolveOutputModelType(operationModel.getOutput(), outputMetadataDescriptor.getPayloadMetadata()); OutputModel typedAttributesModel = resolveOutputModelType(operationModel.getOutputAttributes(), outputMetadataDescriptor.getAttributesMetadata()); typedModel.set((T) new ImmutableOperationModel(operationModel.getName(), operationModel.getDescription(), resolveParameterGroupModelType( operationModel.getParameterGroupModels(), inputMetadataDescriptor.getAllParameters()), operationModel.getNestedComponents(), typedOutputModel, typedAttributesModel, operationModel.isBlocking(), operationModel.getExecutionType(), operationModel.requiresConnection(), operationModel.isTransactional(), operationModel.supportsStreaming(), operationModel.getDisplayModel().orElse(null), operationModel.getErrorModels(), operationModel.getStereotype(), operationModel.getModelProperties(), operationModel.getNotificationModels(), operationModel.getDeprecationModel().orElse(null))); }
@Override public void visit(OperationModel operationModel) { OutputModel typedOutputModel = resolveOutputModelType(operationModel.getOutput(), outputMetadataDescriptor.getPayloadMetadata()); OutputModel typedAttributesModel = resolveOutputModelType(operationModel.getOutputAttributes(), outputMetadataDescriptor.getAttributesMetadata()); typedModel.set((T) new ImmutableOperationModel(operationModel.getName(), operationModel.getDescription(), resolveParameterGroupModelType( operationModel.getParameterGroupModels(), inputMetadataDescriptor.getAllParameters()), operationModel.getNestedComponents(), typedOutputModel, typedAttributesModel, operationModel.isBlocking(), operationModel.getExecutionType(), operationModel.requiresConnection(), operationModel.isTransactional(), operationModel.supportsStreaming(), operationModel.getDisplayModel().orElse(null), operationModel.getErrorModels(), operationModel.getStereotype(), operationModel.getModelProperties(), operationModel.getNotificationModels())); }