From 951daeff9887fa06cbbca98d661f13e83b2ff77c Mon Sep 17 00:00:00 2001 From: Anthony Miyaguchi Date: Tue, 25 Jun 2019 11:31:19 -0700 Subject: [PATCH] Make context required --- build.rs | 4 +-- src/ast.rs | 5 +--- src/avro.rs | 45 ++++++++++++---------------- src/bigquery.rs | 53 +++++++++++++++------------------ src/jsonschema.rs | 2 +- src/lib.rs | 6 ++-- src/main.rs | 20 +++++-------- src/traits.rs | 6 ++-- tests/resolve_method.rs | 28 +++++++++--------- tests/transpile_avro.rs | 58 ++++++++++++++++++------------------- tests/transpile_bigquery.rs | 58 ++++++++++++++++++------------------- 11 files changed, 131 insertions(+), 154 deletions(-) diff --git a/build.rs b/build.rs index 59394c3..1573037 100644 --- a/build.rs +++ b/build.rs @@ -83,7 +83,7 @@ fn avro_{name}() {{ }}; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_avro(&input, Some(context))); + assert_eq!(expected, convert_avro(&input, context)); }} "##, name = case.name, @@ -111,7 +111,7 @@ fn bigquery_{name}() {{ }}; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_bigquery(&input, Some(context))); + assert_eq!(expected, convert_bigquery(&input, context)); }} "##, name = case.name, diff --git a/src/ast.rs b/src/ast.rs index f216171..638b5f5 100644 --- a/src/ast.rs +++ b/src/ast.rs @@ -507,10 +507,7 @@ impl Tag { impl TranslateFrom for Tag { type Error = &'static str; - fn translate_from( - tag: jsonschema::Tag, - _context: Option, - ) -> Result { + fn translate_from(tag: jsonschema::Tag, _context: Context) -> Result { let mut tag = tag.type_into_ast(); tag.infer_name(); tag.infer_nullability(); diff --git a/src/avro.rs b/src/avro.rs index cfe3661..a172139 100644 --- a/src/avro.rs +++ b/src/avro.rs @@ -108,7 +108,7 @@ impl Default for Type { impl TranslateFrom for Type { type Error = &'static str; - fn translate_from(tag: ast::Tag, context: Option) -> Result { + fn translate_from(tag: ast::Tag, context: Context) -> Result { let mut tag = tag; if tag.is_root { // Name inference is run only from the root for the proper @@ -127,20 +127,17 @@ impl TranslateFrom for Type { ast::Atom::Number => Primitive::Double, ast::Atom::String => Primitive::String, ast::Atom::Datetime => Primitive::String, - ast::Atom::JSON => { - let context = context.unwrap(); - match context.resolve_method { - ResolveMethod::Cast => { - warn!( - "{} - Treating subschema as JSON string", - tag.fully_qualified_name() - ); - Primitive::String - } - ResolveMethod::Drop => return Err("json atom"), - ResolveMethod::Panic => panic!("json atom"), + ast::Atom::JSON => match context.resolve_method { + ResolveMethod::Cast => { + warn!( + "{} - Treating subschema as JSON string", + tag.fully_qualified_name() + ); + Primitive::String } - } + ResolveMethod::Drop => return Err("json atom"), + ResolveMethod::Panic => panic!("json atom"), + }, }), ast::Type::Object(object) => { let mut fields: Vec = if object.fields.is_empty() { @@ -168,7 +165,6 @@ impl TranslateFrom for Type { }; if fields.is_empty() { - let context = context.unwrap(); match context.resolve_method { ResolveMethod::Cast => { warn!( @@ -209,17 +205,14 @@ impl TranslateFrom for Type { })), Err(_) => return Err("untyped map value"), }, - _ => { - let context = context.unwrap(); - match context.resolve_method { - ResolveMethod::Cast => { - warn!("{} - Unsupported conversion", tag.fully_qualified_name()); - Type::Primitive(Primitive::String) - } - ResolveMethod::Panic => panic!(), - ResolveMethod::Drop => return Err("unsupported type"), + _ => match context.resolve_method { + ResolveMethod::Cast => { + warn!("{} - Unsupported conversion", tag.fully_qualified_name()); + Type::Primitive(Primitive::String) } - } + ResolveMethod::Panic => panic!(), + ResolveMethod::Drop => return Err("unsupported type"), + }, }; if tag.nullable && !tag.is_null() { Ok(Type::Union(vec![ @@ -251,7 +244,7 @@ mod tests { resolve_method: ResolveMethod::Cast, }; let tag: ast::Tag = serde_json::from_value(ast).unwrap(); - let from_tag = Type::translate_from(tag, Some(context)).unwrap(); + let from_tag = Type::translate_from(tag, context).unwrap(); assert_eq!(avro, json!(from_tag)) } diff --git a/src/bigquery.rs b/src/bigquery.rs index 836a5e8..30be3f1 100644 --- a/src/bigquery.rs +++ b/src/bigquery.rs @@ -58,7 +58,7 @@ pub struct Tag { impl TranslateFrom for Tag { type Error = &'static str; - fn translate_from(tag: ast::Tag, context: Option) -> Result { + fn translate_from(tag: ast::Tag, context: Context) -> Result { let mut tag = tag; tag.collapse(); tag.infer_name(); @@ -70,22 +70,19 @@ impl TranslateFrom for Tag { ast::Atom::Number => Atom::Float64, ast::Atom::String => Atom::String, ast::Atom::Datetime => Atom::Timestamp, - ast::Atom::JSON => { - let context = context.unwrap(); - match context.resolve_method { - ResolveMethod::Cast => { - warn!( - "{} - Treating subschema as JSON string", - tag.fully_qualified_name() - ); - Atom::String - } - ResolveMethod::Panic => panic!(), - ResolveMethod::Drop => { - return Err("json atom"); - } + ast::Atom::JSON => match context.resolve_method { + ResolveMethod::Cast => { + warn!( + "{} - Treating subschema as JSON string", + tag.fully_qualified_name() + ); + Atom::String } - } + ResolveMethod::Panic => panic!(), + ResolveMethod::Drop => { + return Err("json atom"); + } + }, }), ast::Type::Object(object) => { let fields: HashMap> = if object.fields.is_empty() { @@ -101,7 +98,6 @@ impl TranslateFrom for Tag { }; if fields.is_empty() { - let context = context.unwrap(); match context.resolve_method { ResolveMethod::Cast => { warn!( @@ -133,17 +129,14 @@ impl TranslateFrom for Tag { .collect(); Type::Record(Record { fields }) } - _ => { - let context = context.unwrap(); - match context.resolve_method { - ResolveMethod::Cast => { - warn!("{} - Unsupported conversion", tag.fully_qualified_name()); - Type::Atom(Atom::String) - } - ResolveMethod::Panic => panic!(), - ResolveMethod::Drop => return Err("unsupported type"), + _ => match context.resolve_method { + ResolveMethod::Cast => { + warn!("{} - Unsupported conversion", tag.fully_qualified_name()); + Type::Atom(Atom::String) } - } + ResolveMethod::Panic => panic!(), + ResolveMethod::Drop => return Err("unsupported type"), + }, }; let mode = if tag.is_array() || tag.is_map() { @@ -176,7 +169,7 @@ pub enum Schema { impl TranslateFrom for Schema { type Error = &'static str; - fn translate_from(tag: ast::Tag, context: Option) -> Result { + fn translate_from(tag: ast::Tag, context: Context) -> Result { let mut bq_tag = Tag::translate_from(tag.clone(), context).unwrap(); match *bq_tag.data_type { // Maps and arrays are both treated as a Record type with different @@ -251,7 +244,7 @@ mod tests { resolve_method: ResolveMethod::Cast, }; let ast_tag: ast::Tag = serde_json::from_value(data).unwrap(); - let bq_tag: Tag = ast_tag.translate_into(Some(context)).unwrap(); + let bq_tag: Tag = ast_tag.translate_into(context).unwrap(); json!(bq_tag) } @@ -260,7 +253,7 @@ mod tests { resolve_method: ResolveMethod::Cast, }; let ast_tag: ast::Tag = serde_json::from_value(data).unwrap(); - let bq_tag: Schema = ast_tag.translate_into(Some(context)).unwrap(); + let bq_tag: Schema = ast_tag.translate_into(context).unwrap(); json!(bq_tag) } diff --git a/src/jsonschema.rs b/src/jsonschema.rs index f701dd7..62c10fe 100644 --- a/src/jsonschema.rs +++ b/src/jsonschema.rs @@ -235,7 +235,7 @@ mod tests { resolve_method: ResolveMethod::Cast, }; let schema: Tag = serde_json::from_value(data).unwrap(); - let ast: ast::Tag = schema.translate_into(Some(context)).unwrap(); + let ast: ast::Tag = schema.translate_into(context).unwrap(); json!(ast) } diff --git a/src/lib.rs b/src/lib.rs index d2c82fb..cd919cb 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -27,7 +27,7 @@ pub struct Context { pub resolve_method: ResolveMethod, } -fn into_ast(input: &Value, context: Option) -> ast::Tag { +fn into_ast(input: &Value, context: Context) -> ast::Tag { let jsonschema: jsonschema::Tag = match serde_json::from_value(json!(input)) { Ok(tag) => tag, Err(e) => panic!(format!("{:#?}", e)), @@ -36,13 +36,13 @@ fn into_ast(input: &Value, context: Option) -> ast::Tag { } /// Convert JSON Schema into an Avro compatible schema -pub fn convert_avro(input: &Value, context: Option) -> Value { +pub fn convert_avro(input: &Value, context: Context) -> Value { let avro = avro::Type::translate_from(into_ast(input, context), context).unwrap(); json!(avro) } /// Convert JSON Schema into a BigQuery compatible schema -pub fn convert_bigquery(input: &Value, context: Option) -> Value { +pub fn convert_bigquery(input: &Value, context: Context) -> Value { let bq = bigquery::Schema::translate_from(into_ast(input, context), context).unwrap(); json!(bq) } diff --git a/src/main.rs b/src/main.rs index d4fe6c4..396104e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -48,19 +48,13 @@ fn main() { None => Box::new(io::stdin()), }; let data: Value = serde_json::from_reader(reader).unwrap(); - let context: Option = match matches.value_of("resolve") { - Some(resolve) => { - let method = match resolve { - "cast" => ResolveMethod::Cast, - "panic" => ResolveMethod::Panic, - "drop" => ResolveMethod::Drop, - _ => panic!("Unknown resolution method!"), - }; - Some(Context { - resolve_method: method, - }) - } - None => None, + let context = Context { + resolve_method: match matches.value_of("resolve").unwrap() { + "cast" => ResolveMethod::Cast, + "panic" => ResolveMethod::Panic, + "drop" => ResolveMethod::Drop, + _ => panic!("Unknown resolution method!"), + }, }; let output = match matches.value_of("type").unwrap() { diff --git a/src/traits.rs b/src/traits.rs index 0002fde..cb3221e 100644 --- a/src/traits.rs +++ b/src/traits.rs @@ -4,13 +4,13 @@ use super::Context; pub trait TranslateFrom: Sized { type Error; - fn translate_from(value: T, context: Option) -> Result; + fn translate_from(value: T, context: Context) -> Result; } pub trait TranslateInto: Sized { type Error; - fn translate_into(self, context: Option) -> Result; + fn translate_into(self, context: Context) -> Result; } // TranslateFrom implies TranslateInto @@ -19,7 +19,7 @@ where U: TranslateFrom, { type Error = U::Error; - fn translate_into(self, context: Option) -> Result { + fn translate_into(self, context: Context) -> Result { U::translate_from(self, context) } } diff --git a/tests/resolve_method.rs b/tests/resolve_method.rs index 04082a1..8e7eb3d 100644 --- a/tests/resolve_method.rs +++ b/tests/resolve_method.rs @@ -5,7 +5,7 @@ use serde_json::Value; #[test] fn test_bigquery_object_error_resolution() { let mut expected: Value; - let mut context: Option; + let mut context: Context; let input: Value = serde_json::from_str( r#" @@ -38,9 +38,9 @@ fn test_bigquery_object_error_resolution() { ) .unwrap(); - context = Some(Context { + context = Context { resolve_method: ResolveMethod::Cast, - }); + }; assert_eq!(expected, convert_bigquery(&input, context)); expected = serde_json::from_str( @@ -55,21 +55,21 @@ fn test_bigquery_object_error_resolution() { "#, ) .unwrap(); - context = Some(Context { + context = Context { resolve_method: ResolveMethod::Drop, - }); + }; assert_eq!(expected, convert_bigquery(&input, context)); - context = Some(Context { + context = Context { resolve_method: ResolveMethod::Panic, - }); + }; assert!(std::panic::catch_unwind(|| convert_bigquery(&input, context)).is_err()); } #[test] fn test_avro_object_error_resolution() { let mut expected: Value; - let mut context: Option; + let mut context: Context; let input: Value = serde_json::from_str( r#" @@ -112,9 +112,9 @@ fn test_avro_object_error_resolution() { ) .unwrap(); - context = Some(Context { + context = Context { resolve_method: ResolveMethod::Cast, - }); + }; assert_eq!(expected, convert_avro(&input, context)); expected = serde_json::from_str( @@ -136,13 +136,13 @@ fn test_avro_object_error_resolution() { "#, ) .unwrap(); - context = Some(Context { + context = Context { resolve_method: ResolveMethod::Drop, - }); + }; assert_eq!(expected, convert_avro(&input, context)); - context = Some(Context { + context = Context { resolve_method: ResolveMethod::Panic, - }); + }; assert!(std::panic::catch_unwind(|| convert_avro(&input, context)).is_err()); } diff --git a/tests/transpile_avro.rs b/tests/transpile_avro.rs index c725071..6003440 100644 --- a/tests/transpile_avro.rs +++ b/tests/transpile_avro.rs @@ -26,7 +26,7 @@ fn avro_test_array_with_atomics() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_avro(&input, Some(context))); + assert_eq!(expected, convert_avro(&input, context)); } #[test] @@ -88,7 +88,7 @@ fn avro_test_array_with_complex() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_avro(&input, Some(context))); + assert_eq!(expected, convert_avro(&input, context)); } #[test] @@ -108,7 +108,7 @@ fn avro_test_atomic() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_avro(&input, Some(context))); + assert_eq!(expected, convert_avro(&input, context)); } #[test] @@ -136,7 +136,7 @@ fn avro_test_atomic_with_null() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_avro(&input, Some(context))); + assert_eq!(expected, convert_avro(&input, context)); } #[test] @@ -159,7 +159,7 @@ fn avro_test_incompatible_atomic_multitype() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_avro(&input, Some(context))); + assert_eq!(expected, convert_avro(&input, context)); } #[test] @@ -188,7 +188,7 @@ fn avro_test_incompatible_atomic_multitype_with_null() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_avro(&input, Some(context))); + assert_eq!(expected, convert_avro(&input, context)); } #[test] @@ -209,7 +209,7 @@ fn avro_test_datetime() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_avro(&input, Some(context))); + assert_eq!(expected, convert_avro(&input, context)); } #[test] @@ -235,7 +235,7 @@ fn avro_test_map_with_atomics() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_avro(&input, Some(context))); + assert_eq!(expected, convert_avro(&input, context)); } #[test] @@ -297,7 +297,7 @@ fn avro_test_map_with_complex() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_avro(&input, Some(context))); + assert_eq!(expected, convert_avro(&input, context)); } #[test] @@ -326,7 +326,7 @@ fn avro_test_map_with_pattern_properties() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_avro(&input, Some(context))); + assert_eq!(expected, convert_avro(&input, context)); } #[test] @@ -357,7 +357,7 @@ fn avro_test_map_with_pattern_and_additional_properties() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_avro(&input, Some(context))); + assert_eq!(expected, convert_avro(&input, context)); } #[test] @@ -389,7 +389,7 @@ fn avro_test_incompatible_map_with_pattern_properties() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_avro(&input, Some(context))); + assert_eq!(expected, convert_avro(&input, context)); } #[test] @@ -420,7 +420,7 @@ fn avro_test_incompatible_map_with_pattern_and_additional_properties() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_avro(&input, Some(context))); + assert_eq!(expected, convert_avro(&input, context)); } #[test] @@ -505,7 +505,7 @@ fn avro_test_object_with_atomics_is_sorted() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_avro(&input, Some(context))); + assert_eq!(expected, convert_avro(&input, context)); } #[test] @@ -567,7 +567,7 @@ fn avro_test_object_with_atomics_required() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_avro(&input, Some(context))); + assert_eq!(expected, convert_avro(&input, context)); } #[test] @@ -638,7 +638,7 @@ fn avro_test_object_with_atomics_required_with_null() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_avro(&input, Some(context))); + assert_eq!(expected, convert_avro(&input, context)); } #[test] @@ -714,7 +714,7 @@ fn avro_test_object_with_complex() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_avro(&input, Some(context))); + assert_eq!(expected, convert_avro(&input, context)); } #[test] @@ -735,7 +735,7 @@ fn avro_test_object_empty_record() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_avro(&input, Some(context))); + assert_eq!(expected, convert_avro(&input, context)); } #[test] @@ -762,7 +762,7 @@ fn avro_test_oneof_atomic() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_avro(&input, Some(context))); + assert_eq!(expected, convert_avro(&input, context)); } #[test] @@ -794,7 +794,7 @@ fn avro_test_oneof_atomic_with_null() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_avro(&input, Some(context))); + assert_eq!(expected, convert_avro(&input, context)); } #[test] @@ -821,7 +821,7 @@ fn avro_test_incompatible_oneof_atomic() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_avro(&input, Some(context))); + assert_eq!(expected, convert_avro(&input, context)); } #[test] @@ -856,7 +856,7 @@ fn avro_test_incompatible_oneof_atomic_with_null() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_avro(&input, Some(context))); + assert_eq!(expected, convert_avro(&input, context)); } #[test] @@ -926,7 +926,7 @@ fn avro_test_oneof_object_with_atomics() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_avro(&input, Some(context))); + assert_eq!(expected, convert_avro(&input, context)); } #[test] @@ -1008,7 +1008,7 @@ fn avro_test_oneof_object_merge() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_avro(&input, Some(context))); + assert_eq!(expected, convert_avro(&input, context)); } #[test] @@ -1151,7 +1151,7 @@ fn avro_test_oneof_object_merge_with_complex() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_avro(&input, Some(context))); + assert_eq!(expected, convert_avro(&input, context)); } #[test] @@ -1183,7 +1183,7 @@ fn avro_test_incompatible_oneof_atomic_and_object() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_avro(&input, Some(context))); + assert_eq!(expected, convert_avro(&input, context)); } #[test] @@ -1220,7 +1220,7 @@ fn avro_test_incompatible_oneof_object() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_avro(&input, Some(context))); + assert_eq!(expected, convert_avro(&input, context)); } #[test] @@ -1273,7 +1273,7 @@ fn avro_test_incompatible_oneof_object_with_complex() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_avro(&input, Some(context))); + assert_eq!(expected, convert_avro(&input, context)); } #[test] @@ -1355,5 +1355,5 @@ fn avro_test_oneof_object_merge_nullability() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_avro(&input, Some(context))); + assert_eq!(expected, convert_avro(&input, context)); } diff --git a/tests/transpile_bigquery.rs b/tests/transpile_bigquery.rs index fe5ef7e..70e9ebc 100644 --- a/tests/transpile_bigquery.rs +++ b/tests/transpile_bigquery.rs @@ -27,7 +27,7 @@ fn bigquery_test_array_with_atomics() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_bigquery(&input, Some(context))); + assert_eq!(expected, convert_bigquery(&input, context)); } #[test] @@ -74,7 +74,7 @@ fn bigquery_test_array_with_complex() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_bigquery(&input, Some(context))); + assert_eq!(expected, convert_bigquery(&input, context)); } #[test] @@ -98,7 +98,7 @@ fn bigquery_test_atomic() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_bigquery(&input, Some(context))); + assert_eq!(expected, convert_bigquery(&input, context)); } #[test] @@ -125,7 +125,7 @@ fn bigquery_test_atomic_with_null() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_bigquery(&input, Some(context))); + assert_eq!(expected, convert_bigquery(&input, context)); } #[test] @@ -152,7 +152,7 @@ fn bigquery_test_incompatible_atomic_multitype() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_bigquery(&input, Some(context))); + assert_eq!(expected, convert_bigquery(&input, context)); } #[test] @@ -180,7 +180,7 @@ fn bigquery_test_incompatible_atomic_multitype_with_null() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_bigquery(&input, Some(context))); + assert_eq!(expected, convert_bigquery(&input, context)); } #[test] @@ -205,7 +205,7 @@ fn bigquery_test_datetime() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_bigquery(&input, Some(context))); + assert_eq!(expected, convert_bigquery(&input, context)); } #[test] @@ -244,7 +244,7 @@ fn bigquery_test_map_with_atomics() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_bigquery(&input, Some(context))); + assert_eq!(expected, convert_bigquery(&input, context)); } #[test] @@ -303,7 +303,7 @@ fn bigquery_test_map_with_complex() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_bigquery(&input, Some(context))); + assert_eq!(expected, convert_bigquery(&input, context)); } #[test] @@ -345,7 +345,7 @@ fn bigquery_test_map_with_pattern_properties() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_bigquery(&input, Some(context))); + assert_eq!(expected, convert_bigquery(&input, context)); } #[test] @@ -389,7 +389,7 @@ fn bigquery_test_map_with_pattern_and_additional_properties() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_bigquery(&input, Some(context))); + assert_eq!(expected, convert_bigquery(&input, context)); } #[test] @@ -434,7 +434,7 @@ fn bigquery_test_incompatible_map_with_pattern_properties() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_bigquery(&input, Some(context))); + assert_eq!(expected, convert_bigquery(&input, context)); } #[test] @@ -478,7 +478,7 @@ fn bigquery_test_incompatible_map_with_pattern_and_additional_properties() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_bigquery(&input, Some(context))); + assert_eq!(expected, convert_bigquery(&input, context)); } #[test] @@ -531,7 +531,7 @@ fn bigquery_test_object_with_atomics_is_sorted() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_bigquery(&input, Some(context))); + assert_eq!(expected, convert_bigquery(&input, context)); } #[test] @@ -580,7 +580,7 @@ fn bigquery_test_object_with_atomics_required() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_bigquery(&input, Some(context))); + assert_eq!(expected, convert_bigquery(&input, context)); } #[test] @@ -632,7 +632,7 @@ fn bigquery_test_object_with_atomics_required_with_null() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_bigquery(&input, Some(context))); + assert_eq!(expected, convert_bigquery(&input, context)); } #[test] @@ -681,7 +681,7 @@ fn bigquery_test_object_with_complex() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_bigquery(&input, Some(context))); + assert_eq!(expected, convert_bigquery(&input, context)); } #[test] @@ -706,7 +706,7 @@ fn bigquery_test_object_empty_record() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_bigquery(&input, Some(context))); + assert_eq!(expected, convert_bigquery(&input, context)); } #[test] @@ -737,7 +737,7 @@ fn bigquery_test_oneof_atomic() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_bigquery(&input, Some(context))); + assert_eq!(expected, convert_bigquery(&input, context)); } #[test] @@ -768,7 +768,7 @@ fn bigquery_test_oneof_atomic_with_null() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_bigquery(&input, Some(context))); + assert_eq!(expected, convert_bigquery(&input, context)); } #[test] @@ -799,7 +799,7 @@ fn bigquery_test_incompatible_oneof_atomic() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_bigquery(&input, Some(context))); + assert_eq!(expected, convert_bigquery(&input, context)); } #[test] @@ -833,7 +833,7 @@ fn bigquery_test_incompatible_oneof_atomic_with_null() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_bigquery(&input, Some(context))); + assert_eq!(expected, convert_bigquery(&input, context)); } #[test] @@ -885,7 +885,7 @@ fn bigquery_test_oneof_object_with_atomics() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_bigquery(&input, Some(context))); + assert_eq!(expected, convert_bigquery(&input, context)); } #[test] @@ -942,7 +942,7 @@ fn bigquery_test_oneof_object_merge() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_bigquery(&input, Some(context))); + assert_eq!(expected, convert_bigquery(&input, context)); } #[test] @@ -1037,7 +1037,7 @@ fn bigquery_test_oneof_object_merge_with_complex() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_bigquery(&input, Some(context))); + assert_eq!(expected, convert_bigquery(&input, context)); } #[test] @@ -1073,7 +1073,7 @@ fn bigquery_test_incompatible_oneof_atomic_and_object() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_bigquery(&input, Some(context))); + assert_eq!(expected, convert_bigquery(&input, context)); } #[test] @@ -1114,7 +1114,7 @@ fn bigquery_test_incompatible_oneof_object() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_bigquery(&input, Some(context))); + assert_eq!(expected, convert_bigquery(&input, context)); } #[test] @@ -1171,7 +1171,7 @@ fn bigquery_test_incompatible_oneof_object_with_complex() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_bigquery(&input, Some(context))); + assert_eq!(expected, convert_bigquery(&input, context)); } #[test] @@ -1234,5 +1234,5 @@ fn bigquery_test_oneof_object_merge_nullability() { }; let input: Value = serde_json::from_str(input_data).unwrap(); let expected: Value = serde_json::from_str(expected_data).unwrap(); - assert_eq!(expected, convert_bigquery(&input, Some(context))); + assert_eq!(expected, convert_bigquery(&input, context)); }