require 'spec_helper' if Puppet::Util::Package.versioncmp(Puppet.version, '4.5.0') >= 0 describe 'test::httpurl', type: :class do describe 'valid handling' do %w{ https://hello.com https://notcreative.org https://canstillaccepthttps.co.uk http://anhttp.com http://runningoutofideas.gov http:// http://graphemica.com/❤ http://graphemica.com/緩 }.each do |value| describe value.inspect do let(:params) {{ value: value }} it { is_expected.to compile } end end end describe 'invalid path handling' do context 'garbage inputs' do [ nil, [ nil ], [ nil, nil ], { 'foo' => 'bar' }, { }, '', "httds://notquiteright.org", "hptts:/nah", "https;//notrightbutclose.org", "hts://graphemica.com/❤", "https:graphemica.com/緩" ].each do |value| describe value.inspect do let(:params) {{ value: value }} it { is_expected.to compile.and_raise_error(/parameter 'value' expects a match for Stdlib::HTTPUrl/) } end end end end end end