/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 9 ĠContent ful ĠGmbH Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . content ful . java . c ma Ċ Ċ import Ġcom . content ful . java . c ma . lib . Module TestUtils Ċ 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 . C MA Environment Ċ import Ġcom . content ful . java . c ma . model . C MA Environment Status Ċ import Ġcom . content ful . java . c ma . model . C MA Type Ċ 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 Ġjava . util . logging . Log Manager Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assertNull Ċ import Ġkotlin . test . assertTrue Ċ import Ġorg . junit . Test Ġas Ġtest Ċ Ċ class ĠEn vironments 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 Create () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Body Ġ= ĠTestUtils . file ToString (" environments _ create . json ") ĊĠĠĠĠĠĠĠ Ġserver !!. enqueue ( Mock Response (). set Response Code ( 2 0 0 ). set Body ( response Body )) ĊĊĠĠĠĠĠĠĠ Ġval Ġenvironment Ġ= ĠC MA Environment (). setName (" environment _ name ") ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġassert Test Callback ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. environments () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. async () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"< space _ id >", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenvironment , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest Callback () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġas ĠTest Callback ) !! ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" d 3 5 qs fs q 3 ctp ", Ġresult . id ) ĊĠĠĠĠĠĠĠ ĠassertEquals ("< space _ id >", Ġresult . space Id ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠRequest ĊĠĠĠĠĠĠĠ Ġval Ġrecorded Request Ġ= Ġserver !!. take Request () ĊĠĠĠĠĠĠĠ ĠassertEquals (" POST ", Ġrecorded Request . method ) ĊĠĠĠĠĠĠĠ ĠassertEquals ("/ spaces /% 3 C space _ id % 3 E / environments ", Ġrecorded Request . path ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ test ĊĠĠĠ Ġfun Ġtest Create With Configured Space And Environment () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Body Ġ= ĠTestUtils . file ToString (" environments _ create . json ") ĊĠĠĠĠĠĠĠ Ġserver !!. enqueue ( Mock Response (). set Response Code ( 2 0 0 ). set Body ( response Body )) ĊĊĠĠĠĠĠĠĠ Ġval Ġenvironment Ġ= ĠC MA Environment (). setName (" environment _ name ") ĊĊĠĠĠĠĠĠĠ Ġassert Test Callback ( client !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. environments () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. async () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenvironment , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest Callback () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġas ĠTest Callback ) !! ĊĊĠĠĠĠĠĠĠ Ġ// ĠRequest ĊĠĠĠĠĠĠĠ Ġval Ġrecorded Request Ġ= Ġserver !!. take Request () ĊĠĠĠĠĠĠĠ ĠassertEquals (" POST ", Ġrecorded Request . method ) ĊĠĠĠĠĠĠĠ ĠassertEquals ("/ spaces / configured Space Id / environments ", Ġrecorded Request . path ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ test ĊĠĠĠ Ġfun Ġtest Create With Id () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Body Ġ= ĠTestUtils . file ToString (" environments _ create _ with _ id . json ") ĊĠĠĠĠĠĠĠ Ġserver !!. enqueue ( Mock Response (). set Response Code ( 2 0 0 ). set Body ( response Body )) ĊĊĠĠĠĠĠĠĠ Ġval Ġenvironment Ġ= ĠC MA Environment (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" environment _ with _ id " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ" new _ id " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġassert Test Callback ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. environments () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. async () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"< space _ id >", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenvironment , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest Callback () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġas ĠTest Callback ) !! ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" new _ id ", Ġresult . id ) ĊĠĠĠĠĠĠĠ ĠassertEquals ("< space _ id >", Ġresult . space Id ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠRequest ĊĠĠĠĠĠĠĠ Ġval Ġrecorded Request Ġ= Ġserver !!. take Request () ĊĠĠĠĠĠĠĠ ĠassertEquals (" PUT ", Ġrecorded Request . method ) ĊĠĠĠĠĠĠĠ ĠassertEquals ("/ spaces /% 3 C space _ id % 3 E / environments / new _ id ", Ġrecorded Request . path ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ test ĊĠĠĠ Ġfun Ġtest CreateFrom Other () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Body Ġ= ĠTestUtils . file ToString (" environments _ create _ from _ id . json ") ĊĠĠĠĠĠĠĠ Ġserver !!. enqueue ( Mock Response (). set Response Code ( 2 0 0 ). set Body ( response Body )) ĊĊĠĠĠĠĠĠĠ Ġ// Ġshould Ġbe Ġfetched Ġfrom ĠContent ful . ĊĠĠĠĠĠĠĠ Ġval Ġsource Environment Ġ= ĠC MA Environment (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ" source " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" source " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Space Id < C MA Environment >(" my _ space ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġnew Environment Ġ= ĠC MA Environment (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" environment _ from _ id " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ" br an ched _ from _ io " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġassert Test Callback ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. environments () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. async () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. branch ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource Environment , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnew Environment , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest Callback () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġas ĠTest Callback ) !! ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" br an ched _ from _ io ", Ġresult . id ) ĊĠĠĠĠĠĠĠ ĠassertEquals ("< space _ id >", Ġresult . space Id ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠRequest ĊĠĠĠĠĠĠĠ Ġval Ġrecorded Request Ġ= Ġserver !!. take Request () ĊĠĠĠĠĠĠĠ ĠassertEquals (" PUT ", Ġrecorded Request . method ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( re corded Request . headers . names (). contains (" X - Content ful - Source - Environment ")) ĊĠĠĠĠĠĠĠ ĠassertEquals (" source ", Ġrecorded Request . headers [" X - Content ful - Source - Environment "]) ĊĠĠĠĠĠĠĠ ĠassertEquals ("/ spaces / configured Space Id / environments / br an ched _ from _ io ", Ġrecorded Request . path ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ test ĊĠĠĠ Ġfun Ġtest CreateFrom Other Without Target Id () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Body Ġ= ĠTestUtils . file ToString (" environments _ create _ from _ id . json ") ĊĠĠĠĠĠĠĠ Ġserver !!. enqueue ( Mock Response (). set Response Code ( 2 0 0 ). set Body ( response Body )) ĊĊĊĠĠĠĠĠĠĠ Ġ// Ġshould Ġbe Ġfetched Ġfrom ĠContent ful . ĊĠĠĠĠĠĠĠ Ġval Ġsource Environment Ġ= ĠC MA Environment (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ" source " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" source " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Space Id < C MA Environment >(" my _ space ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġnew Environment Ġ= ĠC MA Environment (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" environment _ from _ id " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġassert Test Callback ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. environments () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. async () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. branch ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource Environment , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnew Environment , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest Callback () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġas ĠTest Callback ) !! ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" br an ched _ from _ io ", Ġresult . id ) ĊĠĠĠĠĠĠĠ ĠassertEquals ("< space _ id >", Ġresult . space Id ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠRequest ĊĠĠĠĠĠĠĠ Ġval Ġrecorded Request Ġ= Ġserver !!. take Request () ĊĠĠĠĠĠĠĠ ĠassertEquals (" POST ", Ġrecorded Request . method ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( re corded Request . headers . names (). contains (" X - Content ful - Source - Environment ")) ĊĠĠĠĠĠĠĠ ĠassertEquals (" source ", Ġrecorded Request . headers [" X - Content ful - Source - Environment "]) ĊĠĠĠĠĠĠĠ ĠassertEquals ("/ spaces / configured Space Id / environments ", Ġrecorded Request . path ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ test ĊĠĠĠ Ġfun Ġtest Delete () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfetch Body Ġ= ĠTestUtils . file ToString (" environments _ get _ one . json ") ĊĠĠĠĠĠĠĠ Ġserver !!. enqueue ( Mock Response (). set Response Code ( 2 0 0 ). set Body ( fetch Body )) ĊĊĠĠĠĠĠĠĠ Ġval Ġrequest Body Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġserver !!. enqueue ( Mock Response (). set Response Code ( 2 0 4 ). set Body ( request Body )) ĊĊĠĠĠĠĠĠĠ Ġval Ġenvironment Ġ= Ġassert Test Callback ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. environments () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. async () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fetch One ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"< space _ id >", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" staging ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest Callback () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġas ĠTest Callback ) ĊĊĠĠĠĠĠĠĠ Ġserver !!. take Request () ĊĊĠĠĠĠĠĠĠ Ġassert Test Callback ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. environments () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. async () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. delete ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenvironment , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest Callback () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġas ĠTest Callback ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠRequest ĊĠĠĠĠĠĠĠ Ġval Ġrecorded Request Ġ= Ġserver !!. take Request () ĊĠĠĠĠĠĠĠ ĠassertEquals (" DELETE ", Ġrecorded Request . method ) ĊĠĠĠĠĠĠĠ ĠassertEquals ("/ spaces /% 3 C space _ id % 3 E / environments / staging ", Ġrecorded Request . path ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ test ĊĠĠĠ Ġfun Ġtest Fetch All () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Body Ġ= ĠTestUtils . file ToString (" environments _ get _ all . json ") ĊĠĠĠĠĠĠĠ Ġserver !!. enqueue ( Mock Response (). set Response Code ( 2 0 0 ). set Body ( response Body )) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġassert Test Callback ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. environments () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. async () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fetch All ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"< space _ id >", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest Callback () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġas ĠTest Callback ) !! ĊĊĠĠĠĠĠĠĠ Ġval Ġitems Ġ= Ġresult . items ĊĠĠĠĠĠĠĠ ĠassertEquals ( C MA Type . Array , Ġresult . system . type ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 6 , Ġitems . size ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 6 , Ġresult . total ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġresult . skip ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 5 , Ġresult . limit ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠEnvironment Ġ# 1 ĊĠĠĠĠĠĠĠ Ġvar Ġsys Ġ= Ġitems [ 0 ]. system ĊĠĠĠĠĠĠĠ ĠassertEquals ( C MA Type . Environment , Ġsys . type ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" master ", Ġsys . id ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġsys . version ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" 2 0 1 7 - 1 2 - 0 7 T 1 0 : 2 4 : 1 6 Z ", Ġsys . createdAt ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" 2 0 1 7 - 1 2 - 0 7 T 1 0 : 2 4 : 1 6 Z ", Ġsys . updatedAt ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" master ", Ġitems [ 0 ]. name ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( C MA Environment Status . Ready , Ġitems [ 0 ]. status ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠCreated ĠBy ĊĠĠĠĠĠĠĠ ĠassertEquals ( C MA Type . Link , Ġsys . created By . system . type ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( C MA Type . User , Ġsys . created By . system . link Type ) ĊĠĠĠĠĠĠĠ ĠassertEquals ("< user _ id >", Ġsys . created By . system . id ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠUpdated ĠBy ĊĠĠĠĠĠĠĠ ĠassertEquals ( C MA Type . Link , Ġsys . updated By . system . type ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( C MA Type . User , Ġsys . updated By . system . link Type ) ĊĠĠĠĠĠĠĠ ĠassertEquals ("< user _ id >", Ġsys . updated By . system . id ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠEnvironment Ġ# 2 ĊĠĠĠĠĠĠĠ Ġsys Ġ= Ġitems [ 1 ]. system ĊĠĠĠĠĠĠĠ ĠassertEquals ( C MA Type . Environment , Ġsys . type ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" staging ", Ġsys . id ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 6 , Ġsys . version ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" 2 0 1 8 - 0 2 - 2 7 T 1 3 : 2 5 : 1 3 Z ", Ġsys . createdAt ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" 2 0 1 8 - 0 2 - 2 7 T 1 3 : 2 5 : 3 7 Z ", Ġsys . updatedAt ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" staging ", Ġitems [ 1 ]. name ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( C MA Environment Status . Queued , Ġitems [ 1 ]. status ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠCreated ĠBy ĊĠĠĠĠĠĠĠ ĠassertEquals ( C MA Type . Link , Ġsys . created By . system . type ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( C MA Type . User , Ġsys . created By . system . link Type ) ĊĠĠĠĠĠĠĠ ĠassertEquals ("< user _ id >", Ġsys . created By . system . id ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠUpdated ĠBy ĊĠĠĠĠĠĠĠ ĠassertEquals ( C MA Type . Link , Ġsys . updated By . system . type ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( C MA Type . User , Ġsys . updated By . system . link Type ) ĊĠĠĠĠĠĠĠ ĠassertEquals ("< user _ id >", Ġsys . updated By . system . id ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( C MA Environment Status . Creating , Ġitems [ 2 ]. status ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( C MA Environment Status . Failed , Ġitems [ 3 ]. status ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠRequest ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġserver !!. take Request () ĊĠĠĠĠĠĠĠ ĠassertEquals (" GET ", Ġrequest . method ) ĊĠĠĠĠĠĠĠ ĠassertEquals ("/ spaces /% 3 C space _ id % 3 E / environments ", Ġrequest . path ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ test ĊĠĠĠ Ġfun Ġtest Fetch All With Configured Space And Environment () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Body Ġ= ĠTestUtils . file ToString (" environments _ get _ all . json ") ĊĠĠĠĠĠĠĠ Ġserver !!. enqueue ( Mock Response (). set Response Code ( 2 0 0 ). set Body ( response Body )) ĊĊĠĠĠĠĠĠĠ Ġassert Test Callback ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. environments () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. async () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fetch All ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest Callback () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġas ĠTest Callback ) !! ĊĊĠĠĠĠĠĠĠ Ġ// ĠRequest ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġserver !!. take Request () ĊĠĠĠĠĠĠĠ ĠassertEquals (" GET ", Ġrequest . method ) ĊĠĠĠĠĠĠĠ ĠassertEquals ("/ spaces / configured Space Id / environments ", Ġrequest . path ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ test ĊĠĠĠ Ġfun Ġtest Fetch With Id () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Body Ġ= ĠTestUtils . file ToString (" environments _ get _ one . json ") ĊĠĠĠĠĠĠĠ Ġserver !!. enqueue ( Mock Response (). set Response Code ( 2 0 0 ). set Body ( response Body )) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġassert Test Callback ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. environments () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. async () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fetch One ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"< space _ id >", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" staging ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest Callback () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġas ĠTest Callback ) !! ĊĊĠĠĠĠĠĠĠ Ġval Ġsys Ġ= Ġresult . system ĊĠĠĠĠĠĠĠ ĠassertEquals ( C MA Type . Environment , Ġsys . type ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" staging ", Ġresult . id ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" staging ", Ġresult . environment Id ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" staging ", Ġresult . name ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 6 , Ġresult . version ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" 2 0 1 8 - 0 2 - 2 7 T 1 3 : 2 5 : 1 3 Z ", Ġsys . createdAt ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" 2 0 1 8 - 0 2 - 2 7 T 1 3 : 2 5 : 3 7 Z ", Ġsys . updatedAt ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠCreated ĠBy ĊĠĠĠĠĠĠĠ ĠassertEquals ( C MA Type . Link , Ġsys . created By . system . type ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( C MA Type . User , Ġsys . created By . system . link Type ) ĊĠĠĠĠĠĠĠ ĠassertEquals ("< user _ id >", Ġsys . created By . system . id ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠUpdated ĠBy ĊĠĠĠĠĠĠĠ ĠassertEquals ( C MA Type . Link , Ġsys . updated By . system . type ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( C MA Type . User , Ġsys . updated By . system . link Type ) ĊĠĠĠĠĠĠĠ ĠassertEquals ("< user _ id >", Ġsys . updated By . system . id ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠRequest ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġserver !!. take Request () ĊĠĠĠĠĠĠĠ ĠassertEquals (" GET ", Ġrequest . method ) ĊĠĠĠĠĠĠĠ ĠassertEquals ("/ spaces /% 3 C space _ id % 3 E / environments / staging ", Ġrequest . path ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ test ĊĠĠĠ Ġfun Ġtest Fetch With Id With Configured Space And Environment () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Body Ġ= ĠTestUtils . file ToString (" environments _ get _ one . json ") ĊĠĠĠĠĠĠĠ Ġserver !!. enqueue ( Mock Response (). set Response Code ( 2 0 0 ). set Body ( response Body )) ĊĊĠĠĠĠĠĠĠ Ġassert Test Callback ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. environments () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. async () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fetch One ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" staging ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest Callback () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġas ĠTest Callback ) !! ĊĊĠĠĠĠĠĠĠ Ġ// ĠRequest ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġserver !!. take Request () ĊĠĠĠĠĠĠĠ ĠassertEquals (" GET ", Ġrequest . method ) ĊĠĠĠĠĠĠĠ ĠassertEquals ("/ spaces / configured Space Id / environments / staging ", Ġrequest . path ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ test ĊĠĠĠ Ġfun Ġtest Update () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfetch Body Ġ= ĠTestUtils . file ToString (" environments _ get _ one . json ") ĊĠĠĠĠĠĠĠ Ġserver !!. enqueue ( Mock Response (). set Response Code ( 2 0 0 ). set Body ( fetch Body )) ĊĊĠĠĠĠĠĠĠ Ġval Ġrequest Body Ġ= ĠTestUtils . file ToString (" environments _ update . json ") ĊĠĠĠĠĠĠĠ Ġserver !!. enqueue ( Mock Response (). set Response Code ( 2 0 0 ). set Body ( request Body )) ĊĊĠĠĠĠĠĠĠ Ġval Ġenvironment Ġ= Ġassert Test Callback ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. environments () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. async () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fetch One ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" space id ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" environment _ id ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest Callback () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġas ĠTest Callback ) !! ĊĊĠĠĠĠĠĠĠ Ġserver !!. take Request () ĊĊĠĠĠĠĠĠĠ Ġenvironment . name Ġ= Ġ" environment _ new _ name " ĊĊĠĠĠĠĠĠĠ Ġval Ġnew Environment Ġ= Ġassert Test Callback ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. environments () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. async () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. update ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenvironment , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest Callback () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġas ĠTest Callback ) !! ĊĊĠĠĠĠĠĠĠ Ġ// ĠRequest ĊĠĠĠĠĠĠĠ Ġval Ġrecorded Request Ġ= Ġserver !!. take Request () ĊĠĠĠĠĠĠĠ ĠassertEquals (" PUT ", Ġrecorded Request . method ) ĊĠĠĠĠĠĠĠ ĠassertEquals ("/ spaces /% 3 C space _ id % 3 E / environments / staging ", Ġrecorded Request . path ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" environment _ new _ name ", Ġnew Environment . name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ test ( expected Ġ= ĠException :: class ) ĊĠĠĠ Ġfun Ġtest Update Fails Without Version () Ġ{ ĊĠĠĠĠĠĠĠ ĠModule TestUtils . assert Update Without Version Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġenvironment Ġ= ĠC MA Environment (). setName (" name "). setId (" id ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. environments () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. update ( environment ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ test ĊĠĠĠ Ġfun Ġtest Not P ushed Environment Returns Null Status () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertNull ( C MA Environment (). setName (" name "). setId (" id "). status ) ĊĠĠĠ Ġ} Ċ }