use of com.icthh.xm.ms.entity.service.JsonValidationService in project xm-ms-entity by xm-online.
the class FunctionServiceImplUnitTest method setUp.
@Before
public void setUp() {
xmEntitySpecService = Mockito.mock(XmEntitySpecService.class);
xmEntityService = Mockito.mock(XmEntityService.class);
functionExecutorService = Mockito.mock(FunctionExecutorService.class);
functionContextService = Mockito.mock(FunctionContextService.class);
dynamicPermissionCheckService = Mockito.mock(DynamicPermissionCheckService.class);
xmEntityTenantConfigService = Mockito.mock(XmEntityTenantConfigService.class);
jsonValidationService = spy(new JsonValidationService(new ObjectMapper()));
functionService = new FunctionServiceImpl(xmEntitySpecService, xmEntityService, functionExecutorService, functionContextService, dynamicPermissionCheckService, jsonValidationService, xmEntityTenantConfigService);
xmEntityTenantConfig = new XmEntityTenantConfig();
when(xmEntityTenantConfigService.getXmEntityTenantConfig()).thenReturn(xmEntityTenantConfig);
}
use of com.icthh.xm.ms.entity.service.JsonValidationService in project xm-ms-entity by xm-online.
the class FunctionServiceImplUnitTest method validationFailOnInvalidFunctionWithEntityIdInputWhenValidationEnabled.
@Test
public void validationFailOnInvalidFunctionWithEntityIdInputWhenValidationEnabled() {
exception.expect(JsonValidationService.InvalidJsonException.class);
String exceptionMessage = "{\"pointer\":\"/numberArgument\"} | domain: \"validation\" | keyword: \"type\" | found: \"string\" | expected: [\"integer\",\"number\"] | ";
exception.expectMessage(exceptionMessage);
FunctionSpec spec = generateFunctionSpec(true);
Map<String, Object> functionInput = Map.of("numberArgument", "stringValue");
spec.setWithEntityId(true);
when(xmEntitySpecService.findFunction(xmEntityTypeKey, VALIDATION_FUNCTION)).thenReturn(Optional.of(spec));
when(xmEntityService.findStateProjectionById(SELF)).thenReturn(getProjection(SELF));
functionService.execute(VALIDATION_FUNCTION, SELF, functionInput);
verify(jsonValidationService).assertJson(eq(functionInput), eq(spec.getInputSpec()));
}
use of com.icthh.xm.ms.entity.service.JsonValidationService in project xm-ms-entity by xm-online.
the class FunctionServiceImplUnitTest method validationFailOnInvalidFunctionInputWhenValidationEnabled.
@Test
public void validationFailOnInvalidFunctionInputWhenValidationEnabled() {
exception.expect(JsonValidationService.InvalidJsonException.class);
String exceptionMessage = "{\"pointer\":\"/numberArgument\"} | domain: \"validation\" | keyword: \"type\" | found: \"string\" | expected: [\"integer\",\"number\"] | ";
exception.expectMessage(exceptionMessage);
FunctionSpec spec = generateFunctionSpec(true);
when(xmEntitySpecService.findFunction(VALIDATION_FUNCTION)).thenReturn(Optional.of(spec));
Map<String, Object> functionInput = Map.of("numberArgument", "stringValue");
functionService.execute(VALIDATION_FUNCTION, functionInput, null);
verify(jsonValidationService).assertJson(eq(functionInput), eq(spec.getInputSpec()));
}
Aggregations