package Ġcom . content ful . java . c ma Ċ Ċ import Ġcom . content ful . java . c ma . lib . Test Callback Ċ import Ġcom . content ful . java . c ma . lib . TestUtils Ċ import Ġcom . content ful . java . c ma . model . CM AL oc ale Ċ import Ġcom . google . gson . Gson Ċ import Ġokhttp 3 . mock webserver . Mock Response Ċ import Ġokhttp 3 . mock webserver . Mock WebServer Ċ import Ġorg . junit . After Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġjava . util . logging . Log Manager Ċ import Ġkotlin . test . assertEquals Ċ Ċ class ĠLoc ales Tests { ĊĠĠĠ Ġvar Ġserver : ĠMock WebServer ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġclient : ĠC MAC lient ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġgson : ĠGson ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ ĠLog Manager . getLog Manager (). reset () ĊĠĠĠĠĠĠĠ Ġ// ĠMock WebServer ĊĠĠĠĠĠĠĠ Ġserver Ġ= ĠMock WebServer () ĊĠĠĠĠĠĠĠ Ġserver !!. start () ĊĊĠĠĠĠĠĠĠ Ġ// ĠClient ĊĠĠĠĠĠĠĠ Ġclient Ġ= ĠC MAC lient . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set AccessToken (" token ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Core Endpoint ( server !!. url ("/ "). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Upload Endpoint ( server !!. url ("/ "). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Space Id (" configured Space Id ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Environment Id (" configured Environment Id ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġgson Ġ= ĠC MAC lient . create Gson () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After ĊĠĠĠ Ġfun ĠtearDown () Ġ{ ĊĠĠĠĠĠĠĠ Ġserver !!. shutdown () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Fetch One () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Body Ġ= ĠTestUtils . file ToString (" locales _ get _ one . json ") ĊĠĠĠĠĠĠĠ Ġserver !!. enqueue ( Mock Response (). set Response Code ( 2 0 0 ). set Body ( response Body )) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġassert Test Callback ( client !!. locales (). async () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fetch One (" space Id ", Ġ" master ", Ġ" locale Id ", ĠTest Callback ()) Ġas ĠTest Callback ) !! ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" U . S . ĠEnglish ", Ġresult . name ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" en - US ", Ġresult . code ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( null , Ġresult . fallback Code ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( true , Ġresult . is Default ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( true , Ġresult . is Content Management Api ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( true , Ġresult . is Content Delivery Api ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( false , Ġresult . is Optional ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" 7 l T cr h 2 Sz R 6 2 6 t 7 f R 8 r IP D ", Ġresult . id ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" Locale ", Ġresult . system . type . name ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠRequest ĊĠĠĠĠĠĠĠ Ġval Ġrecorded Request Ġ= Ġserver !!. take Request () ĊĠĠĠĠĠĠĠ ĠassertEquals (" GET ", Ġrecorded Request . method ) ĊĠĠĠĠĠĠĠ ĠassertEquals ("/ spaces / space Id / environments / master / locales / locale Id ", Ġrecorded Request . path ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Fetch One With Configured Space And Environment () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Body Ġ= ĠTestUtils . file ToString (" locales _ get _ one . json ") ĊĠĠĠĠĠĠĠ Ġserver !!. enqueue ( Mock Response (). set Response Code ( 2 0 0 ). set Body ( response Body )) ĊĊĠĠĠĠĠĠĠ Ġassert Test Callback ( client !!. locales (). async (). fetch One (" locale Id ", ĠTest Callback ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġas ĠTest Callback ) !! ĊĊĠĠĠĠĠĠĠ Ġ// ĠRequest ĊĠĠĠĠĠĠĠ Ġval Ġrecorded Request Ġ= Ġserver !!. take Request () ĊĠĠĠĠĠĠĠ ĠassertEquals (" GET ", Ġrecorded Request . method ) ĊĠĠĠĠĠĠĠ ĠassertEquals ("/ spaces / configured Space Id / environments / configured Environment Id " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġ"/ locales / locale Id ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrecorded Request . path ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Fetch All () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Body Ġ= ĠTestUtils . file ToString (" locales _ get _ all . json ") ĊĠĠĠĠĠĠĠ Ġserver !!. enqueue ( Mock Response (). set Response Code ( 2 0 0 ). set Body ( response Body )) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġassert Test Callback ( client !!. locales (). async () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fetch All (" space Id ", Ġ" master ", ĠTest Callback ()) Ġas ĠTest Callback ) !! ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġresult . total ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 0 0 , Ġresult . limit ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġresult . skip ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġresult . items . size ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" U . S . ĠEnglish ", Ġresult . items [ 0 ]. name ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" English Ġ( B rit ish )", Ġresult . items [ 1 ]. name ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠRequest ĊĠĠĠĠĠĠĠ Ġval Ġrecorded Request Ġ= Ġserver !!. take Request () ĊĠĠĠĠĠĠĠ ĠassertEquals (" GET ", Ġrecorded Request . method ) ĊĠĠĠĠĠĠĠ ĠassertEquals ("/ spaces / space Id / environments / master / locales ", Ġrecorded Request . path ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Fetch All With Configured Space And Environment () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Body Ġ= ĠTestUtils . file ToString (" locales _ get _ all . json ") ĊĠĠĠĠĠĠĠ Ġserver !!. enqueue ( Mock Response (). set Response Code ( 2 0 0 ). set Body ( response Body )) ĊĊĠĠĠĠĠĠĠ Ġassert Test Callback ( client !!. locales (). async (). fetch All ( Test Callback ()) Ġas ĠTest Callback ) !! ĊĊĠĠĠĠĠĠĠ Ġ// ĠRequest ĊĠĠĠĠĠĠĠ Ġval Ġrecorded Request Ġ= Ġserver !!. take Request () ĊĠĠĠĠĠĠĠ ĠassertEquals (" GET ", Ġrecorded Request . method ) ĊĠĠĠĠĠĠĠ ĠassertEquals ("/ spaces / configured Space Id / environments / configured Environment Id / locales ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrecorded Request . path ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Create New () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Body Ġ= ĠTestUtils . file ToString (" locales _ create . json ") ĊĠĠĠĠĠĠĠ Ġserver !!. enqueue ( Mock Response (). set Response Code ( 2 0 0 ). set Body ( response Body )) ĊĊĠĠĠĠĠĠĠ Ġval Ġlocale Ġ= ĠCM AL oc ale () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setName (" English Ġ( B rit ish )") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Code (" en - UK ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Fallback Code (" en - US ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Optional ( false ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġassert Test Callback ( client !!. locales (). async () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create (" space Id ", Ġ" master ", Ġlocale , ĠTest Callback ()) Ġas ĠTest Callback ) !! ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" English Ġ( B rit ish )", Ġresult . name ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" en - UK ", Ġresult . code ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" en - US ", Ġresult . fallback Code ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( false , Ġresult . is Optional ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠRequest ĊĠĠĠĠĠĠĠ Ġval Ġrecorded Request Ġ= Ġserver !!. take Request () ĊĠĠĠĠĠĠĠ ĠassertEquals (" POST ", Ġrecorded Request . method ) ĊĠĠĠĠĠĠĠ ĠassertEquals ("/ spaces / space Id / environments / master / locales /", Ġrecorded Request . path ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Create New With Configured Space And Environment () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Body Ġ= ĠTestUtils . file ToString (" locales _ create . json ") ĊĠĠĠĠĠĠĠ Ġserver !!. enqueue ( Mock Response (). set Response Code ( 2 0 0 ). set Body ( response Body )) ĊĊĠĠĠĠĠĠĠ Ġval Ġlocale Ġ= ĠCM AL oc ale () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setName (" English Ġ( B rit ish )") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Code (" en - UK ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Fallback Code (" en - US ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Optional ( false ) ĊĊĠĠĠĠĠĠĠ Ġassert Test Callback ( client !!. locales (). async (). create ( locale , ĠTest Callback ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġas ĠTest Callback ) !! ĊĊĠĠĠĠĠĠĠ Ġ// ĠRequest ĊĠĠĠĠĠĠĠ Ġval Ġrecorded Request Ġ= Ġserver !!. take Request () ĊĠĠĠĠĠĠĠ ĠassertEquals (" POST ", Ġrecorded Request . method ) ĊĠĠĠĠĠĠĠ ĠassertEquals ("/ spaces / configured Space Id / environments / configured Environment Id / locales /", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrecorded Request . path ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Update () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Body Ġ= ĠTestUtils . file ToString (" locales _ update . json ") ĊĠĠĠĠĠĠĠ Ġserver !!. enqueue ( Mock Response (). set Response Code ( 2 0 0 ). set Body ( response Body )) ĊĊĠĠĠĠĠĠĠ Ġ// ĠDO ĠNOT ĠUSE ĠIN ĠPRO DU CTION : ĠUSE ĠA ĠFETCH ĠFIRST ! ĊĠĠĠĠĠĠĠ Ġval Ġlocale Ġ= ĠCM AL oc ale () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setId (" sample Id ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Space Id (" space Id ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Version ( 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setName (" U . S . ĠEnglish ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Code (" en - US ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Fallback Code ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Optional ( false ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġassert Test Callback ( client !!. locales (). async () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. update ( locale , ĠTest Callback ()) Ġas ĠTest Callback ) !! ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" U . S . ĠEnglish ", Ġresult . name ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" en - US ", Ġresult . code ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( null , Ġresult . fallback Code ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( true , Ġresult . is Default ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( true , Ġresult . is Content Management Api ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( true , Ġresult . is Content Delivery Api ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( false , Ġresult . is Optional ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠRequest ĊĠĠĠĠĠĠĠ Ġval Ġrecorded Request Ġ= Ġserver !!. take Request () ĊĠĠĠĠĠĠĠ ĠassertEquals (" PUT ", Ġrecorded Request . method ) ĊĠĠĠĠĠĠĠ ĠassertEquals ("/ spaces / space Id / environments / master / locales / sample Id ", Ġrecorded Request . path ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Delete One () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Body Ġ= ĠTestUtils . file ToString (" locales _ delete . json ") ĊĠĠĠĠĠĠĠ Ġserver !!. enqueue ( Mock Response (). set Response Code ( 2 0 4 ). set Body ( response Body )) ĊĊĠĠĠĠĠĠĠ Ġassert Test Callback ( client !!. locales (). async () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. delete ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCM AL oc ale (). setId (" locale Id "). set Space Id (" space Id "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest Callback () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġas ĠTest Callback ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠRequest ĊĠĠĠĠĠĠĠ Ġval Ġrecorded Request Ġ= Ġserver !!. take Request () ĊĠĠĠĠĠĠĠ ĠassertEquals (" DELETE ", Ġrecorded Request . method ) ĊĠĠĠĠĠĠĠ ĠassertEquals ("/ spaces / space Id / environments / master / locales / locale Id ", Ġrecorded Request . path ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Fetch All From Environment () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Body Ġ= ĠTestUtils . file ToString (" locales _ get _ all _ form _ environment . json ") ĊĠĠĠĠĠĠĠ Ġserver !!. enqueue ( Mock Response (). set Response Code ( 2 0 0 ). set Body ( response Body )) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġassert Test Callback ( client !!. locales (). async () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fetch All (" space Id ", Ġ" staging ", ĠTest Callback ()) Ġas ĠTest Callback ) !! ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 8 , Ġresult . total ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 0 0 , Ġresult . limit ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġresult . skip ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 8 , Ġresult . items . size ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" U . S . ĠEnglish ", Ġresult . items [ 0 ]. name ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" English Ġ( B rit ish )", Ġresult . items [ 1 ]. name ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" staging ", Ġresult . items [ 0 ]. environment Id ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠRequest ĊĠĠĠĠĠĠĠ Ġval Ġrecorded Request Ġ= Ġserver !!. take Request () ĊĠĠĠĠĠĠĠ ĠassertEquals (" GET ", Ġrecorded Request . method ) ĊĠĠĠĠĠĠĠ ĠassertEquals ("/ spaces / space Id / environments / staging / locales ", Ġrecorded Request . path ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Fetch One From Environment () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Body Ġ= ĠTestUtils . file ToString (" locales _ get _ one _ form _ environment . json ") ĊĠĠĠĠĠĠĠ Ġserver !!. enqueue ( Mock Response (). set Response Code ( 2 0 0 ). set Body ( response Body )) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġassert Test Callback ( client !!. locales (). async () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fetch One (" space Id ", Ġ" staging ", Ġ" 7 l T cr h 2 Sz R 6 2 6 t 7 f R 8 r IP D ", ĠTest Callback ()) Ġas ĠTest Callback ) !! ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" U . S . ĠEnglish ", Ġresult . name ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" staging ", Ġresult . environment Id ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠRequest ĊĠĠĠĠĠĠĠ Ġval Ġrecorded Request Ġ= Ġserver !!. take Request () ĊĠĠĠĠĠĠĠ ĠassertEquals (" GET ", Ġrecorded Request . method ) ĊĠĠĠĠĠĠĠ ĠassertEquals ("/ spaces / space Id / environments / staging / locales / 7 l T cr h 2 Sz R 6 2 6 t 7 f R 8 r IP D ", Ġrecorded Request . path ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Create In Environment () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Body Ġ= ĠTestUtils . file ToString (" locales _ create _ in _ environment . json ") ĊĠĠĠĠĠĠĠ Ġserver !!. enqueue ( Mock Response (). set Response Code ( 2 0 0 ). set Body ( response Body )) ĊĊĠĠĠĠĠĠĠ Ġval Ġlocale Ġ= ĠCM AL oc ale (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Chinese " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcode Ġ= Ġ" cn " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġassert Test Callback ( client !!. locales (). async () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create (" space Id ", Ġ" staging ", Ġlocale , ĠTest Callback ()) Ġas ĠTest Callback ) !! ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" Chinese ", Ġresult . name ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" cn ", Ġresult . code ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" staging ", Ġresult . environment Id ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠRequest ĊĠĠĠĠĠĠĠ Ġval Ġrecorded Request Ġ= Ġserver !!. take Request () ĊĠĠĠĠĠĠĠ ĠassertEquals (" POST ", Ġrecorded Request . method ) ĊĠĠĠĠĠĠĠ ĠassertEquals ("/ spaces / space Id / environments / staging / locales /", Ġrecorded Request . path ) ĊĠĠĠ Ġ} Ċ }