spec/cfndsl_spec.rb in cfndsl-0.15.2 vs spec/cfndsl_spec.rb in cfndsl-0.15.3
- old
+ new
@@ -1,17 +1,31 @@
require 'spec_helper'
describe CfnDsl do
+ let(:test_template_file_name) { "#{File.dirname(__FILE__)}/fixtures/test.rb" }
+ let(:heat_test_template_file_name) { "#{File.dirname(__FILE__)}/fixtures/heattest.rb" }
+
after(:example) { CfnDsl::ExternalParameters.refresh! }
it 'evaluates a cloud formation' do
- filename = "#{File.dirname(__FILE__)}/fixtures/test.rb"
- subject.eval_file_with_extras(filename, [[:raw, 'test=123']])
+ subject.eval_file_with_extras(test_template_file_name, [[:raw, 'test=123']])
end
it 'evaluates a heat' do
- filename = "#{File.dirname(__FILE__)}/fixtures/heattest.rb"
- subject.eval_file_with_extras(filename)
+ subject.eval_file_with_extras(heat_test_template_file_name)
+ end
+
+ context 'when binding is disabed' do
+ let(:param_value) { 'www.google.com?a=1&b=2' }
+ before do
+ CfnDsl.disable_binding
+ end
+
+ it 'evaluates parameters correctly when its value contains "="' do
+ template = subject.eval_file_with_extras(test_template_file_name, [[:raw, "three=#{param_value}"]]).to_json
+ parsed_template = JSON.parse(template)
+ expect(parsed_template['Parameters']['Three']['Default']).to eq param_value
+ end
end
end
describe CfnDsl::HeatTemplate do
it 'honors last-set value for non-array properties' do