@Before public void before() { when(extensionLoadingContext.getExtensionDeclarer()).thenReturn(extensionDeclarer); when(extensionDeclarer.getDeclaration()).thenReturn(extensionDeclaration); when(extensionDeclaration.getOperations()).thenReturn(asList(operation)); }
@Before public void before() throws Exception { when(extensionLoadingContext.getExtensionDeclarer()).thenReturn(extensionDeclarer); when(extensionDeclarer.getDeclaration()).thenReturn(extensionDeclaration); when(extensionDeclaration.getOperations()).thenReturn(asList(operationDeclaration)); when(operationDeclaration.getModelProperty(ImplementingMethodModelProperty.class)) .thenReturn(Optional.of(new ImplementingMethodModelProperty(TestOperations.class.getMethods()[0]))); }
@Test public void typeResolverInformationSkippedForStaticResolver() throws Exception { OperationDeclaration operation = getDeclaration(declaration.getOperations(), "outputAttributesWithDeclaredSubtypesMetadata"); Optional<TypeResolversInformationModelProperty> info = operation .getModelProperty(TypeResolversInformationModelProperty.class); assertThat("Static resolvers information should not be declared in the model", info.isPresent(), is(false)); }
@Test public void typeResolverInformationSkippedForDsql() throws Exception { OperationDeclaration query = getDeclaration(declaration.getOperations(), "doQuery"); Optional<TypeResolversInformationModelProperty> info = query .getModelProperty(TypeResolversInformationModelProperty.class); assertThat("Query resolvers information should not be declared in the model", info.isPresent(), is(false)); }
@Test public void enrichOnlyOnceWhenFlyweight() throws Exception { when(extensionDeclaration.getOperations()).thenReturn(asList(connectedOperation, connectedOperation, notConnectedOperation)); enricher.enrich(extensionLoadingContext); verify(connectedOperation, times(1)).addModelProperty(isA(InterceptorsModelProperty.class)); }
@Before public void before() { when(extensionLoadingContext.getExtensionDeclarer()).thenReturn(extensionDeclarer); when(extensionDeclarer.getDeclaration()).thenReturn(extensionDeclaration); when(extensionDeclaration.getOperations()).thenReturn(singletonList(operation)); when(extensionDeclaration.getMessageSources()).thenReturn(singletonList(source)); when(source.getSuccessCallback()).thenReturn(empty()); when(source.getErrorCallback()).thenReturn(empty()); when(source.getModelProperty(ExtensionTypeDescriptorModelProperty.class)).thenReturn(empty()); when(operation.getModelProperty(ExtensionOperationDescriptorModelProperty.class)).thenReturn(empty()); when(operation.getParameterGroup(DEFAULT_GROUP_NAME)).thenReturn(new ParameterGroupDeclaration(DEFAULT_GROUP_NAME)); when(source.getParameterGroup(DEFAULT_GROUP_NAME)).thenReturn(new ParameterGroupDeclaration(DEFAULT_GROUP_NAME)); mockMediaType(operation, false); mockMediaType(source, false); }
@Test public void verifyTargetValueParameterOnOperation() { OperationDeclaration operationDeclaration = getNamedObject(declaration.getOperations(), "transform"); ParameterDeclaration parameterDeclaration = getNamedObject(operationDeclaration.getAllParameters(), "targetValue"); assertThat(parameterDeclaration.getName(), is("targetValue")); assertThat(parameterDeclaration.getExpressionSupport(), is(REQUIRED)); assertThat(parameterDeclaration.getType(), instanceOf(StringType.class)); assertThat(parameterDeclaration.isRequired(), is(false)); }
@Test public void verifyTargetParameterOnOperation() { OperationDeclaration operationDeclaration = getNamedObject(declaration.getOperations(), "transform"); ParameterDeclaration parameterDeclaration = getNamedObject(operationDeclaration.getAllParameters(), "target"); assertThat(parameterDeclaration.getName(), is("target")); assertThat(parameterDeclaration.getExpressionSupport(), is(NOT_SUPPORTED)); assertThat(parameterDeclaration.getType(), instanceOf(StringType.class)); assertThat(parameterDeclaration.isRequired(), is(false)); }
@Before public void before() throws Exception { connectedOperation = spy(new ExtensionDeclarer() .withOperation(CONNECTED_OPERATION) .requiresConnection(true) .getDeclaration()); notConnectedOperation = spy(new ExtensionDeclarer() .withOperation(NOT_CONNECTED_OPERATION) .requiresConnection(false) .getDeclaration()); when(extensionLoadingContext.getExtensionDeclarer()).thenReturn(extensionDeclarer); when(extensionDeclarer.getDeclaration()).thenReturn(extensionDeclaration); when(extensionDeclaration.getOperations()).thenReturn(asList(connectedOperation, notConnectedOperation)); }
@Override public void enrich(ExtensionLoadingContext extensionLoadingContext) { extensionLoadingContext.getExtensionDeclarer().getDeclaration().getOperations().stream() .filter(o -> o.getName().equals("doSomethingAsync")) .findFirst() .ifPresent(operation -> operation.addModelProperty( new ComponentExecutorModelProperty((model, params) -> new PrivilegedNonBlockingComponentExecutor()))); } }
@Test public void deprecatedOperationTestCase() { ExtensionDeclaration extensionDeclaration = getEnrichedExtensionDeclaration(DeprecatedExtension.class); OperationDeclaration operationDeclaration = (OperationDeclaration) getNamedDeclaration(extensionDeclaration.getOperations(), "deprecatedOperation"); assertTrue(operationDeclaration.getDeprecation().isPresent()); assertThat(operationDeclaration.getDeprecation().get().getMessage(), is("Use nonDeprecatedOperation instead.")); assertThat(operationDeclaration.getDeprecation().get().getDeprecatedSince(), is("1.2.0")); assertFalse(operationDeclaration.getDeprecation().get().getToRemoveIn().isPresent()); }
@Test public void deprecatedScopeTestCase() { ExtensionDeclaration extensionDeclaration = getEnrichedExtensionDeclaration(DeprecatedExtension.class); OperationDeclaration operationDeclaration = (OperationDeclaration) getNamedDeclaration(extensionDeclaration.getOperations(), "deprecatedScope"); assertTrue(operationDeclaration.getDeprecation().isPresent()); assertThat(operationDeclaration.getDeprecation().get().getMessage(), is("Use nonDeprecatedScope instead.")); assertThat(operationDeclaration.getDeprecation().get().getDeprecatedSince(), is("1.7.0")); assertFalse(operationDeclaration.getDeprecation().get().getToRemoveIn().isPresent()); }
@Test public void deprecatedParameterTestCase() { ExtensionDeclaration extensionDeclaration = getEnrichedExtensionDeclaration(DeprecatedExtension.class); OperationDeclaration operationDeclaration = (OperationDeclaration) getNamedDeclaration(extensionDeclaration.getOperations(), "nonDeprecatedOperation"); ParameterDeclaration parameterDeclaration = (ParameterDeclaration) getNamedDeclaration(operationDeclaration.getAllParameters(), "badParameter"); assertTrue(parameterDeclaration.getDeprecation().isPresent()); assertThat(parameterDeclaration.getDeprecation().get().getMessage(), is("This parameter was made redundant")); assertThat(parameterDeclaration.getDeprecation().get().getDeprecatedSince(), is("1.1.0")); assertFalse(parameterDeclaration.getDeprecation().get().getToRemoveIn().isPresent()); }
@Test public void nonDeprecatedScopeTestCase() { ExtensionDeclaration extensionDeclaration = getEnrichedExtensionDeclaration(DeprecatedExtension.class); OperationDeclaration operationDeclaration = (OperationDeclaration) getNamedDeclaration(extensionDeclaration.getOperations(), "nonDeprecatedScope"); assertFalse(operationDeclaration.getDeprecation().isPresent()); }
@Test public void nonDeprecatedOperationTestCase() { ExtensionDeclaration extensionDeclaration = getEnrichedExtensionDeclaration(DeprecatedExtension.class); OperationDeclaration operationDeclaration = (OperationDeclaration) getNamedDeclaration(extensionDeclaration.getOperations(), "nonDeprecatedOperation"); assertFalse(operationDeclaration.getDeprecation().isPresent()); }
@Test public void nonDeprecatedParameterTestCase() { ExtensionDeclaration extensionDeclaration = getEnrichedExtensionDeclaration(DeprecatedExtension.class); OperationDeclaration operationDeclaration = (OperationDeclaration) getNamedDeclaration(extensionDeclaration.getOperations(), "nonDeprecatedOperation"); ParameterDeclaration parameterDeclaration = (ParameterDeclaration) getNamedDeclaration(operationDeclaration.getAllParameters(), "echo"); assertFalse(parameterDeclaration.getDeprecation().isPresent()); }
private void assertTestModuleOperations(ExtensionDeclaration extensionDeclaration) throws Exception { assertThat(extensionDeclaration.getOperations(), hasSize(53));
assertParameterType(getDeclaration(params, "content"), objectParameterMetadataType); operations = declaration.getOperations(); OperationDeclaration dynamicOutputAndAttributes = getDeclaration(operations, "outputAttributesWithDynamicMetadata"); assertOutputType(dynamicOutputAndAttributes.getOutput(), toMetadataType(Object.class), true);