From b282452d5d87363eb5381ab845fad7dbf0713783 Mon Sep 17 00:00:00 2001 From: Tibor Benke Date: Wed, 19 Aug 2015 12:22:11 +0200 Subject: [PATCH] test: add more test cases for Pattern deserialization Signed-off-by: Tibor Benke --- src/matcher/pattern/test.rs | 43 +++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/matcher/pattern/test.rs b/src/matcher/pattern/test.rs index 208692a..0d8d62f 100644 --- a/src/matcher/pattern/test.rs +++ b/src/matcher/pattern/test.rs @@ -70,3 +70,46 @@ fn test_given_json_pattern_when_its_pattern_is_invalid_then_pattern_cannot_be_bu let _ = Pattern::from_json(buffer).err().expect("We created a Pattern with an invalid pattern field"); } + +#[test] +fn test_given_json_pattern_when_test_messages_are_specified_then_they_are_parsed() { + let buffer = r#" +{ + "uuid": "9a49c47d-29e9-4072-be84-3b76c6814743", + "pattern": "Jun %{INT:day}", + "test_messages": [ + { + "message": "Jun 1", + "values": { + "day": "1" + } + } + ] +} +"#; + + let _ = Pattern::from_json(buffer).ok().expect("Failed to create a Pattern when test_messages are specified"); +} + +#[test] +fn test_given_json_pattern_with_invalid_uuid_when_we_try_to_create_pattern_then_it_fails() { + let buffer = r#" +{ + "uuid": "not valid uuid", + "pattern": "Jun %{INT:day}" +} +"#; + + let _ = Pattern::from_json(buffer).err().expect("We created a Pattern with an invalid uuid field"); +} + +#[test] +fn test_given_json_pattern_when_it_does_not_have_the_pattern_field_then_it_cannot_be_created() { + let buffer = r#" +{ + "uuid": "9a49c47d-29e9-4072-be84-3b76c6814743", +} +"#; + + let _ = Pattern::from_json(buffer).err().expect("We created a Pattern without the pattern field"); +}