]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - 3rdparty/modules/neutron/spec/unit/provider/neutron_router/neutron_spec.rb
try again, with puppetforge modules, correctly included now
[dsa-puppet.git] / 3rdparty / modules / neutron / spec / unit / provider / neutron_router / neutron_spec.rb
diff --git a/3rdparty/modules/neutron/spec/unit/provider/neutron_router/neutron_spec.rb b/3rdparty/modules/neutron/spec/unit/provider/neutron_router/neutron_spec.rb
new file mode 100644 (file)
index 0000000..8a2ba4a
--- /dev/null
@@ -0,0 +1,53 @@
+require 'puppet'
+require 'spec_helper'
+require 'puppet/provider/neutron_router/neutron'
+
+provider_class = Puppet::Type.type(:neutron_router).provider(:neutron)
+
+describe provider_class do
+
+  let :router_name do
+    'router1'
+  end
+
+  let :router_attrs do
+    {
+      :name            => router_name,
+      :ensure          => 'present',
+      :admin_state_up  => 'True',
+      :tenant_id       => '',
+    }
+  end
+
+  describe 'when updating a router' do
+    let :resource do
+      Puppet::Type::Neutron_router.new(router_attrs)
+    end
+
+    let :provider do
+      provider_class.new(resource)
+    end
+
+    it 'should call router-update to change admin_state_up' do
+      provider.expects(:auth_neutron).with('router-update',
+                                           '--admin-state-up=False',
+                                           router_name)
+      provider.admin_state_up=('False')
+    end
+
+    it 'should call router-gateway-clear for an empty network name' do
+      provider.expects(:auth_neutron).with('router-gateway-clear',
+                                           router_name)
+      provider.gateway_network_name=('')
+    end
+
+    it 'should call router-gateway-set to configure an external network' do
+      provider.expects(:auth_neutron).with('router-gateway-set',
+                                           router_name,
+                                           'net1')
+      provider.gateway_network_name=('net1')
+    end
+
+  end
+
+end