diff options
author | Lamont Granquist <lamont@scriptkiddie.org> | 2014-03-05 14:38:52 -0800 |
---|---|---|
committer | Lamont Granquist <lamont@scriptkiddie.org> | 2014-03-05 14:38:52 -0800 |
commit | 442a81c4a52352e93c6621bf3dffbfe5a9a17bd2 (patch) | |
tree | a369848a0ab799097bfd28d203e4233b8d3b3a26 | |
parent | 68ab92f7fea8fd0c13328b79993b354cd60b28bc (diff) | |
download | chef-442a81c4a52352e93c6621bf3dffbfe5a9a17bd2.tar.gz |
add specs for setting nodename based on machinename
-rw-r--r-- | spec/unit/client_spec.rb | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/spec/unit/client_spec.rb b/spec/unit/client_spec.rb index e4143d7653..9688cce2f4 100644 --- a/spec/unit/client_spec.rb +++ b/spec/unit/client_spec.rb @@ -27,11 +27,13 @@ require 'rbconfig' describe Chef::Client do let(:hostname) { "hostname" } + let(:machinename) { "machinename.example.org" } let(:fqdn) { "hostname.example.org" } let(:ohai_data) do { :fqdn => fqdn, :hostname => hostname, + :machinename => machinename, :platform => 'example-platform', :platform_version => 'example-platform-1.0', :data => {} @@ -560,5 +562,40 @@ describe Chef::Client do end end + describe "setting node name" do + context "when machinename, hostname and fqdn are all set" do + it "favors the fqdn" do + expect(client.node_name).to eql(fqdn) + end + end + + context "when fqdn is missing" do + # ohai 7 should always have machinename == return of hostname + let(:fqdn) { nil } + it "favors the machinename" do + expect(client.node_name).to eql(machinename) + end + end + + context "when fqdn and machinename are missing" do + # ohai 6 will not have machinename, return the short hostname + let(:fqdn) { nil } + let(:machinename) { nil } + it "falls back to hostname" do + expect(client.node_name).to eql(hostname) + end + end + + context "when they're all missing" do + let(:machinename) { nil } + let(:hostname) { nil } + let(:fqdn) { nil } + + it "throws an exception" do + expect { client.node_name }.to raise_error(Chef::Exceptions::CannotDetermineNodeName) + end + end + + end end |