deltacloud-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mar...@apache.org
Subject [6/7] git commit: Updates Openstack unit tests for new driver
Date Tue, 03 Apr 2012 15:11:32 GMT
Updates Openstack unit tests for new driver


Project: http://git-wip-us.apache.org/repos/asf/deltacloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltacloud/commit/8bebc961
Tree: http://git-wip-us.apache.org/repos/asf/deltacloud/tree/8bebc961
Diff: http://git-wip-us.apache.org/repos/asf/deltacloud/diff/8bebc961

Branch: refs/heads/master
Commit: 8bebc961414118ac3aea95639a40759358f5fdb4
Parents: 5a6e19c
Author: marios <marios@redhat.com>
Authored: Tue Apr 3 15:05:34 2012 +0300
Committer: marios <marios@redhat.com>
Committed: Tue Apr 3 15:05:34 2012 +0300

----------------------------------------------------------------------
 server/tests/drivers/openstack/api_test.rb         |    4 +-
 .../drivers/openstack/hardware_profiles_test.rb    |   20 +++--
 server/tests/drivers/openstack/images_test.rb      |    5 +-
 server/tests/drivers/openstack/instances_test.rb   |   64 ++++++++++++---
 server/tests/drivers/openstack/realms_test.rb      |    9 +-
 server/tests/drivers/openstack/setup.rb            |    6 +-
 6 files changed, 77 insertions(+), 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/deltacloud/blob/8bebc961/server/tests/drivers/openstack/api_test.rb
----------------------------------------------------------------------
diff --git a/server/tests/drivers/openstack/api_test.rb b/server/tests/drivers/openstack/api_test.rb
index 4ec0ac6..14861b0 100644
--- a/server/tests/drivers/openstack/api_test.rb
+++ b/server/tests/drivers/openstack/api_test.rb
@@ -31,10 +31,10 @@ module OpenstackTest
       collections.include?('instance_states').should == true
       collections.include?('instances').should == true
       collections.include?('images').should == true
-      collections.include?('buckets').should == true
+#      collections.include?('buckets').should == true # NOT YET IMPLEMENTED FOR V2 driver
       collections.include?('realms').should == true
       collections.include?('hardware_profiles').should == true
-      collections.length.should == 7
+      collections.length.should == 6 #7
     end
 
   end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/8bebc961/server/tests/drivers/openstack/hardware_profiles_test.rb
----------------------------------------------------------------------
diff --git a/server/tests/drivers/openstack/hardware_profiles_test.rb b/server/tests/drivers/openstack/hardware_profiles_test.rb
index ed0cd16..0744011 100644
--- a/server/tests/drivers/openstack/hardware_profiles_test.rb
+++ b/server/tests/drivers/openstack/hardware_profiles_test.rb
@@ -12,7 +12,7 @@ module OpenstackTest
 
     def test_01_it_returns_hardware_profiles
       get_auth_url '/api;driver=openstack/hardware_profiles'
-      (last_xml_response/'hardware_profiles/hardware_profile').length.should == 5
+      (last_xml_response/'hardware_profiles/hardware_profile').length.should > 0
     end
 
     def test_02_each_hardware_profile_has_a_name
@@ -32,21 +32,27 @@ module OpenstackTest
         (profile/'property[@name="storage"]').first[:unit].should == 'GB'
         (profile/'property[@name="storage"]').first[:kind].should == 'fixed'
       end
+      hwp = ((last_xml_response/'hardware_profiles/hardware_profile').first)
+      @@hwp = { :id => hwp[:id],
+                :arch => (hwp/'property[@name="architecture"]').first[:value],
+                :mem => (hwp/'property[@name="memory"]').first[:value],
+                :disk => (hwp/'property[@name="storage"]').first[:value] }
+      @@no_of_profiles = (last_xml_response/'hardware_profiles/hardware_profile').length
     end
 
     def test_04_it_returns_single_hardware_profile
-      get_auth_url '/api;driver=openstack/hardware_profiles/1'
-      (last_xml_response/'hardware_profile/name').first.text.should == '1'
-      (last_xml_response/'hardware_profile/property[@name="architecture"]').first[:value].should
== 'x86_64'
-      (last_xml_response/'hardware_profile/property[@name="memory"]').first[:value].should
== '512'
-      (last_xml_response/'hardware_profile/property[@name="storage"]').first[:value].should
== '0'
+      get_auth_url "/api;driver=openstack/hardware_profiles/#{@@hwp[:id]}"
+      (last_xml_response/'hardware_profile/name').first.text.should == @@hwp[:id]
+      (last_xml_response/'hardware_profile/property[@name="architecture"]').first[:value].should
== @@hwp[:arch]
+      (last_xml_response/'hardware_profile/property[@name="memory"]').first[:value].should
== @@hwp[:mem]
+      (last_xml_response/'hardware_profile/property[@name="storage"]').first[:value].should
== @@hwp[:disk]
     end
 
     def test_05_it_filter_hardware_profiles
       get_auth_url '/api;driver=openstack/hardware_profiles?architecture=i386'
       (last_xml_response/'hardware_profiles/hardware_profile').length.should == 0
       get_auth_url '/api;driver=openstack/hardware_profiles?architecture=x86_64'
-      (last_xml_response/'hardware_profiles/hardware_profile').length.should == 5
+      (last_xml_response/'hardware_profiles/hardware_profile').length.should == @@no_of_profiles
     end
 
   end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/8bebc961/server/tests/drivers/openstack/images_test.rb
----------------------------------------------------------------------
diff --git a/server/tests/drivers/openstack/images_test.rb b/server/tests/drivers/openstack/images_test.rb
index 8b16f93..9b71653 100644
--- a/server/tests/drivers/openstack/images_test.rb
+++ b/server/tests/drivers/openstack/images_test.rb
@@ -25,14 +25,15 @@ module OpenstackTest
         (image/'architecture').should_not == nil
         (image/'architecture').should_not == ''
         (image/'state').text.should == 'ACTIVE'
-        (image/'owner_id').text.should == ENV['API_USER']
+        ENV['API_USER'].include?((image/'owner_id').text).should == true
         (image/'actions/link').length.should == 1
         (image/'actions/link').first[:rel].should == 'create_instance'
       end
+      @@image_id = ((last_xml_response/'images/image').first)[:id]
     end
 
     def test_03_it_returns_single_image
-      get_auth_url '/api;driver=openstack/images/1'
+      get_auth_url "/api;driver=openstack/images/#{@@image_id}"
       (last_xml_response/'image').length.should == 1
     end
 

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/8bebc961/server/tests/drivers/openstack/instances_test.rb
----------------------------------------------------------------------
diff --git a/server/tests/drivers/openstack/instances_test.rb b/server/tests/drivers/openstack/instances_test.rb
index 8020092..c2e2b76 100644
--- a/server/tests/drivers/openstack/instances_test.rb
+++ b/server/tests/drivers/openstack/instances_test.rb
@@ -11,35 +11,43 @@ module OpenstackTest
     end
 
     def test_01_01_it_can_create_instance_without_hardware_profile
+      get_auth_url '/api;driver=openstack/images'
+      @@image_id = ((last_xml_response/'images/image').first)[:id]
       params = {
-        :image_id => '4',
+        :image_id => @@image_id,
         :'api[driver]' => 'openstack',
       }
-      post_url '/api/instances', params
+      uri = '/api/instances'
+      vcr_cassette = stable_vcr_cassette_name('post', uri, params)
+      post_url uri, params, {'vcr_cassette'=>vcr_cassette}
       last_response.status.should == 201 # Created
       @@instance = last_xml_response
       (@@instance/'instance').length.should > 0
       (@@instance/'instance/name').first.text.should_not == nil
       (@@instance/'instance/name').first.text.should_not == nil
       (@@instance/'instance/owner_id').first.text.should_not == ''
-      (@@instance/'instance/owner_id').first.text.should == ENV['API_USER']
+      ENV['API_USER'].include?((@@instance/'instance/owner_id').first.text).should == true
       (@@instance/'instance/state').first.text.should == 'PENDING'
     end
 
     def test_01_02_it_can_create_instance_with_hardware_profile
+      get_auth_url '/api;driver=openstack/hardware_profiles'
+      @@hwp_id = ((last_xml_response/'hardware_profiles/hardware_profile').first)[:id]
       params = {
-        :image_id => '4',
-        :hwp_id => '2',
+        :image_id => @@image_id,
+        :hwp_id => @@hwp_id,
         :'api[driver]' => 'openstack',
       }
-      post_url '/api/instances', params
+      uri = '/api/instances'
+      vcr_cassette = stable_vcr_cassette_name('post', uri, params)
+      post_url uri, params, {'vcr_cassette'=>vcr_cassette}
       last_response.status.should == 201 # Created
       @@instance2 = last_xml_response
       (@@instance2/'instance').length.should > 0
       (@@instance2/'instance/name').first.text.should_not == nil
       (@@instance2/'instance/name').first.text.should_not == nil
       (@@instance2/'instance/owner_id').first.text.should_not == ''
-      (@@instance2/'instance/owner_id').first.text.should == ENV['API_USER']
+      ENV['API_USER'].include?((@@instance2/'instance/owner_id').first.text).should == true
       (@@instance2/'instance/state').first.text.should == 'PENDING'
     end
 
@@ -58,6 +66,7 @@ module OpenstackTest
       (@@instance2/'instance/authentication/login/password').first.text.should_not == nil
       (@@instance2/'instance/authentication/login/password').first.text.should_not == ''
     end
+
 =begin
     TODO: Disabled since our testing setup doesn't return IP addresses yet ;-)
     def test_03_01_created_instance_has_correct_addresses
@@ -75,7 +84,7 @@ module OpenstackTest
 
     def test_03_02_created_instance_has_correct_hardware_profile
       (@@instance2/'instance/hardware_profile').length.should == 1
-      (@@instance2/'instance/hardware_profile').first[:id].should == "2"
+      (@@instance2/'instance/hardware_profile').first[:id].should == @@hwp_id
       (@@instance2/'instance/hardware_profile').first[:href].should_not == nil
     end
 
@@ -94,7 +103,6 @@ module OpenstackTest
       (last_xml_response/'instance/actions/link[@rel="reboot"]').first.should_not == nil
       (last_xml_response/'instance/actions/link[@rel="stop"]').first.should_not == nil
       (last_xml_response/'instance/actions/link[@rel="create_image"]').first.should_not ==
nil
-      (last_xml_response/'instance/actions/link[@rel="run"]').first.should_not == nil
     end
 
     def test_04_02_created_instance_goes_to_running_state
@@ -112,7 +120,6 @@ module OpenstackTest
       (last_xml_response/'instance/actions/link[@rel="reboot"]').first.should_not == nil
       (last_xml_response/'instance/actions/link[@rel="stop"]').first.should_not == nil
       (last_xml_response/'instance/actions/link[@rel="create_image"]').first.should_not ==
nil
-      (last_xml_response/'instance/actions/link[@rel="run"]').first.should_not == nil
     end
 
     def test_05_01_created_instance_can_be_rebooted
@@ -120,7 +127,7 @@ module OpenstackTest
         :'api[driver]' => 'openstack',
       }
       post_url "/api/instances/#{(@@instance/'instance').first[:id]}/reboot", params
-      last_response.status.should == 200
+      last_response.status.should == 202
       20.times do |tick|
         get_auth_url "/api;driver=openstack/instances/#{(@@instance/'instance').first[:id]}",
{ :tick => tick}
         last_response.status.should_not == 500
@@ -130,7 +137,31 @@ module OpenstackTest
       end
     end
 
+    def test_05_02_created_instance_can_be_rebooted
+      params = {
+        :'api[driver]' => 'openstack',
+      }
+      post_url "/api/instances/#{(@@instance2/'instance').first[:id]}/reboot", params
+      last_response.status.should == 202
+      20.times do |tick|
+        get_auth_url "/api;driver=openstack/instances/#{(@@instance2/'instance').first[:id]}",
{ :tick => tick}
+        last_response.status.should_not == 500
+        state = (last_xml_response/'instance/state').first.text
+        break if state=='RUNNING'
+        sleep(5)
+      end
+    end
+
     def test_06_01_created_instance_can_be_destroyed
+      #first make sure we recovered from the reboot
+      20.times do |tick|
+        get_auth_url "/api;driver=openstack/instances/#{(@@instance/'instance').first[:id]}",
{ :tick => tick}
+        last_response.status.should_not == 500
+        state = (last_xml_response/'instance/state').first.text
+        break if state=='RUNNING'
+        sleep(5)
+      end
+      #now destroy
       params = {
         :'api[driver]' => 'openstack',
       }
@@ -146,10 +177,19 @@ module OpenstackTest
     end
 
     def test_06_02_created_instance_can_be_destroyed
+      #first make sure we recovered from the reboot
+      20.times do |tick|
+        get_auth_url "/api;driver=openstack/instances/#{(@@instance2/'instance').first[:id]}",
{ :tick => tick}
+        last_response.status.should_not == 500
+        state = (last_xml_response/'instance/state').first.text
+        break if state=='RUNNING'
+        sleep(5)
+      end
+      #now destroy
       params = {
         :'api[driver]' => 'openstack',
       }
-      post_url "/api/instances/#{(@@instance2/'instance').first[:id]}/stop", params, authenticate
+      post_url "/api/instances/#{(@@instance2/'instance').first[:id]}/stop", params
       last_response.status.should == 200
       20.times do |tick|
         get_auth_url "/api;driver=openstack/instances/#{(@@instance2/'instance').first[:id]}",
{ :tick => tick}

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/8bebc961/server/tests/drivers/openstack/realms_test.rb
----------------------------------------------------------------------
diff --git a/server/tests/drivers/openstack/realms_test.rb b/server/tests/drivers/openstack/realms_test.rb
index 7929099..f62a6f9 100644
--- a/server/tests/drivers/openstack/realms_test.rb
+++ b/server/tests/drivers/openstack/realms_test.rb
@@ -12,7 +12,7 @@ module OpenstackTest
 
     def test_01_it_returns_realms
       get_auth_url '/api;driver=openstack/realms'
-      (last_xml_response/'realms/realm').length.should == 1
+      (last_xml_response/'realms/realm').length.should > 0
     end
 
     def test_02_each_realm_has_a_name
@@ -20,16 +20,15 @@ module OpenstackTest
       (last_xml_response/'realms/realm').each do |profile|
         (profile/'name').text.should_not == nil
         (profile/'name').text.should_not == ''
-        (profile/'name').text.should == 'United States'
+        (profile/'name').text.should == 'default'
       end
     end
 
     def test_03_it_returns_single_realm
       get_auth_url '/api;driver=openstack/realms/us'
-      (last_xml_response/'realm').first[:id].should == 'us'
-      (last_xml_response/'realm/name').first.text.should == 'United States'
+      (last_xml_response/'realm').first[:id].should == 'default'
+      (last_xml_response/'realm/name').first.text.should == 'default'
       (last_xml_response/'realm/state').first.text.should == 'AVAILABLE'
-      (last_xml_response/'realm/limit').first.text.should == ''
     end
 
   end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/8bebc961/server/tests/drivers/openstack/setup.rb
----------------------------------------------------------------------
diff --git a/server/tests/drivers/openstack/setup.rb b/server/tests/drivers/openstack/setup.rb
index 3e3645a..b9e1ca0 100644
--- a/server/tests/drivers/openstack/setup.rb
+++ b/server/tests/drivers/openstack/setup.rb
@@ -1,8 +1,8 @@
 ENV.delete 'API_VERBOSE'
 ENV['API_DRIVER']   = "openstack"
-ENV['API_USER']     = 'mfojtik'
-ENV['API_PASSWORD'] = 'test'
-ENV['API_PROVIDER'] = 'http://mfojtik-2.brq.redhat.com:8774/auth/1.1'
+ENV['API_USER']     = 'foo@bar.com+foo@bar.com-default-tenant'
+ENV['API_PASSWORD'] = 'Not_a_real_password!1'
+ENV['API_PROVIDER'] = 'https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/'
 
 require 'vcr'
 DeltacloudTestCommon::record!


Mime
View raw message