package Ġcom . project city build . tests . integration . b ans Ċ Ċ import Ġcom . project city build . modules . b ans . Create Ban Action Ċ import Ġcom . project city build . modules . b ans . Create Un ban Action Ċ import Ġcom . project city build . tests . mocks . make Network Clients Ċ import Ġcom . project city build . tests . mocks . with JSON Resource Ċ import Ġjunit . framework . TestCase . assertEquals Ċ import Ġjunit . framework . TestCase . fail Ċ import Ġokhttp 3 . mock webserver . Mock Response Ċ import Ġokhttp 3 . mock webserver . Mock WebServer Ċ import Ġorg . hamcrest . Core Matchers . instance Of Ċ import Ġorg . hamcrest . Matcher Assert . assertThat Ċ import Ġorg . junit . After Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġjava . util .* Ċ Ċ class ĠCreate Un ban Action Tests Ġ{ Ċ Ċ // ĠĠĠ Ġprivate Ġlateinit Ġvar Ġmock WebServer : ĠMock WebServer Ċ // Ċ // ĠĠĠ Ġ@ Before Ċ // ĠĠĠ Ġfun Ġsetup () Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġmock WebServer Ġ= ĠMock WebServer () Ċ // ĠĠĠĠĠĠĠ Ġmock WebServer . start () Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġ@ After Ċ // ĠĠĠ Ġfun ĠtearDown () Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġmock WebServer . shutdown () Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġ@ Test Ċ // ĠĠĠ Ġfun Ġ` un ban Ġresponse Ġreturns Ġsuccess `() Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= ĠMock Response (). with JSON Resource (" api _ ban _ un ban _ response . json ") Ċ // ĠĠĠĠĠĠĠ Ġmock WebServer . enqueue ( response ) Ċ // Ċ // ĠĠĠĠĠĠĠ Ġval Ġaction Ġ= ĠCreate Un ban Action ( mock WebServer . make Network Clients ()) Ċ // ĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġaction . execute ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer Id Ġ= ĠUUID . randomUUID (), Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstaff Id Ġ= ĠUUID . randomUUID () Ċ // ĠĠĠĠĠĠĠ Ġ) Ċ // ĠĠĠĠĠĠĠ ĠassertThat ( result , Ġinstance Of ( Create Un ban Action . Result . SUCCESS :: class . java )) Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġ@ Test Ċ // ĠĠĠ Ġfun Ġ` invalid Ġinput Ġreturns Ġfailure `() Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= ĠMock Response (). with JSON Resource (" api _ ban _ invalid _ input _ response . json ") Ċ // ĠĠĠĠĠĠĠ Ġmock WebServer . enqueue ( response ) Ċ // Ċ // ĠĠĠĠĠĠĠ Ġval Ġaction Ġ= ĠCreate Un ban Action ( mock WebServer . make Network Clients ()) Ċ // ĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġaction . execute ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer Id Ġ= ĠUUID . randomUUID (), Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstaff Id Ġ= ĠUUID . randomUUID () Ċ // ĠĠĠĠĠĠĠ Ġ) Ċ // ĠĠĠĠĠĠĠ Ġif Ġ( result Ġ! is ĠCreate Un ban Action . Result . FAILED ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfail (" Expected ĠFAILED Ġresult Ġbut Ġgot Ġ$ result ") Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ ĠassertEquals ( result . reason , ĠCreate Un ban Action . Failure . BAD _ REQUEST ) Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġ@ Test Ċ // ĠĠĠ Ġfun Ġ` un b anning Ġa Ġplayer Ġthat 's Ġnot Ġb anned Ġreturns Ġfailure `() Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= ĠMock Response (). with JSON Resource (" api _ ban _ not _ b anned _ response . json ") Ċ // ĠĠĠĠĠĠĠ Ġmock WebServer . enqueue ( response ) Ċ // Ċ // ĠĠĠĠĠĠĠ Ġval Ġaction Ġ= ĠCreate Un ban Action ( mock WebServer . make Network Clients ()) Ċ // ĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġaction . execute ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer Id Ġ= ĠUUID . randomUUID (), Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstaff Id Ġ= ĠUUID . randomUUID () Ċ // ĠĠĠĠĠĠĠ Ġ) Ċ // ĠĠĠĠĠĠĠ Ġif Ġ( result Ġ! is ĠCreate Un ban Action . Result . FAILED ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfail (" Expected ĠFAILED Ġresult Ġbut Ġgot Ġ$ result ") Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ ĠassertEquals ( result . reason , ĠCreate Un ban Action . Failure . PLAYER _ NOT _ BAN N ED ) Ċ // ĠĠĠ Ġ} Ċ }