{
  "namespace": "org.apache.beam.sdk.extensions.avro.schemas",
  "type": "record",
  "name": "TestAvro",
  "fields": [
    { "name": "bool_non_nullable", "type": "boolean"},
    { "name": "int", "type": ["int", "null"]},
    { "name": "long", "type": ["long", "null"]},
    { "name": "float", "type": ["float", "null"]},
    { "name": "double", "type": ["double", "null"]},
    { "name": "string", "type": ["string", "null"]},
    { "name": "bytes", "type": ["bytes", "null"]},
    { "name": "fixed", "type": {"type": "fixed", "size": 4, "name": "fixed4"} },
    { "name": "date", "type": {"type": "int", "logicalType": "date"} },
    { "name": "timestampMillis", "type": {"type": "long", "logicalType": "timestamp-millis"} },
    { "name": "TestEnum", "type": {"name": "TestEnum", "type": "enum", "symbols": ["abc","cde"] } },
    { "name": "row", "type": ["null", {
     "type": "record",
     "name": "TestAvroNested",
      "fields": [
        { "name": "BOOL_NON_NULLABLE", "type": "boolean"},
        { "name": "int", "type": ["int", "null"]}
         ]
       }]
    },
    { "name": "array", "type":["null", {"type": "array", "items": ["null", "TestAvroNested"] }]},
    { "name": "map", "type": ["null", {"type": "map", "values": ["null", "TestAvroNested"]}]}
  ]
}

