[Ovirt-devel] [PATCH server] Random cleanup/cloud UI prep.
Jason Guiditta
jguiditt at redhat.com
Wed May 13 13:42:01 UTC 2009
This patch fixes a bunch of errors in the tests, and adds
a few model methods that will be used in the upcoming Cloud UI V1
patch.
Signed-off-by: Jason Guiditta <jguiditt at redhat.com>
---
src/app/controllers/application.rb | 2 +-
src/app/controllers/resources_controller.rb | 8 +-------
src/app/models/vm.rb | 13 +++++++++++++
src/app/models/vm_task.rb | 11 +++++++++++
src/config/database.yml | 2 +-
src/test/fixtures/storage_volumes.yml | 2 +-
src/test/fixtures/vms.yml | 14 +++++++-------
src/test/unit/host_browser_identify_test.rb | 4 ++--
src/test/unit/storage_volume_test.rb | 6 ++++--
src/test/unit/vm_test.rb | 4 ++++
10 files changed, 45 insertions(+), 21 deletions(-)
diff --git a/src/app/controllers/application.rb b/src/app/controllers/application.rb
index cff5b77..14fe618 100644
--- a/src/app/controllers/application.rb
+++ b/src/app/controllers/application.rb
@@ -60,7 +60,7 @@ class ApplicationController < ActionController::Base
end
def is_logged_in
- redirect_to(:controller => "login", :action => "login") unless get_login_user
+ redirect_to(:controller => "/login", :action => "login") unless get_login_user
end
def get_help_section
diff --git a/src/app/controllers/resources_controller.rb b/src/app/controllers/resources_controller.rb
index 97d5ee9..bf2a234 100644
--- a/src/app/controllers/resources_controller.rb
+++ b/src/app/controllers/resources_controller.rb
@@ -51,13 +51,7 @@ class ResourcesController < PoolController
# resource's vms list page
def show_vms
- @actions = [VmTask.label_and_action(VmTask::ACTION_START_VM),
- VmTask.label_and_action(VmTask::ACTION_SHUTDOWN_VM),
- (VmTask.label_and_action(VmTask::ACTION_POWEROFF_VM) << "break"),
- VmTask.label_and_action(VmTask::ACTION_SUSPEND_VM),
- VmTask.label_and_action(VmTask::ACTION_RESUME_VM),
- VmTask.label_and_action(VmTask::ACTION_SAVE_VM),
- VmTask.label_and_action(VmTask::ACTION_RESTORE_VM)]
+ @actions = VmTask.get_vm_actions
show
end
diff --git a/src/app/models/vm.rb b/src/app/models/vm.rb
index 6880c22..f2e53ed 100644
--- a/src/app/models/vm.rb
+++ b/src/app/models/vm.rb
@@ -380,6 +380,19 @@ class Vm < ActiveRecord::Base
return i
end
+ # Make method for calling paginated vms easier for clients.
+ # TODO: Might want to have an optional param for per_page var
+ def self.paged_with_perms(user, priv, page, order)
+ Vm.paginate(:include => [{:vm_resource_pool =>
+ {:permissions => {:role => :privileges}}}],
+ :conditions => ["privileges.name=:priv
+ and permissions.uid=:user",
+ { :user => user, :priv => priv }],
+ :per_page => 5,
+ :page => page,
+ :order => order)
+ end
+
protected
def validate
resources = vm_resource_pool.max_resources_for_vm(self)
diff --git a/src/app/models/vm_task.rb b/src/app/models/vm_task.rb
index 984e807..762438f 100644
--- a/src/app/models/vm_task.rb
+++ b/src/app/models/vm_task.rb
@@ -160,6 +160,17 @@ class VmTask < Task
def self.label_and_action(action)
return [action_label(action), action, action_icon(action)]
end
+
+ def self.get_vm_actions
+ return [label_and_action(VmTask::ACTION_START_VM),
+ label_and_action(VmTask::ACTION_SHUTDOWN_VM),
+ (label_and_action(VmTask::ACTION_POWEROFF_VM) << "break"),
+ label_and_action(VmTask::ACTION_SUSPEND_VM),
+ label_and_action(VmTask::ACTION_RESUME_VM),
+ label_and_action(VmTask::ACTION_SAVE_VM),
+ label_and_action(VmTask::ACTION_RESTORE_VM)]
+ end
+
def host
nil
end
diff --git a/src/config/database.yml b/src/config/database.yml
index 497eb26..5de15c9 100644
--- a/src/config/database.yml
+++ b/src/config/database.yml
@@ -21,7 +21,7 @@
# rake db:drop:all
# rake db:create:all
# rake db:migrate
-# rake db:tests:prepare
+# rake db:test:prepare
#
# And when there are changes to the database, simple run:
#
diff --git a/src/test/fixtures/storage_volumes.yml b/src/test/fixtures/storage_volumes.yml
index 8e5b60a..40dc469 100644
--- a/src/test/fixtures/storage_volumes.yml
+++ b/src/test/fixtures/storage_volumes.yml
@@ -19,7 +19,7 @@ ovirtpriv_storage_lun_3:
storage_pool: corp_com_ovirtpriv_storage
type: IscsiStorageVolume
state: available
- lvm_pool_id: corp_com_dev_lvm_ovirtlvm
+ lvm_storage_pool: corp_com_dev_lvm_ovirtlvm
ovirtpriv_lvm_volume_1:
size: 1048576
path: /dev/disk/by-id/scsi-S_beaf321013
diff --git a/src/test/fixtures/vms.yml b/src/test/fixtures/vms.yml
index 40997b0..e64db5c 100644
--- a/src/test/fixtures/vms.yml
+++ b/src/test/fixtures/vms.yml
@@ -64,8 +64,8 @@ foobar_prod1_vm:
needs_restart: 0
boot_device: cdrom
host: fedoraworkstation_foobar_com
- vm_resource_pool_id: 2
-ten:
+ vm_resource_pool: corp_com_production_vmpool
+foobar_prod2_vm:
uuid: 24b9a994-d415-481d-ace8-1d810b601eb6
description: foobar prod2
num_vcpus_allocated: 2
@@ -77,8 +77,8 @@ ten:
needs_restart: 0
boot_device: cdrom
host_id: 6
- vm_resource_pool_id: 2
-eleven:
+ vm_resource_pool: corp_com_production_vmpool
+corp_com_errata_vm:
uuid: 9b2c3c73-1abe-460e-b671-b8b7b6719e4c
description: corp.com errata appliance
num_vcpus_allocated: 2
@@ -90,8 +90,8 @@ eleven:
needs_restart: 0
boot_device: network
host_id: 8
- vm_resource_pool_id: 6
-twelve:
+ vm_resource_pool: corp_com_production_vmpool
+corp_com_bugzilla_vm:
uuid: 552134c7-b0ad-4607-bbf5-d6b9a33c2476
description: corp.com bugzilla appliance
num_vcpus_allocated: 2
@@ -103,4 +103,4 @@ twelve:
needs_restart: 0
boot_device: network
host_id: 8
- vm_resource_pool_id: 6
+ vm_resource_pool: corp_com_production_vmpool
\ No newline at end of file
diff --git a/src/test/unit/host_browser_identify_test.rb b/src/test/unit/host_browser_identify_test.rb
index a17ea30..229eb7d 100644
--- a/src/test/unit/host_browser_identify_test.rb
+++ b/src/test/unit/host_browser_identify_test.rb
@@ -245,7 +245,7 @@ class HostBrowserIdentifyTest < Test::Unit::TestCase
info = @browser.get_remote_info
- assert_equal 3,info.keys.size, "Should contain four keys"
+ assert_equal 4,info.keys.size, "Should contain four keys"
assert info.include?("CPUINFO")
end
@@ -278,7 +278,7 @@ class HostBrowserIdentifyTest < Test::Unit::TestCase
info = @browser.get_remote_info
- assert_equal 3,info.keys.size, "Should contain four keys"
+ assert_equal 4,info.keys.size, "Should contain four keys"
assert info.include?('CPUINFO')
assert_equal 2, info['CPUINFO'].size, "Should contain details for two CPUs"
assert_not_nil info['CPUINFO'][0]['key1']
diff --git a/src/test/unit/storage_volume_test.rb b/src/test/unit/storage_volume_test.rb
index 16be0fb..f0e144e 100644
--- a/src/test/unit/storage_volume_test.rb
+++ b/src/test/unit/storage_volume_test.rb
@@ -122,11 +122,13 @@ class StorageVolumeTest < Test::Unit::TestCase
storage_volumes(:ovirtpriv_lvm_volume_1).ui_parent,
'Incorrect ui parent returned'
#test isci volume values
- assert_equal storage_volumes(:corp_com_ovirtpriv_storage).type.to_s + '_' +storage_volumes(:corp_com_ovirtpriv_storage).id.to_s,
+ assert_equal storage_volumes(:ovirtpriv_storage_lun_3).storage_pool.type.to_s + '_' +
+ storage_volumes(:ovirtpriv_storage_lun_3).storage_pool_id.to_s,
storage_volumes(:ovirtpriv_storage_lun_3).ui_parent,
'Incorrect ui parent returned'
#test nfs volume values
- assert_equal storage_volumes(:corp_com_nfs_ovirtnfs).type.to_s + '_' +storage_volumes(:corp_com_nfs_ovirtnfs).id.to_s,
+ assert_equal storage_volumes(:ovirt_nfs_disk_3).storage_pool.type.to_s + '_' +
+ storage_volumes(:ovirt_nfs_disk_3).storage_pool_id.to_s,
storage_volumes(:ovirt_nfs_disk_3).ui_parent,
'Incorrect ui parent returned'
end
diff --git a/src/test/unit/vm_test.rb b/src/test/unit/vm_test.rb
index b868dfa..5e03715 100644
--- a/src/test/unit/vm_test.rb
+++ b/src/test/unit/vm_test.rb
@@ -172,4 +172,8 @@ class VmTest < Test::Unit::TestCase
def test_get_pending_state
assert_equal 'stopped', vms(:production_httpd_vm).get_pending_state
end
+
+ def test_paginated_results
+ assert_equal 5, Vm.paged_with_perms('ovirtadmin', Privilege::VIEW, 1, 'vms.id').size
+ end
end
--
1.6.0.6
More information about the ovirt-devel
mailing list