kitchen-ec2 0.8.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/spec/create_spec.rb DELETED
@@ -1,106 +0,0 @@
1
- require 'kitchen/driver/ec2'
2
- require 'kitchen/provisioner/dummy'
3
-
4
- describe Kitchen::Driver::Ec2 do
5
-
6
- let(:config) do
7
- {}
8
- end
9
-
10
- let(:state) do
11
- {}
12
- end
13
-
14
- let(:server) do
15
- double(:id => "123",
16
- :wait_for => nil,
17
- :dns_name => "server.example.com",
18
- :private_ip_address => '172.13.16.11',
19
- :public_ip_address => '213.225.123.134')
20
- end
21
-
22
- let(:instance) do
23
- Kitchen::Instance.new(:platform => double(:name => "centos-6.4"),
24
- :suite => double(:name => "default"),
25
- :driver => driver,
26
- :provisioner => Kitchen::Provisioner::Dummy.new({}),
27
- :busser => double("busser"),
28
- :state_file => double("state_file"))
29
- end
30
-
31
- let(:driver) do
32
- Kitchen::Driver::Ec2.new(config)
33
- end
34
-
35
- before do
36
- instance
37
- allow(driver).to receive(:create_server).and_return(server)
38
- allow(driver).to receive(:wait_for_sshd)
39
- end
40
-
41
- context 'Interface is set in config' do
42
-
43
- it 'derives hostname from DNS when specified in the .kitchen.yml' do
44
- config[:interface] = 'dns'
45
- driver.create(state)
46
- expect(state[:hostname]).to eql('server.example.com')
47
- end
48
-
49
- it 'derives hostname from public interface when specified in the .kitchen.yml' do
50
- config[:interface] = 'public'
51
- driver.create(state)
52
- expect(state[:hostname]).to eql('213.225.123.134')
53
- end
54
-
55
- it 'derives hostname from private interface when specified in the .kitchen.yml' do
56
- config[:interface] = 'private'
57
- driver.create(state)
58
- expect(state[:hostname]).to eql('172.13.16.11')
59
- end
60
-
61
- it 'throws a nice exception if the config is bogus' do
62
- config[:interface] = 'I am an idiot'
63
- expect { driver.create(state) }.to raise_error(Kitchen::UserError, 'Invalid interface')
64
- end
65
-
66
- end
67
-
68
- context 'Interface is derived automatically' do
69
-
70
- let(:server) do
71
- double(:id => "123",
72
- :wait_for => nil,
73
- :dns_name => nil,
74
- :private_ip_address => nil,
75
- :public_ip_address => nil)
76
- end
77
-
78
- it 'sets hostname to DNS value if DNS value exists' do
79
- allow(server).to receive(:dns_name).and_return('server.example.com')
80
- driver.create(state)
81
- expect(state[:hostname]).to eql('server.example.com')
82
- end
83
-
84
- it 'sets hostname to public value if public value exists' do
85
- allow(server).to receive(:public_ip_address).and_return('213.225.123.134')
86
- driver.create(state)
87
-
88
- expect(state[:hostname]).to eql('213.225.123.134')
89
- end
90
-
91
- it 'sets hostname to private value if private value exists' do
92
- allow(server).to receive(:private_ip_address).and_return('172.13.16.11')
93
- driver.create(state)
94
- expect(state[:hostname]).to eql('172.13.16.11')
95
- end
96
-
97
- it 'sets hostname to DNS if one or more Public/Private values are set' do
98
- allow(server).to receive(:dns_name).and_return('server.example.com')
99
- allow(server).to receive(:public_ip_address).and_return('213.225.123.134')
100
- allow(server).to receive(:private_ip_address).and_return('172.13.16.11')
101
- driver.create(state)
102
- expect(state[:hostname]).to eql('server.example.com')
103
- end
104
-
105
- end
106
- end