summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorJohn Keiser <jkeiser@opscode.com>2014-06-10 20:43:16 -0700
committerJohn Keiser <jkeiser@opscode.com>2014-06-10 20:43:16 -0700
commit25fe70279ea8eb89b360131e95ce65f6a8696992 (patch)
treed78f5bef2c2c84fe18828c1db6cb861a67c2a2fd /spec
parent9a15065435c16113c018fc0d6cea521bbf981df2 (diff)
downloadchef-zero-25fe70279ea8eb89b360131e95ce65f6a8696992.tar.gz
Support port range in :port
Diffstat (limited to 'spec')
-rw-r--r--spec/server_spec.rb28
1 files changed, 28 insertions, 0 deletions
diff --git a/spec/server_spec.rb b/spec/server_spec.rb
new file mode 100644
index 0000000..575c2e2
--- /dev/null
+++ b/spec/server_spec.rb
@@ -0,0 +1,28 @@
+require 'chef_zero/server'
+
+describe ChefZero::Server do
+ context 'with a server bound to port 8889' do
+ before :each do
+ @server = ChefZero::Server.new(:port => 8889)
+ @server.start_background
+ end
+ after :each do
+ @server.stop
+ end
+
+ it 'a second server bound to port 8889 throws EADDRINUSE' do
+ expect { ChefZero::Server.new(:port => 8889).start }.to raise_error Errno::EADDRINUSE
+ end
+
+ it 'a server bound to range 8889-9999 binds to a port > 8889' do
+ server = ChefZero::Server.new(:port => 8889.upto(9999))
+ server.start_background
+ expect(server.port).to be > 8889
+ expect(URI(server.url).port).to be > 8889
+ end
+
+ it 'a server bound to range 8889-8889 throws an exception' do
+ expect { ChefZero::Server.new(:port => 8889.upto(8889)).start_background }.to raise_error Errno::EADDRINUSE
+ end
+ end
+end