diff --git a/404.html b/404.html index b25e28d..f055ad1 100644 --- a/404.html +++ b/404.html @@ -81,7 +81,7 @@

Page Not Found

diff --git a/pact-avro-plugin/latest/getting_started.html b/pact-avro-plugin/latest/getting_started.html index 8e09741..e4bc004 100644 --- a/pact-avro-plugin/latest/getting_started.html +++ b/pact-avro-plugin/latest/getting_started.html @@ -127,7 +127,7 @@

Installation

Plugin installation requires the plugin executable binary as well as the plugin manifest file to be unpacked/copied into a Pact plugin directory. By default, this will be .pact/plugins/avro-<version> in the home directory (i.e. -$HOME/.pact/plugins/avro-0.0.4 for version 0.0.4).

+$HOME/.pact/plugins/avro-0.0.5 for version 0.0.5).

Automated

@@ -171,7 +171,7 @@

Manual

diff --git a/pact-avro-plugin/latest/index.html b/pact-avro-plugin/latest/index.html index 5c2ead1..e258365 100644 --- a/pact-avro-plugin/latest/index.html +++ b/pact-avro-plugin/latest/index.html @@ -172,7 +172,7 @@

Support

diff --git a/pact-avro-plugin/latest/logging.html b/pact-avro-plugin/latest/logging.html index 3442dbe..043a2f0 100644 --- a/pact-avro-plugin/latest/logging.html +++ b/pact-avro-plugin/latest/logging.html @@ -133,7 +133,7 @@

Logging

diff --git a/pact-avro-plugin/latest/testing.html b/pact-avro-plugin/latest/testing.html index d014620..ded5ada 100644 --- a/pact-avro-plugin/latest/testing.html +++ b/pact-avro-plugin/latest/testing.html @@ -444,7 +444,7 @@

Provider

diff --git a/search-index.js b/search-index.js index 25599f6..964b135 100644 --- a/search-index.js +++ b/search-index.js @@ -1 +1 @@ -antoraSearch.initSearch(lunr, {"index":{"version":"2.3.9","fields":["title","name","text","component"],"fieldVectors":[["title/1-1",[0,19.436]],["name/1-1",[]],["text/1-1",[]],["component/1-1",[]],["title/1-2",[1,25.2]],["name/1-2",[]],["text/1-2",[]],["component/1-2",[]],["title/1-3",[2,25.2]],["name/1-3",[]],["text/1-3",[]],["component/1-3",[]],["title/1",[3,14.577,4,18.9]],["name/1",[5,1.163]],["text/1",[0,2.985,6,0.948,7,1.701,8,1.701,9,1.081,10,0.864,11,1.701,12,1.701,13,1.701,14,1.312,15,1.312,16,2.072,17,1.312,18,0.868,19,1.056,20,1.701,21,2.214,22,2.527,23,0.864,24,1.701,25,0.864,26,0.864,27,1.949,28,1.312,29,1.949,30,1.701,31,1.701,32,1.056,33,1.701,34,2.527,35,2.527,36,2.527,37,1.569,38,1.701,39,1.701,40,1.701,41,1.701,42,1.312,43,1.312,44,1.701,45,2.326,46,1.569,47,1.701,48,1.701,49,1.701,50,2.527,51,1.949,52,3.015,53,0.674,54,1.312,55,1.701,56,2.527,57,1.701,58,2.527,59,1.701,60,2.527,61,1.701,62,1.701,63,1.701,64,1.056,65,1.701,66,1.701,67,1.701,68,1.312,69,1.312,70,1.701,71,1.312,72,1.312]],["component/1",[6,0.26,9,0.325,53,0.26]],["title/2-1",[26,9.604,73,14.577]],["name/2-1",[]],["text/2-1",[]],["component/2-1",[]],["title/2-2",[73,14.577,74,18.9]],["name/2-2",[]],["text/2-2",[]],["component/2-2",[]],["title/2-3",[26,12.805]],["name/2-3",[]],["text/2-3",[]],["component/2-3",[]],["title/2",[75,19.436]],["name/2",[76,1.163]],["text/2",[6,0.725,9,1.232,10,1.987,18,0.833,19,1.505,21,1.505,23,1.232,25,1.232,26,1.65,27,1.87,42,1.87,43,1.87,51,2.504,53,0.874,64,1.505,77,1.87,78,2.424,79,2.424,80,1.87,81,2.424,82,1.87,83,2.424,84,2.424,85,2.424,86,3.247,87,3.247,88,2.424,89,2.424,90,3.247,91,1.87,92,2.424,93,2.424,94,2.424,95,2.424]],["component/2",[6,0.26,9,0.325,53,0.26]],["title/3",[96,15.64]],["name/3",[96,0.722]],["text/3",[6,0.846,10,1.319,16,1.612,32,1.612,37,2.351,45,2.003,46,2.109,68,2.003,69,2.921,71,2.003,72,2.003,96,2.494,97,2.597,98,2.597,99,2.597,100,2.597,101,3.398,102,2.597,103,2.597,104,2.597,105,2.597,106,2.597,107,2.597,108,2.597,109,2.597,110,2.597,111,2.597,112,2.597,113,2.597,114,2.597,115,2.597,116,2.597,117,2.597]],["component/3",[6,0.26,9,0.325,53,0.26]],["title/4-1",[25,12.805]],["name/4-1",[]],["text/4-1",[]],["component/4-1",[]],["title/4-2",[18,5.194,53,3.378,118,11.662]],["name/4-2",[]],["text/4-2",[]],["component/4-2",[]],["title/4-3",[23,12.805]],["name/4-3",[]],["text/4-3",[]],["component/4-3",[]],["title/4",[18,8.656]],["name/4",[18,0.4]],["text/4",[3,0.376,6,0.109,9,0.487,10,0.45,14,0.376,15,2.682,16,1.213,17,0.683,18,1.051,19,1.082,21,1.945,23,1.169,25,1.086,28,0.376,29,0.683,32,0.55,37,0.302,46,0.302,53,0.109,54,0.683,64,2.781,75,0.376,77,0.94,80,0.376,82,0.376,91,0.683,118,0.683,119,0.487,120,0.487,121,0.487,122,0.886,123,0.886,124,0.487,125,0.886,126,0.886,127,0.886,128,0.487,129,0.487,130,0.487,131,0.487,132,0.487,133,0.487,134,0.886,135,0.886,136,0.886,137,1.954,138,1.501,139,0.487,140,0.487,141,0.487,142,0.487,143,0.487,144,0.487,145,0.487,146,0.487,147,0.487,148,1.219,149,0.487,150,0.487,151,1.744,152,0.487,153,0.487,154,3.676,155,0.487,156,1.219,157,0.487,158,0.487,159,0.886,160,0.487,161,0.487,162,1.219,163,0.487,164,0.886,165,0.487,166,0.886,167,0.886,168,1.954,169,1.501,170,2.138,171,1.501,172,0.886,173,2.3,174,0.487,175,0.487,176,0.487,177,0.487,178,0.487,179,0.487,180,0.886,181,0.487,182,0.487,183,1.744,184,0.487,185,0.487,186,0.886,187,0.487,188,0.487,189,1.501,190,0.487,191,1.501,192,1.744,193,0.487,194,0.886,195,0.487,196,0.487,197,0.487,198,1.744,199,0.487,200,0.487,201,0.487,202,0.487,203,1.744,204,0.487,205,0.487,206,0.487,207,0.487,208,0.487,209,0.487,210,0.886,211,0.487,212,0.487,213,0.487,214,0.487,215,1.501,216,0.487,217,0.487,218,0.886,219,0.487,220,0.886,221,0.487,222,0.487,223,0.487,224,0.487,225,0.886,226,0.886,227,0.487,228,0.487,229,0.487,230,0.886,231,0.487,232,0.886,233,0.487,234,0.487,235,0.487,236,1.219,237,1.219,238,1.219,239,1.219,240,0.487,241,0.487,242,0.487,243,1.219,244,0.487,245,1.501,246,1.501,247,0.886,248,0.487,249,1.744,250,0.487,251,0.487,252,0.487,253,0.487,254,0.487,255,0.886,256,0.487,257,0.487,258,0.487,259,0.487,260,0.487,261,0.487,262,0.487,263,0.487,264,0.487,265,0.487,266,0.487,267,0.886,268,0.487,269,0.487,270,0.487,271,0.487,272,0.487,273,0.487,274,0.487,275,0.487,276,0.886,277,1.744,278,0.487,279,0.487,280,0.487,281,0.487,282,2.444,283,0.487,284,0.487,285,0.886,286,0.487,287,0.487,288,0.487,289,0.886,290,0.487,291,0.487,292,0.487,293,0.487,294,0.487,295,0.487,296,0.487,297,0.487,298,0.487,299,0.487,300,0.487,301,0.487,302,3.522,303,0.487,304,0.487,305,0.487,306,0.487,307,0.487,308,0.487,309,0.487,310,0.487,311,0.487,312,0.487,313,0.487,314,0.487,315,0.487,316,0.487,317,0.487,318,0.487,319,0.487,320,0.487,321,0.487,322,0.487,323,0.487,324,0.487,325,0.487,326,0.487,327,0.487,328,0.487,329,1.744,330,1.501,331,0.886,332,0.886,333,0.487,334,0.886,335,0.886,336,0.886,337,0.487,338,0.487,339,0.487,340,0.487,341,0.886,342,0.487,343,0.487,344,0.487,345,0.487,346,0.487,347,0.487,348,0.487,349,0.886,350,0.487,351,0.487,352,0.487,353,0.487,354,0.487,355,0.487,356,0.487,357,0.886,358,0.487,359,0.487,360,0.487,361,0.886,362,0.487,363,0.487,364,0.487,365,0.886,366,0.487,367,0.487,368,0.886,369,0.487,370,0.487,371,0.487,372,0.487]],["component/4",[6,0.26,9,0.325,53,0.26]]],"invertedIndex":[["",{"_index":64,"title":{},"name":{},"text":{"1":{},"2":{},"4":{}},"component":{}}],["0.0.4",{"_index":50,"title":{},"name":{},"text":{"1":{}},"component":{}}],["1",{"_index":215,"title":{},"name":{},"text":{"4":{}},"component":{}}],["1.8",{"_index":223,"title":{},"name":{},"text":{"4":{}},"component":{}}],["1.8d",{"_index":353,"title":{},"name":{},"text":{"4":{}},"component":{}}],["100l",{"_index":351,"title":{},"name":{},"text":{"4":{}},"component":{}}],["121",{"_index":228,"title":{},"name":{},"text":{"4":{}},"component":{}}],["15.8",{"_index":221,"title":{},"name":{},"text":{"4":{}},"component":{}}],["15.8f",{"_index":352,"title":{},"name":{},"text":{"4":{}},"component":{}}],["17",{"_index":85,"title":{},"name":{},"text":{"2":{}},"component":{}}],["1l",{"_index":358,"title":{},"name":{},"text":{"4":{}},"component":{}}],["2",{"_index":232,"title":{},"name":{},"text":{"4":{}},"component":{}}],["2l",{"_index":359,"title":{},"name":{},"text":{"4":{}},"component":{}}],["30",{"_index":114,"title":{},"name":{},"text":{"3":{}},"component":{}}],["4b8c",{"_index":237,"title":{},"name":{},"text":{"4":{}},"component":{}}],["50mb",{"_index":111,"title":{},"name":{},"text":{"3":{}},"component":{}}],["8337",{"_index":238,"title":{},"name":{},"text":{"4":{}},"component":{}}],["8cbd",{"_index":236,"title":{},"name":{},"text":{"4":{}},"component":{}}],["97ae385ac45d",{"_index":239,"title":{},"name":{},"text":{"4":{}},"component":{}}],["abstract",{"_index":131,"title":{},"name":{},"text":{"4":{}},"component":{}}],["address",{"_index":186,"title":{},"name":{},"text":{"4":{}},"component":{}}],["against",{"_index":293,"title":{},"name":{},"text":{"4":{}},"component":{}}],["application/*+avro",{"_index":12,"title":{},"name":{},"text":{"1":{}},"component":{}}],["array",{"_index":193,"title":{},"name":{},"text":{"4":{}},"component":{}}],["arraybytetoavrorecord(class",{"_index":278,"title":{},"name":{},"text":{"4":{}},"component":{}}],["arraybytetoavrorecord(order.class",{"_index":250,"title":{},"name":{},"text":{"4":{}},"component":{}}],["arraylist",{"_index":284,"title":{},"name":{},"text":{"4":{}},"component":{}}],["assertdoesnotthrow",{"_index":274,"title":{},"name":{},"text":{"4":{}},"component":{}}],["assertfirstorder(ord",{"_index":252,"title":{},"name":{},"text":{"4":{}},"component":{}}],["assertthat(idrules).hassize(1",{"_index":265,"title":{},"name":{},"text":{"4":{}},"component":{}}],["assertthat(idrules.get(0)).extracting(\"name\").isequalto(\"not",{"_index":266,"title":{},"name":{},"text":{"4":{}},"component":{}}],["assertthat(messagecontents.getcontents().getcontenttyp",{"_index":253,"title":{},"name":{},"text":{"4":{}},"component":{}}],["assertthat(messagecontents.getcontents().getcontenttypehint",{"_index":256,"title":{},"name":{},"text":{"4":{}},"component":{}}],["assertthat(name0rules).hassize(1",{"_index":270,"title":{},"name":{},"text":{"4":{}},"component":{}}],["assertthat(name0rules.get(0)).extracting(\"name\").isequalto(\"not",{"_index":271,"title":{},"name":{},"text":{"4":{}},"component":{}}],["assertthat(order.getuserid",{"_index":272,"title":{},"name":{},"text":{"4":{}},"component":{}}],["assertthat(rulecategorymap).hassize(1",{"_index":261,"title":{},"name":{},"text":{"4":{}},"component":{}}],["asynchron",{"_index":28,"title":{},"name":{},"text":{"1":{},"4":{}},"component":{}}],["au.com.dius.pact.core.model.contenttypehint",{"_index":303,"title":{},"name":{},"text":{"4":{}},"component":{}}],["au.com.dius.pact.provider.junit5.messagetesttarget",{"_index":306,"title":{},"name":{},"text":{"4":{}},"component":{}}],["au.com.dius.pact.provider.junit5.pactverificationcontext",{"_index":307,"title":{},"name":{},"text":{"4":{}},"component":{}}],["au.com.dius.pact.provider.junit5.pactverificationinvocationcontextprovid",{"_index":308,"title":{},"name":{},"text":{"4":{}},"component":{}}],["au.com.dius.pact.provider.junitsupport.loader.pactbrok",{"_index":310,"title":{},"name":{},"text":{"4":{}},"component":{}}],["au.com.dius.pact.provider.junitsupport.provid",{"_index":309,"title":{},"name":{},"text":{"4":{}},"component":{}}],["au.com.dius.pact.provider.messageandmetadata",{"_index":304,"title":{},"name":{},"text":{"4":{}},"component":{}}],["au.com.dius.pact.provider.pactverifyprovid",{"_index":305,"title":{},"name":{},"text":{"4":{}},"component":{}}],["autom",{"_index":1,"title":{"1-2":{}},"name":{},"text":{},"component":{}}],["avro",{"_index":53,"title":{"4-2":{}},"name":{},"text":{"1":{},"2":{},"4":{}},"component":{"1":{},"2":{},"3":{},"4":{}}}],["avro/binari",{"_index":210,"title":{},"name":{},"text":{"4":{}},"component":{}}],["avro/binary,application/avro",{"_index":11,"title":{},"name":{},"text":{"1":{}},"component":{}}],["avro/byt",{"_index":13,"title":{},"name":{},"text":{"1":{}},"component":{}}],["avro_content_typ",{"_index":331,"title":{},"name":{},"text":{"4":{}},"component":{}}],["away",{"_index":132,"title":{},"name":{},"text":{"4":{}},"component":{}}],["base",{"_index":297,"title":{},"name":{},"text":{"4":{}},"component":{}}],["bash",{"_index":65,"title":{},"name":{},"text":{"1":{}},"component":{}}],["beforeeach",{"_index":344,"title":{},"name":{},"text":{"4":{}},"component":{}}],["binari",{"_index":35,"title":{},"name":{},"text":{"1":{}},"component":{}}],["binarydecod",{"_index":288,"title":{},"name":{},"text":{"4":{}},"component":{}}],["binaryencod",{"_index":367,"title":{},"name":{},"text":{"4":{}},"component":{}}],["boolean",{"_index":175,"title":{},"name":{},"text":{"4":{}},"component":{}}],["buffer",{"_index":123,"title":{},"name":{},"text":{"4":{}},"component":{}}],["builder",{"_index":199,"title":{},"name":{},"text":{"4":{}},"component":{}}],["byte",{"_index":191,"title":{},"name":{},"text":{"4":{}},"component":{}}],["bytearrayinputstream",{"_index":286,"title":{},"name":{},"text":{"4":{}},"component":{}}],["bytearrayinputstream(byt",{"_index":287,"title":{},"name":{},"text":{"4":{}},"component":{}}],["bytearrayoutputstream",{"_index":365,"title":{},"name":{},"text":{"4":{}},"component":{}}],["c",{"_index":279,"title":{},"name":{},"text":{"4":{}},"component":{}}],["call",{"_index":32,"title":{},"name":{},"text":{"1":{},"3":{},"4":{}},"component":{}}],["chang",{"_index":68,"title":{},"name":{},"text":{"1":{},"3":{}},"component":{}}],["channel",{"_index":95,"title":{},"name":{},"text":{"2":{}},"component":{}}],["class",{"_index":164,"title":{},"name":{},"text":{"4":{}},"component":{}}],["cli",{"_index":52,"title":{},"name":{},"text":{"1":{}},"component":{}}],["code",{"_index":296,"title":{},"name":{},"text":{"4":{}},"component":{}}],["com.github.austek.exampl",{"_index":167,"title":{},"name":{},"text":{"4":{}},"component":{}}],["com.github.austek.example.item",{"_index":194,"title":{},"name":{},"text":{"4":{}},"component":{}}],["com.github.austek.example.mailaddress",{"_index":311,"title":{},"name":{},"text":{"4":{}},"component":{}}],["com.github.austek.example.ord",{"_index":312,"title":{},"name":{},"text":{"4":{}},"component":{}}],["com.github.austek.example.pulsar.avro",{"_index":301,"title":{},"name":{},"text":{"4":{}},"component":{}}],["com.github.austek.example.statu",{"_index":313,"title":{},"name":{},"text":{"4":{}},"component":{}}],["configur",{"_index":118,"title":{"4-2":{}},"name":{},"text":{"4":{}},"component":{}}],["configurerecordwithdependantrecord",{"_index":242,"title":{},"name":{},"text":{"4":{}},"component":{}}],["consum",{"_index":25,"title":{"4-1":{}},"name":{},"text":{"1":{},"2":{},"4":{}},"component":{}}],["consumerrecordwithdependantrecord(v4interaction.asynchronousmessag",{"_index":244,"title":{},"name":{},"text":{"4":{}},"component":{}}],["content",{"_index":14,"title":{},"name":{},"text":{"1":{},"4":{}},"component":{}}],["content_type_hint",{"_index":336,"title":{},"name":{},"text":{"4":{}},"component":{}}],["contenttyp",{"_index":333,"title":{},"name":{},"text":{"4":{}},"component":{}}],["contenttypehint",{"_index":335,"title":{},"name":{},"text":{"4":{}},"component":{}}],["contenttypehint.binari",{"_index":337,"title":{},"name":{},"text":{"4":{}},"component":{}}],["context",{"_index":341,"title":{},"name":{},"text":{"4":{}},"component":{}}],["context.settarget(new",{"_index":346,"title":{},"name":{},"text":{"4":{}},"component":{}}],["context.verifyinteract",{"_index":342,"title":{},"name":{},"text":{"4":{}},"component":{}}],["contract",{"_index":80,"title":{},"name":{},"text":{"2":{},"4":{}},"component":{}}],["core/interaction/messag",{"_index":202,"title":{},"name":{},"text":{"4":{}},"component":{}}],["creat",{"_index":183,"title":{},"name":{},"text":{"4":{}},"component":{}}],["daili",{"_index":107,"title":{},"name":{},"text":{"3":{}},"component":{}}],["datumread",{"_index":281,"title":{},"name":{},"text":{"4":{}},"component":{}}],["day",{"_index":115,"title":{},"name":{},"text":{"3":{}},"component":{}}],["decod",{"_index":289,"title":{},"name":{},"text":{"4":{}},"component":{}}],["decoder.isend",{"_index":291,"title":{},"name":{},"text":{"4":{}},"component":{}}],["decoderfactory.get().binarydecoder(in",{"_index":290,"title":{},"name":{},"text":{"4":{}},"component":{}}],["default",{"_index":46,"title":{},"name":{},"text":{"1":{},"3":{},"4":{}},"component":{}}],["defin",{"_index":135,"title":{},"name":{},"text":{"4":{}},"component":{}}],["definit",{"_index":156,"title":{},"name":{},"text":{"4":{}},"component":{}}],["delet",{"_index":185,"title":{},"name":{},"text":{"4":{}},"component":{}}],["depend",{"_index":144,"title":{},"name":{},"text":{"4":{}},"component":{}}],["directori",{"_index":45,"title":{},"name":{},"text":{"1":{},"3":{}},"component":{}}],["document",{"_index":158,"title":{},"name":{},"text":{"4":{}},"component":{}}],["done",{"_index":141,"title":{},"name":{},"text":{"4":{}},"component":{}}],["doubl",{"_index":179,"title":{},"name":{},"text":{"4":{}},"component":{}}],["download",{"_index":38,"title":{},"name":{},"text":{"1":{}},"component":{}}],["dsl",{"_index":134,"title":{},"name":{},"text":{"4":{}},"component":{}}],["each",{"_index":150,"title":{},"name":{},"text":{"4":{}},"component":{}}],["empti",{"_index":267,"title":{},"name":{},"text":{"4":{}},"component":{}}],["enabl",{"_index":174,"title":{},"name":{},"text":{"4":{}},"component":{}}],["encod",{"_index":368,"title":{},"name":{},"text":{"4":{}},"component":{}}],["encoder.flush",{"_index":371,"title":{},"name":{},"text":{"4":{}},"component":{}}],["encoderfactory.get().binaryencoder(outputstream",{"_index":369,"title":{},"name":{},"text":{"4":{}},"component":{}}],["entri",{"_index":153,"title":{},"name":{},"text":{"4":{}},"component":{}}],["enum",{"_index":181,"title":{},"name":{},"text":{"4":{}},"component":{}}],["environ",{"_index":71,"title":{},"name":{},"text":{"1":{},"3":{}},"component":{}}],["error",{"_index":102,"title":{},"name":{},"text":{"3":{}},"component":{}}],["exampl",{"_index":137,"title":{},"name":{},"text":{"4":{}},"component":{}}],["execut",{"_index":34,"title":{},"name":{},"text":{"1":{}},"component":{}}],["expect",{"_index":136,"title":{},"name":{},"text":{"4":{}},"component":{}}],["expectstoreceive(\"ord",{"_index":201,"title":{},"name":{},"text":{"4":{}},"component":{}}],["express",{"_index":160,"title":{},"name":{},"text":{"4":{}},"component":{}}],["extendwith(pactverificationinvocationcontextprovider.class",{"_index":339,"title":{},"name":{},"text":{"4":{}},"component":{}}],["featur",{"_index":73,"title":{"2-1":{},"2-2":{}},"name":{},"text":{},"component":{}}],["field",{"_index":151,"title":{},"name":{},"text":{"4":{}},"component":{}}],["file",{"_index":37,"title":{},"name":{},"text":{"1":{},"3":{},"4":{}},"component":{}}],["final",{"_index":330,"title":{},"name":{},"text":{"4":{}},"component":{}}],["float",{"_index":177,"title":{},"name":{},"text":{"4":{}},"component":{}}],["follow",{"_index":147,"title":{},"name":{},"text":{"4":{}},"component":{}}],["form",{"_index":149,"title":{},"name":{},"text":{"4":{}},"component":{}}],["format",{"_index":29,"title":{},"name":{},"text":{"1":{},"4":{}},"component":{}}],["framework",{"_index":10,"title":{},"name":{},"text":{"1":{},"2":{},"3":{},"4":{}},"component":{}}],["gener",{"_index":138,"title":{},"name":{},"text":{"4":{}},"component":{}}],["get",{"_index":3,"title":{"1":{}},"name":{},"text":{"4":{}},"component":{}}],["getting_start",{"_index":5,"title":{},"name":{"1":{}},"text":{},"component":{}}],["go",{"_index":88,"title":{},"name":{},"text":{"2":{}},"component":{}}],["hastostring(\"avro/binari",{"_index":254,"title":{},"name":{},"text":{"4":{}},"component":{}}],["height",{"_index":176,"title":{},"name":{},"text":{"4":{}},"component":{}}],["histori",{"_index":117,"title":{},"name":{},"text":{"3":{}},"component":{}}],["home",{"_index":48,"title":{},"name":{},"text":{"1":{}},"component":{}}],["home/.pact/plugin",{"_index":67,"title":{},"name":{},"text":{"1":{}},"component":{}}],["home/.pact/plugins/avro",{"_index":49,"title":{},"name":{},"text":{"1":{}},"component":{}}],["http",{"_index":91,"title":{},"name":{},"text":{"2":{},"4":{}},"component":{}}],["http://localhost:9292",{"_index":327,"title":{},"name":{},"text":{"4":{}},"component":{}}],["https://github.com/austek/pact",{"_index":58,"title":{},"name":{},"text":{"1":{}},"component":{}}],["i.",{"_index":22,"title":{},"name":{},"text":{"1":{}},"component":{}}],["id",{"_index":171,"title":{},"name":{},"text":{"4":{}},"component":{}}],["idrul",{"_index":263,"title":{},"name":{},"text":{"4":{}},"component":{}}],["implement",{"_index":146,"title":{},"name":{},"text":{"4":{}},"component":{}}],["import",{"_index":302,"title":{},"name":{},"text":{"4":{}},"component":{}}],["index",{"_index":76,"title":{},"name":{"2":{}},"text":{},"component":{}}],["inform",{"_index":66,"title":{},"name":{},"text":{"1":{}},"component":{}}],["instal",{"_index":0,"title":{"1-1":{}},"name":{},"text":{"1":{}},"component":{}}],["int",{"_index":188,"title":{},"name":{},"text":{"4":{}},"component":{}}],["ioexcept",{"_index":246,"title":{},"name":{},"text":{"4":{}},"component":{}}],["isequalto(contenttypehint.binari",{"_index":257,"title":{},"name":{},"text":{"4":{}},"component":{}}],["isequalto(uuid.fromstring(\"20bef962",{"_index":273,"title":{},"name":{},"text":{"4":{}},"component":{}}],["item",{"_index":169,"title":{},"name":{},"text":{"4":{}},"component":{}}],["item(\"item",{"_index":357,"title":{},"name":{},"text":{"4":{}},"component":{}}],["itself",{"_index":8,"title":{},"name":{},"text":{"1":{}},"component":{}}],["java",{"_index":162,"title":{},"name":{},"text":{"4":{}},"component":{}}],["java.io.bytearrayoutputstream",{"_index":314,"title":{},"name":{},"text":{"4":{}},"component":{}}],["java.io.ioexcept",{"_index":315,"title":{},"name":{},"text":{"4":{}},"component":{}}],["java.util.list",{"_index":316,"title":{},"name":{},"text":{"4":{}},"component":{}}],["java.util.map",{"_index":317,"title":{},"name":{},"text":{"4":{}},"component":{}}],["java.util.uuid",{"_index":318,"title":{},"name":{},"text":{"4":{}},"component":{}}],["jdk",{"_index":84,"title":{},"name":{},"text":{"2":{}},"component":{}}],["join",{"_index":93,"title":{},"name":{},"text":{"2":{}},"component":{}}],["jvm",{"_index":82,"title":{},"name":{},"text":{"2":{},"4":{}},"component":{}}],["keep",{"_index":113,"title":{},"name":{},"text":{"3":{}},"component":{}}],["key",{"_index":155,"title":{},"name":{},"text":{"4":{}},"component":{}}],["key_content_typ",{"_index":332,"title":{},"name":{},"text":{"4":{}},"component":{}}],["key_content_type_hint",{"_index":334,"title":{},"name":{},"text":{"4":{}},"component":{}}],["languag",{"_index":145,"title":{},"name":{},"text":{"4":{}},"component":{}}],["latest",{"_index":55,"title":{},"name":{},"text":{"1":{}},"component":{}}],["level",{"_index":101,"title":{},"name":{},"text":{"3":{}},"component":{}}],["list",{"_index":249,"title":{},"name":{},"text":{"4":{}},"component":{}}],["list.of",{"_index":229,"title":{},"name":{},"text":{"4":{}},"component":{}}],["list.of(new",{"_index":356,"title":{},"name":{},"text":{"4":{}},"component":{}}],["load",{"_index":140,"title":{},"name":{},"text":{"4":{}},"component":{}}],["log",{"_index":96,"title":{"3":{}},"name":{"3":{}},"text":{"3":{}},"component":{}}],["log/plugin.log",{"_index":100,"title":{},"name":{},"text":{"3":{}},"component":{}}],["log_level",{"_index":103,"title":{},"name":{},"text":{"3":{}},"component":{}}],["logback",{"_index":97,"title":{},"name":{},"text":{"3":{}},"component":{}}],["logger",{"_index":112,"title":{},"name":{},"text":{"3":{}},"component":{}}],["logicaltyp",{"_index":196,"title":{},"name":{},"text":{"4":{}},"component":{}}],["long",{"_index":172,"title":{},"name":{},"text":{"4":{}},"component":{}}],["mailaddress",{"_index":187,"title":{},"name":{},"text":{"4":{}},"component":{}}],["mailaddress(121",{"_index":355,"title":{},"name":{},"text":{"4":{}},"component":{}}],["main",{"_index":295,"title":{},"name":{},"text":{"4":{}},"component":{}}],["manifest",{"_index":36,"title":{},"name":{},"text":{"1":{}},"component":{}}],["manual",{"_index":2,"title":{"1-3":{}},"name":{},"text":{},"component":{}}],["map",{"_index":148,"title":{},"name":{},"text":{"4":{}},"component":{}}],["map.entri",{"_index":226,"title":{},"name":{},"text":{"4":{}},"component":{}}],["map.entry(\"en",{"_index":216,"title":{},"name":{},"text":{"4":{}},"component":{}}],["map.entry(\"height",{"_index":219,"title":{},"name":{},"text":{"4":{}},"component":{}}],["map.entry(\"id",{"_index":211,"title":{},"name":{},"text":{"4":{}},"component":{}}],["map.entry(\"nam",{"_index":213,"title":{},"name":{},"text":{"4":{}},"component":{}}],["map.entry(\"pact:avro",{"_index":206,"title":{},"name":{},"text":{"4":{}},"component":{}}],["map.entry(\"pact:cont",{"_index":209,"title":{},"name":{},"text":{"4":{}},"component":{}}],["map.entry(\"pact:record",{"_index":208,"title":{},"name":{},"text":{"4":{}},"component":{}}],["map.entry(\"statu",{"_index":224,"title":{},"name":{},"text":{"4":{}},"component":{}}],["map.entry(\"userid",{"_index":234,"title":{},"name":{},"text":{"4":{}},"component":{}}],["map.entry(\"width",{"_index":222,"title":{},"name":{},"text":{"4":{}},"component":{}}],["map.of",{"_index":203,"title":{},"name":{},"text":{"4":{}},"component":{}}],["map.ofentri",{"_index":205,"title":{},"name":{},"text":{"4":{}},"component":{}}],["match",{"_index":77,"title":{},"name":{},"text":{"2":{},"4":{}},"component":{}}],["matching(boolean",{"_index":217,"title":{},"name":{},"text":{"4":{}},"component":{}}],["matching(decim",{"_index":220,"title":{},"name":{},"text":{"4":{}},"component":{}}],["matching(equalto",{"_index":225,"title":{},"name":{},"text":{"4":{}},"component":{}}],["matching(integ",{"_index":227,"title":{},"name":{},"text":{"4":{}},"component":{}}],["matchingrulesimpl",{"_index":259,"title":{},"name":{},"text":{"4":{}},"component":{}}],["mechan",{"_index":127,"title":{},"name":{},"text":{"4":{}},"component":{}}],["messag",{"_index":21,"title":{},"name":{},"text":{"1":{},"2":{},"4":{}},"component":{}}],["message.cont",{"_index":204,"title":{},"name":{},"text":{"4":{}},"component":{}}],["message.getcont",{"_index":248,"title":{},"name":{},"text":{"4":{}},"component":{}}],["messageandmetadata",{"_index":349,"title":{},"name":{},"text":{"4":{}},"component":{}}],["messagecont",{"_index":247,"title":{},"name":{},"text":{"4":{}},"component":{}}],["messagecontents.getcontents().getvalu",{"_index":251,"title":{},"name":{},"text":{"4":{}},"component":{}}],["messagecontents.getmatchingrules()).getrul",{"_index":260,"title":{},"name":{},"text":{"4":{}},"component":{}}],["messagetesttarget",{"_index":347,"title":{},"name":{},"text":{"4":{}},"component":{}}],["method",{"_index":31,"title":{},"name":{},"text":{"1":{}},"component":{}}],["name",{"_index":154,"title":{},"name":{},"text":{"4":{}},"component":{}}],["name0rul",{"_index":268,"title":{},"name":{},"text":{"4":{}},"component":{}}],["namespac",{"_index":166,"title":{},"name":{},"text":{"4":{}},"component":{}}],["need",{"_index":139,"title":{},"name":{},"text":{"4":{}},"component":{}}],["new",{"_index":282,"title":{},"name":{},"text":{"4":{}},"component":{}}],["non",{"_index":120,"title":{},"name":{},"text":{"4":{}},"component":{}}],["notempty('1",{"_index":231,"title":{},"name":{},"text":{"4":{}},"component":{}}],["notempty('100",{"_index":212,"title":{},"name":{},"text":{"4":{}},"component":{}}],["notempty('2",{"_index":233,"title":{},"name":{},"text":{"4":{}},"component":{}}],["notempty('20bef962",{"_index":235,"title":{},"name":{},"text":{"4":{}},"component":{}}],["notempty('item",{"_index":230,"title":{},"name":{},"text":{"4":{}},"component":{}}],["notempty('nam",{"_index":214,"title":{},"name":{},"text":{"4":{}},"component":{}}],["null",{"_index":192,"title":{},"name":{},"text":{"4":{}},"component":{}}],["o",{"_index":62,"title":{},"name":{},"text":{"1":{}},"component":{}}],["on",{"_index":124,"title":{},"name":{},"text":{"4":{}},"component":{}}],["order",{"_index":173,"title":{},"name":{},"text":{"4":{}},"component":{}}],["ordercreatedev",{"_index":350,"title":{},"name":{},"text":{"4":{}},"component":{}}],["orderservice.process(ord",{"_index":275,"title":{},"name":{},"text":{"4":{}},"component":{}}],["org.apache.avro.io.binaryencod",{"_index":319,"title":{},"name":{},"text":{"4":{}},"component":{}}],["org.apache.avro.io.encoderfactori",{"_index":320,"title":{},"name":{},"text":{"4":{}},"component":{}}],["org.apache.avro.specific.specificdatumwrit",{"_index":321,"title":{},"name":{},"text":{"4":{}},"component":{}}],["org.junit.jupiter.api.beforeeach",{"_index":322,"title":{},"name":{},"text":{"4":{}},"component":{}}],["org.junit.jupiter.api.extension.extendwith",{"_index":324,"title":{},"name":{},"text":{"4":{}},"component":{}}],["org.junit.jupiter.api.testtempl",{"_index":323,"title":{},"name":{},"text":{"4":{}},"component":{}}],["output",{"_index":99,"title":{},"name":{},"text":{"3":{}},"component":{}}],["outputstream",{"_index":366,"title":{},"name":{},"text":{"4":{}},"component":{}}],["outputstream.tobytearray",{"_index":372,"title":{},"name":{},"text":{"4":{}},"component":{}}],["over",{"_index":90,"title":{},"name":{},"text":{"2":{}},"component":{}}],["overview",{"_index":75,"title":{"2":{}},"name":{},"text":{"4":{}},"component":{}}],["packag",{"_index":300,"title":{},"name":{},"text":{"4":{}},"component":{}}],["pact",{"_index":9,"title":{},"name":{},"text":{"1":{},"2":{},"4":{}},"component":{"1":{},"2":{},"3":{},"4":{}}}],["pact/plugins/avro",{"_index":47,"title":{},"name":{},"text":{"1":{}},"component":{}}],["pact_plugin_dir",{"_index":70,"title":{},"name":{},"text":{"1":{}},"component":{}}],["pactbroker(url",{"_index":326,"title":{},"name":{},"text":{"4":{}},"component":{}}],["pactbuild",{"_index":163,"title":{},"name":{},"text":{"4":{}},"component":{}}],["pactpulsarproducertest",{"_index":328,"title":{},"name":{},"text":{"4":{}},"component":{}}],["pacttestfor(pactmethod",{"_index":241,"title":{},"name":{},"text":{"4":{}},"component":{}}],["pactverifyprovider(\"ord",{"_index":348,"title":{},"name":{},"text":{"4":{}},"component":{}}],["page",{"_index":41,"title":{},"name":{},"text":{"1":{}},"component":{}}],["pass",{"_index":104,"title":{},"name":{},"text":{"3":{}},"component":{}}],["plugin",{"_index":6,"title":{},"name":{},"text":{"1":{},"2":{},"3":{},"4":{}},"component":{"1":{},"2":{},"3":{},"4":{}}}],["plugin.sh",{"_index":60,"title":{},"name":{},"text":{"1":{}},"component":{}}],["plugin/releases/latest",{"_index":59,"title":{},"name":{},"text":{"1":{}},"component":{}}],["plugin/releases/latest/download/instal",{"_index":63,"title":{},"name":{},"text":{"1":{}},"component":{}}],["privat",{"_index":329,"title":{},"name":{},"text":{"4":{}},"component":{}}],["process",{"_index":105,"title":{},"name":{},"text":{"3":{}},"component":{}}],["project",{"_index":39,"title":{},"name":{},"text":{"1":{}},"component":{}}],["protocol",{"_index":122,"title":{},"name":{},"text":{"4":{}},"component":{}}],["provid",{"_index":23,"title":{"4-3":{}},"name":{},"text":{"1":{},"2":{},"4":{}},"component":{}}],["provider(\"ord",{"_index":325,"title":{},"name":{},"text":{"4":{}},"component":{}}],["proxi",{"_index":298,"title":{},"name":{},"text":{"4":{}},"component":{}}],["public",{"_index":276,"title":{},"name":{},"text":{"4":{}},"component":{}}],["queue",{"_index":128,"title":{},"name":{},"text":{"4":{}},"component":{}}],["reach",{"_index":110,"title":{},"name":{},"text":{"3":{}},"component":{}}],["read",{"_index":129,"title":{},"name":{},"text":{"4":{}},"component":{}}],["record",{"_index":168,"title":{},"name":{},"text":{"4":{}},"component":{}}],["record=ord",{"_index":255,"title":{},"name":{},"text":{"4":{}},"component":{}}],["records.add(datumreader.read(nul",{"_index":292,"title":{},"name":{},"text":{"4":{}},"component":{}}],["regist",{"_index":7,"title":{},"name":{},"text":{"1":{}},"component":{}}],["releas",{"_index":40,"title":{},"name":{},"text":{"1":{}},"component":{}}],["requir",{"_index":42,"title":{},"name":{},"text":{"1":{},"2":{}},"component":{}}],["return",{"_index":198,"title":{},"name":{},"text":{"4":{}},"component":{}}],["roll",{"_index":106,"title":{},"name":{},"text":{"3":{}},"component":{}}],["rpc",{"_index":92,"title":{},"name":{},"text":{"2":{}},"component":{}}],["rule",{"_index":159,"title":{},"name":{},"text":{"4":{}},"component":{}}],["rulecategorymap",{"_index":258,"title":{},"name":{},"text":{"4":{}},"component":{}}],["rulecategorymap.get(\"body\").getmatchingrul",{"_index":262,"title":{},"name":{},"text":{"4":{}},"component":{}}],["rules.get(\"$.id\").getrul",{"_index":264,"title":{},"name":{},"text":{"4":{}},"component":{}}],["rules.get(\"$.names\").getrul",{"_index":269,"title":{},"name":{},"text":{"4":{}},"component":{}}],["run",{"_index":56,"title":{},"name":{},"text":{"1":{}},"component":{}}],["rust",{"_index":86,"title":{},"name":{},"text":{"2":{}},"component":{}}],["scenario",{"_index":121,"title":{},"name":{},"text":{"4":{}},"component":{}}],["schema",{"_index":165,"title":{},"name":{},"text":{"4":{}},"component":{}}],["schemaspath",{"_index":207,"title":{},"name":{},"text":{"4":{}},"component":{}}],["see",{"_index":54,"title":{},"name":{},"text":{"1":{},"4":{}},"component":{}}],["send",{"_index":24,"title":{},"name":{},"text":{"1":{}},"component":{}}],["serialis",{"_index":79,"title":{},"name":{},"text":{"2":{}},"component":{}}],["serialise(ord",{"_index":361,"title":{},"name":{},"text":{"4":{}},"component":{}}],["server",{"_index":299,"title":{},"name":{},"text":{"4":{}},"component":{}}],["servic",{"_index":30,"title":{},"name":{},"text":{"1":{}},"component":{}}],["set",{"_index":69,"title":{},"name":{},"text":{"1":{},"3":{}},"component":{}}],["setuptest(pactverificationcontext",{"_index":345,"title":{},"name":{},"text":{"4":{}},"component":{}}],["singl",{"_index":20,"title":{},"name":{},"text":{"1":{}},"component":{}}],["size",{"_index":109,"title":{},"name":{},"text":{"3":{}},"component":{}}],["slack",{"_index":94,"title":{},"name":{},"text":{"2":{}},"component":{}}],["specif",{"_index":81,"title":{},"name":{},"text":{"2":{}},"component":{}}],["specificdatumread",{"_index":280,"title":{},"name":{},"text":{"4":{}},"component":{}}],["specificdatumreader<>(c",{"_index":283,"title":{},"name":{},"text":{"4":{}},"component":{}}],["specificdatumwrit",{"_index":362,"title":{},"name":{},"text":{"4":{}},"component":{}}],["specificdatumwriter<>(order.class",{"_index":364,"title":{},"name":{},"text":{"4":{}},"component":{}}],["standard",{"_index":98,"title":{},"name":{},"text":{"3":{}},"component":{}}],["start",{"_index":4,"title":{"1":{}},"name":{},"text":{},"component":{}}],["static",{"_index":277,"title":{},"name":{},"text":{"4":{}},"component":{}}],["statu",{"_index":180,"title":{},"name":{},"text":{"4":{}},"component":{}}],["status.cr",{"_index":354,"title":{},"name":{},"text":{"4":{}},"component":{}}],["street",{"_index":189,"title":{},"name":{},"text":{"4":{}},"component":{}}],["string",{"_index":170,"title":{},"name":{},"text":{"4":{}},"component":{}}],["style",{"_index":130,"title":{},"name":{},"text":{"4":{}},"component":{}}],["support",{"_index":26,"title":{"2-1":{},"2-3":{}},"name":{},"text":{"1":{},"2":{}},"component":{}}],["suppresswarnings(\"junitmalformeddeclar",{"_index":343,"title":{},"name":{},"text":{"4":{}},"component":{}}],["symbol",{"_index":182,"title":{},"name":{},"text":{"4":{}},"component":{}}],["synchron",{"_index":33,"title":{},"name":{},"text":{"1":{}},"component":{}}],["taken",{"_index":161,"title":{},"name":{},"text":{"4":{}},"component":{}}],["test",{"_index":18,"title":{"4":{},"4-2":{}},"name":{"4":{}},"text":{"1":{},"2":{},"4":{}},"component":{}}],["testtempl",{"_index":338,"title":{},"name":{},"text":{"4":{}},"component":{}}],["testtemplate(pactverificationcontext",{"_index":340,"title":{},"name":{},"text":{"4":{}},"component":{}}],["throw",{"_index":245,"title":{},"name":{},"text":{"4":{}},"component":{}}],["topact",{"_index":240,"title":{},"name":{},"text":{"4":{}},"component":{}}],["transport",{"_index":126,"title":{},"name":{},"text":{"4":{}},"component":{}}],["tri",{"_index":285,"title":{},"name":{},"text":{"4":{}},"component":{}}],["true",{"_index":218,"title":{},"name":{},"text":{"4":{}},"component":{}}],["two",{"_index":294,"title":{},"name":{},"text":{"4":{}},"component":{}}],["type",{"_index":15,"title":{},"name":{},"text":{"1":{},"4":{}},"component":{}}],["unpacked/copi",{"_index":44,"title":{},"name":{},"text":{"1":{}},"component":{}}],["unsupport",{"_index":74,"title":{"2-2":{}},"name":{},"text":{},"component":{}}],["updat",{"_index":184,"title":{},"name":{},"text":{"4":{}},"component":{}}],["us",{"_index":16,"title":{},"name":{},"text":{"1":{},"3":{},"4":{}},"component":{}}],["userid",{"_index":195,"title":{},"name":{},"text":{"4":{}},"component":{}}],["using_plugin",{"_index":143,"title":{},"name":{},"text":{"4":{}},"component":{}}],["usingplugin",{"_index":142,"title":{},"name":{},"text":{"4":{}},"component":{}}],["usingplugin(\"avro",{"_index":200,"title":{},"name":{},"text":{"4":{}},"component":{}}],["uuid",{"_index":197,"title":{},"name":{},"text":{"4":{}},"component":{}}],["uuid.fromstring(\"20bef962",{"_index":360,"title":{},"name":{},"text":{"4":{}},"component":{}}],["v0.9.x",{"_index":87,"title":{},"name":{},"text":{"2":{}},"component":{}}],["v2.0.0",{"_index":89,"title":{},"name":{},"text":{"2":{}},"component":{}}],["v4",{"_index":27,"title":{},"name":{},"text":{"1":{},"2":{}},"component":{}}],["v4.6.x",{"_index":83,"title":{},"name":{},"text":{"2":{}},"component":{}}],["valu",{"_index":157,"title":{},"name":{},"text":{"4":{}},"component":{}}],["variabl",{"_index":72,"title":{},"name":{},"text":{"1":{},"3":{}},"component":{}}],["verif",{"_index":78,"title":{},"name":{},"text":{"2":{}},"component":{}}],["verifi",{"_index":19,"title":{},"name":{},"text":{"1":{},"2":{},"4":{}},"component":{}}],["version",{"_index":51,"title":{},"name":{},"text":{"1":{},"2":{}},"component":{}}],["void",{"_index":243,"title":{},"name":{},"text":{"4":{}},"component":{}}],["want",{"_index":152,"title":{},"name":{},"text":{"4":{}},"component":{}}],["way",{"_index":125,"title":{},"name":{},"text":{"4":{}},"component":{}}],["well",{"_index":43,"title":{},"name":{},"text":{"1":{},"2":{}},"component":{}}],["wget",{"_index":61,"title":{},"name":{},"text":{"1":{}},"component":{}}],["whenev",{"_index":108,"title":{},"name":{},"text":{"3":{}},"component":{}}],["width",{"_index":178,"title":{},"name":{},"text":{"4":{}},"component":{}}],["work",{"_index":119,"title":{},"name":{},"text":{"4":{}},"component":{}}],["worth",{"_index":116,"title":{},"name":{},"text":{"3":{}},"component":{}}],["write",{"_index":17,"title":{},"name":{},"text":{"1":{},"4":{}},"component":{}}],["writer",{"_index":363,"title":{},"name":{},"text":{"4":{}},"component":{}}],["writer.write(record",{"_index":370,"title":{},"name":{},"text":{"4":{}},"component":{}}],["written",{"_index":133,"title":{},"name":{},"text":{"4":{}},"component":{}}],["y",{"_index":57,"title":{},"name":{},"text":{"1":{}},"component":{}}],["zipcod",{"_index":190,"title":{},"name":{},"text":{"4":{}},"component":{}}]],"pipeline":["stemmer"]},"store":{"documents":{"1":{"id":1,"text":"This plugin will register itself with the Pact framework for the avro/binary,application/avro, application/*+avro and avro/bytes content types. Using this plugin, you can write Pact tests that verify a single message (i.e. a message provider sends a message to a consumer). Tests are supported by using the V4 asynchronous message Pact format, and the service method calls use the V4 synchronous message Pact format. The executable binaries and plugin manifest file for the plugin can be downloaded from the project releases page. Plugin installation requires the plugin executable binary as well as the plugin manifest file to be unpacked/copied into a Pact plugin directory. By default, this will be .pact/plugins/avro- in the home directory (i.e. $HOME/.pact/plugins/avro-0.0.4 for version 0.0.4). The pact-plugin-cli can be used to install the Avro plugin. See the CLI installation on how to install it. To install the latest version, run pact-plugin-cli -y install https://github.com/austek/pact-avro-plugin/releases/latest Run install-plugin.sh: wget -O - https://github.com/austek/pact-avro-plugin/releases/latest/download/install-plugin.sh | bash INFORMATION The default plugin directory ($HOME/.pact/plugins) can be changed by setting the PACT_PLUGIN_DIR environment variable.","title":"Getting Started","component":"pact-avro-plugin","version":"latest","name":"getting_started","url":"/pact-avro-plugin/latest/getting_started.html","titles":[{"text":"Installation","hash":"installation","id":1},{"text":"Automated","hash":"automated","id":2},{"text":"Manual","hash":"manual","id":3}]},"2":{"id":2,"text":"This plugin provides matching and verification of Avro serialised messages to the Pact contract testing framework. It requires a version of the Pact framework that supports the V4 Pact specification as well as the Pact plugin framework. Supported Pact framework versions: Pact-JVM v4.6.x / JDK 17+ Pact-Rust Consumer v0.9.x Pact-Rust Verifier v0.9.x Pact-Go v2.0.0 Avro over HTTP Avro over RPC Join us on slack in the #avro channel","title":"Overview","component":"pact-avro-plugin","version":"latest","name":"index","url":"/pact-avro-plugin/latest/index.html","titles":[{"text":"Supported features","hash":"supported-features","id":1},{"text":"Unsupported features","hash":"unsupported-features","id":2},{"text":"Support","hash":"support","id":3}]},"3":{"id":3,"text":"The plugin uses Logback to log to standard output log/plugin.log file in in the plugin directory. The default log level is set to ERROR level and can be changed by the LOG_LEVEL environment variable that is passed into the plugin process (this should be set by the framework calling it). The default file logging is set to roll daily or whenever the file size reaches 50MB. Logger will keep 30 days' worth of logging history","title":"Logging","component":"pact-avro-plugin","version":"latest","name":"logging","url":"/pact-avro-plugin/latest/logging.html","titles":[]},"4":{"id":4,"text":"For an overview how asynchronous messages work with Pact, see Non-HTTP testing (Message Pact). In this scenario, a message provider writes a Protocol Buffer message to some one-way transport mechanism, like a message queue, and a consumer then reads it. With this style of testing, the transport mechanism is abstracted away. The message consumer test is written using the Pact Message test DSL. The test DSL defines the expected message format, and then the consumer is tested with an example message generated by the test framework. The consumer tests need to get the plugin loaded and configure the expected messages to use in the test. This is done using the usingPlugin (or using_plugin, depending on the language implementation) followed by the content for the test in some type of map form. For each field of the message that we want in the contract, we define an entry with the field name as the key and a matching definition as the value. For documentation on the matching definition format, see Matching Rule definition expressions. For example, for a JVM test (taken from Protocol Buffer Java examples) we would use the PactBuilder class: Example Avro schema [ { \"namespace\": \"com.github.austek.example\", \"type\": \"record\", \"name\": \"Item\", \"fields\": [ { \"name\": \"name\", \"type\": \"string\" }, { \"name\": \"id\", \"type\": \"long\" } ] }, { \"namespace\": \"com.github.austek.example\", \"type\": \"record\", \"name\": \"Order\", \"fields\": [ { \"name\": \"id\", \"type\": \"long\" }, { \"name\": \"names\", \"type\": \"string\" }, { \"name\": \"enabled\", \"type\": \"boolean\" }, { \"name\": \"height\", \"type\": \"float\" }, { \"name\": \"width\", \"type\": \"double\" }, { \"name\": \"status\", \"type\": { \"type\": \"enum\", \"name\": \"Status\", \"symbols\": [ \"CREATED\", \"UPDATED\", \"DELETED\" ], \"default\": \"CREATED\" } }, { \"name\": \"address\", \"type\": { \"type\": \"record\", \"name\": \"MailAddress\", \"fields\": [ { \"name\": \"no\", \"type\": \"int\" }, { \"name\": \"street\", \"type\": \"string\" }, { \"name\": \"zipcode\", \"type\": [ \"bytes\", \"null\" ] } ] } }, { \"name\": \"items\", \"type\": { \"type\": \"array\", \"items\": \"com.github.austek.example.Item\" } }, { \"name\": \"userId\", \"type\": [ \"null\", { \"type\": \"string\", \"logicalType\": \"uuid\" } ] } ] } ] Consumer configuration return builder .usingPlugin(\"avro\") .expectsToReceive(\"Order Created\", \"core/interaction/message\") .with( Map.of( \"message.contents\", Map.ofEntries( Map.entry(\"pact:avro\", schemasPath), Map.entry(\"pact:record-name\", \"Order\"), Map.entry(\"pact:content-type\", \"avro/binary\"), Map.entry(\"id\", \"notEmpty('100')\"), Map.entry(\"names\", \"notEmpty('name-1')\"), Map.entry(\"enabled\", \"matching(boolean, true)\"), Map.entry(\"height\", \"matching(decimal, 15.8)\"), Map.entry(\"width\", \"matching(decimal, 1.8)\"), Map.entry(\"status\", \"matching(equalTo, 'CREATED')\"), Map.entry( \"address\", Map.of( \"no\", \"matching(integer, 121)\", \"street\", \"matching(equalTo, 'street name')\")), Map.entry( \"items\", List.of( Map.of( \"name\", \"notEmpty('Item-1')\", \"id\", \"notEmpty('1')\"), Map.of( \"name\", \"notEmpty('Item-2')\", \"id\", \"notEmpty('2')\"))), Map.entry(\"userId\", \"notEmpty('20bef962-8cbd-4b8c-8337-97ae385ac45d')\")))) .toPact(); Java example consumer test @Test @PactTestFor(pactMethod = \"configureRecordWithDependantRecord\") void consumerRecordWithDependantRecord(V4Interaction.AsynchronousMessage message) throws IOException { MessageContents messageContents = message.getContents(); List orders = arrayByteToAvroRecord(Order.class, messageContents.getContents().getValue()); Order order = assertFirstOrder(orders); assertThat(messageContents.getContents().getContentType()) .hasToString(\"avro/binary; record=Order\"); assertThat(messageContents.getContents().getContentTypeHint()) .isEqualTo(ContentTypeHint.BINARY); Map ruleCategoryMap = ((MatchingRulesImpl) messageContents.getMatchingRules()).getRules(); assertThat(ruleCategoryMap).hasSize(1); Map rules = ruleCategoryMap.get(\"body\").getMatchingRules(); List idRules = rules.get(\"$.id\").getRules(); assertThat(idRules).hasSize(1); assertThat(idRules.get(0)).extracting(\"name\").isEqualTo(\"not-empty\"); List name0Rules = rules.get(\"$.names\").getRules(); assertThat(name0Rules).hasSize(1); assertThat(name0Rules.get(0)).extracting(\"name\").isEqualTo(\"not-empty\"); assertThat(order.getUserId()) .isEqualTo(UUID.fromString(\"20bef962-8cbd-4b8c-8337-97ae385ac45d\")); assertDoesNotThrow(() -> orderService.process(order)); } public static List arrayByteToAvroRecord(Class c, byte[] bytes) throws IOException { SpecificDatumReader datumReader = new SpecificDatumReader<>(c); List records = new ArrayList<>(); try (ByteArrayInputStream in = new ByteArrayInputStream(bytes)) { BinaryDecoder decoder = DecoderFactory.get().binaryDecoder(in, null); while (!decoder.isEnd()) records.add(datumReader.read(null, decoder)); } return records; } The message provider is verified by getting it to generate a message, and then this is verified against the Pact file from the consumer. There are two main ways of verifying the provider: Write a test in the provider code base that can call the provider to generate the message. Use an HTTP proxy server that can call the provider and return the generated message, and then use a Pact framework verifier to verify it. Java example provider test package com.github.austek.example.pulsar.avro; import au.com.dius.pact.core.model.ContentTypeHint; import au.com.dius.pact.provider.MessageAndMetadata; import au.com.dius.pact.provider.PactVerifyProvider; import au.com.dius.pact.provider.junit5.MessageTestTarget; import au.com.dius.pact.provider.junit5.PactVerificationContext; import au.com.dius.pact.provider.junit5.PactVerificationInvocationContextProvider; import au.com.dius.pact.provider.junitsupport.Provider; import au.com.dius.pact.provider.junitsupport.loader.PactBroker; import com.github.austek.example.Item; import com.github.austek.example.MailAddress; import com.github.austek.example.Order; import com.github.austek.example.Status; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.List; import java.util.Map; import java.util.UUID; import org.apache.avro.io.BinaryEncoder; import org.apache.avro.io.EncoderFactory; import org.apache.avro.specific.SpecificDatumWriter; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.TestTemplate; import org.junit.jupiter.api.extension.ExtendWith; @Provider(\"order-provider\") @PactBroker(url = \"http://localhost:9292\") class PactPulsarProducerTest { private static final String AVRO_CONTENT_TYPE = \"avro/binary; record=Order\"; private static final String KEY_CONTENT_TYPE = \"contentType\"; private static final String KEY_CONTENT_TYPE_HINT = \"contentTypeHint\"; private static final ContentTypeHint CONTENT_TYPE_HINT = ContentTypeHint.BINARY; @TestTemplate @ExtendWith(PactVerificationInvocationContextProvider.class) void testTemplate(PactVerificationContext context) { context.verifyInteraction(); } @SuppressWarnings(\"JUnitMalformedDeclaration\") @BeforeEach void setupTest(PactVerificationContext context) { context.setTarget(new MessageTestTarget()); } @PactVerifyProvider(\"Order Created\") public MessageAndMetadata orderCreatedEvent() throws IOException { Order order = new Order( 100L, \"name-1\", true, 15.8F, 1.8D, Status.CREATED, new MailAddress(121, \"street name\", null), List.of(new Item(\"Item-1\", 1L), new Item(\"Item-2\", 2L)), UUID.fromString(\"20bef962-8cbd-4b8c-8337-97ae385ac45d\")); return new MessageAndMetadata( serialise(order), Map.of( KEY_CONTENT_TYPE, AVRO_CONTENT_TYPE, KEY_CONTENT_TYPE_HINT, CONTENT_TYPE_HINT)); } private byte[] serialise(Order record) throws IOException { SpecificDatumWriter writer = new SpecificDatumWriter<>(Order.class); try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) { BinaryEncoder encoder = EncoderFactory.get().binaryEncoder(outputStream, null); writer.write(record, encoder); encoder.flush(); return outputStream.toByteArray(); } } }","title":"Testing","component":"pact-avro-plugin","version":"latest","name":"testing","url":"/pact-avro-plugin/latest/testing.html","titles":[{"text":"Consumer","hash":"consumer","id":1},{"text":"The Avro test configuration","hash":"the-avro-test-configuration","id":2},{"text":"Provider","hash":"provider","id":3}]}},"components":{},"componentVersions":{"pact-avro-plugin/latest":{"displayVersion":"latest","title":"Pact Avro Plugin","version":"latest","name":"pact-avro-plugin","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Pact Avro Plugin","site-url":"https://austek.github.io/pact-avro-plugin/","idprefix":"","idseparator":"-","page-pagination":"","experimental":"","plantuml-server-url":"https://www.plantuml.com/plantuml","kroki-fetch-diagram":true,"kroki-default-format":"svg","kroki-default-options":"interactive","encoding":"utf-8","lang":"en","project-name":"pact-avro-plugin","project-display-name":"Pact Avro Plugin","version":"0.0.4"},"sourcemap":false,"extensions":[{},{},{}]},"url":"/pact-avro-plugin/latest/index.html","navigation":[{"items":[{"content":"Getting Started","url":"/pact-avro-plugin/latest/getting_started.html","urlType":"internal"},{"content":"Logging","url":"/pact-avro-plugin/latest/logging.html","urlType":"internal"},{"content":"Testing","url":"/pact-avro-plugin/latest/testing.html","urlType":"internal"}],"root":true,"order":0}]}}}}) \ No newline at end of file +antoraSearch.initSearch(lunr, {"index":{"version":"2.3.9","fields":["title","name","text","component"],"fieldVectors":[["title/1-1",[0,19.436]],["name/1-1",[]],["text/1-1",[]],["component/1-1",[]],["title/1-2",[1,25.2]],["name/1-2",[]],["text/1-2",[]],["component/1-2",[]],["title/1-3",[2,25.2]],["name/1-3",[]],["text/1-3",[]],["component/1-3",[]],["title/1",[3,14.577,4,18.9]],["name/1",[5,1.163]],["text/1",[0,2.985,6,0.948,7,1.701,8,1.701,9,1.081,10,0.864,11,1.701,12,1.701,13,1.701,14,1.312,15,1.312,16,2.072,17,1.312,18,0.868,19,1.056,20,1.701,21,2.214,22,2.527,23,0.864,24,1.701,25,0.864,26,0.864,27,1.949,28,1.312,29,1.949,30,1.701,31,1.701,32,1.056,33,1.701,34,2.527,35,2.527,36,2.527,37,1.569,38,1.701,39,1.701,40,1.701,41,1.701,42,1.312,43,1.312,44,1.701,45,2.326,46,1.569,47,1.701,48,1.701,49,1.701,50,2.527,51,1.949,52,3.015,53,0.674,54,1.312,55,1.701,56,2.527,57,1.701,58,2.527,59,1.701,60,2.527,61,1.701,62,1.701,63,1.701,64,1.056,65,1.701,66,1.701,67,1.701,68,1.312,69,1.312,70,1.701,71,1.312,72,1.312]],["component/1",[6,0.26,9,0.325,53,0.26]],["title/2-1",[26,9.604,73,14.577]],["name/2-1",[]],["text/2-1",[]],["component/2-1",[]],["title/2-2",[73,14.577,74,18.9]],["name/2-2",[]],["text/2-2",[]],["component/2-2",[]],["title/2-3",[26,12.805]],["name/2-3",[]],["text/2-3",[]],["component/2-3",[]],["title/2",[75,19.436]],["name/2",[76,1.163]],["text/2",[6,0.725,9,1.232,10,1.987,18,0.833,19,1.505,21,1.505,23,1.232,25,1.232,26,1.65,27,1.87,42,1.87,43,1.87,51,2.504,53,0.874,64,1.505,77,1.87,78,2.424,79,2.424,80,1.87,81,2.424,82,1.87,83,2.424,84,2.424,85,2.424,86,3.247,87,3.247,88,2.424,89,2.424,90,3.247,91,1.87,92,2.424,93,2.424,94,2.424,95,2.424]],["component/2",[6,0.26,9,0.325,53,0.26]],["title/3",[96,15.64]],["name/3",[96,0.722]],["text/3",[6,0.846,10,1.319,16,1.612,32,1.612,37,2.351,45,2.003,46,2.109,68,2.003,69,2.921,71,2.003,72,2.003,96,2.494,97,2.597,98,2.597,99,2.597,100,2.597,101,3.398,102,2.597,103,2.597,104,2.597,105,2.597,106,2.597,107,2.597,108,2.597,109,2.597,110,2.597,111,2.597,112,2.597,113,2.597,114,2.597,115,2.597,116,2.597,117,2.597]],["component/3",[6,0.26,9,0.325,53,0.26]],["title/4-1",[25,12.805]],["name/4-1",[]],["text/4-1",[]],["component/4-1",[]],["title/4-2",[18,5.194,53,3.378,118,11.662]],["name/4-2",[]],["text/4-2",[]],["component/4-2",[]],["title/4-3",[23,12.805]],["name/4-3",[]],["text/4-3",[]],["component/4-3",[]],["title/4",[18,8.656]],["name/4",[18,0.4]],["text/4",[3,0.376,6,0.109,9,0.487,10,0.45,14,0.376,15,2.682,16,1.213,17,0.683,18,1.051,19,1.082,21,1.945,23,1.169,25,1.086,28,0.376,29,0.683,32,0.55,37,0.302,46,0.302,53,0.109,54,0.683,64,2.781,75,0.376,77,0.94,80,0.376,82,0.376,91,0.683,118,0.683,119,0.487,120,0.487,121,0.487,122,0.886,123,0.886,124,0.487,125,0.886,126,0.886,127,0.886,128,0.487,129,0.487,130,0.487,131,0.487,132,0.487,133,0.487,134,0.886,135,0.886,136,0.886,137,1.954,138,1.501,139,0.487,140,0.487,141,0.487,142,0.487,143,0.487,144,0.487,145,0.487,146,0.487,147,0.487,148,1.219,149,0.487,150,0.487,151,1.744,152,0.487,153,0.487,154,3.676,155,0.487,156,1.219,157,0.487,158,0.487,159,0.886,160,0.487,161,0.487,162,1.219,163,0.487,164,0.886,165,0.487,166,0.886,167,0.886,168,1.954,169,1.501,170,2.138,171,1.501,172,0.886,173,2.3,174,0.487,175,0.487,176,0.487,177,0.487,178,0.487,179,0.487,180,0.886,181,0.487,182,0.487,183,1.744,184,0.487,185,0.487,186,0.886,187,0.487,188,0.487,189,1.501,190,0.487,191,1.501,192,1.744,193,0.487,194,0.886,195,0.487,196,0.487,197,0.487,198,1.744,199,0.487,200,0.487,201,0.487,202,0.487,203,1.744,204,0.487,205,0.487,206,0.487,207,0.487,208,0.487,209,0.487,210,0.886,211,0.487,212,0.487,213,0.487,214,0.487,215,1.501,216,0.487,217,0.487,218,0.886,219,0.487,220,0.886,221,0.487,222,0.487,223,0.487,224,0.487,225,0.886,226,0.886,227,0.487,228,0.487,229,0.487,230,0.886,231,0.487,232,0.886,233,0.487,234,0.487,235,0.487,236,1.219,237,1.219,238,1.219,239,1.219,240,0.487,241,0.487,242,0.487,243,1.219,244,0.487,245,1.501,246,1.501,247,0.886,248,0.487,249,1.744,250,0.487,251,0.487,252,0.487,253,0.487,254,0.487,255,0.886,256,0.487,257,0.487,258,0.487,259,0.487,260,0.487,261,0.487,262,0.487,263,0.487,264,0.487,265,0.487,266,0.487,267,0.886,268,0.487,269,0.487,270,0.487,271,0.487,272,0.487,273,0.487,274,0.487,275,0.487,276,0.886,277,1.744,278,0.487,279,0.487,280,0.487,281,0.487,282,2.444,283,0.487,284,0.487,285,0.886,286,0.487,287,0.487,288,0.487,289,0.886,290,0.487,291,0.487,292,0.487,293,0.487,294,0.487,295,0.487,296,0.487,297,0.487,298,0.487,299,0.487,300,0.487,301,0.487,302,3.522,303,0.487,304,0.487,305,0.487,306,0.487,307,0.487,308,0.487,309,0.487,310,0.487,311,0.487,312,0.487,313,0.487,314,0.487,315,0.487,316,0.487,317,0.487,318,0.487,319,0.487,320,0.487,321,0.487,322,0.487,323,0.487,324,0.487,325,0.487,326,0.487,327,0.487,328,0.487,329,1.744,330,1.501,331,0.886,332,0.886,333,0.487,334,0.886,335,0.886,336,0.886,337,0.487,338,0.487,339,0.487,340,0.487,341,0.886,342,0.487,343,0.487,344,0.487,345,0.487,346,0.487,347,0.487,348,0.487,349,0.886,350,0.487,351,0.487,352,0.487,353,0.487,354,0.487,355,0.487,356,0.487,357,0.886,358,0.487,359,0.487,360,0.487,361,0.886,362,0.487,363,0.487,364,0.487,365,0.886,366,0.487,367,0.487,368,0.886,369,0.487,370,0.487,371,0.487,372,0.487]],["component/4",[6,0.26,9,0.325,53,0.26]]],"invertedIndex":[["",{"_index":64,"title":{},"name":{},"text":{"1":{},"2":{},"4":{}},"component":{}}],["0.0.5",{"_index":50,"title":{},"name":{},"text":{"1":{}},"component":{}}],["1",{"_index":215,"title":{},"name":{},"text":{"4":{}},"component":{}}],["1.8",{"_index":223,"title":{},"name":{},"text":{"4":{}},"component":{}}],["1.8d",{"_index":353,"title":{},"name":{},"text":{"4":{}},"component":{}}],["100l",{"_index":351,"title":{},"name":{},"text":{"4":{}},"component":{}}],["121",{"_index":228,"title":{},"name":{},"text":{"4":{}},"component":{}}],["15.8",{"_index":221,"title":{},"name":{},"text":{"4":{}},"component":{}}],["15.8f",{"_index":352,"title":{},"name":{},"text":{"4":{}},"component":{}}],["17",{"_index":85,"title":{},"name":{},"text":{"2":{}},"component":{}}],["1l",{"_index":358,"title":{},"name":{},"text":{"4":{}},"component":{}}],["2",{"_index":232,"title":{},"name":{},"text":{"4":{}},"component":{}}],["2l",{"_index":359,"title":{},"name":{},"text":{"4":{}},"component":{}}],["30",{"_index":114,"title":{},"name":{},"text":{"3":{}},"component":{}}],["4b8c",{"_index":237,"title":{},"name":{},"text":{"4":{}},"component":{}}],["50mb",{"_index":111,"title":{},"name":{},"text":{"3":{}},"component":{}}],["8337",{"_index":238,"title":{},"name":{},"text":{"4":{}},"component":{}}],["8cbd",{"_index":236,"title":{},"name":{},"text":{"4":{}},"component":{}}],["97ae385ac45d",{"_index":239,"title":{},"name":{},"text":{"4":{}},"component":{}}],["abstract",{"_index":131,"title":{},"name":{},"text":{"4":{}},"component":{}}],["address",{"_index":186,"title":{},"name":{},"text":{"4":{}},"component":{}}],["against",{"_index":293,"title":{},"name":{},"text":{"4":{}},"component":{}}],["application/*+avro",{"_index":12,"title":{},"name":{},"text":{"1":{}},"component":{}}],["array",{"_index":193,"title":{},"name":{},"text":{"4":{}},"component":{}}],["arraybytetoavrorecord(class",{"_index":278,"title":{},"name":{},"text":{"4":{}},"component":{}}],["arraybytetoavrorecord(order.class",{"_index":250,"title":{},"name":{},"text":{"4":{}},"component":{}}],["arraylist",{"_index":284,"title":{},"name":{},"text":{"4":{}},"component":{}}],["assertdoesnotthrow",{"_index":274,"title":{},"name":{},"text":{"4":{}},"component":{}}],["assertfirstorder(ord",{"_index":252,"title":{},"name":{},"text":{"4":{}},"component":{}}],["assertthat(idrules).hassize(1",{"_index":265,"title":{},"name":{},"text":{"4":{}},"component":{}}],["assertthat(idrules.get(0)).extracting(\"name\").isequalto(\"not",{"_index":266,"title":{},"name":{},"text":{"4":{}},"component":{}}],["assertthat(messagecontents.getcontents().getcontenttyp",{"_index":253,"title":{},"name":{},"text":{"4":{}},"component":{}}],["assertthat(messagecontents.getcontents().getcontenttypehint",{"_index":256,"title":{},"name":{},"text":{"4":{}},"component":{}}],["assertthat(name0rules).hassize(1",{"_index":270,"title":{},"name":{},"text":{"4":{}},"component":{}}],["assertthat(name0rules.get(0)).extracting(\"name\").isequalto(\"not",{"_index":271,"title":{},"name":{},"text":{"4":{}},"component":{}}],["assertthat(order.getuserid",{"_index":272,"title":{},"name":{},"text":{"4":{}},"component":{}}],["assertthat(rulecategorymap).hassize(1",{"_index":261,"title":{},"name":{},"text":{"4":{}},"component":{}}],["asynchron",{"_index":28,"title":{},"name":{},"text":{"1":{},"4":{}},"component":{}}],["au.com.dius.pact.core.model.contenttypehint",{"_index":303,"title":{},"name":{},"text":{"4":{}},"component":{}}],["au.com.dius.pact.provider.junit5.messagetesttarget",{"_index":306,"title":{},"name":{},"text":{"4":{}},"component":{}}],["au.com.dius.pact.provider.junit5.pactverificationcontext",{"_index":307,"title":{},"name":{},"text":{"4":{}},"component":{}}],["au.com.dius.pact.provider.junit5.pactverificationinvocationcontextprovid",{"_index":308,"title":{},"name":{},"text":{"4":{}},"component":{}}],["au.com.dius.pact.provider.junitsupport.loader.pactbrok",{"_index":310,"title":{},"name":{},"text":{"4":{}},"component":{}}],["au.com.dius.pact.provider.junitsupport.provid",{"_index":309,"title":{},"name":{},"text":{"4":{}},"component":{}}],["au.com.dius.pact.provider.messageandmetadata",{"_index":304,"title":{},"name":{},"text":{"4":{}},"component":{}}],["au.com.dius.pact.provider.pactverifyprovid",{"_index":305,"title":{},"name":{},"text":{"4":{}},"component":{}}],["autom",{"_index":1,"title":{"1-2":{}},"name":{},"text":{},"component":{}}],["avro",{"_index":53,"title":{"4-2":{}},"name":{},"text":{"1":{},"2":{},"4":{}},"component":{"1":{},"2":{},"3":{},"4":{}}}],["avro/binari",{"_index":210,"title":{},"name":{},"text":{"4":{}},"component":{}}],["avro/binary,application/avro",{"_index":11,"title":{},"name":{},"text":{"1":{}},"component":{}}],["avro/byt",{"_index":13,"title":{},"name":{},"text":{"1":{}},"component":{}}],["avro_content_typ",{"_index":331,"title":{},"name":{},"text":{"4":{}},"component":{}}],["away",{"_index":132,"title":{},"name":{},"text":{"4":{}},"component":{}}],["base",{"_index":297,"title":{},"name":{},"text":{"4":{}},"component":{}}],["bash",{"_index":65,"title":{},"name":{},"text":{"1":{}},"component":{}}],["beforeeach",{"_index":344,"title":{},"name":{},"text":{"4":{}},"component":{}}],["binari",{"_index":35,"title":{},"name":{},"text":{"1":{}},"component":{}}],["binarydecod",{"_index":288,"title":{},"name":{},"text":{"4":{}},"component":{}}],["binaryencod",{"_index":367,"title":{},"name":{},"text":{"4":{}},"component":{}}],["boolean",{"_index":175,"title":{},"name":{},"text":{"4":{}},"component":{}}],["buffer",{"_index":123,"title":{},"name":{},"text":{"4":{}},"component":{}}],["builder",{"_index":199,"title":{},"name":{},"text":{"4":{}},"component":{}}],["byte",{"_index":191,"title":{},"name":{},"text":{"4":{}},"component":{}}],["bytearrayinputstream",{"_index":286,"title":{},"name":{},"text":{"4":{}},"component":{}}],["bytearrayinputstream(byt",{"_index":287,"title":{},"name":{},"text":{"4":{}},"component":{}}],["bytearrayoutputstream",{"_index":365,"title":{},"name":{},"text":{"4":{}},"component":{}}],["c",{"_index":279,"title":{},"name":{},"text":{"4":{}},"component":{}}],["call",{"_index":32,"title":{},"name":{},"text":{"1":{},"3":{},"4":{}},"component":{}}],["chang",{"_index":68,"title":{},"name":{},"text":{"1":{},"3":{}},"component":{}}],["channel",{"_index":95,"title":{},"name":{},"text":{"2":{}},"component":{}}],["class",{"_index":164,"title":{},"name":{},"text":{"4":{}},"component":{}}],["cli",{"_index":52,"title":{},"name":{},"text":{"1":{}},"component":{}}],["code",{"_index":296,"title":{},"name":{},"text":{"4":{}},"component":{}}],["com.github.austek.exampl",{"_index":167,"title":{},"name":{},"text":{"4":{}},"component":{}}],["com.github.austek.example.item",{"_index":194,"title":{},"name":{},"text":{"4":{}},"component":{}}],["com.github.austek.example.mailaddress",{"_index":311,"title":{},"name":{},"text":{"4":{}},"component":{}}],["com.github.austek.example.ord",{"_index":312,"title":{},"name":{},"text":{"4":{}},"component":{}}],["com.github.austek.example.pulsar.avro",{"_index":301,"title":{},"name":{},"text":{"4":{}},"component":{}}],["com.github.austek.example.statu",{"_index":313,"title":{},"name":{},"text":{"4":{}},"component":{}}],["configur",{"_index":118,"title":{"4-2":{}},"name":{},"text":{"4":{}},"component":{}}],["configurerecordwithdependantrecord",{"_index":242,"title":{},"name":{},"text":{"4":{}},"component":{}}],["consum",{"_index":25,"title":{"4-1":{}},"name":{},"text":{"1":{},"2":{},"4":{}},"component":{}}],["consumerrecordwithdependantrecord(v4interaction.asynchronousmessag",{"_index":244,"title":{},"name":{},"text":{"4":{}},"component":{}}],["content",{"_index":14,"title":{},"name":{},"text":{"1":{},"4":{}},"component":{}}],["content_type_hint",{"_index":336,"title":{},"name":{},"text":{"4":{}},"component":{}}],["contenttyp",{"_index":333,"title":{},"name":{},"text":{"4":{}},"component":{}}],["contenttypehint",{"_index":335,"title":{},"name":{},"text":{"4":{}},"component":{}}],["contenttypehint.binari",{"_index":337,"title":{},"name":{},"text":{"4":{}},"component":{}}],["context",{"_index":341,"title":{},"name":{},"text":{"4":{}},"component":{}}],["context.settarget(new",{"_index":346,"title":{},"name":{},"text":{"4":{}},"component":{}}],["context.verifyinteract",{"_index":342,"title":{},"name":{},"text":{"4":{}},"component":{}}],["contract",{"_index":80,"title":{},"name":{},"text":{"2":{},"4":{}},"component":{}}],["core/interaction/messag",{"_index":202,"title":{},"name":{},"text":{"4":{}},"component":{}}],["creat",{"_index":183,"title":{},"name":{},"text":{"4":{}},"component":{}}],["daili",{"_index":107,"title":{},"name":{},"text":{"3":{}},"component":{}}],["datumread",{"_index":281,"title":{},"name":{},"text":{"4":{}},"component":{}}],["day",{"_index":115,"title":{},"name":{},"text":{"3":{}},"component":{}}],["decod",{"_index":289,"title":{},"name":{},"text":{"4":{}},"component":{}}],["decoder.isend",{"_index":291,"title":{},"name":{},"text":{"4":{}},"component":{}}],["decoderfactory.get().binarydecoder(in",{"_index":290,"title":{},"name":{},"text":{"4":{}},"component":{}}],["default",{"_index":46,"title":{},"name":{},"text":{"1":{},"3":{},"4":{}},"component":{}}],["defin",{"_index":135,"title":{},"name":{},"text":{"4":{}},"component":{}}],["definit",{"_index":156,"title":{},"name":{},"text":{"4":{}},"component":{}}],["delet",{"_index":185,"title":{},"name":{},"text":{"4":{}},"component":{}}],["depend",{"_index":144,"title":{},"name":{},"text":{"4":{}},"component":{}}],["directori",{"_index":45,"title":{},"name":{},"text":{"1":{},"3":{}},"component":{}}],["document",{"_index":158,"title":{},"name":{},"text":{"4":{}},"component":{}}],["done",{"_index":141,"title":{},"name":{},"text":{"4":{}},"component":{}}],["doubl",{"_index":179,"title":{},"name":{},"text":{"4":{}},"component":{}}],["download",{"_index":38,"title":{},"name":{},"text":{"1":{}},"component":{}}],["dsl",{"_index":134,"title":{},"name":{},"text":{"4":{}},"component":{}}],["each",{"_index":150,"title":{},"name":{},"text":{"4":{}},"component":{}}],["empti",{"_index":267,"title":{},"name":{},"text":{"4":{}},"component":{}}],["enabl",{"_index":174,"title":{},"name":{},"text":{"4":{}},"component":{}}],["encod",{"_index":368,"title":{},"name":{},"text":{"4":{}},"component":{}}],["encoder.flush",{"_index":371,"title":{},"name":{},"text":{"4":{}},"component":{}}],["encoderfactory.get().binaryencoder(outputstream",{"_index":369,"title":{},"name":{},"text":{"4":{}},"component":{}}],["entri",{"_index":153,"title":{},"name":{},"text":{"4":{}},"component":{}}],["enum",{"_index":181,"title":{},"name":{},"text":{"4":{}},"component":{}}],["environ",{"_index":71,"title":{},"name":{},"text":{"1":{},"3":{}},"component":{}}],["error",{"_index":102,"title":{},"name":{},"text":{"3":{}},"component":{}}],["exampl",{"_index":137,"title":{},"name":{},"text":{"4":{}},"component":{}}],["execut",{"_index":34,"title":{},"name":{},"text":{"1":{}},"component":{}}],["expect",{"_index":136,"title":{},"name":{},"text":{"4":{}},"component":{}}],["expectstoreceive(\"ord",{"_index":201,"title":{},"name":{},"text":{"4":{}},"component":{}}],["express",{"_index":160,"title":{},"name":{},"text":{"4":{}},"component":{}}],["extendwith(pactverificationinvocationcontextprovider.class",{"_index":339,"title":{},"name":{},"text":{"4":{}},"component":{}}],["featur",{"_index":73,"title":{"2-1":{},"2-2":{}},"name":{},"text":{},"component":{}}],["field",{"_index":151,"title":{},"name":{},"text":{"4":{}},"component":{}}],["file",{"_index":37,"title":{},"name":{},"text":{"1":{},"3":{},"4":{}},"component":{}}],["final",{"_index":330,"title":{},"name":{},"text":{"4":{}},"component":{}}],["float",{"_index":177,"title":{},"name":{},"text":{"4":{}},"component":{}}],["follow",{"_index":147,"title":{},"name":{},"text":{"4":{}},"component":{}}],["form",{"_index":149,"title":{},"name":{},"text":{"4":{}},"component":{}}],["format",{"_index":29,"title":{},"name":{},"text":{"1":{},"4":{}},"component":{}}],["framework",{"_index":10,"title":{},"name":{},"text":{"1":{},"2":{},"3":{},"4":{}},"component":{}}],["gener",{"_index":138,"title":{},"name":{},"text":{"4":{}},"component":{}}],["get",{"_index":3,"title":{"1":{}},"name":{},"text":{"4":{}},"component":{}}],["getting_start",{"_index":5,"title":{},"name":{"1":{}},"text":{},"component":{}}],["go",{"_index":88,"title":{},"name":{},"text":{"2":{}},"component":{}}],["hastostring(\"avro/binari",{"_index":254,"title":{},"name":{},"text":{"4":{}},"component":{}}],["height",{"_index":176,"title":{},"name":{},"text":{"4":{}},"component":{}}],["histori",{"_index":117,"title":{},"name":{},"text":{"3":{}},"component":{}}],["home",{"_index":48,"title":{},"name":{},"text":{"1":{}},"component":{}}],["home/.pact/plugin",{"_index":67,"title":{},"name":{},"text":{"1":{}},"component":{}}],["home/.pact/plugins/avro",{"_index":49,"title":{},"name":{},"text":{"1":{}},"component":{}}],["http",{"_index":91,"title":{},"name":{},"text":{"2":{},"4":{}},"component":{}}],["http://localhost:9292",{"_index":327,"title":{},"name":{},"text":{"4":{}},"component":{}}],["https://github.com/austek/pact",{"_index":58,"title":{},"name":{},"text":{"1":{}},"component":{}}],["i.",{"_index":22,"title":{},"name":{},"text":{"1":{}},"component":{}}],["id",{"_index":171,"title":{},"name":{},"text":{"4":{}},"component":{}}],["idrul",{"_index":263,"title":{},"name":{},"text":{"4":{}},"component":{}}],["implement",{"_index":146,"title":{},"name":{},"text":{"4":{}},"component":{}}],["import",{"_index":302,"title":{},"name":{},"text":{"4":{}},"component":{}}],["index",{"_index":76,"title":{},"name":{"2":{}},"text":{},"component":{}}],["inform",{"_index":66,"title":{},"name":{},"text":{"1":{}},"component":{}}],["instal",{"_index":0,"title":{"1-1":{}},"name":{},"text":{"1":{}},"component":{}}],["int",{"_index":188,"title":{},"name":{},"text":{"4":{}},"component":{}}],["ioexcept",{"_index":246,"title":{},"name":{},"text":{"4":{}},"component":{}}],["isequalto(contenttypehint.binari",{"_index":257,"title":{},"name":{},"text":{"4":{}},"component":{}}],["isequalto(uuid.fromstring(\"20bef962",{"_index":273,"title":{},"name":{},"text":{"4":{}},"component":{}}],["item",{"_index":169,"title":{},"name":{},"text":{"4":{}},"component":{}}],["item(\"item",{"_index":357,"title":{},"name":{},"text":{"4":{}},"component":{}}],["itself",{"_index":8,"title":{},"name":{},"text":{"1":{}},"component":{}}],["java",{"_index":162,"title":{},"name":{},"text":{"4":{}},"component":{}}],["java.io.bytearrayoutputstream",{"_index":314,"title":{},"name":{},"text":{"4":{}},"component":{}}],["java.io.ioexcept",{"_index":315,"title":{},"name":{},"text":{"4":{}},"component":{}}],["java.util.list",{"_index":316,"title":{},"name":{},"text":{"4":{}},"component":{}}],["java.util.map",{"_index":317,"title":{},"name":{},"text":{"4":{}},"component":{}}],["java.util.uuid",{"_index":318,"title":{},"name":{},"text":{"4":{}},"component":{}}],["jdk",{"_index":84,"title":{},"name":{},"text":{"2":{}},"component":{}}],["join",{"_index":93,"title":{},"name":{},"text":{"2":{}},"component":{}}],["jvm",{"_index":82,"title":{},"name":{},"text":{"2":{},"4":{}},"component":{}}],["keep",{"_index":113,"title":{},"name":{},"text":{"3":{}},"component":{}}],["key",{"_index":155,"title":{},"name":{},"text":{"4":{}},"component":{}}],["key_content_typ",{"_index":332,"title":{},"name":{},"text":{"4":{}},"component":{}}],["key_content_type_hint",{"_index":334,"title":{},"name":{},"text":{"4":{}},"component":{}}],["languag",{"_index":145,"title":{},"name":{},"text":{"4":{}},"component":{}}],["latest",{"_index":55,"title":{},"name":{},"text":{"1":{}},"component":{}}],["level",{"_index":101,"title":{},"name":{},"text":{"3":{}},"component":{}}],["list",{"_index":249,"title":{},"name":{},"text":{"4":{}},"component":{}}],["list.of",{"_index":229,"title":{},"name":{},"text":{"4":{}},"component":{}}],["list.of(new",{"_index":356,"title":{},"name":{},"text":{"4":{}},"component":{}}],["load",{"_index":140,"title":{},"name":{},"text":{"4":{}},"component":{}}],["log",{"_index":96,"title":{"3":{}},"name":{"3":{}},"text":{"3":{}},"component":{}}],["log/plugin.log",{"_index":100,"title":{},"name":{},"text":{"3":{}},"component":{}}],["log_level",{"_index":103,"title":{},"name":{},"text":{"3":{}},"component":{}}],["logback",{"_index":97,"title":{},"name":{},"text":{"3":{}},"component":{}}],["logger",{"_index":112,"title":{},"name":{},"text":{"3":{}},"component":{}}],["logicaltyp",{"_index":196,"title":{},"name":{},"text":{"4":{}},"component":{}}],["long",{"_index":172,"title":{},"name":{},"text":{"4":{}},"component":{}}],["mailaddress",{"_index":187,"title":{},"name":{},"text":{"4":{}},"component":{}}],["mailaddress(121",{"_index":355,"title":{},"name":{},"text":{"4":{}},"component":{}}],["main",{"_index":295,"title":{},"name":{},"text":{"4":{}},"component":{}}],["manifest",{"_index":36,"title":{},"name":{},"text":{"1":{}},"component":{}}],["manual",{"_index":2,"title":{"1-3":{}},"name":{},"text":{},"component":{}}],["map",{"_index":148,"title":{},"name":{},"text":{"4":{}},"component":{}}],["map.entri",{"_index":226,"title":{},"name":{},"text":{"4":{}},"component":{}}],["map.entry(\"en",{"_index":216,"title":{},"name":{},"text":{"4":{}},"component":{}}],["map.entry(\"height",{"_index":219,"title":{},"name":{},"text":{"4":{}},"component":{}}],["map.entry(\"id",{"_index":211,"title":{},"name":{},"text":{"4":{}},"component":{}}],["map.entry(\"nam",{"_index":213,"title":{},"name":{},"text":{"4":{}},"component":{}}],["map.entry(\"pact:avro",{"_index":206,"title":{},"name":{},"text":{"4":{}},"component":{}}],["map.entry(\"pact:cont",{"_index":209,"title":{},"name":{},"text":{"4":{}},"component":{}}],["map.entry(\"pact:record",{"_index":208,"title":{},"name":{},"text":{"4":{}},"component":{}}],["map.entry(\"statu",{"_index":224,"title":{},"name":{},"text":{"4":{}},"component":{}}],["map.entry(\"userid",{"_index":234,"title":{},"name":{},"text":{"4":{}},"component":{}}],["map.entry(\"width",{"_index":222,"title":{},"name":{},"text":{"4":{}},"component":{}}],["map.of",{"_index":203,"title":{},"name":{},"text":{"4":{}},"component":{}}],["map.ofentri",{"_index":205,"title":{},"name":{},"text":{"4":{}},"component":{}}],["match",{"_index":77,"title":{},"name":{},"text":{"2":{},"4":{}},"component":{}}],["matching(boolean",{"_index":217,"title":{},"name":{},"text":{"4":{}},"component":{}}],["matching(decim",{"_index":220,"title":{},"name":{},"text":{"4":{}},"component":{}}],["matching(equalto",{"_index":225,"title":{},"name":{},"text":{"4":{}},"component":{}}],["matching(integ",{"_index":227,"title":{},"name":{},"text":{"4":{}},"component":{}}],["matchingrulesimpl",{"_index":259,"title":{},"name":{},"text":{"4":{}},"component":{}}],["mechan",{"_index":127,"title":{},"name":{},"text":{"4":{}},"component":{}}],["messag",{"_index":21,"title":{},"name":{},"text":{"1":{},"2":{},"4":{}},"component":{}}],["message.cont",{"_index":204,"title":{},"name":{},"text":{"4":{}},"component":{}}],["message.getcont",{"_index":248,"title":{},"name":{},"text":{"4":{}},"component":{}}],["messageandmetadata",{"_index":349,"title":{},"name":{},"text":{"4":{}},"component":{}}],["messagecont",{"_index":247,"title":{},"name":{},"text":{"4":{}},"component":{}}],["messagecontents.getcontents().getvalu",{"_index":251,"title":{},"name":{},"text":{"4":{}},"component":{}}],["messagecontents.getmatchingrules()).getrul",{"_index":260,"title":{},"name":{},"text":{"4":{}},"component":{}}],["messagetesttarget",{"_index":347,"title":{},"name":{},"text":{"4":{}},"component":{}}],["method",{"_index":31,"title":{},"name":{},"text":{"1":{}},"component":{}}],["name",{"_index":154,"title":{},"name":{},"text":{"4":{}},"component":{}}],["name0rul",{"_index":268,"title":{},"name":{},"text":{"4":{}},"component":{}}],["namespac",{"_index":166,"title":{},"name":{},"text":{"4":{}},"component":{}}],["need",{"_index":139,"title":{},"name":{},"text":{"4":{}},"component":{}}],["new",{"_index":282,"title":{},"name":{},"text":{"4":{}},"component":{}}],["non",{"_index":120,"title":{},"name":{},"text":{"4":{}},"component":{}}],["notempty('1",{"_index":231,"title":{},"name":{},"text":{"4":{}},"component":{}}],["notempty('100",{"_index":212,"title":{},"name":{},"text":{"4":{}},"component":{}}],["notempty('2",{"_index":233,"title":{},"name":{},"text":{"4":{}},"component":{}}],["notempty('20bef962",{"_index":235,"title":{},"name":{},"text":{"4":{}},"component":{}}],["notempty('item",{"_index":230,"title":{},"name":{},"text":{"4":{}},"component":{}}],["notempty('nam",{"_index":214,"title":{},"name":{},"text":{"4":{}},"component":{}}],["null",{"_index":192,"title":{},"name":{},"text":{"4":{}},"component":{}}],["o",{"_index":62,"title":{},"name":{},"text":{"1":{}},"component":{}}],["on",{"_index":124,"title":{},"name":{},"text":{"4":{}},"component":{}}],["order",{"_index":173,"title":{},"name":{},"text":{"4":{}},"component":{}}],["ordercreatedev",{"_index":350,"title":{},"name":{},"text":{"4":{}},"component":{}}],["orderservice.process(ord",{"_index":275,"title":{},"name":{},"text":{"4":{}},"component":{}}],["org.apache.avro.io.binaryencod",{"_index":319,"title":{},"name":{},"text":{"4":{}},"component":{}}],["org.apache.avro.io.encoderfactori",{"_index":320,"title":{},"name":{},"text":{"4":{}},"component":{}}],["org.apache.avro.specific.specificdatumwrit",{"_index":321,"title":{},"name":{},"text":{"4":{}},"component":{}}],["org.junit.jupiter.api.beforeeach",{"_index":322,"title":{},"name":{},"text":{"4":{}},"component":{}}],["org.junit.jupiter.api.extension.extendwith",{"_index":324,"title":{},"name":{},"text":{"4":{}},"component":{}}],["org.junit.jupiter.api.testtempl",{"_index":323,"title":{},"name":{},"text":{"4":{}},"component":{}}],["output",{"_index":99,"title":{},"name":{},"text":{"3":{}},"component":{}}],["outputstream",{"_index":366,"title":{},"name":{},"text":{"4":{}},"component":{}}],["outputstream.tobytearray",{"_index":372,"title":{},"name":{},"text":{"4":{}},"component":{}}],["over",{"_index":90,"title":{},"name":{},"text":{"2":{}},"component":{}}],["overview",{"_index":75,"title":{"2":{}},"name":{},"text":{"4":{}},"component":{}}],["packag",{"_index":300,"title":{},"name":{},"text":{"4":{}},"component":{}}],["pact",{"_index":9,"title":{},"name":{},"text":{"1":{},"2":{},"4":{}},"component":{"1":{},"2":{},"3":{},"4":{}}}],["pact/plugins/avro",{"_index":47,"title":{},"name":{},"text":{"1":{}},"component":{}}],["pact_plugin_dir",{"_index":70,"title":{},"name":{},"text":{"1":{}},"component":{}}],["pactbroker(url",{"_index":326,"title":{},"name":{},"text":{"4":{}},"component":{}}],["pactbuild",{"_index":163,"title":{},"name":{},"text":{"4":{}},"component":{}}],["pactpulsarproducertest",{"_index":328,"title":{},"name":{},"text":{"4":{}},"component":{}}],["pacttestfor(pactmethod",{"_index":241,"title":{},"name":{},"text":{"4":{}},"component":{}}],["pactverifyprovider(\"ord",{"_index":348,"title":{},"name":{},"text":{"4":{}},"component":{}}],["page",{"_index":41,"title":{},"name":{},"text":{"1":{}},"component":{}}],["pass",{"_index":104,"title":{},"name":{},"text":{"3":{}},"component":{}}],["plugin",{"_index":6,"title":{},"name":{},"text":{"1":{},"2":{},"3":{},"4":{}},"component":{"1":{},"2":{},"3":{},"4":{}}}],["plugin.sh",{"_index":60,"title":{},"name":{},"text":{"1":{}},"component":{}}],["plugin/releases/latest",{"_index":59,"title":{},"name":{},"text":{"1":{}},"component":{}}],["plugin/releases/latest/download/instal",{"_index":63,"title":{},"name":{},"text":{"1":{}},"component":{}}],["privat",{"_index":329,"title":{},"name":{},"text":{"4":{}},"component":{}}],["process",{"_index":105,"title":{},"name":{},"text":{"3":{}},"component":{}}],["project",{"_index":39,"title":{},"name":{},"text":{"1":{}},"component":{}}],["protocol",{"_index":122,"title":{},"name":{},"text":{"4":{}},"component":{}}],["provid",{"_index":23,"title":{"4-3":{}},"name":{},"text":{"1":{},"2":{},"4":{}},"component":{}}],["provider(\"ord",{"_index":325,"title":{},"name":{},"text":{"4":{}},"component":{}}],["proxi",{"_index":298,"title":{},"name":{},"text":{"4":{}},"component":{}}],["public",{"_index":276,"title":{},"name":{},"text":{"4":{}},"component":{}}],["queue",{"_index":128,"title":{},"name":{},"text":{"4":{}},"component":{}}],["reach",{"_index":110,"title":{},"name":{},"text":{"3":{}},"component":{}}],["read",{"_index":129,"title":{},"name":{},"text":{"4":{}},"component":{}}],["record",{"_index":168,"title":{},"name":{},"text":{"4":{}},"component":{}}],["record=ord",{"_index":255,"title":{},"name":{},"text":{"4":{}},"component":{}}],["records.add(datumreader.read(nul",{"_index":292,"title":{},"name":{},"text":{"4":{}},"component":{}}],["regist",{"_index":7,"title":{},"name":{},"text":{"1":{}},"component":{}}],["releas",{"_index":40,"title":{},"name":{},"text":{"1":{}},"component":{}}],["requir",{"_index":42,"title":{},"name":{},"text":{"1":{},"2":{}},"component":{}}],["return",{"_index":198,"title":{},"name":{},"text":{"4":{}},"component":{}}],["roll",{"_index":106,"title":{},"name":{},"text":{"3":{}},"component":{}}],["rpc",{"_index":92,"title":{},"name":{},"text":{"2":{}},"component":{}}],["rule",{"_index":159,"title":{},"name":{},"text":{"4":{}},"component":{}}],["rulecategorymap",{"_index":258,"title":{},"name":{},"text":{"4":{}},"component":{}}],["rulecategorymap.get(\"body\").getmatchingrul",{"_index":262,"title":{},"name":{},"text":{"4":{}},"component":{}}],["rules.get(\"$.id\").getrul",{"_index":264,"title":{},"name":{},"text":{"4":{}},"component":{}}],["rules.get(\"$.names\").getrul",{"_index":269,"title":{},"name":{},"text":{"4":{}},"component":{}}],["run",{"_index":56,"title":{},"name":{},"text":{"1":{}},"component":{}}],["rust",{"_index":86,"title":{},"name":{},"text":{"2":{}},"component":{}}],["scenario",{"_index":121,"title":{},"name":{},"text":{"4":{}},"component":{}}],["schema",{"_index":165,"title":{},"name":{},"text":{"4":{}},"component":{}}],["schemaspath",{"_index":207,"title":{},"name":{},"text":{"4":{}},"component":{}}],["see",{"_index":54,"title":{},"name":{},"text":{"1":{},"4":{}},"component":{}}],["send",{"_index":24,"title":{},"name":{},"text":{"1":{}},"component":{}}],["serialis",{"_index":79,"title":{},"name":{},"text":{"2":{}},"component":{}}],["serialise(ord",{"_index":361,"title":{},"name":{},"text":{"4":{}},"component":{}}],["server",{"_index":299,"title":{},"name":{},"text":{"4":{}},"component":{}}],["servic",{"_index":30,"title":{},"name":{},"text":{"1":{}},"component":{}}],["set",{"_index":69,"title":{},"name":{},"text":{"1":{},"3":{}},"component":{}}],["setuptest(pactverificationcontext",{"_index":345,"title":{},"name":{},"text":{"4":{}},"component":{}}],["singl",{"_index":20,"title":{},"name":{},"text":{"1":{}},"component":{}}],["size",{"_index":109,"title":{},"name":{},"text":{"3":{}},"component":{}}],["slack",{"_index":94,"title":{},"name":{},"text":{"2":{}},"component":{}}],["specif",{"_index":81,"title":{},"name":{},"text":{"2":{}},"component":{}}],["specificdatumread",{"_index":280,"title":{},"name":{},"text":{"4":{}},"component":{}}],["specificdatumreader<>(c",{"_index":283,"title":{},"name":{},"text":{"4":{}},"component":{}}],["specificdatumwrit",{"_index":362,"title":{},"name":{},"text":{"4":{}},"component":{}}],["specificdatumwriter<>(order.class",{"_index":364,"title":{},"name":{},"text":{"4":{}},"component":{}}],["standard",{"_index":98,"title":{},"name":{},"text":{"3":{}},"component":{}}],["start",{"_index":4,"title":{"1":{}},"name":{},"text":{},"component":{}}],["static",{"_index":277,"title":{},"name":{},"text":{"4":{}},"component":{}}],["statu",{"_index":180,"title":{},"name":{},"text":{"4":{}},"component":{}}],["status.cr",{"_index":354,"title":{},"name":{},"text":{"4":{}},"component":{}}],["street",{"_index":189,"title":{},"name":{},"text":{"4":{}},"component":{}}],["string",{"_index":170,"title":{},"name":{},"text":{"4":{}},"component":{}}],["style",{"_index":130,"title":{},"name":{},"text":{"4":{}},"component":{}}],["support",{"_index":26,"title":{"2-1":{},"2-3":{}},"name":{},"text":{"1":{},"2":{}},"component":{}}],["suppresswarnings(\"junitmalformeddeclar",{"_index":343,"title":{},"name":{},"text":{"4":{}},"component":{}}],["symbol",{"_index":182,"title":{},"name":{},"text":{"4":{}},"component":{}}],["synchron",{"_index":33,"title":{},"name":{},"text":{"1":{}},"component":{}}],["taken",{"_index":161,"title":{},"name":{},"text":{"4":{}},"component":{}}],["test",{"_index":18,"title":{"4":{},"4-2":{}},"name":{"4":{}},"text":{"1":{},"2":{},"4":{}},"component":{}}],["testtempl",{"_index":338,"title":{},"name":{},"text":{"4":{}},"component":{}}],["testtemplate(pactverificationcontext",{"_index":340,"title":{},"name":{},"text":{"4":{}},"component":{}}],["throw",{"_index":245,"title":{},"name":{},"text":{"4":{}},"component":{}}],["topact",{"_index":240,"title":{},"name":{},"text":{"4":{}},"component":{}}],["transport",{"_index":126,"title":{},"name":{},"text":{"4":{}},"component":{}}],["tri",{"_index":285,"title":{},"name":{},"text":{"4":{}},"component":{}}],["true",{"_index":218,"title":{},"name":{},"text":{"4":{}},"component":{}}],["two",{"_index":294,"title":{},"name":{},"text":{"4":{}},"component":{}}],["type",{"_index":15,"title":{},"name":{},"text":{"1":{},"4":{}},"component":{}}],["unpacked/copi",{"_index":44,"title":{},"name":{},"text":{"1":{}},"component":{}}],["unsupport",{"_index":74,"title":{"2-2":{}},"name":{},"text":{},"component":{}}],["updat",{"_index":184,"title":{},"name":{},"text":{"4":{}},"component":{}}],["us",{"_index":16,"title":{},"name":{},"text":{"1":{},"3":{},"4":{}},"component":{}}],["userid",{"_index":195,"title":{},"name":{},"text":{"4":{}},"component":{}}],["using_plugin",{"_index":143,"title":{},"name":{},"text":{"4":{}},"component":{}}],["usingplugin",{"_index":142,"title":{},"name":{},"text":{"4":{}},"component":{}}],["usingplugin(\"avro",{"_index":200,"title":{},"name":{},"text":{"4":{}},"component":{}}],["uuid",{"_index":197,"title":{},"name":{},"text":{"4":{}},"component":{}}],["uuid.fromstring(\"20bef962",{"_index":360,"title":{},"name":{},"text":{"4":{}},"component":{}}],["v0.9.x",{"_index":87,"title":{},"name":{},"text":{"2":{}},"component":{}}],["v2.0.0",{"_index":89,"title":{},"name":{},"text":{"2":{}},"component":{}}],["v4",{"_index":27,"title":{},"name":{},"text":{"1":{},"2":{}},"component":{}}],["v4.6.x",{"_index":83,"title":{},"name":{},"text":{"2":{}},"component":{}}],["valu",{"_index":157,"title":{},"name":{},"text":{"4":{}},"component":{}}],["variabl",{"_index":72,"title":{},"name":{},"text":{"1":{},"3":{}},"component":{}}],["verif",{"_index":78,"title":{},"name":{},"text":{"2":{}},"component":{}}],["verifi",{"_index":19,"title":{},"name":{},"text":{"1":{},"2":{},"4":{}},"component":{}}],["version",{"_index":51,"title":{},"name":{},"text":{"1":{},"2":{}},"component":{}}],["void",{"_index":243,"title":{},"name":{},"text":{"4":{}},"component":{}}],["want",{"_index":152,"title":{},"name":{},"text":{"4":{}},"component":{}}],["way",{"_index":125,"title":{},"name":{},"text":{"4":{}},"component":{}}],["well",{"_index":43,"title":{},"name":{},"text":{"1":{},"2":{}},"component":{}}],["wget",{"_index":61,"title":{},"name":{},"text":{"1":{}},"component":{}}],["whenev",{"_index":108,"title":{},"name":{},"text":{"3":{}},"component":{}}],["width",{"_index":178,"title":{},"name":{},"text":{"4":{}},"component":{}}],["work",{"_index":119,"title":{},"name":{},"text":{"4":{}},"component":{}}],["worth",{"_index":116,"title":{},"name":{},"text":{"3":{}},"component":{}}],["write",{"_index":17,"title":{},"name":{},"text":{"1":{},"4":{}},"component":{}}],["writer",{"_index":363,"title":{},"name":{},"text":{"4":{}},"component":{}}],["writer.write(record",{"_index":370,"title":{},"name":{},"text":{"4":{}},"component":{}}],["written",{"_index":133,"title":{},"name":{},"text":{"4":{}},"component":{}}],["y",{"_index":57,"title":{},"name":{},"text":{"1":{}},"component":{}}],["zipcod",{"_index":190,"title":{},"name":{},"text":{"4":{}},"component":{}}]],"pipeline":["stemmer"]},"store":{"documents":{"1":{"id":1,"text":"This plugin will register itself with the Pact framework for the avro/binary,application/avro, application/*+avro and avro/bytes content types. Using this plugin, you can write Pact tests that verify a single message (i.e. a message provider sends a message to a consumer). Tests are supported by using the V4 asynchronous message Pact format, and the service method calls use the V4 synchronous message Pact format. The executable binaries and plugin manifest file for the plugin can be downloaded from the project releases page. Plugin installation requires the plugin executable binary as well as the plugin manifest file to be unpacked/copied into a Pact plugin directory. By default, this will be .pact/plugins/avro- in the home directory (i.e. $HOME/.pact/plugins/avro-0.0.5 for version 0.0.5). The pact-plugin-cli can be used to install the Avro plugin. See the CLI installation on how to install it. To install the latest version, run pact-plugin-cli -y install https://github.com/austek/pact-avro-plugin/releases/latest Run install-plugin.sh: wget -O - https://github.com/austek/pact-avro-plugin/releases/latest/download/install-plugin.sh | bash INFORMATION The default plugin directory ($HOME/.pact/plugins) can be changed by setting the PACT_PLUGIN_DIR environment variable.","title":"Getting Started","component":"pact-avro-plugin","version":"latest","name":"getting_started","url":"/pact-avro-plugin/latest/getting_started.html","titles":[{"text":"Installation","hash":"installation","id":1},{"text":"Automated","hash":"automated","id":2},{"text":"Manual","hash":"manual","id":3}]},"2":{"id":2,"text":"This plugin provides matching and verification of Avro serialised messages to the Pact contract testing framework. It requires a version of the Pact framework that supports the V4 Pact specification as well as the Pact plugin framework. Supported Pact framework versions: Pact-JVM v4.6.x / JDK 17+ Pact-Rust Consumer v0.9.x Pact-Rust Verifier v0.9.x Pact-Go v2.0.0 Avro over HTTP Avro over RPC Join us on slack in the #avro channel","title":"Overview","component":"pact-avro-plugin","version":"latest","name":"index","url":"/pact-avro-plugin/latest/index.html","titles":[{"text":"Supported features","hash":"supported-features","id":1},{"text":"Unsupported features","hash":"unsupported-features","id":2},{"text":"Support","hash":"support","id":3}]},"3":{"id":3,"text":"The plugin uses Logback to log to standard output log/plugin.log file in in the plugin directory. The default log level is set to ERROR level and can be changed by the LOG_LEVEL environment variable that is passed into the plugin process (this should be set by the framework calling it). The default file logging is set to roll daily or whenever the file size reaches 50MB. Logger will keep 30 days' worth of logging history","title":"Logging","component":"pact-avro-plugin","version":"latest","name":"logging","url":"/pact-avro-plugin/latest/logging.html","titles":[]},"4":{"id":4,"text":"For an overview how asynchronous messages work with Pact, see Non-HTTP testing (Message Pact). In this scenario, a message provider writes a Protocol Buffer message to some one-way transport mechanism, like a message queue, and a consumer then reads it. With this style of testing, the transport mechanism is abstracted away. The message consumer test is written using the Pact Message test DSL. The test DSL defines the expected message format, and then the consumer is tested with an example message generated by the test framework. The consumer tests need to get the plugin loaded and configure the expected messages to use in the test. This is done using the usingPlugin (or using_plugin, depending on the language implementation) followed by the content for the test in some type of map form. For each field of the message that we want in the contract, we define an entry with the field name as the key and a matching definition as the value. For documentation on the matching definition format, see Matching Rule definition expressions. For example, for a JVM test (taken from Protocol Buffer Java examples) we would use the PactBuilder class: Example Avro schema [ { \"namespace\": \"com.github.austek.example\", \"type\": \"record\", \"name\": \"Item\", \"fields\": [ { \"name\": \"name\", \"type\": \"string\" }, { \"name\": \"id\", \"type\": \"long\" } ] }, { \"namespace\": \"com.github.austek.example\", \"type\": \"record\", \"name\": \"Order\", \"fields\": [ { \"name\": \"id\", \"type\": \"long\" }, { \"name\": \"names\", \"type\": \"string\" }, { \"name\": \"enabled\", \"type\": \"boolean\" }, { \"name\": \"height\", \"type\": \"float\" }, { \"name\": \"width\", \"type\": \"double\" }, { \"name\": \"status\", \"type\": { \"type\": \"enum\", \"name\": \"Status\", \"symbols\": [ \"CREATED\", \"UPDATED\", \"DELETED\" ], \"default\": \"CREATED\" } }, { \"name\": \"address\", \"type\": { \"type\": \"record\", \"name\": \"MailAddress\", \"fields\": [ { \"name\": \"no\", \"type\": \"int\" }, { \"name\": \"street\", \"type\": \"string\" }, { \"name\": \"zipcode\", \"type\": [ \"bytes\", \"null\" ] } ] } }, { \"name\": \"items\", \"type\": { \"type\": \"array\", \"items\": \"com.github.austek.example.Item\" } }, { \"name\": \"userId\", \"type\": [ \"null\", { \"type\": \"string\", \"logicalType\": \"uuid\" } ] } ] } ] Consumer configuration return builder .usingPlugin(\"avro\") .expectsToReceive(\"Order Created\", \"core/interaction/message\") .with( Map.of( \"message.contents\", Map.ofEntries( Map.entry(\"pact:avro\", schemasPath), Map.entry(\"pact:record-name\", \"Order\"), Map.entry(\"pact:content-type\", \"avro/binary\"), Map.entry(\"id\", \"notEmpty('100')\"), Map.entry(\"names\", \"notEmpty('name-1')\"), Map.entry(\"enabled\", \"matching(boolean, true)\"), Map.entry(\"height\", \"matching(decimal, 15.8)\"), Map.entry(\"width\", \"matching(decimal, 1.8)\"), Map.entry(\"status\", \"matching(equalTo, 'CREATED')\"), Map.entry( \"address\", Map.of( \"no\", \"matching(integer, 121)\", \"street\", \"matching(equalTo, 'street name')\")), Map.entry( \"items\", List.of( Map.of( \"name\", \"notEmpty('Item-1')\", \"id\", \"notEmpty('1')\"), Map.of( \"name\", \"notEmpty('Item-2')\", \"id\", \"notEmpty('2')\"))), Map.entry(\"userId\", \"notEmpty('20bef962-8cbd-4b8c-8337-97ae385ac45d')\")))) .toPact(); Java example consumer test @Test @PactTestFor(pactMethod = \"configureRecordWithDependantRecord\") void consumerRecordWithDependantRecord(V4Interaction.AsynchronousMessage message) throws IOException { MessageContents messageContents = message.getContents(); List orders = arrayByteToAvroRecord(Order.class, messageContents.getContents().getValue()); Order order = assertFirstOrder(orders); assertThat(messageContents.getContents().getContentType()) .hasToString(\"avro/binary; record=Order\"); assertThat(messageContents.getContents().getContentTypeHint()) .isEqualTo(ContentTypeHint.BINARY); Map ruleCategoryMap = ((MatchingRulesImpl) messageContents.getMatchingRules()).getRules(); assertThat(ruleCategoryMap).hasSize(1); Map rules = ruleCategoryMap.get(\"body\").getMatchingRules(); List idRules = rules.get(\"$.id\").getRules(); assertThat(idRules).hasSize(1); assertThat(idRules.get(0)).extracting(\"name\").isEqualTo(\"not-empty\"); List name0Rules = rules.get(\"$.names\").getRules(); assertThat(name0Rules).hasSize(1); assertThat(name0Rules.get(0)).extracting(\"name\").isEqualTo(\"not-empty\"); assertThat(order.getUserId()) .isEqualTo(UUID.fromString(\"20bef962-8cbd-4b8c-8337-97ae385ac45d\")); assertDoesNotThrow(() -> orderService.process(order)); } public static List arrayByteToAvroRecord(Class c, byte[] bytes) throws IOException { SpecificDatumReader datumReader = new SpecificDatumReader<>(c); List records = new ArrayList<>(); try (ByteArrayInputStream in = new ByteArrayInputStream(bytes)) { BinaryDecoder decoder = DecoderFactory.get().binaryDecoder(in, null); while (!decoder.isEnd()) records.add(datumReader.read(null, decoder)); } return records; } The message provider is verified by getting it to generate a message, and then this is verified against the Pact file from the consumer. There are two main ways of verifying the provider: Write a test in the provider code base that can call the provider to generate the message. Use an HTTP proxy server that can call the provider and return the generated message, and then use a Pact framework verifier to verify it. Java example provider test package com.github.austek.example.pulsar.avro; import au.com.dius.pact.core.model.ContentTypeHint; import au.com.dius.pact.provider.MessageAndMetadata; import au.com.dius.pact.provider.PactVerifyProvider; import au.com.dius.pact.provider.junit5.MessageTestTarget; import au.com.dius.pact.provider.junit5.PactVerificationContext; import au.com.dius.pact.provider.junit5.PactVerificationInvocationContextProvider; import au.com.dius.pact.provider.junitsupport.Provider; import au.com.dius.pact.provider.junitsupport.loader.PactBroker; import com.github.austek.example.Item; import com.github.austek.example.MailAddress; import com.github.austek.example.Order; import com.github.austek.example.Status; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.List; import java.util.Map; import java.util.UUID; import org.apache.avro.io.BinaryEncoder; import org.apache.avro.io.EncoderFactory; import org.apache.avro.specific.SpecificDatumWriter; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.TestTemplate; import org.junit.jupiter.api.extension.ExtendWith; @Provider(\"order-provider\") @PactBroker(url = \"http://localhost:9292\") class PactPulsarProducerTest { private static final String AVRO_CONTENT_TYPE = \"avro/binary; record=Order\"; private static final String KEY_CONTENT_TYPE = \"contentType\"; private static final String KEY_CONTENT_TYPE_HINT = \"contentTypeHint\"; private static final ContentTypeHint CONTENT_TYPE_HINT = ContentTypeHint.BINARY; @TestTemplate @ExtendWith(PactVerificationInvocationContextProvider.class) void testTemplate(PactVerificationContext context) { context.verifyInteraction(); } @SuppressWarnings(\"JUnitMalformedDeclaration\") @BeforeEach void setupTest(PactVerificationContext context) { context.setTarget(new MessageTestTarget()); } @PactVerifyProvider(\"Order Created\") public MessageAndMetadata orderCreatedEvent() throws IOException { Order order = new Order( 100L, \"name-1\", true, 15.8F, 1.8D, Status.CREATED, new MailAddress(121, \"street name\", null), List.of(new Item(\"Item-1\", 1L), new Item(\"Item-2\", 2L)), UUID.fromString(\"20bef962-8cbd-4b8c-8337-97ae385ac45d\")); return new MessageAndMetadata( serialise(order), Map.of( KEY_CONTENT_TYPE, AVRO_CONTENT_TYPE, KEY_CONTENT_TYPE_HINT, CONTENT_TYPE_HINT)); } private byte[] serialise(Order record) throws IOException { SpecificDatumWriter writer = new SpecificDatumWriter<>(Order.class); try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) { BinaryEncoder encoder = EncoderFactory.get().binaryEncoder(outputStream, null); writer.write(record, encoder); encoder.flush(); return outputStream.toByteArray(); } } }","title":"Testing","component":"pact-avro-plugin","version":"latest","name":"testing","url":"/pact-avro-plugin/latest/testing.html","titles":[{"text":"Consumer","hash":"consumer","id":1},{"text":"The Avro test configuration","hash":"the-avro-test-configuration","id":2},{"text":"Provider","hash":"provider","id":3}]}},"components":{},"componentVersions":{"pact-avro-plugin/latest":{"displayVersion":"latest","title":"Pact Avro Plugin","version":"latest","name":"pact-avro-plugin","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Pact Avro Plugin","site-url":"https://austek.github.io/pact-avro-plugin/","idprefix":"","idseparator":"-","page-pagination":"","experimental":"","plantuml-server-url":"https://www.plantuml.com/plantuml","kroki-fetch-diagram":true,"kroki-default-format":"svg","kroki-default-options":"interactive","encoding":"utf-8","lang":"en","project-name":"pact-avro-plugin","project-display-name":"Pact Avro Plugin","version":"0.0.5"},"sourcemap":false,"extensions":[{},{},{}]},"url":"/pact-avro-plugin/latest/index.html","navigation":[{"items":[{"content":"Getting Started","url":"/pact-avro-plugin/latest/getting_started.html","urlType":"internal"},{"content":"Logging","url":"/pact-avro-plugin/latest/logging.html","urlType":"internal"},{"content":"Testing","url":"/pact-avro-plugin/latest/testing.html","urlType":"internal"}],"root":true,"order":0}]}}}}) \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index fd858b3..b50ceed 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,18 +2,18 @@ https://austek.github.io/pact-avro-plugin/pact-avro-plugin/latest/getting_started.html -2023-11-30T17:23:39.572Z +2024-01-14T17:18:10.880Z https://austek.github.io/pact-avro-plugin/pact-avro-plugin/latest/index.html -2023-11-30T17:23:39.572Z +2024-01-14T17:18:10.880Z https://austek.github.io/pact-avro-plugin/pact-avro-plugin/latest/logging.html -2023-11-30T17:23:39.572Z +2024-01-14T17:18:10.880Z https://austek.github.io/pact-avro-plugin/pact-avro-plugin/latest/testing.html -2023-11-30T17:23:39.572Z +2024-01-14T17:18:10.880Z