@ -2030,6 +2030,42 @@ class StackTest(common.HeatTestCase):
self . assertEqual ( ' foo ' , params . get ( ' param1 ' ) )
self . assertEqual ( ' bar ' , params . get ( ' param2 ' ) )
def test_parameters_stored_decrypted_successful_load ( self ) :
'''
Test stack loading with disabled parameter value validation .
'''
tmpl = template_format . parse ( '''
heat_template_version : 2013 - 05 - 23
parameters :
param1 :
type : string
description : value1 .
param2 :
type : string
description : value2 .
hidden : true
resources :
a_resource :
type : GenericResourceType
''' )
env1 = environment . Environment ( { ' param1 ' : ' foo ' , ' param2 ' : ' bar ' } )
self . stack = stack . Stack ( self . ctx , ' test ' ,
template . Template ( tmpl , env = env1 ) )
cfg . CONF . set_override ( ' encrypt_parameters_and_properties ' , False )
# Verify that hidden parameters are stored decrypted
self . stack . store ( )
db_tpl = db_api . raw_template_get ( self . ctx , self . stack . t . id )
db_params = db_tpl . environment [ ' parameters ' ]
self . assertEqual ( ' foo ' , db_params [ ' param1 ' ] )
self . assertEqual ( ' bar ' , db_params [ ' param2 ' ] )
# Verify that stack loads without error
loaded_stack = stack . Stack . load ( self . ctx , stack_id = self . stack . id )
params = loaded_stack . t . env . params
self . assertEqual ( ' foo ' , params . get ( ' param1 ' ) )
self . assertEqual ( ' bar ' , params . get ( ' param2 ' ) )
class StackKwargsForCloningTest ( common . HeatTestCase ) :
scenarios = [