@@ -33,4 +33,52 @@ describe('config', function () {
3333 . it ( 'missing' , ( { stdout} ) => {
3434 expect ( stdout ) . to . equal ( '\n' )
3535 } )
36+
37+ test
38+ . nock ( 'https://api.heroku.com' , api => api
39+ . get ( '/apps/myapp/config-vars' )
40+ . reply ( 200 , { EMPTY_VAR : '' , RACK_ENV : 'production' } ) ,
41+ )
42+ . stdout ( )
43+ . command ( [ 'config:get' , '--app=myapp' , '--json' , 'MISSING' ] )
44+ . it ( '--json with unset var' , ( { stdout} ) => {
45+ expect ( JSON . parse ( stdout ) ) . to . deep . equal ( { key : 'MISSING' , value : null } )
46+ } )
47+
48+ test
49+ . nock ( 'https://api.heroku.com' , api => api
50+ . get ( '/apps/myapp/config-vars' )
51+ . reply ( 200 , { EMPTY_VAR : '' , RACK_ENV : 'production' } ) ,
52+ )
53+ . stdout ( )
54+ . command ( [ 'config:get' , '--app=myapp' , '--json' , 'EMPTY_VAR' ] )
55+ . it ( '--json with empty string var' , ( { stdout} ) => {
56+ expect ( JSON . parse ( stdout ) ) . to . deep . equal ( { key : 'EMPTY_VAR' , value : '' } )
57+ } )
58+
59+ test
60+ . nock ( 'https://api.heroku.com' , api => api
61+ . get ( '/apps/myapp/config-vars' )
62+ . reply ( 200 , { LANG : 'en_US.UTF-8' , RACK_ENV : 'production' } ) ,
63+ )
64+ . stdout ( )
65+ . command ( [ 'config:get' , '--app=myapp' , '--json' , 'RACK_ENV' ] )
66+ . it ( '--json with normal var' , ( { stdout} ) => {
67+ expect ( JSON . parse ( stdout ) ) . to . deep . equal ( { key : 'RACK_ENV' , value : 'production' } )
68+ } )
69+
70+ test
71+ . nock ( 'https://api.heroku.com' , api => api
72+ . get ( '/apps/myapp/config-vars' )
73+ . reply ( 200 , { EMPTY_VAR : '' , RACK_ENV : 'production' } ) ,
74+ )
75+ . stdout ( )
76+ . command ( [ 'config:get' , '--app=myapp' , '--json' , 'MISSING' , 'EMPTY_VAR' , 'RACK_ENV' ] )
77+ . it ( '--json with multiple vars' , ( { stdout} ) => {
78+ expect ( JSON . parse ( stdout ) ) . to . deep . equal ( [
79+ { key : 'MISSING' , value : null } ,
80+ { key : 'EMPTY_VAR' , value : '' } ,
81+ { key : 'RACK_ENV' , value : 'production' } ,
82+ ] )
83+ } )
3684} )
0 commit comments