Skip to content

Instantly share code, notes, and snippets.

@christophd
Last active December 9, 2016 14:30
Show Gist options
  • Save christophd/dfe078fd942a462321a7b5f48299f9e6 to your computer and use it in GitHub Desktop.
Save christophd/dfe078fd942a462321a7b5f48299f9e6 to your computer and use it in GitHub Desktop.
Standalone JsonTextMessageValidator
package com.consol.citrus.validation.json;
import com.consol.citrus.context.TestContext;
import com.consol.citrus.exceptions.ValidationException;
import com.consol.citrus.message.DefaultMessage;
import com.consol.citrus.message.Message;
import com.consol.citrus.validation.matcher.ValidationMatcherConfig;
import org.testng.annotations.Test;
public class JsonTextMessageValidatorStandaloneTest {
@Test
public void testValidateSuccess() {
JsonTextMessageValidator validator = new JsonTextMessageValidator();
Message received = new DefaultMessage("{ \"message\": \"Hello Citrus\", \"working\": true }");
Message control = new DefaultMessage("{ \"message\": \"Hello Citrus\", \"working\": true }");
validator.validateMessagePayload(received, control, new JsonMessageValidationContext(), new TestContext());
}
@Test
public void testValidateSuccessWithMatcher() {
JsonTextMessageValidator validator = new JsonTextMessageValidator();
Message received = new DefaultMessage("{ \"message\": \"Hello Citrus\", \"working\": true }");
Message control = new DefaultMessage("{ \"message\": \"@startsWith('Hello')@\", \"working\": true }");
TestContext context = new TestContext();
context.getValidationMatcherRegistry()
.getValidationMatcherLibraries()
.add(new ValidationMatcherConfig().getValidationMatcherLibrary());
validator.validateMessagePayload(received, control, new JsonMessageValidationContext(), context);
}
@Test
public void testValidateSuccessWithIgnore() {
JsonTextMessageValidator validator = new JsonTextMessageValidator();
Message received = new DefaultMessage("{ \"person\": { \"name\": \"test\" }, \"working\": true }");
Message control = new DefaultMessage("{ \"person\": \"@ignore@\", \"working\": true }");
validator.validateMessagePayload(received, control, new JsonMessageValidationContext(), new TestContext());
}
@Test(expectedExceptions = ValidationException.class)
public void testValidateFailed() {
JsonTextMessageValidator validator = new JsonTextMessageValidator();
Message received = new DefaultMessage("{ \"message\": \"Hello Citrus\", \"working\": true }");
Message control = new DefaultMessage("{ \"message\": \"Hello Citrus\", \"working\": false }");
validator.validateMessagePayload(received, control, new JsonMessageValidationContext(), new TestContext());
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment