diff options
Diffstat (limited to 'spec/functional/resource/ifconfig_spec.rb')
-rw-r--r-- | spec/functional/resource/ifconfig_spec.rb | 163 |
1 files changed, 0 insertions, 163 deletions
diff --git a/spec/functional/resource/ifconfig_spec.rb b/spec/functional/resource/ifconfig_spec.rb deleted file mode 100644 index c36288498b..0000000000 --- a/spec/functional/resource/ifconfig_spec.rb +++ /dev/null @@ -1,163 +0,0 @@ -# -# Author:: Kaustubh Deorukhkar (<kaustubh@clogeny.com>) -# Copyright:: Copyright (c) 2013 Opscode, Inc. -# License:: Apache License, Version 2.0 -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -require 'functional/resource/base' -require 'chef/mixin/shell_out' - -# run this test only for following platforms. -include_flag = !(['ubuntu', 'centos', 'aix'].include?(ohai[:platform])) - -describe Chef::Resource::Ifconfig, :requires_root, :external => include_flag do - include Chef::Mixin::ShellOut - - let(:new_resource) do - new_resource = Chef::Resource::Ifconfig.new('10.10.0.1', run_context) - new_resource - end - - let(:provider) do - provider = new_resource.provider_for_action(new_resource.action) - provider - end - - let(:current_resource) do - provider.load_current_resource - end - - def lo_interface_for_test - # use loopback interface for tests - case ohai[:platform] - when "aix" - 'lo0' - else - 'lo' - end - end - - # **Caution: any updates to core interfaces can be risky. - def en0_interface_for_test - case ohai[:platform] - when "aix" - 'en0' - else - 'eth0' - end - end - - def network_interface_alias(interface) - case ohai[:platform] - when "aix" - interface - else - interface + ":10" - end - end - - # platform specific test setup and validation routines - - def setup_add_interface(resource) - resource.device network_interface_alias(en0_interface_for_test) - end - - def setup_enable_interface(resource) - resource.device network_interface_alias(en0_interface_for_test) - end - - def interface_should_exists(interface) - expect(shell_out("ifconfig #{@interface} | grep 10.10.0.1").exitstatus).to eq(0) - end - - def interface_should_not_exists(interface) - expect(shell_out("ifconfig #{@interface} | grep 10.10.0.1").exitstatus).to eq(1) - end - - def interface_persistence_should_exists(interface) - case ohai[:platform] - when "aix" - expect(shell_out("lsattr -E -l #{@interface} | grep 10.10.0.1").exitstatus).to eq(0) - else - end - end - - def interface_persistence_should_not_exists(interface) - case ohai[:platform] - when "aix" - expect(shell_out("lsattr -E -l #{@interface} | grep 10.10.0.1").exitstatus).to eq(1) - else - end - end - - # Actual tests - - describe "#load_current_resource" do - it 'should load given interface' do - new_resource.device lo_interface_for_test - expect(current_resource.device).to eql(lo_interface_for_test) - expect(current_resource.inet_addr).to match(/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/) - end - end - - exclude_test = ohai[:platform] != 'ubuntu' - describe "#action_add", :external => exclude_test do - after do - new_resource.run_action(:delete) - end - it "should add interface (vip)" do - setup_add_interface(new_resource) - new_resource.run_action(:add) - interface_should_exists(network_interface_alias(en0_interface_for_test)) - interface_persistence_should_exists(network_interface_alias(en0_interface_for_test)) - end - end - - describe "#action_enable", :external => exclude_test do - after do - new_resource.run_action(:disable) - end - it "should enable interface (vip)" do - setup_enable_interface(new_resource) - new_resource.run_action(:enable) - interface_should_exists(network_interface_alias(en0_interface_for_test)) - end - end - - describe "#action_disable", :external => exclude_test do - before do - setup_enable_interface(new_resource) - new_resource.run_action(:enable) - end - it "should disable interface (vip)" do - new_resource.run_action(:disable) - new_resource.should be_updated_by_last_action - interface_should_not_exists(network_interface_alias(en0_interface_for_test)) - end - end - - describe "#action_delete", :external => exclude_test do - before do - setup_add_interface(new_resource) - new_resource.run_action(:add) - end - it "should delete interface (vip)" do - new_resource.run_action(:delete) - new_resource.should be_updated_by_last_action - interface_should_not_exists(network_interface_alias(en0_interface_for_test)) - interface_persistence_should_not_exists(network_interface_alias(en0_interface_for_test)) - end - end -end |