package Ġuk . gov . just ice . digital . as sess ments . test utils Ċ Ċ import Ġcom . github . tom ake hur st . wire mock . Wire Mock Server Ċ import Ġcom . github . tom ake hur st . wire mock . client . Wire Mock Ċ import Ġcom . github . tom ake hur st . wire mock . http . Http Header Ċ import Ġcom . github . tom ake hur st . wire mock . http . HttpHeaders Ċ Ċ class ĠAssessment Api Mock Server Ġ: ĠWire Mock Server ( 9 0 0 4 ) Ġ{ ĊĠ Ġfun Ġstub Get Assessment () Ġ{ ĊĊĠĠĠ Ġstub For ( ĊĠĠĠĠĠ ĠWire Mock . get ( Wire Mock . url EqualTo ("/ as sess ments / o as ys Set Pk / 1 ")) ĊĠĠĠĠĠĠĠ Ġ. willReturn ( ĊĠĠĠĠĠĠĠĠĠ ĠWire Mock . a Response () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Headers ( HttpHeaders ( Http Header (" Content - Type ", Ġ" application / json "))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Body ( assessment Json ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġstub For ( ĊĠĠĠĠĠ ĠWire Mock . get ( Wire Mock . url EqualTo ("/ as sess ments / o as ys Set Pk / 2 ")) ĊĠĠĠĠĠĠĠ Ġ. willReturn ( ĊĠĠĠĠĠĠĠĠĠ ĠWire Mock . a Response () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Body ( get Assessment NotFound Json ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Status ( 4 0 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Headers ( HttpHeaders ( Http Header (" Content - Type ", Ġ" application / json "))) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġstub For ( ĊĠĠĠĠĠ ĠWire Mock . get ( Wire Mock . url EqualTo ("/ as sess ments / o as ys Set Pk / 3 ")) ĊĠĠĠĠĠĠĠ Ġ. willReturn ( ĊĠĠĠĠĠĠĠĠĠ ĠWire Mock . a Response () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Status ( 5 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Headers ( HttpHeaders ( Http Header (" Content - Type ", Ġ" application / json "))) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġstub For ( ĊĠĠĠĠĠ ĠWire Mock . get ( Wire Mock . url EqualTo ("/ as sess ments / o as ys Set Pk / 4 ")) ĊĠĠĠĠĠĠĠ Ġ. willReturn ( ĊĠĠĠĠĠĠĠĠĠ ĠWire Mock . a Response () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Body (" ERROR ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Status ( 4 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Headers ( HttpHeaders ( Http Header (" Content - Type ", Ġ" application / json "))) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġstub For ( ĊĠĠĠĠĠ ĠWire Mock . get ( Wire Mock . url EqualTo ("/ as sess ments / o as ys Set Pk / 5 ")) ĊĠĠĠĠĠĠĠ Ġ. willReturn ( ĊĠĠĠĠĠĠĠĠĠ ĠWire Mock . a Response () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Status ( 4 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Headers ( HttpHeaders ( Http Header (" Content - Type ", Ġ" application / json "))) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġstub For ( ĊĠĠĠĠĠ ĠWire Mock . post ( Wire Mock . url EqualTo ("/ referenced ata / filtered ")) ĊĠĠĠĠĠĠĠ Ġ. with RequestBody ( Wire Mock . equal ToJson ("{ Ġ\" o as ys Set Pk \": Ġ 1 Ġ} ", true , Ġtrue Ġ)) ĊĠĠĠĠĠĠĠ Ġ. willReturn ( ĊĠĠĠĠĠĠĠĠĠ ĠWire Mock . a Response () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Status ( 2 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Headers ( HttpHeaders ( Http Header (" Content - Type ", Ġ" application / json "))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Body ( filtered Reference Data Json ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġstub For ( ĊĠĠĠĠĠ ĠWire Mock . post ( Wire Mock . url EqualTo ("/ referenced ata / filtered ")) ĊĠĠĠĠĠĠĠ Ġ. with RequestBody ( Wire Mock . equal ToJson ("{ Ġ\" o as ys Set Pk \": Ġ 2 Ġ} ", true , Ġtrue Ġ)) ĊĠĠĠĠĠĠĠ Ġ. willReturn ( ĊĠĠĠĠĠĠĠĠĠ ĠWire Mock . a Response () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Status ( 5 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Headers ( HttpHeaders ( Http Header (" Content - Type ", Ġ" application / json "))) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġstub For ( ĊĠĠĠĠĠ ĠWire Mock . post ( Wire Mock . url EqualTo ("/ referenced ata / filtered ")) ĊĠĠĠĠĠĠĠ Ġ. with RequestBody ( Wire Mock . equal ToJson ("{ Ġ\" o as ys Set Pk \": Ġ 3 Ġ} ", true , Ġtrue Ġ)) ĊĠĠĠĠĠĠĠ Ġ. willReturn ( ĊĠĠĠĠĠĠĠĠĠ ĠWire Mock . a Response () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Status ( 4 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Headers ( HttpHeaders ( Http Header (" Content - Type ", Ġ" application / json "))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Body ( reference Data 4 0 0 Error ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġstub For ( ĊĠĠĠĠĠ ĠWire Mock . post ( Wire Mock . url EqualTo ("/ referenced ata / filtered ")) ĊĠĠĠĠĠĠĠ Ġ. with RequestBody ( Wire Mock . equal ToJson ("{ Ġ\" o as ys Set Pk \": Ġ 4 Ġ} ", true , Ġtrue Ġ)) ĊĠĠĠĠĠĠĠ Ġ. willReturn ( ĊĠĠĠĠĠĠĠĠĠ ĠWire Mock . a Response () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Status ( 4 0 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Headers ( HttpHeaders ( Http Header (" Content - Type ", Ġ" application / json "))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Body ( reference Data 4 0 1 Error ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġstub For ( ĊĠĠĠĠĠ ĠWire Mock . post ( Wire Mock . url EqualTo ("/ referenced ata / filtered ")) ĊĠĠĠĠĠĠĠ Ġ. with RequestBody ( Wire Mock . equal ToJson ("{ Ġ\" o as ys Set Pk \": Ġ 5 Ġ} ", true , Ġtrue Ġ)) ĊĠĠĠĠĠĠĠ Ġ. willReturn ( ĊĠĠĠĠĠĠĠĠĠ ĠWire Mock . a Response () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Status ( 4 0 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Headers ( HttpHeaders ( Http Header (" Content - Type ", Ġ" application / json "))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Body ( reference Data 4 0 4 Error ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĠ Ġ} ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠ Ġval Ġassessment Json Ġ= ĊĊĠĠĠĠĠ Ġ""" { ĊĠĠĠ Ġ" assessment Id ": Ġ 1 , ĊĠĠĠ Ġ" ref Assessment Version Code ": Ġ" LAYER 3 ", ĊĠĠĠ Ġ" assessment Type ": Ġ" LAYER _ 3 ", ĊĠĠĠ Ġ" assessment Status ": Ġ" COMPLETE ", ĊĠĠĠ Ġ" h istoric Status ": Ġ" CURRENT ", ĊĠĠĠ Ġ" as sess or Name ": Ġ" Prob ation ĠTest ", ĊĠĠĠ Ġ" created ": Ġ" 2 0 1 6 - 0 3 - 1 6 T 1 0 : 1 6 : 3 8 ", ĊĠĠĠ Ġ" completed ": Ġ" 2 0 1 8 - 0 6 - 2 0 T 2 3 : 0 0 : 0 9 ", ĊĠĠĠ Ġ" sections ": Ġ[ ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" section Id ": Ġ 8 0 7 8 5 4 8 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" ref Section Code ": Ġ" 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" ref Section C rim Need Score Threshold ": Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" status ": Ġ" COMPLETE _ LOCK ED ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" section O gp Weighted Score ": Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" section O gp Raw Score ": Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" section O vp Weighted Score ": Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" section O vp Raw Score ": Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" section Other Weighted Score ": Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" low Score Attention Needed ": Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" questions ": Ġ[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ref Question Id ": Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ref Question Code ": Ġ" 3 . 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" o as ys Question Id ": Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" display Order ": Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" question Text ": Ġ" Currently Ġof Ġno Ġfixed Ġab ode Ġor Ġin Ġtransient Ġac commod ation ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" currently Hidden ": Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" dis closed ": Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" answers ": Ġ[] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ref Question Id ": Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ref Question Code ": Ġ" 3 . 4 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" o as ys Question Id ": Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" display Order ": Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" question Text ": Ġ" Suit ability Ġof Ġac commod ation ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" currently Hidden ": Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" dis closed ": Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" answers ": Ġ[] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ] ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ] Ċ } ĊĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠ Ġval Ġget Assessment NotFound Json Ġ= ĊĠĠĠĠĠ Ġ""" { Ġ" developer Message ": Ġ" Assessment Ġnot Ġfound " Ġ} """. trim Indent () ĊĊĠĠĠ Ġval Ġreference Data 4 0 0 Error Ġ= ĊĠĠĠĠĠ Ġ""" { Ġ" developer Message ": Ġ" Bad ĠRequest " Ġ} """. trim Indent () ĊĊĠĠĠ Ġval Ġreference Data 4 0 1 Error Ġ= ĊĠĠĠĠĠ Ġ""" { Ġ" developer Message ": Ġ" Not ĠAuthor ised " Ġ} """. trim Indent () ĊĊĠĠĠ Ġval Ġreference Data 4 0 4 Error Ġ= ĊĠĠĠĠĠ Ġ""" { Ġ" developer Message ": Ġ" Not ĠFound " Ġ} """. trim Indent () ĊĊĠĠĠ Ġval Ġfiltered Reference Data Json Ġ= ĊĠĠĠĠĠĠĠ Ġ""" { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" as sess or _ office ": Ġ[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" long Description ": Ġ" Test ĠAssessment ĠOffice Ġ 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" description ": Ġ" Test ĠAssessment Ġ 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" code ": Ġ" 1 2 3 4 5 6 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" long Description ": Ġ" Test ĠAssessment ĠOffice Ġ 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" description ": Ġ" Test ĠAssessment Ġ 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" code ": Ġ" 1 2 3 4 5 6 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ] ĊĠĠĠĠĠĠĠ Ġ} """. trim Indent () ĊĠ Ġ} Ċ } Ċ