Update stdlib and concat to 6.1.0 both
[mirror/dsa-puppet.git] / 3rdparty / modules / stdlib / spec / type_aliases / filesource_spec.rb
1 require 'spec_helper'
2
3 if Puppet::Util::Package.versioncmp(Puppet.version, '4.5.0') >= 0
4   describe 'Stdlib::Filesource' do
5     describe 'valid handling' do
6       [
7         'https://hello.com',
8         'https://notcreative.org',
9         'https://canstillaccepthttps.co.uk',
10         'http://anhttp.com',
11         'http://runningoutofideas.gov',
12         'file:///hello/bla',
13         'file:///foo/bar.log',
14         'puppet:///modules/foo/bar.log',
15         'puppet://pm.example.com/modules/foo/bar.log',
16         'puppet://192.0.2.1/modules/foo/bar.log',
17         '/usr2/username/bin:/usr/local/bin:/usr/bin:.',
18         'C:/',
19         'C:\\',
20         'C:\\WINDOWS\\System32',
21         'C:/windows/system32',
22         'X:/foo/bar',
23         'X:\\foo\\bar',
24         '\\\\host\\windows',
25         '//host/windows',
26         '/var/tmp',
27         '/var/opt/../lib/puppet',
28         'puppet:///a_custom_mount_point/foo/bar/foobar.conf',
29       ].each do |value|
30         describe value.inspect do
31           it { is_expected.to allow_value(value) }
32         end
33       end
34     end
35
36     describe 'invalid path handling' do
37       context 'garbage inputs' do
38         [
39           nil,
40           [nil],
41           [nil, nil],
42           { 'foo' => 'bar' },
43           {},
44           '',
45           '*/Users//nope',
46           '\\Users/hc/wksp/stdlib',
47           'C:noslashes',
48           '\\var\\tmp',
49           'puppet://bob@pm.example.com/modules/foo/bar.log',
50         ].each do |value|
51           describe value.inspect do
52             it { is_expected.not_to allow_value(value) }
53           end
54         end
55       end
56     end
57   end
58 end