blob: 941e94015b5976b7b217546b76e99d66cfed9237 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
#! /usr/bin/env ruby
require 'spec_helper'
require 'puppet/network/server'
describe Puppet::Network::Server do
let(:port) { 8140 }
let(:address) { '0.0.0.0' }
let(:server) { Puppet::Network::Server.new(address, port) }
before do
@mock_http_server = mock('http server')
Puppet.settings.stubs(:use)
Puppet::Network::HTTP::WEBrick.stubs(:new).returns(@mock_http_server)
end
describe "when initializing" do
before do
Puppet[:masterport] = ''
end
it "should not be listening after initialization" do
Puppet::Network::Server.new(address, port).should_not be_listening
end
it "should use the :main setting section" do
Puppet.settings.expects(:use).with { |*args| args.include?(:main) }
Puppet::Network::Server.new(address, port)
end
it "should use the :application setting section" do
Puppet.settings.expects(:use).with { |*args| args.include?(:application) }
Puppet::Network::Server.new(address, port)
end
end
describe "when not yet started" do
before do
@mock_http_server.stubs(:listen)
end
it "should indicate that it is not listening" do
server.should_not be_listening
end
it "should not allow server to be stopped" do
expect { server.stop }.to raise_error(RuntimeError)
end
it "should allow server to be started" do
expect { server.start }.to_not raise_error
end
end
describe "when server is on" do
before do
@mock_http_server.stubs(:listen)
@mock_http_server.stubs(:unlisten)
server.start
end
it "should indicate that it is listening" do
server.should be_listening
end
it "should not allow server to be started again" do
expect { server.start }.to raise_error(RuntimeError)
end
it "should allow server to be stopped" do
expect { server.stop }.to_not raise_error
end
end
describe "when server is being started" do
it "should cause the HTTP server to listen" do
server = Puppet::Network::Server.new(address, port)
@mock_http_server.expects(:listen).with(address, port)
server.start
end
end
describe "when server is being stopped" do
before do
@mock_http_server.stubs(:listen)
server.stubs(:http_server).returns(@mock_http_server)
server.start
end
it "should cause the HTTP server to stop listening" do
@mock_http_server.expects(:unlisten)
server.stop
end
end
end
|