Storing all provider configuration in one place
by Scott Seago
So this is a point that we've talked about in several meetings, on IRC,
etc but haven't really nailed it down as a specific set of tasks to
implement.
Right now, in order to add a new provider to Conductor -- say you've
just spun up another RHEV instance on a new host -- there are 3
different places in the Aeolus infrastructure that you've got to
configure with certain information duplicated:
* First you've got to start up a new deltacloud-core instance with the
RHEV provider URL as the default value for X-Deltacloud-Provider
(There's no need to reply here that "deltacloud has supported
multi-provider core for ages -- why isn't conductor using it? -- as that
is _exactly_ what I'm addressing here)
* You've then got to update the rhevm.json (or whatever it's named)
config file with various information about the new RHEV provider
* Finally, the Conductor admin adds a new provider via the Conductor
Provider UI, making sure to point to the newly-created deltacloud-core
server and using a provider name that matches the configuration added
rhevm.json
We need to reduce this to _one_ place -- once a new RHEV server is up
and running the Conductor admin should be able to go to the Conductor
Provider UI and configure the provider here with no need to mess with
deltacloud config files (or new deltacloud-core servers) or with factory
config files.
The redmine story for this should read something like:
"As an administrator, when bringing up a new private cloud
instance, I can configure the new provider in a single Aeolus location"
There are 2 main "sub-stories"
1) "As an administrator, when bringing up a new private cloud instance,
it is not necessary to launch a new deltacloud-core instance or
configure any existing deltacloud-core instances with details on this
new provider; the 'new provider' UI in Conductor provides everything
needed for an existing deltacloud-core."
2) "As an administrator, when bringing up a new private cloud instance,
it is not necessary to edit the imagefactory config files with details
on this new provider; the 'new provider' UI in Conductor provides
everything needed by imagefactory."
In more detail, I'll consider them separately:
So the first is relatively straightforward -- I'll be starting to
implement it as part of this sprint. The tasks are as follows:
a) add a deltacloud_driver field to the ProviderType model (no UI for
this model -- it's currently loaded in seeds.rb
b) add a deltacloud_provider field to the Provider model
c) in the UI, make 2 changes to the 'new provider' form:
1) validate the provider type -- i.e. for the chosen provider type,
query the given dc core URL and make sure that this core supports this
provider type, initially as part of form validation, eventually w/
javascript checking
2) add a deltacloud_provider field to the form. This is a free-form
textfield, but we could make a future enhancement where for ec2 the user
gets a picklist of supported regions (internally saved as text like for
other provider types)
d) anywhere in conductor that we make deltacloud calls, update the code
to add in these new fields, either as URL params
(http://localhost:3001/api;driver=ec2;provider=us-east-1) or by setting
request headers for X-Deltacloud-Driver and X-Deltacloud-Provider,
whichever is easier
e) same as d) but for condor too
One open question here is whether we should make deltacloud_provider
optional -- i.e. will we let people defer to the prior behavior of
taking the default provider for a given deltacloud-core instance.
For the second sub-story, there are a lot more open issues. The tasks
are as follows:
a) augment the Provider model and UI with whatever fields are needed to
reproduce the contents of the factory config files (rhevm.json, etc)
b) make sure that the providers.xml (or providers.json) API calls
include these in a format that factory is prepared to deal with --
either just like rhevm.json now, or alter factory to deal with the
conductor API format.
c) aeolus-image should be altered to make this API call and pass the xml
(or json) onto factory
d) imagefactory should be altered to accept the providers.json or
providers.xml content and override its local rhevm.json, etc files with
this content
So there you have it. I expect most of the discussion/disagreement to
occur on the second sub-story, but feel free to respond with
comments/corrections/etc for either.
Scott
12 years, 8 months
[PATCH imagefactory 00/13]: Various cleanups to imagefactory
by Chris Lalancette
This patch series just does a bunch of cleanup to the imagefactory, found
by code inspection and through the use of pylint. There should be no
functional change after this series, just cleaner code. With these patches in
place tests still pass and a local upload style build still succeeds. Please
review and ACK.
Chris Lalancette
12 years, 8 months
Live demo of Pacemaker Cloud on Fedora: Friday August 5th at 8am PST
by Steven Dake
Extending a general invitation to the high availability communities and
other cloud community contributors to participate in a live demo I am
giving on Friday August 5th 8am PST (GMT-7). Demo portion of session is
15 minutes and will be provided first followed by more details of our
approach to high availability.
I will use elluminate to show the demo on my desktop machine. To make
elluminate work, you will need icedtea-web installed on your system
which is not typically installed by default.
You will also need a conference # and bridge code. Please contact me
offlist with your location and I'll provide you with a hopefully toll
free conference # and bridge code.
Elluminate link:
https://sas.elluminate.com/m.jnlp?sid=819&password=M.13AB020AEBE358D265FD...
Bridge Code: Please contact me off list with your location and I'll
respond back with dial-in information.
12 years, 8 months
[PATCH 1/3] Update FactoryGirl use to current practice.
by Simon Harris
From: Simon Harris <haruki_zaemon(a)mac.com>
Factory girl recommends the use of FactoryGirl rather Factory and
FactoryGirl.create.build rather than simply Factory.
Also fixed some broken factory declarations. Either due to a bug or an feature,
Factory girl won't resolve sequences in dependent attributes. To work around
this, I placed the generation of the dependent attributes inside an after_build
block. I've also mailed the FG list to see if it is a bug, or whether it is
actually intended behaviour.
---
src/features/step_definitions/authentication.rb | 4 +-
src/features/step_definitions/deployment_steps.rb | 8 +-
.../step_definitions/hardware_profile_steps.rb | 18 +-
src/features/step_definitions/instance_steps.rb | 26 +-
src/features/step_definitions/permission_steps.rb | 4 +-
src/features/step_definitions/pool_family_steps.rb | 4 +-
src/features/step_definitions/pool_steps.rb | 18 +-
.../step_definitions/provider_account_steps.rb | 16 +-
src/features/step_definitions/provider_steps.rb | 10 +-
src/features/step_definitions/realm_steps.rb | 2 +-
.../step_definitions/suggested_deployable_steps.rb | 2 +-
src/features/step_definitions/user_steps.rb | 2 +-
.../controllers/deployments_controller_spec.rb | 10 +-
.../hardware_profiles_controller_spec.rb | 2 +-
src/spec/controllers/pools_controller_spec.rb | 2 +-
.../provider_accounts_controller_spec.rb | 4 +-
src/spec/controllers/provider_controller_spec.rb | 2 +-
.../controllers/user_sessions_controller_spec.rb | 2 +-
src/spec/controllers/users_controller_spec.rb | 4 +-
src/spec/factories/credential.rb | 70 ++--
src/spec/factories/credential_definition.rb | 12 +-
src/spec/factories/deployment.rb | 14 +-
src/spec/factories/frontend_realm.rb | 6 +-
src/spec/factories/hardware_profile.rb | 100 +++---
src/spec/factories/hardware_profile_property.rb | 416 ++++++++++----------
src/spec/factories/icicle.rb | 6 +-
src/spec/factories/instance.rb | 66 ++--
src/spec/factories/instance_key.rb | 24 +-
src/spec/factories/permission.rb | 58 ++--
src/spec/factories/pool.rb | 26 +-
src/spec/factories/pool_family.rb | 10 +-
src/spec/factories/property_enum_entry.rb | 38 +-
src/spec/factories/provider.rb | 50 ++--
src/spec/factories/provider_account.rb | 42 ++-
src/spec/factories/provider_type.rb | 26 +-
src/spec/factories/quota.rb | 28 +-
src/spec/factories/realm.rb | 36 +-
src/spec/factories/realm_backend_target.rb | 8 +-
src/spec/factories/role.rb | 8 +-
src/spec/factories/suggested_deployable.rb | 12 +-
src/spec/factories/user.rb | 60 ++--
src/spec/factories/view_state.rb | 15 +-
src/spec/helpers/providers_helper_spec.rb | 4 +-
src/spec/models/deployment_spec.rb | 16 +-
src/spec/models/hardware_profile_spec.rb | 94 +++---
src/spec/models/icicle_spec.rb | 2 +-
src/spec/models/instance_observer_spec.rb | 20 +-
src/spec/models/instance_spec.rb | 18 +-
src/spec/models/metadata_object_spec.rb | 2 +-
src/spec/models/permission_spec.rb | 10 +-
src/spec/models/pool_family_spec.rb | 2 +-
src/spec/models/pool_spec.rb | 4 +-
src/spec/models/provider_account_spec.rb | 10 +-
src/spec/models/provider_spec.rb | 2 +-
src/spec/models/quota_spec.rb | 20 +-
src/spec/models/realm_spec.rb | 6 +-
src/spec/models/role_spec.rb | 2 +-
src/spec/models/suggested_deployable_spec.rb | 6 +-
src/spec/models/user_spec.rb | 6 +-
src/spec/models/view_state_spec.rb | 4 +-
.../services/data_service_active_record_spec.rb | 46 ++--
src/spec/services/registration_service_spec.rb | 4 +-
62 files changed, 810 insertions(+), 739 deletions(-)
diff --git a/src/features/step_definitions/authentication.rb b/src/features/step_definitions/authentication.rb
index b979c61..cb038b1 100644
--- a/src/features/step_definitions/authentication.rb
+++ b/src/features/step_definitions/authentication.rb
@@ -1,9 +1,9 @@
def user
- @user ||= Factory :user
+ @user ||= FactoryGirl.create :user
end
def admin_user
- @user ||= Factory :admin_user
+ @user ||= FactoryGirl.create :admin_user
end
def login(login, password)
diff --git a/src/features/step_definitions/deployment_steps.rb b/src/features/step_definitions/deployment_steps.rb
index 90524b2..f009d59 100644
--- a/src/features/step_definitions/deployment_steps.rb
+++ b/src/features/step_definitions/deployment_steps.rb
@@ -1,5 +1,5 @@
Given /^there is a deployment named "([^"]*)" belonging to "([^"]*)" owned by "([^"]*)"$/ do |deployment_name, deployable_name, owner_name|
- user = Factory(:user, :login => owner_name, :last_name => owner_name)
+ user = FactoryGirl.create(:user, :login => owner_name, :last_name => owner_name)
@deployment = Deployment.new({:name => deployment_name, :pool => Pool.first, :owner => user})
@deployment.deployable_xml = DeployableXML.import_xml_from_url("http://localhost/deployables/deployable1.xml")
@deployment.save
@@ -13,7 +13,7 @@ end
Given /^there are (\d+) deployments$/ do |arg1|
Deployment.all.each {|i| i.destroy}
arg1.to_i.times do |i|
- Factory :deployment, :name => "deployment#{i}"
+ FactoryGirl.create :deployment, :name => "deployment#{i}"
end
end
@@ -23,12 +23,12 @@ Then /^I should see (\d+) deployments in JSON format$/ do |arg1|
end
Given /^a deployment "([^"]*)" exists$/ do |arg1|
- Factory(:deployment, :name => arg1) unless Deployment.find_by_name(arg1)
+ FactoryGirl.create(:deployment, :name => arg1) unless Deployment.find_by_name(arg1)
end
Given /^the deployment "([^"]*)" has an instance named "([^"]*)"$/ do |d_name, i_name|
deployment = Deployment.find_by_name(d_name)
- deployment.instances << Factory(:instance, :name => i_name, :pool => deployment.pool)
+ deployment.instances << FactoryGirl.create(:instance, :name => i_name, :pool => deployment.pool)
end
When /^I am viewing the deployment "([^"]*)"$/ do |arg1|
diff --git a/src/features/step_definitions/hardware_profile_steps.rb b/src/features/step_definitions/hardware_profile_steps.rb
index 5b9d97a..71a62f5 100644
--- a/src/features/step_definitions/hardware_profile_steps.rb
+++ b/src/features/step_definitions/hardware_profile_steps.rb
@@ -5,21 +5,21 @@ Given /^there are the following conductor hardware profiles:$/ do |table|
end
Given /^the Hardare Profile "([^"]*)" has the following Provider Hardware Profiles:$/ do |name, table|
- provider = Factory :mock_provider
+ provider = FactoryGirl.create :mock_provider
front_end_hwp = HardwareProfile.find_by_name(name)
back_end_hwps = table.hashes.collect { |hash| create_hwp(hash, provider) }
end
Given /^there is a "([^"]*)" hardware profile$/ do |arg1|
- Factory(:mock_hwp1, :name => arg1)
+ FactoryGirl.create(:mock_hwp1, :name => arg1)
end
def create_hwp(hash, provider=nil)
- memory = Factory(:mock_hwp1_memory, :value => hash[:memory])
- storage = Factory(:mock_hwp1_storage, :value => hash[:storage])
- cpu = Factory(:mock_hwp1_cpu, :value => hash[:cpu])
- arch = Factory(:mock_hwp1_arch, :value => hash[:architecture])
- Factory(:mock_hwp1, :name => hash[:name], :memory => memory, :cpu => cpu, :storage => storage, :architecture => arch, :provider => provider)
+ memory = FactoryGirl.create(:mock_hwp1_memory, :value => hash[:memory])
+ storage = FactoryGirl.create(:mock_hwp1_storage, :value => hash[:storage])
+ cpu = FactoryGirl.create(:mock_hwp1_cpu, :value => hash[:cpu])
+ arch = FactoryGirl.create(:mock_hwp1_arch, :value => hash[:architecture])
+ FactoryGirl.create(:mock_hwp1, :name => hash[:name], :memory => memory, :cpu => cpu, :storage => storage, :architecture => arch, :provider => provider)
end
When /^I enter the following details for the Hardware Profile Properties$/ do |table|
@@ -33,13 +33,13 @@ When /^I enter the following details for the Hardware Profile Properties$/ do |t
end
Given /^there are the following provider hardware profiles:$/ do |table|
- provider = Factory :mock_provider
+ provider = FactoryGirl.create :mock_provider
create_provider_hardware_profiles(provider, table)
end
Given /^there are (\d+) hardware profiles$/ do |count|
count.to_i.times do |i|
- Factory(:mock_hwp1, :name => "hwprofile#{i}")
+ FactoryGirl.create(:mock_hwp1, :name => "hwprofile#{i}")
end
end
diff --git a/src/features/step_definitions/instance_steps.rb b/src/features/step_definitions/instance_steps.rb
index 9a9cb88..513d6df 100644
--- a/src/features/step_definitions/instance_steps.rb
+++ b/src/features/step_definitions/instance_steps.rb
@@ -1,13 +1,13 @@
def mock_instance
- @mock_instance ||= Factory :mock_running_instance
+ @mock_instance ||= FactoryGirl.create :mock_running_instance
end
def pending_instance
- @pending_instance ||= Factory :mock_pending_instance
+ @pending_instance ||= FactoryGirl.create :mock_pending_instance
end
Given /^a mock running instance exists$/ do
- mock_instance.instance_key = Factory :mock_instance_key, :instance_key_owner => mock_instance
+ mock_instance.instance_key = FactoryGirl.create :mock_instance_key, :instance_key_owner => mock_instance
end
Given /^a mock pending instance exists$/ do
@@ -46,31 +46,31 @@ Then /^I should see the Save dialog for a (.+) file$/ do |filetype|
end
Given /^there is a "([^"]*)" instance$/ do |name|
- Factory :instance, :name => name
+ FactoryGirl.create :instance, :name => name
end
Given /^there is a "([^"]*)" failed instance$/ do |name|
- Factory :instance, :name => name, :state => Instance::STATE_ERROR
+ FactoryGirl.create :instance, :name => name, :state => Instance::STATE_ERROR
end
Given /^there is a "([^"]*)" running instance$/ do |name|
- Factory :instance, :name => name, :state => Instance::STATE_RUNNING
+ FactoryGirl.create :instance, :name => name, :state => Instance::STATE_RUNNING
end
Given /^there is a "([^"]*)" stopped instance$/ do |name|
- Factory :instance, :name => name, :state => Instance::STATE_STOPPED
+ FactoryGirl.create :instance, :name => name, :state => Instance::STATE_STOPPED
end
Given /^there is "([^"]*)" conductor hardware profile$/ do |name|
- Factory :front_hwp1, :name => name
+ FactoryGirl.create :front_hwp1, :name => name
end
Given /^there is "([^"]*)" frontend realm$/ do |name|
- Factory :frontend_realm, :name => name
+ FactoryGirl.create :frontend_realm, :name => name
end
Given /^there is "([^"]*)" pool$/ do |arg1|
- Factory :pool, :name => arg1
+ FactoryGirl.create :pool, :name => arg1
end
@@ -81,7 +81,7 @@ end
Given /^there are the following instances:$/ do |table|
table.hashes.each do |hash|
- Factory(:instance, :name => hash['name'],
+ FactoryGirl.create(:instance, :name => hash['name'],
:external_key => hash['external_key'],
:state => hash['state'],
:public_addresses => hash['public_addresses'],
@@ -91,7 +91,7 @@ end
Given /^there is the following instance with a differently-named owning user:$/ do |table|
table.hashes.each do |hash|
- Factory(:other_owner_instance, :name => hash['name'],
+ FactoryGirl.create(:other_owner_instance, :name => hash['name'],
:external_key => hash['external_key'],
:state => hash['state'],
:public_addresses => hash['public_addresses'],
@@ -103,7 +103,7 @@ end
Given /^there are (\d+) instances$/ do |count|
Instance.all.each {|i| i.destroy}
count.to_i.times do |i|
- Factory :mock_pending_instance, :name => "inst#{i}"
+ FactoryGirl.create :mock_pending_instance, :name => "inst#{i}"
end
end
diff --git a/src/features/step_definitions/permission_steps.rb b/src/features/step_definitions/permission_steps.rb
index aa9e9af..d2007f5 100644
--- a/src/features/step_definitions/permission_steps.rb
+++ b/src/features/step_definitions/permission_steps.rb
@@ -1,5 +1,5 @@
Given /^a user "([^\"]*)" exists$/ do |login|
- @user = Factory(:user, :login => login)
+ @user = FactoryGirl.create(:user, :login => login)
end
Given /^there is not a permission for the user "([^\"]*)"$/ do |login|
@@ -7,7 +7,7 @@ Given /^there is not a permission for the user "([^\"]*)"$/ do |login|
end
Given /^there is a permission for the user "([^\"]*)"$/ do |login|
- @admin_permission = Factory(:admin_permission, :user_id => @user.id)
+ @admin_permission = FactoryGirl.create(:admin_permission, :user_id => @user.id)
end
Given /^I delete the permission$/ do
diff --git a/src/features/step_definitions/pool_family_steps.rb b/src/features/step_definitions/pool_family_steps.rb
index 716d722..6a7b310 100644
--- a/src/features/step_definitions/pool_family_steps.rb
+++ b/src/features/step_definitions/pool_family_steps.rb
@@ -1,11 +1,11 @@
Given /^there are these pool families:$/ do |table|
table.hashes.each do |hash|
- Factory(:pool_family, :name => hash['name'])
+ FactoryGirl.create(:pool_family, :name => hash['name'])
end
end
Given /^there is a pool family named "([^\"]*)"$/ do |name|
- @pool_family = Factory(:pool_family, :name => name)
+ @pool_family = FactoryGirl.create(:pool_family, :name => name)
end
Given /^there is not a pool family named "([^"]*)"$/ do |name|
diff --git a/src/features/step_definitions/pool_steps.rb b/src/features/step_definitions/pool_steps.rb
index cb13a17..2f617e9 100644
--- a/src/features/step_definitions/pool_steps.rb
+++ b/src/features/step_definitions/pool_steps.rb
@@ -1,11 +1,11 @@
Given /^I am an authorised user$/ do
- @admin_permission = Factory :admin_permission
+ @admin_permission = FactoryGirl.create :admin_permission
@user = @admin_permission.user
end
Given /^I have Pool Creator permissions on a pool named "([^\"]*)"$/ do |name|
- @pool = Factory(:pool, :name => name)
- Factory(:pool_creator_permission, :user => @user, :permission_object => @pool)
+ @pool = FactoryGirl.create(:pool, :name => name)
+ FactoryGirl.create(:pool_creator_permission, :user => @user, :permission_object => @pool)
end
Then /^there should be (\d+) pools$/ do |number|
@@ -17,17 +17,17 @@ Given /^there is not a pool named "([^\"]*)"$/ do |name|
end
Given /^a pool "([^"]*)" exists$/ do |pool_name|
- pool_family = PoolFamily.find_by_name('default') || Factory(:pool_family)
- quota = Factory(:quota)
+ pool_family = PoolFamily.find_by_name('default') || FactoryGirl.create(:pool_family)
+ quota = FactoryGirl.create(:quota)
Pool.create!(:name => pool_name, :pool_family => pool_family, :quota => quota, :enabled => true)
end
Given /^a pool "([^"]*)" exists and is disabled$/ do |pool_name|
- Factory :disabled_pool, :name => pool_name
+ FactoryGirl.create :disabled_pool, :name => pool_name
end
Given /^a pool "([^"]*)" exists with deployment "([^"]*)"$/ do |pool_name, deployment_name|
- pool = Pool.find_by_name(pool_name) || Factory(:pool, :name => pool_name)
+ pool = Pool.find_by_name(pool_name) || FactoryGirl.create(:pool, :name => pool_name)
deployment = Deployment.new(:name => deployment_name, :pool => pool, :owner => User.first)
deployment.deployable_xml = DeployableXML.import_xml_from_url("http://localhost/deployables/deployable1.xml")
deployment.save!
@@ -61,7 +61,7 @@ Given /^the "([^\"]*)" Pool has a quota with following capacities:$/ do |name,ta
end
@pool = Pool.find_by_name(name)
- @quota = Factory(:quota, quota_hash)
+ @quota = FactoryGirl.create(:quota, quota_hash)
@pool.quota_id = @quota.id
@pool.save
@@ -106,6 +106,6 @@ end
Given /^there are (\d+) pools$/ do |arg1|
Pool.all.each {|i| i.destroy}
arg1.to_i.times do |i|
- Factory :pool, :name => "pool#{i}"
+ FactoryGirl.create :pool, :name => "pool#{i}"
end
end
diff --git a/src/features/step_definitions/provider_account_steps.rb b/src/features/step_definitions/provider_account_steps.rb
index f4f7312..180a839 100644
--- a/src/features/step_definitions/provider_account_steps.rb
+++ b/src/features/step_definitions/provider_account_steps.rb
@@ -1,5 +1,5 @@
Given /^the account has an instance associated with it$/ do
- Factory :instance, :provider_account => @provider_account
+ FactoryGirl.create :instance, :provider_account => @provider_account
end
Given /^all the account instances are stopped$/ do
@@ -39,12 +39,12 @@ end
Given /^there is a provider account named "([^"]*)"$/ do |label|
@provider = Provider.find_by_name('testprovider')
- @provider_account = Factory(:mock_provider_account, :provider => @provider, :label => label)
+ @provider_account = FactoryGirl.create(:mock_provider_account, :provider => @provider, :label => label)
end
Given /^there is a second provider account named "([^"]*)"$/ do |label|
- @provider = Factory(:provider, :name => 'secondprovider')
- @provider_account = Factory(:provider_account, :provider => @provider, :label => label)
+ @provider = FactoryGirl.create(:provider, :name => 'secondprovider')
+ @provider_account = FactoryGirl.create(:provider_account, :provider => @provider, :label => label)
end
@@ -60,13 +60,13 @@ Given /^that there are these provider accounts:$/ do |table|
end
Given /^there is ec2 provider account "([^"]*)"$/ do |arg1|
- provider = Factory(:ec2_provider, :name => 'ec2provider')
- Factory(:ec2_provider_account, :label => arg1, :provider => provider)
+ provider = FactoryGirl.create(:ec2_provider, :name => 'ec2provider')
+ FactoryGirl.create(:ec2_provider_account, :label => arg1, :provider => provider)
end
Given /^there is mock provider account "([^"]*)"$/ do |arg1|
- provider = Factory(:mock_provider, :name => 'mockprovider')
- Factory(:mock_provider_account, :label => arg1, :provider => provider)
+ provider = FactoryGirl.create(:mock_provider, :name => 'mockprovider')
+ FactoryGirl.create(:mock_provider_account, :label => arg1, :provider => provider)
end
Then /^there should be these mock provider accounts:$/ do |table|
diff --git a/src/features/step_definitions/provider_steps.rb b/src/features/step_definitions/provider_steps.rb
index 72d0e43..932de58 100644
--- a/src/features/step_definitions/provider_steps.rb
+++ b/src/features/step_definitions/provider_steps.rb
@@ -8,7 +8,7 @@ Given /^there is not a provider named "([^"]*)"$/ do |name|
end
Given /^there is a provider named "([^\"]*)"$/ do |name|
- @provider = Factory(:mock_provider, :name => name)
+ @provider = FactoryGirl.create(:mock_provider, :name => name)
end
Then /^I should have a provider named "([^\"]*)"$/ do |name|
@@ -32,21 +32,21 @@ end
Given /^there are these providers:$/ do |table|
table.hashes.each do |hash|
- hash['url'].nil? ? Factory(:mock_provider, :name => hash['name']) : Factory(:mock_provider, :name => hash['name'], :url => hash['url'])
+ hash['url'].nil? ? FactoryGirl.create(:mock_provider, :name => hash['name']) : FactoryGirl.create(:mock_provider, :name => hash['name'], :url => hash['url'])
end
end
Given /^this provider has (\d+) hardware profiles$/ do |number|
- number.to_i.times { |i| Factory(:mock_hwp1, :provider => @provider) }
+ number.to_i.times { |i| FactoryGirl.create(:mock_hwp1, :provider => @provider) }
end
Given /^this provider has a realm$/ do
- Factory(:realm, :provider => @provider)
+ FactoryGirl.create(:realm, :provider => @provider)
end
Given /^this provider has a provider account$/ do
- Factory(:mock_provider_account, :provider => @provider)
+ FactoryGirl.create(:mock_provider_account, :provider => @provider)
end
Then /^there should not be any hardware profiles$/ do
diff --git a/src/features/step_definitions/realm_steps.rb b/src/features/step_definitions/realm_steps.rb
index 77053ad..d1b7f07 100644
--- a/src/features/step_definitions/realm_steps.rb
+++ b/src/features/step_definitions/realm_steps.rb
@@ -7,7 +7,7 @@ Given /^a realm "([^"]*)" exists$/ do |realm_name|
end
Given /^a provider "([^"]*)" exists$/ do |name|
- Factory(:mock_provider, :name => name)
+ FactoryGirl.create(:mock_provider, :name => name)
end
Given /^there is a realm "([^"]*)"$/ do |name|
diff --git a/src/features/step_definitions/suggested_deployable_steps.rb b/src/features/step_definitions/suggested_deployable_steps.rb
index d228a98..c17b0d5 100644
--- a/src/features/step_definitions/suggested_deployable_steps.rb
+++ b/src/features/step_definitions/suggested_deployable_steps.rb
@@ -1,5 +1,5 @@
Given /^a suggested deployable "([^"]*)" exists$/ do |arg1|
- Factory :suggested_deployable, :name => arg1
+ FactoryGirl.create :suggested_deployable, :name => arg1
end
When /^I check "([^"]*)" suggested deployable$/ do |arg1|
diff --git a/src/features/step_definitions/user_steps.rb b/src/features/step_definitions/user_steps.rb
index c82566f..6fb5e7d 100644
--- a/src/features/step_definitions/user_steps.rb
+++ b/src/features/step_definitions/user_steps.rb
@@ -1,6 +1,6 @@
Given /^there is a user "([^"]*)"$/ do |name|
unless User.find_by_login(name)
- Factory :user, :login => name, :email => "#{name}(a)example.com"
+ FactoryGirl.create :user, :login => name, :email => "#{name}(a)example.com"
end
end
diff --git a/src/spec/controllers/deployments_controller_spec.rb b/src/spec/controllers/deployments_controller_spec.rb
index 87bc349..e64031d 100644
--- a/src/spec/controllers/deployments_controller_spec.rb
+++ b/src/spec/controllers/deployments_controller_spec.rb
@@ -3,7 +3,7 @@ require 'spec_helper'
describe DeploymentsController do
fixtures :all
before(:each) do
- @admin_permission = Factory :admin_permission
+ @admin_permission = FactoryGirl.create(:admin_permission)
@admin = @admin_permission.user
activate_authlogic
end
@@ -12,7 +12,7 @@ describe DeploymentsController do
UserSession.create(@admin)
deployment = nil
lambda do
- deployment = Factory(:deployment)
+ deployment = FactoryGirl.create(:deployment)
deployment.owner = @admin
deployment.save!
end.should change(Deployment, :count).by(1)
@@ -26,9 +26,9 @@ describe DeploymentsController do
deployment1 = nil
deployment2 = nil
lambda do
- deployment1 = Factory(:deployment, :owner => @admin)
+ deployment1 = FactoryGirl.create(:deployment, :owner => @admin)
deployment1.save!
- deployment2 = Factory(:deployment, :owner => @admin)
+ deployment2 = FactoryGirl.create(:deployment, :owner => @admin)
deployment2.save!
end.should change(Deployment, :count).by(2)
lambda do
@@ -36,4 +36,4 @@ describe DeploymentsController do
end.should change(Deployment, :count).by(-2)
end
-end
\ No newline at end of file
+end
diff --git a/src/spec/controllers/hardware_profiles_controller_spec.rb b/src/spec/controllers/hardware_profiles_controller_spec.rb
index 31f42ba..099dac7 100644
--- a/src/spec/controllers/hardware_profiles_controller_spec.rb
+++ b/src/spec/controllers/hardware_profiles_controller_spec.rb
@@ -4,7 +4,7 @@ describe HardwareProfilesController do
fixtures :all
before(:each) do
- @admin_permission = Factory :admin_permission
+ @admin_permission = FactoryGirl.create :admin_permission
@admin = @admin_permission.user
activate_authlogic
end
diff --git a/src/spec/controllers/pools_controller_spec.rb b/src/spec/controllers/pools_controller_spec.rb
index f9ec856..0795941 100644
--- a/src/spec/controllers/pools_controller_spec.rb
+++ b/src/spec/controllers/pools_controller_spec.rb
@@ -4,7 +4,7 @@ describe PoolsController do
fixtures :all
before(:each) do
- @admin_permission = Factory :admin_permission
+ @admin_permission = FactoryGirl.create :admin_permission
@admin = @admin_permission.user
activate_authlogic
end
diff --git a/src/spec/controllers/provider_accounts_controller_spec.rb b/src/spec/controllers/provider_accounts_controller_spec.rb
index d994c39..60740a3 100644
--- a/src/spec/controllers/provider_accounts_controller_spec.rb
+++ b/src/spec/controllers/provider_accounts_controller_spec.rb
@@ -4,12 +4,12 @@ describe ProviderAccountsController do
fixtures :all
before(:each) do
- @provider_account = Factory :mock_provider_account
+ @provider_account = FactoryGirl.create :mock_provider_account
@provider = @provider_account.provider
@admin_permission = Permission.create :role => Role.find(:first, :conditions => ['name = ?', 'Provider Administrator']),
:permission_object => @provider,
- :user => Factory(:provider_admin_user)
+ :user => FactoryGirl.create(:provider_admin_user)
@admin = @admin_permission.user
activate_authlogic
end
diff --git a/src/spec/controllers/provider_controller_spec.rb b/src/spec/controllers/provider_controller_spec.rb
index 775ef92..4591e82 100644
--- a/src/spec/controllers/provider_controller_spec.rb
+++ b/src/spec/controllers/provider_controller_spec.rb
@@ -4,7 +4,7 @@ describe ProvidersController do
fixtures :all
before(:each) do
- @admin_permission = Factory :provider_admin_permission
+ @admin_permission = FactoryGirl.create :provider_admin_permission
@provider = @admin_permission.permission_object
@admin = @admin_permission.user
activate_authlogic
diff --git a/src/spec/controllers/user_sessions_controller_spec.rb b/src/spec/controllers/user_sessions_controller_spec.rb
index 33402bf..dd55488 100644
--- a/src/spec/controllers/user_sessions_controller_spec.rb
+++ b/src/spec/controllers/user_sessions_controller_spec.rb
@@ -4,7 +4,7 @@ describe UserSessionsController do
fixtures :all
before(:each) do
- @tuser = Factory :tuser
+ @tuser = FactoryGirl.create :tuser
activate_authlogic
end
diff --git a/src/spec/controllers/users_controller_spec.rb b/src/spec/controllers/users_controller_spec.rb
index 27d3037..f85e3d7 100644
--- a/src/spec/controllers/users_controller_spec.rb
+++ b/src/spec/controllers/users_controller_spec.rb
@@ -4,8 +4,8 @@ describe UsersController do
fixtures :all
before(:each) do
- @tuser = Factory :tuser
- @admin_permission = Factory :admin_permission
+ @tuser = FactoryGirl.create :tuser
+ @admin_permission = FactoryGirl.create :admin_permission
@admin = @admin_permission.user
activate_authlogic
end
diff --git a/src/spec/factories/credential.rb b/src/spec/factories/credential.rb
index 8cde3f8..ae4aa02 100644
--- a/src/spec/factories/credential.rb
+++ b/src/spec/factories/credential.rb
@@ -1,41 +1,45 @@
-Factory.define :credential do |c|
- c.association :credential_definition
- c.sequence(:value) {|n| "value#{n}"}
-end
+FactoryGirl.define do
-# EC2 credentials
-Factory.define :ec2_username_credential, :parent => :credential do |c|
- c.value "mockuser"
- c.credential_definition { CredentialDefinition.find_by_name('username',:conditions => {:provider_type_id => ProviderType.find_by_codename('ec2')})}
-end
+ factory :credential do
+ association :credential_definition
+ sequence(:value) { |n| "value#{n}" }
+ end
-Factory.define :ec2_password_credential, :parent => :credential do |c|
- c.value "mockpassword"
- c.credential_definition { CredentialDefinition.find_by_name('password',:conditions => {:provider_type_id => ProviderType.find_by_codename('ec2')})}
-end
+ # EC2 credentials
+ factory :ec2_username_credential, :parent => :credential do
+ value "mockuser"
+ credential_definition { CredentialDefinition.find_by_name('username',:conditions => {:provider_type_id => ProviderType.find_by_codename('ec2')})}
+ end
-Factory.define :ec2_account_id_credential, :parent => :credential do |c|
- c.value "3141"
- c.credential_definition { CredentialDefinition.find_by_name('account_id',:conditions => {:provider_type_id => ProviderType.find_by_codename('ec2')})}
-end
+ factory :ec2_password_credential, :parent => :credential do
+ value "mockpassword"
+ credential_definition { CredentialDefinition.find_by_name('password',:conditions => {:provider_type_id => ProviderType.find_by_codename('ec2')})}
+ end
-Factory.define :ec2_x509private_credential, :parent => :credential do |c|
- c.value "x509 private key"
- c.credential_definition { CredentialDefinition.find_by_name('x509private',:conditions => {:provider_type_id => ProviderType.find_by_codename('ec2')})}
-end
+ factory :ec2_account_id_credential, :parent => :credential do
+ value "3141"
+ credential_definition { CredentialDefinition.find_by_name('account_id',:conditions => {:provider_type_id => ProviderType.find_by_codename('ec2')})}
+ end
-Factory.define :ec2_x509public_credential, :parent => :credential do |c|
- c.value "x509 public key"
- c.credential_definition { CredentialDefinition.find_by_name('x509public',:conditions => {:provider_type_id => ProviderType.find_by_codename('ec2')})}
-end
+ factory :ec2_x509private_credential, :parent => :credential do
+ value "x509 private key"
+ credential_definition { CredentialDefinition.find_by_name('x509private',:conditions => {:provider_type_id => ProviderType.find_by_codename('ec2')})}
+ end
-#Mock & Others credentials
-Factory.define :username_credential, :parent => :credential do |c|
- c.value "mockuser"
- c.credential_definition { CredentialDefinition.find_by_name('username',:conditions => {:provider_type_id => ProviderType.find_by_codename('mock')})}
-end
+ factory :ec2_x509public_credential, :parent => :credential do
+ value "x509 public key"
+ credential_definition { CredentialDefinition.find_by_name('x509public',:conditions => {:provider_type_id => ProviderType.find_by_codename('ec2')})}
+ end
+
+ #Mock & Others credentials
+ factory :username_credential, :parent => :credential do
+ value "mockuser"
+ credential_definition { CredentialDefinition.find_by_name('username',:conditions => {:provider_type_id => ProviderType.find_by_codename('mock')})}
+ end
+
+ factory :password_credential, :parent => :credential do
+ value "mockpassword"
+ credential_definition { CredentialDefinition.find_by_name('password',:conditions => {:provider_type_id => ProviderType.find_by_codename('mock')})}
+ end
-Factory.define :password_credential, :parent => :credential do |c|
- c.value "mockpassword"
- c.credential_definition { CredentialDefinition.find_by_name('password',:conditions => {:provider_type_id => ProviderType.find_by_codename('mock')})}
end
diff --git a/src/spec/factories/credential_definition.rb b/src/spec/factories/credential_definition.rb
index 31424d6..5f43d82 100644
--- a/src/spec/factories/credential_definition.rb
+++ b/src/spec/factories/credential_definition.rb
@@ -1,6 +1,8 @@
-Factory.define :credential_definition do |f|
- f.sequence(:name) { |n| "field#{n}" }
- f.sequence(:label) { |n| "field#{n}" }
- f.input_type 'text'
- f.association :provider_type
+FactoryGirl.define do
+ factory :credential_definition do
+ sequence(:name) { |n| "field#{n}" }
+ sequence(:label) { |n| "field#{n}" }
+ input_type 'text'
+ association :provider_type
+ end
end
diff --git a/src/spec/factories/deployment.rb b/src/spec/factories/deployment.rb
index 59843e0..3a784f4 100644
--- a/src/spec/factories/deployment.rb
+++ b/src/spec/factories/deployment.rb
@@ -1,8 +1,10 @@
-Factory.define :deployment do |d|
- d.sequence(:name) { |n| "deployment#{n}" }
- d.association :pool, :factory => :pool
- d.association :owner, :factory => :user
- d.after_build do |deployment|
- deployment.deployable_xml = DeployableXML.import_xml_from_url("http://localhost/deployables/deployable1.xml")
+FactoryGirl.define do
+ factory :deployment do
+ sequence(:name) { |n| "deployment#{n}" }
+ association :pool, :factory => :pool
+ association :owner, :factory => :user
+ after_build do |deployment|
+ deployment.deployable_xml = DeployableXML.import_xml_from_url("http://localhost/deployables/deployable1.xml")
+ end
end
end
diff --git a/src/spec/factories/frontend_realm.rb b/src/spec/factories/frontend_realm.rb
index 215869a..0419650 100644
--- a/src/spec/factories/frontend_realm.rb
+++ b/src/spec/factories/frontend_realm.rb
@@ -1,3 +1,5 @@
-Factory.define :frontend_realm do |r|
- r.sequence(:name) { |n| "realm#{n}" }
+FactoryGirl.define do
+ factory :frontend_realm do
+ sequence(:name) { |n| "realm#{n}" }
+ end
end
diff --git a/src/spec/factories/hardware_profile.rb b/src/spec/factories/hardware_profile.rb
index c1571f3..d6e400f 100644
--- a/src/spec/factories/hardware_profile.rb
+++ b/src/spec/factories/hardware_profile.rb
@@ -1,56 +1,60 @@
-Factory.define :hardware_profile do |p|
- p.sequence(:name) { |n| "hardware_profile#{n}" }
- p.sequence(:external_key) { |n| "hardware_profile_key#{n}" }
-end
+FactoryGirl.define do
-Factory.define :mock_hwp1, :parent => :hardware_profile do |p|
- p.memory { |p| p.association(:mock_hwp1_memory) }
- p.storage { |p| p.association(:mock_hwp1_storage) }
- p.cpu { |p| p.association(:mock_hwp1_cpu) }
- p.architecture { |p| p.association(:mock_hwp1_arch) }
- p.sequence(:external_key) { |n| "mock_hwp1_key#{n}" }
-end
+ factory :hardware_profile do
+ sequence(:name) { |n| "hardware_profile#{n}" }
+ sequence(:external_key) { |n| "hardware_profile_key#{n}" }
+ end
-Factory.define :mock_hwp2, :parent => :hardware_profile do |p|
- p.memory { |p| p.association(:mock_hwp2_memory) }
- p.storage { |p| p.association(:mock_hwp2_storage) }
- p.cpu { |p| p.association(:mock_hwp2_cpu) }
- p.architecture { |p| p.association(:mock_hwp2_arch) }
- p.external_key 'mock_hwp2_key'
-end
+ factory :mock_hwp1, :parent => :hardware_profile do
+ memory { |p| p.association(:mock_hwp1_memory) }
+ storage { |p| p.association(:mock_hwp1_storage) }
+ cpu { |p| p.association(:mock_hwp1_cpu) }
+ architecture { |p| p.association(:mock_hwp1_arch) }
+ sequence(:external_key) { |n| "mock_hwp1_key#{n}" }
+ end
-Factory.define :front_hwp1, :parent => :hardware_profile do |p|
- p.memory { |p| p.association(:front_hwp1_memory) }
- p.storage { |p| p.association(:front_hwp1_storage) }
- p.cpu { |p| p.association(:front_hwp1_cpu) }
- p.architecture { |p| p.association(:front_hwp1_arch) }
- p.name 'front_hwp1'
- p.external_key 'front_hwp1_key'
-end
+ factory :mock_hwp2, :parent => :hardware_profile do
+ memory { |p| p.association(:mock_hwp2_memory) }
+ storage { |p| p.association(:mock_hwp2_storage) }
+ cpu { |p| p.association(:mock_hwp2_cpu) }
+ architecture { |p| p.association(:mock_hwp2_arch) }
+ external_key 'mock_hwp2_key'
+ end
-Factory.define :front_hwp2, :parent => :hardware_profile do |p|
- p.memory { |p| p.association(:front_hwp2_memory) }
- p.storage { |p| p.association(:front_hwp2_storage) }
- p.cpu { |p| p.association(:front_hwp2_cpu) }
- p.architecture { |p| p.association(:front_hwp2_arch) }
- p.name 'front_hwp2'
- p.external_key 'front_hwp2_key'
-end
+ factory :front_hwp1, :parent => :hardware_profile do
+ memory { |p| p.association(:front_hwp1_memory) }
+ storage { |p| p.association(:front_hwp1_storage) }
+ cpu { |p| p.association(:front_hwp1_cpu) }
+ architecture { |p| p.association(:front_hwp1_arch) }
+ name 'front_hwp1'
+ external_key 'front_hwp1_key'
+ end
+ factory :front_hwp2, :parent => :hardware_profile do
+ memory { |p| p.association(:front_hwp2_memory) }
+ storage { |p| p.association(:front_hwp2_storage) }
+ cpu { |p| p.association(:front_hwp2_cpu) }
+ architecture { |p| p.association(:front_hwp2_arch) }
+ name 'front_hwp2'
+ external_key 'front_hwp2_key'
+ end
-Factory.define :ec2_hwp1, :parent => :hardware_profile do |p|
- p.memory { |p| p.association(:ec2_hwp1_memory) }
- p.storage { |p| p.association(:ec2_hwp1_storage) }
- p.cpu { |p| p.association(:ec2_hwp1_cpu) }
- p.architecture { |p| p.association(:ec2_hwp1_arch) }
- p.sequence(:external_key) { |n| "ec2_hwp1_key#{n}" }
-end
-Factory.define :front_hwp3, :parent => :hardware_profile do |p|
- p.memory { |p| p.association(:front_hwp3_memory) }
- p.storage { |p| p.association(:front_hwp3_storage) }
- p.cpu { |p| p.association(:front_hwp3_cpu) }
- p.architecture { |p| p.association(:front_hwp3_arch) }
- p.name 'front_hwp3'
- p.external_key 'front_hwp3_key'
+ factory :ec2_hwp1, :parent => :hardware_profile do
+ memory { |p| p.association(:ec2_hwp1_memory) }
+ storage { |p| p.association(:ec2_hwp1_storage) }
+ cpu { |p| p.association(:ec2_hwp1_cpu) }
+ architecture { |p| p.association(:ec2_hwp1_arch) }
+ sequence(:external_key) { |n| "ec2_hwp1_key#{n}" }
+ end
+
+ factory :front_hwp3, :parent => :hardware_profile do
+ memory { |p| p.association(:front_hwp3_memory) }
+ storage { |p| p.association(:front_hwp3_storage) }
+ cpu { |p| p.association(:front_hwp3_cpu) }
+ architecture { |p| p.association(:front_hwp3_arch) }
+ name 'front_hwp3'
+ external_key 'front_hwp3_key'
+ end
+
end
diff --git a/src/spec/factories/hardware_profile_property.rb b/src/spec/factories/hardware_profile_property.rb
index 67e2a3e..71efc67 100644
--- a/src/spec/factories/hardware_profile_property.rb
+++ b/src/spec/factories/hardware_profile_property.rb
@@ -1,208 +1,212 @@
-Factory.define :hardware_profile_property do |p|
-end
-
-Factory.define :mock_hwp1_memory, :parent => :hardware_profile_property do |p|
- p.name 'memory'
- p.kind 'fixed'
- p.unit 'MB'
- p.value 1740.8
-end
-
-Factory.define :mock_hwp1_storage, :parent => :hardware_profile_property do |p|
- p.name 'storage'
- p.kind 'fixed'
- p.unit 'GB'
- p.value 160
-end
-
-Factory.define :mock_hwp1_cpu, :parent => :hardware_profile_property do |p|
- p.name 'cpu'
- p.kind 'fixed'
- p.unit 'count'
- p.value 1.0
-end
-
-Factory.define :mock_hwp1_arch, :parent => :hardware_profile_property do |p|
- p.name 'architecture'
- p.kind 'fixed'
- p.unit 'label'
- p.value 'x86_64'
-end
-
-Factory.define :mock_hwp2_memory, :parent => :hardware_profile_property do |p|
- p.name 'memory'
- p.kind 'range'
- p.unit 'MB'
- p.value 10240
- p.range_first 7680
- p.range_last 15360
-end
-
-Factory.define :mock_hwp2_storage, :parent => :hardware_profile_property do |p|
- p.name 'storage'
- p.kind 'enum'
- p.unit 'GB'
- p.value 850
-# p.property_enum_entries { |p| [p.association(:mock_hwp2_storage_enum1),
-# p.association(:mock_hwp2_storage_enum2)] }
-end
-
-Factory.define :mock_hwp2_cpu, :parent => :hardware_profile_property do |p|
- p.name 'cpu'
- p.kind 'fixed'
- p.unit 'count'
- p.value 2.0
-end
-
-Factory.define :mock_hwp2_arch, :parent => :hardware_profile_property do |p|
- p.name 'architecture'
- p.kind 'fixed'
- p.unit 'label'
- p.value 'x86_64'
-end
-
-Factory.define :front_hwp1_memory, :parent => :hardware_profile_property do |p|
- p.name 'memory'
- p.kind 'fixed'
- p.unit 'MB'
- p.value 1
-end
-
-Factory.define :front_hwp1_storage, :parent => :hardware_profile_property do |p|
- p.name 'storage'
- p.kind 'fixed'
- p.unit 'GB'
- p.value 1
-end
-
-Factory.define :front_hwp1_cpu, :parent => :hardware_profile_property do |p|
- p.name 'cpu'
- p.kind 'fixed'
- p.unit 'count'
- p.value 1
-end
-
-Factory.define :front_hwp1_arch, :parent => :hardware_profile_property do |p|
- p.name 'architecture'
- p.kind 'fixed'
- p.unit 'label'
- p.value 'x86_64'
-end
-
-Factory.define :front_hwp2_memory, :parent => :hardware_profile_property do |p|
- p.name 'memory'
- p.kind 'fixed'
- p.unit 'MB'
- p.value 1024
-end
-
-Factory.define :front_hwp2_storage, :parent => :hardware_profile_property do |p|
- p.name 'storage'
- p.kind 'fixed'
- p.unit 'GB'
- p.value 2
-end
-
-Factory.define :front_hwp2_cpu, :parent => :hardware_profile_property do |p|
- p.name 'cpu'
- p.kind 'fixed'
- p.unit 'count'
- p.value 1
-end
-
-Factory.define :front_hwp2_arch, :parent => :hardware_profile_property do |p|
- p.name 'architecture'
- p.kind 'fixed'
- p.unit 'label'
- p.value 'x86_64'
-end
-
-
-# EC2 Profiles:
-
-
-Factory.define :ec2_hwp1_memory, :parent => :hardware_profile_property do |p|
- p.name 'memory'
- p.kind 'fixed'
- p.unit 'MB'
- p.value 1740.8
-end
-
-Factory.define :ec2_hwp1_storage, :parent => :hardware_profile_property do |p|
- p.name 'storage'
- p.kind 'fixed'
- p.unit 'GB'
- p.value 160
-end
-
-Factory.define :ec2_hwp1_cpu, :parent => :hardware_profile_property do |p|
- p.name 'cpu'
- p.kind 'fixed'
- p.unit 'count'
- p.value 1.0
-end
-
-Factory.define :ec2_hwp1_arch, :parent => :hardware_profile_property do |p|
- p.name 'architecture'
- p.kind 'fixed'
- p.unit 'label'
- p.value 'x86_64'
-end
-
-Factory.define :front_hwp3_memory, :parent => :hardware_profile_property do |p|
- p.name 'memory'
- p.kind 'fixed'
- p.unit 'MB'
- p.value 1740.8
-end
-
-Factory.define :front_hwp3_storage, :parent => :hardware_profile_property do |p|
- p.name 'storage'
- p.kind 'fixed'
- p.unit 'GB'
- p.value 3
-end
-
-Factory.define :front_hwp3_cpu, :parent => :hardware_profile_property do |p|
- p.name 'cpu'
- p.kind 'fixed'
- p.unit 'count'
- p.value 1
-end
-
-Factory.define :front_hwp3_arch, :parent => :hardware_profile_property do |p|
- p.name 'architecture'
- p.kind 'fixed'
- p.unit 'label'
- p.value 'x86_64'
-end
-
-Factory.define :hwpp_range, :parent => :hardware_profile_property do |p|
- p.name 'memory'
- p.kind 'range'
- p.unit 'MB'
- p.range_first 256
- p.range_last 512
- p.value 256
-end
-
-Factory.define :hwpp_fixed, :parent => :hardware_profile_property do |p|
- p.name 'memory'
- p.kind 'fixed'
- p.unit 'MB'
- p.value 256
-end
-
-Factory.define :hwpp_enum, :parent => :hardware_profile_property do |p|
- p.name 'memory'
- p.kind 'enum'
- p.unit 'MB'
- p.value 256
-end
+FactoryGirl.define do
+
+ factory :hardware_profile_property do
+ end
+
+ factory :mock_hwp1_memory, :parent => :hardware_profile_property do
+ name 'memory'
+ kind 'fixed'
+ unit 'MB'
+ value 1740.8
+ end
+
+ factory :mock_hwp1_storage, :parent => :hardware_profile_property do
+ name 'storage'
+ kind 'fixed'
+ unit 'GB'
+ value 160
+ end
+
+ factory :mock_hwp1_cpu, :parent => :hardware_profile_property do
+ name 'cpu'
+ kind 'fixed'
+ unit 'count'
+ value 1.0
+ end
+
+ factory :mock_hwp1_arch, :parent => :hardware_profile_property do
+ name 'architecture'
+ kind 'fixed'
+ unit 'label'
+ value 'x86_64'
+ end
+
+ factory :mock_hwp2_memory, :parent => :hardware_profile_property do
+ name 'memory'
+ kind 'range'
+ unit 'MB'
+ value 10240
+ range_first 7680
+ range_last 15360
+ end
+
+ factory :mock_hwp2_storage, :parent => :hardware_profile_property do
+ name 'storage'
+ kind 'enum'
+ unit 'GB'
+ value 850
+ # p.property_enum_entries { |p| [p.association(:mock_hwp2_storage_enum1),
+ # association(:mock_hwp2_storage_enum2)] }
+ end
+
+ factory :mock_hwp2_cpu, :parent => :hardware_profile_property do
+ name 'cpu'
+ kind 'fixed'
+ unit 'count'
+ value 2.0
+ end
+
+ factory :mock_hwp2_arch, :parent => :hardware_profile_property do
+ name 'architecture'
+ kind 'fixed'
+ unit 'label'
+ value 'x86_64'
+ end
+
+ factory :front_hwp1_memory, :parent => :hardware_profile_property do
+ name 'memory'
+ kind 'fixed'
+ unit 'MB'
+ value 1
+ end
+
+ factory :front_hwp1_storage, :parent => :hardware_profile_property do
+ name 'storage'
+ kind 'fixed'
+ unit 'GB'
+ value 1
+ end
+
+ factory :front_hwp1_cpu, :parent => :hardware_profile_property do
+ name 'cpu'
+ kind 'fixed'
+ unit 'count'
+ value 1
+ end
+
+ factory :front_hwp1_arch, :parent => :hardware_profile_property do
+ name 'architecture'
+ kind 'fixed'
+ unit 'label'
+ value 'x86_64'
+ end
+
+ factory :front_hwp2_memory, :parent => :hardware_profile_property do
+ name 'memory'
+ kind 'fixed'
+ unit 'MB'
+ value 1024
+ end
+
+ factory :front_hwp2_storage, :parent => :hardware_profile_property do
+ name 'storage'
+ kind 'fixed'
+ unit 'GB'
+ value 2
+ end
+
+ factory :front_hwp2_cpu, :parent => :hardware_profile_property do
+ name 'cpu'
+ kind 'fixed'
+ unit 'count'
+ value 1
+ end
+
+ factory :front_hwp2_arch, :parent => :hardware_profile_property do
+ name 'architecture'
+ kind 'fixed'
+ unit 'label'
+ value 'x86_64'
+ end
+
+
+ # EC2 Profiles:
+
+
+ factory :ec2_hwp1_memory, :parent => :hardware_profile_property do
+ name 'memory'
+ kind 'fixed'
+ unit 'MB'
+ value 1740.8
+ end
+
+ factory :ec2_hwp1_storage, :parent => :hardware_profile_property do
+ name 'storage'
+ kind 'fixed'
+ unit 'GB'
+ value 160
+ end
+
+ factory :ec2_hwp1_cpu, :parent => :hardware_profile_property do
+ name 'cpu'
+ kind 'fixed'
+ unit 'count'
+ value 1.0
+ end
+
+ factory :ec2_hwp1_arch, :parent => :hardware_profile_property do
+ name 'architecture'
+ kind 'fixed'
+ unit 'label'
+ value 'x86_64'
+ end
+
+ factory :front_hwp3_memory, :parent => :hardware_profile_property do
+ name 'memory'
+ kind 'fixed'
+ unit 'MB'
+ value 1740.8
+ end
+
+ factory :front_hwp3_storage, :parent => :hardware_profile_property do
+ name 'storage'
+ kind 'fixed'
+ unit 'GB'
+ value 3
+ end
+
+ factory :front_hwp3_cpu, :parent => :hardware_profile_property do
+ name 'cpu'
+ kind 'fixed'
+ unit 'count'
+ value 1
+ end
+
+ factory :front_hwp3_arch, :parent => :hardware_profile_property do
+ name 'architecture'
+ kind 'fixed'
+ unit 'label'
+ value 'x86_64'
+ end
+
+ factory :hwpp_range, :parent => :hardware_profile_property do
+ name 'memory'
+ kind 'range'
+ unit 'MB'
+ range_first 256
+ range_last 512
+ value 256
+ end
+
+ factory :hwpp_fixed, :parent => :hardware_profile_property do
+ name 'memory'
+ kind 'fixed'
+ unit 'MB'
+ value 256
+ end
+
+ factory :hwpp_enum, :parent => :hardware_profile_property do
+ name 'memory'
+ kind 'enum'
+ unit 'MB'
+ value 256
+ end
+
+ factory :hwpp_arch, :parent => :hardware_profile_property do
+ name 'architecture'
+ kind 'fixed'
+ unit 'label'
+ value 'x86_64'
+ end
-Factory.define :hwpp_arch, :parent => :hardware_profile_property do |p|
- p.name 'architecture'
- p.kind 'fixed'
- p.unit 'label'
- p.value 'x86_64'
end
diff --git a/src/spec/factories/icicle.rb b/src/spec/factories/icicle.rb
index 3961561..1042d7c 100644
--- a/src/spec/factories/icicle.rb
+++ b/src/spec/factories/icicle.rb
@@ -1,3 +1,5 @@
-Factory.define :icicle do |i|
- i.sequence(:uuid) { |n| "icicle#{n}" }
+FactoryGirl.define do
+ factory :icicle do
+ sequence(:uuid) { |n| "icicle#{n}" }
+ end
end
diff --git a/src/spec/factories/instance.rb b/src/spec/factories/instance.rb
index 8da817c..de5768b 100644
--- a/src/spec/factories/instance.rb
+++ b/src/spec/factories/instance.rb
@@ -1,38 +1,42 @@
-Factory.define :instance do |i|
- i.sequence(:name) { |n| "instance#{n}" }
- i.sequence(:external_key) { |n| "key#{n}" }
- i.association :hardware_profile, :factory => :mock_hwp1
- i.association :provider_account, :factory => :mock_provider_account
- i.association :pool, :factory => :pool
- i.association :owner, :factory => :user
- i.state "running"
- i.after_build do |instance|
- deployment = Factory.build :deployment
- assembly = deployment.deployable_xml.assemblies[0]
- instance.image_uuid = assembly.image_id
- instance.image_build_uuid = assembly.image_build
- instance.assembly_xml = assembly.to_s
+FactoryGirl.define do
+
+ factory :instance do
+ sequence(:name) { |n| "instance#{n}" }
+ sequence(:external_key) { |n| "key#{n}" }
+ association :hardware_profile, :factory => :mock_hwp1
+ association :provider_account, :factory => :mock_provider_account
+ association :pool, :factory => :pool
+ association :owner, :factory => :user
+ state "running"
+ after_build do |instance|
+ deployment = Factory.build :deployment
+ assembly = deployment.deployable_xml.assemblies[0]
+ instance.image_uuid = assembly.image_id
+ instance.image_build_uuid = assembly.image_build
+ instance.assembly_xml = assembly.to_s
+ end
end
-end
-Factory.define :other_owner_instance, :parent => :instance do |i|
- i.association :owner, :factory => :other_named_user
-end
+ factory :other_owner_instance, :parent => :instance do
+ association :owner, :factory => :other_named_user
+ end
-Factory.define :mock_running_instance, :parent => :instance do |i|
- i.instance_key { |k| k.association(:mock_instance_key)}
-end
+ factory :mock_running_instance, :parent => :instance do
+ instance_key { |k| k.association(:mock_instance_key)}
+ end
-Factory.define :mock_pending_instance, :parent => :instance do |i|
- i.state Instance::STATE_PENDING
-end
+ factory :mock_pending_instance, :parent => :instance do
+ state Instance::STATE_PENDING
+ end
-Factory.define :new_instance, :parent => :instance do |i|
- i.state Instance::STATE_NEW
-end
+ factory :new_instance, :parent => :instance do
+ state Instance::STATE_NEW
+ end
+
+ factory :ec2_instance, :parent => :instance do
+ association :hardware_profile, :factory => :ec2_hwp1
+ association :provider_account, :factory => :ec2_provider_account
+ association :instance_key, :factory => :ec2_instance_key1
+ end
-Factory.define :ec2_instance, :parent => :instance do |i|
- i.association :hardware_profile, :factory => :ec2_hwp1
- i.association :provider_account, :factory => :ec2_provider_account
- i.association :instance_key, :factory => :ec2_instance_key1
end
diff --git a/src/spec/factories/instance_key.rb b/src/spec/factories/instance_key.rb
index f392de6..60c7524 100644
--- a/src/spec/factories/instance_key.rb
+++ b/src/spec/factories/instance_key.rb
@@ -1,6 +1,8 @@
-Factory.define :instance_key do |p|
- p.sequence(:name) { |n| "instance_key#{n}" }
- p.pem "
+FactoryGirl.define do
+
+ factory :instance_key do
+ sequence(:name) { |n| "instance_key#{n}" }
+ pem "
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAm+Ri7uZz7iVTLLxtPiV2gLD37OOvovZ0VpWR3T7HK5NgxjlJssIjc8uKqPqY
EdXssF+ZKKypiQzFkMhowthkw1sGN5R3NBrIiRKR1mcVuE7iiRBFikBoF/CaaXP2LSNtMv4xkUXO
@@ -25,13 +27,15 @@ uH9ebPTGZc5cTpOEV9SupUez4cAedBGeHVDHy06sATrgIwKBgQCdqFhrse+uhRacK1LAymvBsou5
1FGvv2zb+xR/fB/6+a4RMFsp9jO6lzTn/K1wsaZ6FNcdxB4V8ouveF0exhH/MEc0vWI47A==
-----END RSA PRIVATE KEY-----
"
-end
+ end
-Factory.define :ec2_instance_key1, :parent => :instance_key do |p|
- p.instance_key_owner { |p| p.association(:ec2_instance) }
- p.name "1_user"
-end
+ factory :ec2_instance_key1, :parent => :instance_key do
+ instance_key_owner { |p| p.association(:ec2_instance) }
+ name "1_user"
+ end
+
+ factory :mock_instance_key, :parent => :instance_key do
+ instance_key_owner { |c| c.association(:instance) }
+ end
-Factory.define :mock_instance_key, :parent => :instance_key do |m|
- m.instance_key_owner { |c| c.association(:instance) }
end
diff --git a/src/spec/factories/permission.rb b/src/spec/factories/permission.rb
index 7d988c5..35aec4a 100644
--- a/src/spec/factories/permission.rb
+++ b/src/spec/factories/permission.rb
@@ -1,33 +1,37 @@
-Factory.define :permission do |p|
- p.after_build { |p| p.user.permissions << p }
-end
+FactoryGirl.define do
-Factory.define :admin_permission, :parent => :permission do |p|
- p.role { |r| Role.first(:conditions => ['name = ?', 'Administrator']) || Factory(:role, :name => 'Administrator') }
- p.permission_object { |r| BasePermissionObject.general_permission_scope }
- p.user { |u| u.association(:admin_user) }
-end
+ factory :permission do
+ after_build { |p| p.user.permissions << p }
+ end
-Factory.define :provider_admin_permission, :parent => :permission do |p|
- p.role { |r| Role.first(:conditions => ['name = ?', 'Provider Administrator']) || Factory(:role, :name => 'Provider Administrator') }
- p.permission_object { |r| r.association(:mock_provider) }
- p.user { |u| u.association(:provider_admin_user) }
-end
+ factory :admin_permission, :parent => :permission do
+ role { |r| Role.first(:conditions => ['name = ?', 'Administrator']) || FactoryGirl.create(:role, :name => 'Administrator') }
+ permission_object { |r| BasePermissionObject.general_permission_scope }
+ user { |r| r.association(:admin_user) }
+ end
-Factory.define :pool_creator_permission, :parent => :permission do |p|
- p.role { |r| Role.first(:conditions => ['name = ?', 'Pool Creator']) || Factory(:role, :name => 'Pool Creator') }
- p.permission_object { |r| BasePermissionObject.general_permission_scope }
- p.user { |u| u.association(:pool_creator_user) }
-end
+ factory :provider_admin_permission, :parent => :permission do
+ role { |r| Role.first(:conditions => ['name = ?', 'Provider Administrator']) || FactoryGirl.create(:role, :name => 'Provider Administrator') }
+ permission_object { |r| r.association(:mock_provider) }
+ user { |r| r.association(:provider_admin_user) }
+ end
-Factory.define :pool_user_permission, :parent => :permission do |p|
- p.role { |r| Role.first(:conditions => ['name = ?', 'Pool User']) || Factory(:role, :name => 'Pool User') }
- p.permission_object { |r| r.association(:pool) }
- p.user { |u| u.association(:pool_user) }
-end
+ factory :pool_creator_permission, :parent => :permission do
+ role { |r| Role.first(:conditions => ['name = ?', 'Pool Creator']) || FactoryGirl.create(:role, :name => 'Pool Creator') }
+ permission_object { |r| BasePermissionObject.general_permission_scope }
+ user { |r| r.association(:pool_creator_user) }
+ end
+
+ factory :pool_user_permission, :parent => :permission do
+ role { |r| Role.first(:conditions => ['name = ?', 'Pool User']) || FactoryGirl.create(:role, :name => 'Pool User') }
+ permission_object { |r| r.association(:pool) }
+ user { |r| r.association(:pool_user) }
+ end
+
+ factory :pool_user2_permission, :parent => :permission do
+ role { |r| Role.first(:conditions => ['name = ?', 'Pool User']) || FactoryGirl.create(:role, :name => 'Pool User') }
+ permission_object { |r| r.association(:pool) }
+ user { |r| r.association(:pool_user2) }
+ end
-Factory.define :pool_user2_permission, :parent => :permission do |p|
- p.role { |r| Role.first(:conditions => ['name = ?', 'Pool User']) || Factory(:role, :name => 'Pool User') }
- p.permission_object { |r| r.association(:pool) }
- p.user { |u| u.association(:pool_user2) }
end
diff --git a/src/spec/factories/pool.rb b/src/spec/factories/pool.rb
index 1867ad1..178e7e5 100644
--- a/src/spec/factories/pool.rb
+++ b/src/spec/factories/pool.rb
@@ -1,14 +1,18 @@
-Factory.define :pool do |p|
- p.sequence(:name) { |n| "mypool#{n}" }
- p.pool_family { |p| PoolFamily.find_by_name('default') }
- p.association :quota
- p.enabled true
-end
+FactoryGirl.define do
-Factory.define :tpool, :parent => :pool do |p|
- p.name 'tpool'
-end
+ factory :pool do
+ sequence(:name) { |n| "mypool#{n}" }
+ pool_family { PoolFamily.find_by_name('default') }
+ association :quota
+ enabled true
+ end
+
+ factory :tpool, :parent => :pool do
+ name 'tpool'
+ end
+
+ factory :disabled_pool, :parent => :pool do
+ enabled false
+ end
-Factory.define :disabled_pool, :parent => :pool do |p|
- p.enabled false
end
diff --git a/src/spec/factories/pool_family.rb b/src/spec/factories/pool_family.rb
index 1d9f0a0..393c8af 100644
--- a/src/spec/factories/pool_family.rb
+++ b/src/spec/factories/pool_family.rb
@@ -1,5 +1,7 @@
-Factory.define :pool_family do |z|
- z.sequence(:name) { |n| "pool_family#{n}" }
- z.description 'pool family'
- z.association :quota
+FactoryGirl.define do
+ factory :pool_family do
+ sequence(:name) { |n| "pool_family#{n}" }
+ description 'pool family'
+ association :quota
+ end
end
diff --git a/src/spec/factories/property_enum_entry.rb b/src/spec/factories/property_enum_entry.rb
index 6589f45..307da71 100644
--- a/src/spec/factories/property_enum_entry.rb
+++ b/src/spec/factories/property_enum_entry.rb
@@ -1,22 +1,26 @@
-Factory.define :property_enum_entry do |e|
-end
+FactoryGirl.define do
-Factory.define :mock_hwp2_storage_enum1, :parent => :property_enum_entry do |e|
- e.value 850
- e.hardware_profile_property { |e| e.association(:mock_hwp2_storage) }
-end
+ factory :property_enum_entry do
+ end
-Factory.define :mock_hwp2_storage_enum2, :parent => :property_enum_entry do |e|
- e.value 1024
- e.hardware_profile_property { |e| e.association(:mock_hwp2_storage) }
-end
+ factory :mock_hwp2_storage_enum1, :parent => :property_enum_entry do
+ value 850
+ hardware_profile_property { |e| e.association(:mock_hwp2_storage) }
+ end
-Factory.define :agg_hwp2_storage_enum1, :parent => :property_enum_entry do |e|
- e.value 850
- e.hardware_profile_property { |e| e.association(:agg_hwp2_storage) }
-end
+ factory :mock_hwp2_storage_enum2, :parent => :property_enum_entry do
+ value 1024
+ hardware_profile_property { |e| e.association(:mock_hwp2_storage) }
+ end
+
+ factory :agg_hwp2_storage_enum1, :parent => :property_enum_entry do
+ value 850
+ hardware_profile_property { |e| e.association(:agg_hwp2_storage) }
+ end
+
+ factory :agg_hwp2_storage_enum2, :parent => :property_enum_entry do
+ value 1024
+ hardware_profile_property { |e| e.association(:agg_hwp2_storage) }
+ end
-Factory.define :agg_hwp2_storage_enum2, :parent => :property_enum_entry do |e|
- e.value 1024
- e.hardware_profile_property { |e| e.association(:agg_hwp2_storage) }
end
diff --git a/src/spec/factories/provider.rb b/src/spec/factories/provider.rb
index e10a879..e62afcc 100644
--- a/src/spec/factories/provider.rb
+++ b/src/spec/factories/provider.rb
@@ -1,27 +1,31 @@
-Factory.define :provider do |p|
- p.sequence(:name) { |n| "provider#{n}" }
- p.provider_type { Factory.build :provider_type }
- p.url { |p| "http://www." + p.name + ".com/api" }
-end
+FactoryGirl.define do
-Factory.define :mock_provider, :parent => :provider do |p|
- p.provider_type {ProviderType.find_by_codename("mock")}
- p.url 'http://localhost:3002/api'
- p.hardware_profiles { |hp| [hp.association(:mock_hwp1), hp.association(:mock_hwp2)] }
- p.after_create { |p| p.realms << Factory(:realm1, :provider => p) << Factory(:realm2, :provider => p) }
-end
+ factory :provider do
+ sequence(:name) { |n| "provider#{n}" }
+ provider_type { Factory.build :provider_type }
+ url { |p| "http://www." + p.name + ".com/api" }
+ end
-Factory.define :mock_provider2, :parent => :provider do |p|
- p.name 'mock2'
- p.provider_type { ProviderType.find_by_codename("mock") }
- p.url 'http://localhost:3002/api'
- p.after_create { |p| p.realms << Factory(:realm3, :provider => p) }
-end
+ factory :mock_provider, :parent => :provider do
+ provider_type {ProviderType.find_by_codename("mock")}
+ url 'http://localhost:3002/api'
+ hardware_profiles { |hp| [hp.association(:mock_hwp1), hp.association(:mock_hwp2)] }
+ after_create { |p| p.realms << FactoryGirl.create(:realm1, :provider => p) << FactoryGirl.create(:realm2, :provider => p) }
+ end
+
+ factory :mock_provider2, :parent => :provider do
+ name 'mock2'
+ provider_type { ProviderType.find_by_codename("mock") }
+ url 'http://localhost:3002/api'
+ after_create { |p| p.realms << FactoryGirl.create(:realm3, :provider => p) }
+ end
+
+ factory :ec2_provider, :parent => :provider do
+ name 'amazon-ec2'
+ provider_type { ProviderType.find_by_codename("ec2") }
+ url 'http://localhost:3002/api'
+ hardware_profiles { |hp| [hp.association(:ec2_hwp1)] }
+ after_create { |p| p.realms << FactoryGirl.create(:realm4, :provider => p) }
+ end
-Factory.define :ec2_provider, :parent => :provider do |p|
- p.name 'amazon-ec2'
- p.provider_type { ProviderType.find_by_codename("ec2") }
- p.url 'http://localhost:3002/api'
- p.hardware_profiles { |hp| [hp.association(:ec2_hwp1)] }
- p.after_create { |p| p.realms << Factory(:realm4, :provider => p) }
end
diff --git a/src/spec/factories/provider_account.rb b/src/spec/factories/provider_account.rb
index 28006e9..d8a4c5e 100644
--- a/src/spec/factories/provider_account.rb
+++ b/src/spec/factories/provider_account.rb
@@ -1,25 +1,29 @@
-Factory.define :provider_account do |f|
- f.sequence(:label) { |n| "test label#{n}" }
- f.association :provider
- f.association :quota
-end
+FactoryGirl.define do
-Factory.define :mock_provider_account, :parent => :provider_account do |f|
- f.association :provider, :factory => :mock_provider
- f.after_build do |acc|
- acc.credentials << Factory.build(:username_credential)
- acc.credentials << Factory.build(:password_credential)
+ factory :provider_account do
+ sequence(:label) { |n| "test label#{n}" }
+ association :provider
+ association :quota
end
-end
-Factory.define :ec2_provider_account, :parent => :provider_account do |f|
- f.association :provider, :factory => :ec2_provider
- f.after_build do |acc|
- acc.credentials << Factory.build(:ec2_username_credential)
- acc.credentials << Factory.build(:ec2_password_credential)
- acc.credentials << Factory.build(:ec2_account_id_credential)
- acc.credentials << Factory.build(:ec2_x509private_credential)
- acc.credentials << Factory.build(:ec2_x509public_credential)
+ factory :mock_provider_account, :parent => :provider_account do
+ association :provider, :factory => :mock_provider
+ after_build do |acc|
+ acc.credentials << Factory.build(:username_credential)
+ acc.credentials << Factory.build(:password_credential)
+ end
+ end
+
+ factory :ec2_provider_account, :parent => :provider_account do
+ association :provider, :factory => :ec2_provider
+ after_build do |acc|
+ acc.credentials << Factory.build(:ec2_username_credential)
+ acc.credentials << Factory.build(:ec2_password_credential)
+ acc.credentials << Factory.build(:ec2_account_id_credential)
+ acc.credentials << Factory.build(:ec2_x509private_credential)
+ acc.credentials << Factory.build(:ec2_x509public_credential)
+ end
+
end
end
diff --git a/src/spec/factories/provider_type.rb b/src/spec/factories/provider_type.rb
index 2e73f4a..b329e6c 100644
--- a/src/spec/factories/provider_type.rb
+++ b/src/spec/factories/provider_type.rb
@@ -1,14 +1,18 @@
-Factory.define :provider_type do |p|
- p.sequence(:name) { |n| "name#{n}" }
- p.sequence(:codename) { |n| "codename#{n}" }
-end
+FactoryGirl.define do
-Factory.define :mock_provider_type, :parent => :provider_type do |p|
- p.name 'Mock'
- p.codename 'mock'
-end
+ factory :provider_type do
+ sequence(:name) { |n| "name#{n}" }
+ sequence(:codename) { |n| "codename#{n}" }
+ end
+
+ factory :mock_provider_type, :parent => :provider_type do
+ name 'Mock'
+ codename 'mock'
+ end
+
+ factory :ec2_provider_type, :parent => :provider_type do
+ name 'Amazon EC2'
+ codename 'ec2'
+ end
-Factory.define :ec2_provider_type, :parent => :provider_type do |p|
- p.name 'Amazon EC2'
- p.codename 'ec2'
end
diff --git a/src/spec/factories/quota.rb b/src/spec/factories/quota.rb
index b4da2bf..05abde4 100644
--- a/src/spec/factories/quota.rb
+++ b/src/spec/factories/quota.rb
@@ -1,14 +1,18 @@
-Factory.define :quota do |f|
- f.maximum_running_instances 10
- f.maximum_total_instances 15
-end
+FactoryGirl.define do
-Factory.define :full_quota, :parent => :quota do |f|
- f.running_instances 10
- f.total_instances 15
-end
+ factory :quota do
+ maximum_running_instances 10
+ maximum_total_instances 15
+ end
+
+ factory :full_quota, :parent => :quota do
+ running_instances 10
+ total_instances 15
+ end
-Factory.define :unlimited_quota, :parent => :quota do |f|
- f.maximum_running_instances nil
- f.maximum_total_instances nil
-end
\ No newline at end of file
+ factory :unlimited_quota, :parent => :quota do
+ maximum_running_instances nil
+ maximum_total_instances nil
+ end
+
+end
diff --git a/src/spec/factories/realm.rb b/src/spec/factories/realm.rb
index 92a677c..4e4fe58 100644
--- a/src/spec/factories/realm.rb
+++ b/src/spec/factories/realm.rb
@@ -1,22 +1,26 @@
-Factory.define :realm do |r|
- r.sequence(:name) { |n| "realm#{n}" }
- r.sequence(:external_key) { |n| "key#{n}" }
- r.association(:provider)
-end
+FactoryGirl.define do
-Factory.define :realm1, :parent => :realm do |r|
-end
+ factory :realm do
+ sequence(:name) { |n| "realm#{n}" }
+ sequence(:external_key) { |n| "key#{n}" }
+ association(:provider)
+ end
-Factory.define :realm2, :parent => :realm do |r|
-end
+ factory :realm1, :parent => :realm do
+ end
-Factory.define :realm3, :parent => :realm do |r|
-end
+ factory :realm2, :parent => :realm do
+ end
-Factory.define :realm4, :parent => :realm do |r|
-end
+ factory :realm3, :parent => :realm do
+ end
+
+ factory :realm4, :parent => :realm do
+ end
+
+ factory :backend_realm, :parent => :realm do
+ name 'backend_name'
+ external_key 'backend_key'
+ end
-Factory.define :backend_realm, :parent => :realm do |r|
- r.name 'backend_name'
- r.external_key 'backend_key'
end
diff --git a/src/spec/factories/realm_backend_target.rb b/src/spec/factories/realm_backend_target.rb
index f018cd4..27ccf81 100644
--- a/src/spec/factories/realm_backend_target.rb
+++ b/src/spec/factories/realm_backend_target.rb
@@ -1,4 +1,6 @@
-Factory.define :realm_backend_target do |r|
- r.association(:frontend_realm)
- r.association :realm_or_provider, :fatcory => :backend_realm
+FactoryGirl.define do
+ factory :realm_backend_target do
+ association :frontend_realm
+ association :realm_or_provider, :fatcory => :backend_realm
+ end
end
diff --git a/src/spec/factories/role.rb b/src/spec/factories/role.rb
index 8fd9cee..88dd6f2 100644
--- a/src/spec/factories/role.rb
+++ b/src/spec/factories/role.rb
@@ -1,4 +1,6 @@
-Factory.define :role do |r|
- r.sequence(:name) {|n| "Role name #{n}" }
- r.scope 'Pool'
+FactoryGirl.define do
+ factory :role do
+ sequence(:name) { |n| "Role name #{n}" }
+ scope 'Pool'
+ end
end
diff --git a/src/spec/factories/suggested_deployable.rb b/src/spec/factories/suggested_deployable.rb
index 6821ca3..9669d5f 100644
--- a/src/spec/factories/suggested_deployable.rb
+++ b/src/spec/factories/suggested_deployable.rb
@@ -1,6 +1,8 @@
-Factory.define :suggested_deployable do |d|
- d.sequence(:name) { |n| "suggested_deployable#{n}" }
- d.url "http://url_to_deployable"
- d.description "suggested deployable description"
- d.association :owner, :factory => :user
+FactoryGirl.define do
+ factory :suggested_deployable do
+ sequence(:name) { |n| "suggested_deployable#{n}" }
+ url "http://url_to_deployable"
+ description "suggested deployable description"
+ association :owner, :factory => :user
+ end
end
diff --git a/src/spec/factories/user.rb b/src/spec/factories/user.rb
index 3783284..8c222c0 100644
--- a/src/spec/factories/user.rb
+++ b/src/spec/factories/user.rb
@@ -1,37 +1,39 @@
-Factory.define :user do |u|
- u.sequence(:login) { |n| "user#{n}" }
- u.email { |e| "#{e.login}(a)example.host" }
- u.password 'secret'
- u.password_confirmation 'secret'
- u.first_name 'John'
- u.last_name 'Smith'
- u.association :quota
-end
+FactoryGirl.define do
-Factory.define :other_named_user, :parent => :user do |u|
- u.first_name 'Jane'
- u.last_name 'Doe'
-end
+ factory :user do |u|
+ sequence(:login) { |n| "user#{n}" }
+ password 'secret'
+ password_confirmation 'secret'
+ first_name 'John'
+ last_name 'Smith'
+ association :quota
+ after_build { |u| u.email ||= "#{u.login}(a)example.com" }
+ end
-Factory.define :tuser, :parent => :user do |u|
-end
+ factory :other_named_user, :parent => :user do
+ first_name 'Jane'
+ last_name 'Doe'
+ end
-Factory.define :admin_user, :parent => :user do |u|
- u.login 'admin'
-end
+ factory :tuser, :parent => :user do
+ end
-Factory.define :pool_creator_user, :parent => :user do |u|
-end
+ factory :admin_user, :parent => :user do
+ login 'admin'
+ end
-Factory.define :provider_admin_user, :parent => :user do |u|
-end
+ factory :pool_creator_user, :parent => :user do
+ end
-Factory.define :pool_user, :parent => :user do |u|
- u.sequence(:login) { |n| "pool_user#{n}" }
- u.email { |e| "#{e.login}(a)example.com" }
-end
+ factory :provider_admin_user, :parent => :user do
+ end
+
+ factory :pool_user, :parent => :user do
+ sequence(:login) { |n| "pool_user#{n}" }
+ end
+
+ factory :pool_user2, :parent => :user do
+ sequence(:login) { |n| "pool_user2#{n}" }
+ end
-Factory.define :pool_user2, :parent => :user do |u|
- u.sequence(:login) { |n| "pool_user2#{n}" }
- u.email { |e| "#{e.login}(a)example.com" }
end
diff --git a/src/spec/factories/view_state.rb b/src/spec/factories/view_state.rb
index 8564804..9b8bbc1 100644
--- a/src/spec/factories/view_state.rb
+++ b/src/spec/factories/view_state.rb
@@ -1,8 +1,9 @@
-Factory.define :view_state do |vs|
- vs.sequence(:name) { |n| "view-state#{n}" }
- vs.controller 'pools'
- vs.action 'view'
- vs.state({"sort-column" => "name", "sort-order" => "desc",
- "columns" => ["name", "deployments", "instances"]})
- vs.association :user
+FactoryGirl.define do
+ factory :view_state do
+ sequence(:name) { |n| "view-state#{n}" }
+ controller 'pools'
+ action 'view'
+ state("sort-column" => "name", "sort-order" => "desc", "columns" => ["name", "deployments", "instances"])
+ association :user
+ end
end
diff --git a/src/spec/helpers/providers_helper_spec.rb b/src/spec/helpers/providers_helper_spec.rb
index 10b1476..3a89a79 100644
--- a/src/spec/helpers/providers_helper_spec.rb
+++ b/src/spec/helpers/providers_helper_spec.rb
@@ -6,13 +6,13 @@ describe ProvidersHelper do
context "edit_button() helper" do
it "formats link with path to edit action if rendered in show or accounts action" do
- provider = Factory(:mock_provider)
+ provider = FactoryGirl.create(:mock_provider)
edit_button(provider, 'show').should =~ /providers\/[0-9]*\/edit/
end
it "formats blank link with no action and with disabled class if not in show or accounts action" do
- provider = Factory(:mock_provider)
+ provider = FactoryGirl.create(:mock_provider)
edit_button = edit_button(provider, 'index')
edit_button.should =~ /href="#"/
diff --git a/src/spec/models/deployment_spec.rb b/src/spec/models/deployment_spec.rb
index 13f922c..7359910 100644
--- a/src/spec/models/deployment_spec.rb
+++ b/src/spec/models/deployment_spec.rb
@@ -2,11 +2,11 @@ require 'spec_helper'
describe Deployment do
before(:each) do
- @quota = Factory :quota
- @pool = Factory(:pool, :quota_id => @quota.id)
+ @quota = FactoryGirl.create :quota
+ @pool = FactoryGirl.create(:pool, :quota_id => @quota.id)
@deployment = Factory.build(:deployment, :pool_id => @pool.id)
- @hwp1 = Factory(:front_hwp1)
- @hwp2 = Factory(:front_hwp2)
+ @hwp1 = FactoryGirl.create(:front_hwp1)
+ @hwp2 = FactoryGirl.create(:front_hwp2)
@actions = ['start', 'stop']
end
@@ -68,7 +68,7 @@ describe Deployment do
@deployment.save!
@deployment.instances.should be_empty
@deployment.stub!(:condormatic_instance_create).and_return(true)
- @deployment.launch(Factory(:user))[:errors].should be_empty
+ @deployment.launch(FactoryGirl.create(:user))[:errors].should be_empty
@deployment.instances.count.should == 2
end
@@ -96,11 +96,11 @@ describe Deployment do
end
it "should return errors when checking assemblies matches which are not launchable" do
- user = Factory(:user)
+ user = FactoryGirl.create(:user)
image_id = @deployment.deployable_xml.assemblies.first.image_id
provider_name = Image.find(image_id).latest_build.provider_images.first.provider_name
- provider = Factory(:mock_provider, :name => provider_name)
- @deployment.pool.pool_family.provider_accounts = [Factory(:mock_provider_account, :label => 'testaccount', :provider => provider)]
+ provider = FactoryGirl.create(:mock_provider, :name => provider_name)
+ @deployment.pool.pool_family.provider_accounts = [FactoryGirl.create(:mock_provider_account, :label => 'testaccount', :provider => provider)]
@deployment.check_assemblies_matches(user).should be_empty
@deployment.pool.pool_family.provider_accounts.destroy_all
@deployment.check_assemblies_matches(user).should_not be_empty
diff --git a/src/spec/models/hardware_profile_spec.rb b/src/spec/models/hardware_profile_spec.rb
index c3b26aa..7e3fa79 100644
--- a/src/spec/models/hardware_profile_spec.rb
+++ b/src/spec/models/hardware_profile_spec.rb
@@ -70,44 +70,44 @@ describe HardwareProfile do
end
it "should match the correct back end hardware profile for a given provider" do
- provider = Factory :mock_provider
+ provider = FactoryGirl.create :mock_provider
- front_end_memory = Factory(:hwpp_fixed, :name => 'memory', :unit => 'MB', :value => '2048')
- front_end_storage = Factory(:hwpp_fixed, :name => 'storage', :unit => 'GB', :value => '850')
- front_end_cpu = Factory(:hwpp_fixed, :name => 'cpu', :unit => 'count', :value => '2')
- front_end_architecture = Factory(:hwpp_fixed, :name => 'architecture', :unit => 'label', :value => 'x86_64')
+ front_end_memory = FactoryGirl.create(:hwpp_fixed, :name => 'memory', :unit => 'MB', :value => '2048')
+ front_end_storage = FactoryGirl.create(:hwpp_fixed, :name => 'storage', :unit => 'GB', :value => '850')
+ front_end_cpu = FactoryGirl.create(:hwpp_fixed, :name => 'cpu', :unit => 'count', :value => '2')
+ front_end_architecture = FactoryGirl.create(:hwpp_fixed, :name => 'architecture', :unit => 'label', :value => 'x86_64')
- back_end_memory1 = Factory(:hwpp_range, :name => 'memory', :unit => 'MB', :value => '4048', :range_first => '1024', :range_last => '4048')
+ back_end_memory1 = FactoryGirl.create(:hwpp_range, :name => 'memory', :unit => 'MB', :value => '4048', :range_first => '1024', :range_last => '4048')
back_end_storage1 = create_hwpp_enum(['500', '1500', '2000'], {:name => 'storage', :unit => 'GB', :value => '1500'})
- back_end_cpu1 = Factory(:hwpp_range, :name => 'cpu', :unit => 'count', :value => '4', :range_first => '1', :range_last => '4')
- back_end_architecture1 = Factory(:hwpp_fixed, :name => 'architecture', :unit => 'label', :value => 'x86_64')
+ back_end_cpu1 = FactoryGirl.create(:hwpp_range, :name => 'cpu', :unit => 'count', :value => '4', :range_first => '1', :range_last => '4')
+ back_end_architecture1 = FactoryGirl.create(:hwpp_fixed, :name => 'architecture', :unit => 'label', :value => 'x86_64')
- back_end_memory2 = Factory(:hwpp_range, :name => 'memory', :unit => 'MB', :value => '4048', :range_first => '1024', :range_last => '8192')
+ back_end_memory2 = FactoryGirl.create(:hwpp_range, :name => 'memory', :unit => 'MB', :value => '4048', :range_first => '1024', :range_last => '8192')
back_end_storage2 = create_hwpp_enum(['1500', '2000', '2500'], {:name => 'storage', :unit => 'GB', :value => '1500'})
- back_end_cpu2 = Factory(:hwpp_range, :name => 'cpu', :unit => 'count', :value => '4', :range_first => '1', :range_last => '8')
- back_end_architecture2 = Factory(:hwpp_fixed, :name => 'architecture', :unit => 'label', :value => 'x86_64')
+ back_end_cpu2 = FactoryGirl.create(:hwpp_range, :name => 'cpu', :unit => 'count', :value => '4', :range_first => '1', :range_last => '8')
+ back_end_architecture2 = FactoryGirl.create(:hwpp_fixed, :name => 'architecture', :unit => 'label', :value => 'x86_64')
- back_end_memory3 = Factory(:hwpp_range, :name => 'memory', :unit => 'MB', :value => '4048', :range_first => '1024', :range_last => '16384')
+ back_end_memory3 = FactoryGirl.create(:hwpp_range, :name => 'memory', :unit => 'MB', :value => '4048', :range_first => '1024', :range_last => '16384')
back_end_storage3 = create_hwpp_enum(['2000', '2500', '3000'], {:name => 'storage', :unit => 'GB', :value => '2000'})
- back_end_cpu3 = Factory(:hwpp_range, :name => 'cpu', :unit => 'count', :value => '4', :range_first => '1', :range_last => '16')
- back_end_architecture3 = Factory(:hwpp_fixed, :name => 'architecture', :unit => 'label', :value => 'x86_64')
+ back_end_cpu3 = FactoryGirl.create(:hwpp_range, :name => 'cpu', :unit => 'count', :value => '4', :range_first => '1', :range_last => '16')
+ back_end_architecture3 = FactoryGirl.create(:hwpp_fixed, :name => 'architecture', :unit => 'label', :value => 'x86_64')
- front_end_hardware_profile = Factory(:hardware_profile, :memory => front_end_memory,
+ front_end_hardware_profile = FactoryGirl.create(:hardware_profile, :memory => front_end_memory,
:cpu => front_end_cpu,
:storage => front_end_storage,
:architecture => front_end_architecture)
- back_end_hardware_profile1 = Factory(:hardware_profile, :memory => back_end_memory1,
+ back_end_hardware_profile1 = FactoryGirl.create(:hardware_profile, :memory => back_end_memory1,
:cpu => back_end_cpu1,
:storage => back_end_storage1,
:architecture => back_end_architecture1)
- back_end_hardware_profile2 = Factory(:hardware_profile, :memory => back_end_memory2,
+ back_end_hardware_profile2 = FactoryGirl.create(:hardware_profile, :memory => back_end_memory2,
:cpu => back_end_cpu2,
:storage => back_end_storage2,
:architecture => back_end_architecture2)
- back_end_hardware_profile3 = Factory(:hardware_profile, :memory => back_end_memory3,
+ back_end_hardware_profile3 = FactoryGirl.create(:hardware_profile, :memory => back_end_memory3,
:cpu => back_end_cpu3,
:storage => back_end_storage3,
:architecture => back_end_architecture3)
@@ -118,15 +118,15 @@ describe HardwareProfile do
end
it "should generate the correct override property values for a given property" do
- front_end_memory = Factory(:hwpp_fixed, :name => 'memory', :unit => 'MB', :value => '2048')
- front_end_storage = Factory(:hwpp_fixed, :name => 'storage', :unit => 'GB', :value => '850')
- front_end_cpu = Factory(:hwpp_fixed, :name => 'cpu', :unit => 'count', :value => '2')
- front_end_architecture = Factory(:hwpp_fixed, :name => 'architecture', :unit => 'label', :value => 'x86_64')
+ front_end_memory = FactoryGirl.create(:hwpp_fixed, :name => 'memory', :unit => 'MB', :value => '2048')
+ front_end_storage = FactoryGirl.create(:hwpp_fixed, :name => 'storage', :unit => 'GB', :value => '850')
+ front_end_cpu = FactoryGirl.create(:hwpp_fixed, :name => 'cpu', :unit => 'count', :value => '2')
+ front_end_architecture = FactoryGirl.create(:hwpp_fixed, :name => 'architecture', :unit => 'label', :value => 'x86_64')
- back_end_memory = Factory(:hwpp_range, :name => 'memory', :unit => 'MB', :value => '4048', :range_first => '1024', :range_last => '4048')
+ back_end_memory = FactoryGirl.create(:hwpp_range, :name => 'memory', :unit => 'MB', :value => '4048', :range_first => '1024', :range_last => '4048')
back_end_storage = create_hwpp_enum(['500', '1500', '2000'], {:name => 'storage', :unit => 'GB', :value => '1500'})
- back_end_cpu = Factory(:hwpp_range, :name => 'cpu', :unit => 'count', :value => '4', :range_first => '1', :range_last => '8')
- back_end_architecture = Factory(:hwpp_fixed, :name => 'architecture', :unit => 'label', :value => 'x86_64')
+ back_end_cpu = FactoryGirl.create(:hwpp_range, :name => 'cpu', :unit => 'count', :value => '4', :range_first => '1', :range_last => '8')
+ back_end_architecture = FactoryGirl.create(:hwpp_fixed, :name => 'architecture', :unit => 'label', :value => 'x86_64')
HardwareProfile.generate_override_property_value(front_end_memory, back_end_memory).should == '2048'
HardwareProfile.generate_override_property_value(front_end_storage, back_end_storage).should == '1500'
@@ -134,32 +134,32 @@ describe HardwareProfile do
end
it "should correctly match a front end hardware profile with a back end hardware profile" do
- front_end_memory = Factory(:hwpp_fixed, :name => 'memory', :unit => 'MB', :value => '2048')
- front_end_storage = Factory(:hwpp_fixed, :name => 'storage', :unit => 'GB', :value => '850')
- front_end_cpu = Factory(:hwpp_fixed, :name => 'cpu', :unit => 'count', :value => '2')
- front_end_architecture = Factory(:hwpp_fixed, :name => 'architecture', :unit => 'label', :value => 'x86_64')
+ front_end_memory = FactoryGirl.create(:hwpp_fixed, :name => 'memory', :unit => 'MB', :value => '2048')
+ front_end_storage = FactoryGirl.create(:hwpp_fixed, :name => 'storage', :unit => 'GB', :value => '850')
+ front_end_cpu = FactoryGirl.create(:hwpp_fixed, :name => 'cpu', :unit => 'count', :value => '2')
+ front_end_architecture = FactoryGirl.create(:hwpp_fixed, :name => 'architecture', :unit => 'label', :value => 'x86_64')
- back_end_memory_match = Factory(:hwpp_range, :name => 'memory', :unit => 'MB', :value => '4048', :range_first => '1024', :range_last => '4048')
+ back_end_memory_match = FactoryGirl.create(:hwpp_range, :name => 'memory', :unit => 'MB', :value => '4048', :range_first => '1024', :range_last => '4048')
back_end_storage_match = create_hwpp_enum(['850', '1500', '2000'], {:name => 'storage', :unit => 'GB', :value => '1500'})
- back_end_cpu_match = Factory(:hwpp_range, :name => 'cpu', :unit => 'count', :value => '4', :range_first => '1', :range_last => '8')
- back_end_architecture_match = Factory(:hwpp_fixed, :name => 'architecture', :unit => 'label', :value => 'x86_64')
+ back_end_cpu_match = FactoryGirl.create(:hwpp_range, :name => 'cpu', :unit => 'count', :value => '4', :range_first => '1', :range_last => '8')
+ back_end_architecture_match = FactoryGirl.create(:hwpp_fixed, :name => 'architecture', :unit => 'label', :value => 'x86_64')
- back_end_memory_fail = Factory(:hwpp_range, :name => 'memory', :unit => 'MB', :value => '1024', :range_first => '512', :range_last => '1024')
+ back_end_memory_fail = FactoryGirl.create(:hwpp_range, :name => 'memory', :unit => 'MB', :value => '1024', :range_first => '512', :range_last => '1024')
back_end_storage_fail = create_hwpp_enum(['1000', '1500', '2000'], {:name => 'storage', :unit => 'GB', :value => '1500'})
- back_end_cpu_fail = Factory(:hwpp_range, :name => 'cpu', :unit => 'count', :value => '4', :range_first => '4', :range_last => '8')
- back_end_architecture_fail = Factory(:hwpp_fixed, :name => 'architecture', :unit => 'label', :value => 'x86_64')
+ back_end_cpu_fail = FactoryGirl.create(:hwpp_range, :name => 'cpu', :unit => 'count', :value => '4', :range_first => '4', :range_last => '8')
+ back_end_architecture_fail = FactoryGirl.create(:hwpp_fixed, :name => 'architecture', :unit => 'label', :value => 'x86_64')
- front_end_hardware_profile = Factory(:hardware_profile, :memory => front_end_memory,
+ front_end_hardware_profile = FactoryGirl.create(:hardware_profile, :memory => front_end_memory,
:cpu => front_end_cpu,
:storage => front_end_storage,
:architecture => front_end_architecture)
- back_end_hardware_profile_match = Factory(:hardware_profile, :memory => back_end_memory_match,
+ back_end_hardware_profile_match = FactoryGirl.create(:hardware_profile, :memory => back_end_memory_match,
:cpu => back_end_cpu_match,
:storage => back_end_storage_match,
:architecture => back_end_architecture_match)
- back_end_hardware_profile_fail = Factory(:hardware_profile, :memory => back_end_memory_fail,
+ back_end_hardware_profile_fail = FactoryGirl.create(:hardware_profile, :memory => back_end_memory_fail,
:cpu => back_end_cpu_fail,
:storage => back_end_storage_fail,
:architecture => back_end_architecture_fail)
@@ -169,17 +169,17 @@ describe HardwareProfile do
end
it "should correctly match front end hardware profile properties with back end hardware profile properties" do
- front_end_memory = Factory(:hwpp_fixed, :name => 'memory', :unit => 'MB', :value => '2048')
- front_end_storage = Factory(:hwpp_fixed, :name => 'storage', :unit => 'GB', :value => '850')
- front_end_cpu = Factory(:hwpp_fixed, :name => 'cpu', :unit => 'count', :value => '3')
+ front_end_memory = FactoryGirl.create(:hwpp_fixed, :name => 'memory', :unit => 'MB', :value => '2048')
+ front_end_storage = FactoryGirl.create(:hwpp_fixed, :name => 'storage', :unit => 'GB', :value => '850')
+ front_end_cpu = FactoryGirl.create(:hwpp_fixed, :name => 'cpu', :unit => 'count', :value => '3')
- back_end_memory_match = Factory(:hwpp_range, :name => 'memory', :unit => 'MB', :value => '4048', :range_first => '1024', :range_last => '4048')
+ back_end_memory_match = FactoryGirl.create(:hwpp_range, :name => 'memory', :unit => 'MB', :value => '4048', :range_first => '1024', :range_last => '4048')
back_end_storage_match = create_hwpp_enum(['850', '1500', '2000'], {:name => 'storage', :unit => 'GB', :value => '1500'})
- back_end_cpu_match = Factory(:hwpp_range, :name => 'cpu', :unit => 'count', :value => '4', :range_first => '1', :range_last => '8')
+ back_end_cpu_match = FactoryGirl.create(:hwpp_range, :name => 'cpu', :unit => 'count', :value => '4', :range_first => '1', :range_last => '8')
- back_end_memory_fail = Factory(:hwpp_range, :name => 'memory', :unit => 'MB', :value => '512', :range_first => '512', :range_last => '1024')
+ back_end_memory_fail = FactoryGirl.create(:hwpp_range, :name => 'memory', :unit => 'MB', :value => '512', :range_first => '512', :range_last => '1024')
back_end_storage_fail = create_hwpp_enum(['250', '500', '750'], {:name => 'storage', :unit => 'GB', :value => '500'})
- back_end_cpu_fail = Factory(:hwpp_range, :name => 'cpu', :unit => 'count', :value => '4', :range_first => '1', :range_last => '2')
+ back_end_cpu_fail = FactoryGirl.create(:hwpp_range, :name => 'cpu', :unit => 'count', :value => '4', :range_first => '1', :range_last => '2')
HardwareProfile.match_hardware_profile_property(front_end_memory, back_end_memory_match).should == true
HardwareProfile.match_hardware_profile_property(front_end_storage, back_end_storage_match).should == true
@@ -191,9 +191,9 @@ describe HardwareProfile do
end
def create_hwpp_enum(value_array, properties = {})
- hwpp_enum = Factory(:hwpp_enum, properties)
+ hwpp_enum = FactoryGirl.create(:hwpp_enum, properties)
value_array.each do |value|
- hwpp_enum.property_enum_entries << Factory(:property_enum_entry, :value => value, :hardware_profile_property => hwpp_enum)
+ hwpp_enum.property_enum_entries << FactoryGirl.create(:property_enum_entry, :value => value, :hardware_profile_property => hwpp_enum)
end
return hwpp_enum
end
diff --git a/src/spec/models/icicle_spec.rb b/src/spec/models/icicle_spec.rb
index d4a1e86..cf40422 100644
--- a/src/spec/models/icicle_spec.rb
+++ b/src/spec/models/icicle_spec.rb
@@ -9,7 +9,7 @@ describe Icicle do
end
it "should have a unique uuid" do
- old = Factory(:icicle)
+ old = FactoryGirl.create(:icicle)
old.should be_valid
new = Factory.build(:icicle, :uuid => old.uuid)
new.should_not be_valid
diff --git a/src/spec/models/instance_observer_spec.rb b/src/spec/models/instance_observer_spec.rb
index 69d702c..dbb12c7 100644
--- a/src/spec/models/instance_observer_spec.rb
+++ b/src/spec/models/instance_observer_spec.rb
@@ -3,17 +3,17 @@ require 'spec_helper'
describe InstanceObserver do
before(:each) do
- @provider_account_quota = Factory :quota
- @provider_account = Factory(:mock_provider_account, :quota_id => @provider_account_quota.id)
+ @provider_account_quota = FactoryGirl.create :quota
+ @provider_account = FactoryGirl.create(:mock_provider_account, :quota_id => @provider_account_quota.id)
- @pool_quota = Factory :quota
- @pool = Factory(:pool, :quota_id => @pool_quota.id)
+ @pool_quota = FactoryGirl.create :quota
+ @pool = FactoryGirl.create(:pool, :quota_id => @pool_quota.id)
- @user_quota = Factory :quota
- @user = Factory(:user, :quota_id => @user_quota.id)
+ @user_quota = FactoryGirl.create :quota
+ @user = FactoryGirl.create(:user, :quota_id => @user_quota.id)
- @hwp = Factory :mock_hwp1
- @instance = Factory(:new_instance, :pool => @pool, :hardware_profile => @hwp, :provider_account_id => @provider_account.id, :owner => @user)
+ @hwp = FactoryGirl.create :mock_hwp1
+ @instance = FactoryGirl.create(:new_instance, :pool => @pool, :hardware_profile => @hwp, :provider_account_id => @provider_account.id, :owner => @user)
Timecop.travel(Time.local(2008, 9, 1, 10, 5, 0, 0, 0))
end
@@ -178,9 +178,9 @@ describe InstanceObserver do
@provider_account.stub!(:connect).and_return(client)
@instance.stub!(:provider_account).and_return(@provider_account)
- @instance.instance_key = Factory(:instance_key, :name => 'key1', :instance_key_owner => @instance)
+ @instance.instance_key = FactoryGirl.create(:instance_key, :name => 'key1', :instance_key_owner => @instance)
@instance.instance_key.stub!(:replace_on_server).and_return(true)
- @provider_account.instance_key = Factory(:instance_key, :name => 'key1', :instance_key_owner => @provider_account)
+ @provider_account.instance_key = FactoryGirl.create(:instance_key, :name => 'key1', :instance_key_owner => @provider_account)
@instance.state = Instance::STATE_RUNNING
@instance.save!
diff --git a/src/spec/models/instance_spec.rb b/src/spec/models/instance_spec.rb
index d657b08..13ccafe 100644
--- a/src/spec/models/instance_spec.rb
+++ b/src/spec/models/instance_spec.rb
@@ -2,8 +2,8 @@ require 'spec_helper'
describe Instance do
before(:each) do
- @quota = Factory :quota
- @pool = Factory(:pool, :quota_id => @quota.id)
+ @quota = FactoryGirl.create :quota
+ @pool = FactoryGirl.create(:pool, :quota_id => @quota.id)
@instance = Factory.build(:instance, :pool_id => @pool.id)
@actions = ['start', 'stop']
end
@@ -79,7 +79,7 @@ describe Instance do
describe "with time capsule" do
it "should properly calculate the total time that the instance has been in a monitored state" do
- instance = Factory :new_instance
+ instance = FactoryGirl.create :new_instance
Timecop.travel(Time.local(2008, 9, 1, 10, 5, 0, 0, 0))
[ Instance::STATE_PENDING, Instance::STATE_RUNNING, Instance::STATE_SHUTTING_DOWN, Instance::STATE_STOPPED ].each do |s|
@@ -152,8 +152,8 @@ describe Instance do
# Other tests expect that @instance is built but not created, but we need it saved:
@instance.save!
build = @instance.image_build || @instance.image.latest_build
- provider = Factory(:mock_provider, :name => build.provider_images.first.provider_name)
- account = Factory(:mock_provider_account, :provider => provider, :label => 'testaccount')
+ provider = FactoryGirl.create(:mock_provider, :name => build.provider_images.first.provider_name)
+ account = FactoryGirl.create(:mock_provider_account, :provider => provider, :label => 'testaccount')
@pool.pool_family.provider_accounts = [account]
@pool.pool_family.save!
@instance.provider_account = account
@@ -177,12 +177,12 @@ describe Instance do
end
it "shouldn't match provider accounts where image is not pushed" do
- @pool.pool_family.provider_accounts = [Factory(:mock_provider_account, :label => 'testaccount')]
+ @pool.pool_family.provider_accounts = [FactoryGirl.create(:mock_provider_account, :label => 'testaccount')]
@instance.matches.last.should include('testaccount: image is not pushed to this provider account')
end
it "shouldn't match provider accounts where matching hardware profile not found" do
- account = Factory(:mock_provider_account, :label => 'testaccount')
+ account = FactoryGirl.create(:mock_provider_account, :label => 'testaccount')
account.provider.hardware_profiles.destroy_all
@pool.pool_family.provider_accounts << account
@instance.matches.last.should include('testaccount: hardware profile match not found')
@@ -190,8 +190,8 @@ describe Instance do
it "should return a match if all requirements are satisfied" do
build = @instance.image_build || @instance.image.latest_build
- provider = Factory(:mock_provider, :name => build.provider_images.first.provider_name)
- @pool.pool_family.provider_accounts = [Factory(:mock_provider_account, :label => 'testaccount', :provider => provider)]
+ provider = FactoryGirl.create(:mock_provider, :name => build.provider_images.first.provider_name)
+ @pool.pool_family.provider_accounts = [FactoryGirl.create(:mock_provider_account, :label => 'testaccount', :provider => provider)]
@instance.matches.first.should_not be_empty
end
end
diff --git a/src/spec/models/metadata_object_spec.rb b/src/spec/models/metadata_object_spec.rb
index 0290b57..6482e73 100644
--- a/src/spec/models/metadata_object_spec.rb
+++ b/src/spec/models/metadata_object_spec.rb
@@ -27,7 +27,7 @@ describe MetadataObject do
end
it "setting activerecord object value should work" do
- MetadataObject.set("test_obj", Factory(:pool))
+ MetadataObject.set("test_obj", FactoryGirl.create(:pool))
MetadataObject.lookup("test_obj").should be_a(Pool)
end
diff --git a/src/spec/models/permission_spec.rb b/src/spec/models/permission_spec.rb
index 4a56baf..6a6a21a 100644
--- a/src/spec/models/permission_spec.rb
+++ b/src/spec/models/permission_spec.rb
@@ -3,10 +3,10 @@ require 'spec_helper'
describe Permission do
before(:each) do
- @admin_permission = Factory :admin_permission
- @provider_admin_permission = Factory :provider_admin_permission
- @pool_creator_permission = Factory :pool_creator_permission
- @pool_user_permission = Factory :pool_user_permission
+ @admin_permission = FactoryGirl.create :admin_permission
+ @provider_admin_permission = FactoryGirl.create :provider_admin_permission
+ @pool_creator_permission = FactoryGirl.create :pool_creator_permission
+ @pool_user_permission = FactoryGirl.create :pool_user_permission
@admin = @admin_permission.user
@provider_admin = @provider_admin_permission.user
@@ -52,7 +52,7 @@ describe Permission do
end
it "Pool User should NOT be able to create instances in another pool" do
- Factory(:tpool).has_privilege(@pool_user, Privilege::CREATE, Instance).should be_false
+ FactoryGirl.create(:tpool).has_privilege(@pool_user, Privilege::CREATE, Instance).should be_false
end
end
diff --git a/src/spec/models/pool_family_spec.rb b/src/spec/models/pool_family_spec.rb
index 4f783a9..c298668 100644
--- a/src/spec/models/pool_family_spec.rb
+++ b/src/spec/models/pool_family_spec.rb
@@ -3,7 +3,7 @@ require 'spec_helper'
describe PoolFamily do
before(:each) do
- @pool = Factory :pool
+ @pool = FactoryGirl.create :pool
@pool_family = @pool.pool_family
@provider_account = Factory.build :mock_provider_account
@provider_account.pool_families << @pool_family
diff --git a/src/spec/models/pool_spec.rb b/src/spec/models/pool_spec.rb
index 5fd32dd..adedc16 100644
--- a/src/spec/models/pool_spec.rb
+++ b/src/spec/models/pool_spec.rb
@@ -15,7 +15,7 @@ describe Pool do
end
it "should not be valid if name is too long" do
- u = Factory(:pool)
+ u = FactoryGirl.create(:pool)
u.name = ('a' * 256)
u.valid?.should be_false
u.errors[:name].should_not be_nil
@@ -49,7 +49,7 @@ describe Pool do
end
it "should require quota to be set" do
- pool = Factory :pool
+ pool = FactoryGirl.create :pool
pool.should be_valid
pool.quota = nil
diff --git a/src/spec/models/provider_account_spec.rb b/src/spec/models/provider_account_spec.rb
index 2ef563f..4e3566c 100644
--- a/src/spec/models/provider_account_spec.rb
+++ b/src/spec/models/provider_account_spec.rb
@@ -19,13 +19,13 @@ describe ProviderAccount do
end
it "should check the validitiy of the cloud account login credentials" do
- mock_provider = Factory :mock_provider
+ mock_provider = FactoryGirl.create :mock_provider
invalid_provider_account = Factory.build(:mock_provider_account, :provider => mock_provider)
invalid_provider_account.credentials_hash = {'username' => "wrong_username", 'password' => "wrong_password"}
invalid_provider_account.should_not be_valid
- ec2_provider = Factory :ec2_provider
+ ec2_provider = FactoryGirl.create :ec2_provider
invalid_ec2_provider_account = Factory.build(:ec2_provider_account, :provider => ec2_provider)
invalid_ec2_provider_account.credentials_hash = {'username' => "", 'password' => nil}
invalid_ec2_provider_account.valid_credentials?.should == false
@@ -72,15 +72,15 @@ EOT
end
it "should create provider account with same username for different provider" do
- provider_account1 = Factory :mock_provider_account
+ provider_account1 = FactoryGirl.create :mock_provider_account
provider_account2 = Factory.build(:mock_provider_account, :provider => Factory.create(:mock_provider2))
provider_account1.credentials_hash.should == provider_account2.credentials_hash
provider_account2.should be_valid
end
it "should fail to create more than one account per provider" do
- provider = Factory :mock_provider
- acc1 = Factory(:mock_provider_account, :provider => provider)
+ provider = FactoryGirl.create :mock_provider
+ acc1 = FactoryGirl.create(:mock_provider_account, :provider => provider)
acc2 = Factory.build(:mock_provider_account, :provider => provider)
acc2.stub!(:valid_credentials?).and_return(true)
acc2.stub!(:validate_unique_username).and_return(true)
diff --git a/src/spec/models/provider_spec.rb b/src/spec/models/provider_spec.rb
index 49914c6..dfbab75 100644
--- a/src/spec/models/provider_spec.rb
+++ b/src/spec/models/provider_spec.rb
@@ -77,7 +77,7 @@ describe Provider do
# note: same situation will be with images
HardwareProfile.destroy_all
- instance = Factory(:instance)
+ instance = FactoryGirl.create(:instance)
provider = instance.provider_account.provider
provider.destroy
provider.destroyed?.should be_false
diff --git a/src/spec/models/quota_spec.rb b/src/spec/models/quota_spec.rb
index 2a339fe..2c41b44 100644
--- a/src/spec/models/quota_spec.rb
+++ b/src/spec/models/quota_spec.rb
@@ -3,17 +3,17 @@ require 'spec_helper'
describe Quota do
before(:each) do
- @provider_account_quota = Factory :quota
+ @provider_account_quota = FactoryGirl.create :quota
@provider_account = Factory.build(:mock_provider_account, :quota_id => @provider_account_quota.id)
- @pool_quota = Factory :quota
- @pool = Factory(:pool, :quota_id => @pool_quota.id)
+ @pool_quota = FactoryGirl.create :quota
+ @pool = FactoryGirl.create(:pool, :quota_id => @pool_quota.id)
- @user_quota = Factory :quota
- @user = Factory(:user, :quota_id => @user_quota.id)
+ @user_quota = FactoryGirl.create :quota
+ @user = FactoryGirl.create(:user, :quota_id => @user_quota.id)
- @hwp = Factory :mock_hwp1
- @instance = Factory(:new_instance, :pool => @pool, :hardware_profile => @hwp, :provider_account_id => @provider_account.id, :owner => @user)
+ @hwp = FactoryGirl.create :mock_hwp1
+ @instance = FactoryGirl.create(:new_instance, :pool => @pool, :hardware_profile => @hwp, :provider_account_id => @provider_account.id, :owner => @user)
end
it "should return true when asking if an instance can be created/started when there is sufficient quota space" do
@@ -22,13 +22,13 @@ describe Quota do
end
it "should return true when asking if an instance can be created/started when using unlimited Quotas" do
- @user.quota = Factory :unlimited_quota
+ @user.quota = FactoryGirl.create :unlimited_quota
@user.save!
- @pool.quota = Factory :unlimited_quota
+ @pool.quota = FactoryGirl.create :unlimited_quota
@pool.save!
- @provider_account.quota = Factory :unlimited_quota
+ @provider_account.quota = FactoryGirl.create :unlimited_quota
@provider_account.save!
Quota.can_create_instance?(@instance, @provider_account).should == true
diff --git a/src/spec/models/realm_spec.rb b/src/spec/models/realm_spec.rb
index 83f39a7..8b4e6b9 100644
--- a/src/spec/models/realm_spec.rb
+++ b/src/spec/models/realm_spec.rb
@@ -3,10 +3,10 @@ require 'spec_helper'
describe Realm do
before(:each) do
- @provider = Factory :mock_provider
- @backend_realm = Factory :backend_realm, :provider => @provider
+ @provider = FactoryGirl.create :mock_provider
+ @backend_realm = FactoryGirl.create :backend_realm, :provider => @provider
- @frontend_realm1 = Factory :frontend_realm
+ @frontend_realm1 = FactoryGirl.create :frontend_realm
RealmBackendTarget.create!(:frontend_realm => @frontend_realm1, :realm_or_provider => @backend_realm)
RealmBackendTarget.create!(:frontend_realm => @frontend_realm1, :realm_or_provider => @provider)
end
diff --git a/src/spec/models/role_spec.rb b/src/spec/models/role_spec.rb
index 4f38c74..8adc580 100644
--- a/src/spec/models/role_spec.rb
+++ b/src/spec/models/role_spec.rb
@@ -3,7 +3,7 @@ require 'spec_helper'
describe Role do
it "should not be valid if name is too long" do
- u = Factory(:role)
+ u = FactoryGirl.create(:role)
u.name = ('a' * 256)
u.valid?.should be_false
u.errors[:name].should_not be_nil
diff --git a/src/spec/models/suggested_deployable_spec.rb b/src/spec/models/suggested_deployable_spec.rb
index d81069c..bdf624c 100644
--- a/src/spec/models/suggested_deployable_spec.rb
+++ b/src/spec/models/suggested_deployable_spec.rb
@@ -2,7 +2,7 @@ require 'spec_helper'
describe SuggestedDeployable do
it "should have a name of reasonable length" do
- suggested_deployable = Factory :suggested_deployable
+ suggested_deployable = FactoryGirl.create :suggested_deployable
[nil, '', 'x'*1025].each do |invalid_name|
suggested_deployable.name = invalid_name
suggested_deployable.should_not be_valid
@@ -12,7 +12,7 @@ describe SuggestedDeployable do
end
it "should have unique name" do
- suggested_deployable = Factory :suggested_deployable
+ suggested_deployable = FactoryGirl.create :suggested_deployable
suggested_deployable2 = Factory.build(:suggested_deployable, :name => suggested_deployable.name)
suggested_deployable2.should_not be_valid
@@ -21,7 +21,7 @@ describe SuggestedDeployable do
end
it "should have a url" do
- suggested_deployable = Factory :suggested_deployable
+ suggested_deployable = FactoryGirl.create :suggested_deployable
suggested_deployable.url = ''
suggested_deployable.should_not be_valid
end
diff --git a/src/spec/models/user_spec.rb b/src/spec/models/user_spec.rb
index 9637307..34e0a6c 100644
--- a/src/spec/models/user_spec.rb
+++ b/src/spec/models/user_spec.rb
@@ -44,7 +44,7 @@ describe User do
end
it "should not be valid if first name is too long" do
- u = Factory(:tuser)
+ u = FactoryGirl.create(:tuser)
u.first_name = ('a' * 256)
u.valid?.should be_false
u.errors[:first_name].first.should_not be_nil
@@ -52,7 +52,7 @@ describe User do
end
it "should not be valid if last name is too long" do
- u = Factory(:tuser)
+ u = FactoryGirl.create(:tuser)
u.last_name = ('a' * 256)
u.valid?.should be_false
u.errors[:last_name].first.should_not be_nil
@@ -60,7 +60,7 @@ describe User do
end
it "should require quota to be set" do
- user = Factory :tuser
+ user = FactoryGirl.create :tuser
user.should be_valid
user.quota = nil
diff --git a/src/spec/models/view_state_spec.rb b/src/spec/models/view_state_spec.rb
index ff4ba10..0f091df 100644
--- a/src/spec/models/view_state_spec.rb
+++ b/src/spec/models/view_state_spec.rb
@@ -3,7 +3,7 @@ require 'spec_helper'
describe ViewState do
before(:each) do
- @view_state = Factory :view_state
+ @view_state = FactoryGirl.create :view_state
end
it "should require a unique name" do
@@ -46,7 +46,7 @@ describe ViewState do
@view_state.user_id = nil
@view_state.should_not be_valid
- user = Factory :user
+ user = FactoryGirl.create :user
@view_state.user_id = user.id
@view_state.should be_valid
end
diff --git a/src/spec/services/data_service_active_record_spec.rb b/src/spec/services/data_service_active_record_spec.rb
index 2a8ff8f..c72716a 100644
--- a/src/spec/services/data_service_active_record_spec.rb
+++ b/src/spec/services/data_service_active_record_spec.rb
@@ -11,7 +11,7 @@ describe DataServiceActiveRecord do
data = [[25, 10], [40, 20], [20, 20]]
free = 0
for i in 0..2
- quota = Factory(:quota, :maximum_total_instances => data[i][0], :total_instances => data[i][1])
+ quota = FactoryGirl.create(:quota, :maximum_total_instances => data[i][0], :total_instances => data[i][1])
provider_account = Factory.build(:provider_account, :provider => provider, :quota => quota)
provider_account.credentials_hash = {:username => "username" + i.to_s, :password => 'mockpassword'}
provider_account.stub!(:valid_credentials?).and_return(true)
@@ -35,7 +35,7 @@ describe DataServiceActiveRecord do
provider.save!
- quota = Factory(:quota,
+ quota = FactoryGirl.create(:quota,
:maximum_running_instances => 40,
:maximum_total_instances => 50,
:running_instances => 20,
@@ -57,8 +57,8 @@ describe DataServiceActiveRecord do
end
it "should calculate the average, max and min task submission times" do
- pool = Factory(:pool)
- instance = Factory(:instance, :pool_id => pool.id)
+ pool = FactoryGirl.create(:pool)
+ instance = FactoryGirl.create(:instance, :pool_id => pool.id)
start_time = Time.utc(2010,"jan",1,20,15,1)
for i in 1..10 do
@@ -84,8 +84,8 @@ describe DataServiceActiveRecord do
end
it "should create data points for the average, max and min task submission times between two times at given intervals" do
- pool = Factory(:pool)
- instance = Factory(:instance, :pool_id => pool.id)
+ pool = FactoryGirl.create(:pool)
+ instance = FactoryGirl.create(:instance, :pool_id => pool.id)
expected_averages = [ 20, 40, 60, 80, 100]
no_intervals = expected_averages.length
@@ -109,7 +109,7 @@ describe DataServiceActiveRecord do
end
it "should create data points for mean, max and min task submission times at given intervals for a provider with multiple accounts" do
- pool = Factory :pool
+ pool = FactoryGirl.create :pool
expected_averages = []
expected_averages[0] = [ 20, 40, 60, 80, 100]
@@ -133,7 +133,7 @@ describe DataServiceActiveRecord do
provider_account.stub!(:valid_credentials?).and_return(true)
provider_account.save!
- instance = Factory(:instance, :provider_account_id => provider_account.id, :pool_id => pool.id)
+ instance = FactoryGirl.create(:instance, :provider_account_id => provider_account.id, :pool_id => pool.id)
generate_tasks(start_time, interval_length, instance, expected_average)
end
@@ -162,12 +162,12 @@ describe DataServiceActiveRecord do
runtime3 = [100, 200, 300, 400, 500]
runtimes = [runtime1, runtime2, runtime3]
- pool = Factory(:pool)
- provider_account = Factory :mock_provider_account
+ pool = FactoryGirl.create(:pool)
+ provider_account = FactoryGirl.create :mock_provider_account
for i in 0..2 do
runtimes[i].each do |runtime|
- instance = Factory(:instance, :pool => pool, :provider_account => provider_account, :state => Instance::STATE_STOPPED)
+ instance = FactoryGirl.create(:instance, :pool => pool, :provider_account => provider_account, :state => Instance::STATE_STOPPED)
instance.save!
instance.time_last_pending = start_times[i] + (interval_length / 2)
@@ -185,13 +185,13 @@ describe DataServiceActiveRecord do
end
it "should generate the mean max and min instance runtimes of instances for a given provider account or pool" do
- pool = Factory(:pool)
+ pool = FactoryGirl.create(:pool)
- provider_account = Factory :mock_provider_account
+ provider_account = FactoryGirl.create :mock_provider_account
start_time = Time.utc(2010,"jan",1,20,15,1)
[50, 100, 150, 200, 250].each do |runtime|
- instance = Factory(:new_instance, :pool => pool, :provider_account => provider_account)
+ instance = FactoryGirl.create(:new_instance, :pool => pool, :provider_account => provider_account)
instance.time_last_pending = start_time
instance.time_last_running = start_time
instance.acc_running_time = runtime
@@ -204,9 +204,9 @@ describe DataServiceActiveRecord do
end
it "should calculate the average time it takes a provider to complete a task between two times" do
- pool = Factory(:pool)
- provider_account = Factory(:mock_provider_account)
- instance = Factory(:instance, :pool => pool, :provider_account => provider_account)
+ pool = FactoryGirl.create(:pool)
+ provider_account = FactoryGirl.create(:mock_provider_account)
+ instance = FactoryGirl.create(:instance, :pool => pool, :provider_account => provider_account)
start_time = Time.utc(2010,"jan",1,20,15,1)
task_completion_times = [10, 20, 30, 40, 50]
@@ -242,9 +242,9 @@ describe DataServiceActiveRecord do
create_time = start_time + 1
end_time = create_time + 1
- pool = Factory(:pool)
- provider_account = Factory :mock_provider_account
- instance = Factory(:instance, :pool => pool, :provider_account => provider_account)
+ pool = FactoryGirl.create(:pool)
+ provider_account = FactoryGirl.create :mock_provider_account
+ instance = FactoryGirl.create(:instance, :pool => pool, :provider_account => provider_account)
failures = 5
non_failures = 20
@@ -288,9 +288,9 @@ describe DataServiceActiveRecord do
failures = [5, 10, 15]
number_of_instances = 20
- pool = Factory(:pool)
- provider_account = Factory :mock_provider_account
- instance = Factory(:instance, :pool => pool, :provider_account => provider_account)
+ pool = FactoryGirl.create(:pool)
+ provider_account = FactoryGirl.create :mock_provider_account
+ instance = FactoryGirl.create(:instance, :pool => pool, :provider_account => provider_account)
for i in 0..2
for j in 1..failures[i]
diff --git a/src/spec/services/registration_service_spec.rb b/src/spec/services/registration_service_spec.rb
index dfc59ed..17d0cf2 100644
--- a/src/spec/services/registration_service_spec.rb
+++ b/src/spec/services/registration_service_spec.rb
@@ -20,10 +20,10 @@ describe RegistrationService do
end
it "should register a user with default pool/quota/role perms when default settings set" do
- @user = Factory :user
+ @user = FactoryGirl.create :user
@pool = MetadataObject.lookup("self_service_default_pool")
@role = MetadataObject.lookup("self_service_default_role")
- @quota = Factory :quota
+ @quota = FactoryGirl.create :quota
MetadataObject.set("self_service_default_quota", @quota)
@registration_service = RegistrationService.new(@user)
--
1.7.4.4
12 years, 8 months
Deltacloud API nightly builds
by Michal Fojtik
Hi,
For those who don't know, I run a nightly builds repository for Deltacloud API.
It means you can install the latest Deltacloud API through yum using:
$ wget http://devel.mifo.sk/deltacloud/deltacloud-core.repo -O /etc/yum.repos.d/deltacloud-git
$ yum clean all
$ yum install deltacloud-core-DRIVER (or yum install deltacloud-core-all)
I have tested it on F14 and F15 and it works with all dependencies. For RHEL, you should
add the EPEL repository and install some packages manually from Fedora.
Happy hacking,
-- Michal
------------------------------------------------------
Michal Fojtik, mfojtik(a)redhat.com
Deltacloud API: http://deltacloud.org
12 years, 8 months
AEOLUS master, rspec errors
by Simon Harris
I'm seeing the following errors when I run my specs:
Validation failed: Email should look like an email address
It looks as though the permission factory (permission.rb:8) is attempting to create an admin user which is failing authlogic's email validation.
From tracing it through, factory girl seems to execute the super type definition BEFORE the sub type therefore before u.login 'admin' can be run, the user is created with no login and thus the email is set to "@example.host". Note the empty user name.
1) DeploymentsController should allow RESTful delete of a single deployment
Failure/Error: @admin_permission = Factory :admin_permission
ActiveRecord::RecordInvalid:
Validation failed: Email should look like an email address.
# ./spec/factories/permission.rb:8
# ./spec/controllers/deployments_controller_spec.rb:6
12 years, 8 months
[PATCH imagefactory] Rename the binary to imagefactory
by Chris Lalancette
One thing that has annoyed me for a while about the imagefactory is that the
binary is called "imgfac.py". I think that it is likely to lead to confusion
among developers and users. Therefore, I proposed to Steve that we rename the
binary to "imagefactory", and deal with the fallout. In order to make this
work, we first have to rename the imagefactory directory to imgfac (to avoid
python naming conflicts), and then deal with the fallout in the codebase. The
patch here does that.
The observant among you will notice that there is no actual patch attached.
That is because it is a large patch (~500K), so I decided it would be best not
to spam the list with it. Instead, I have uploaded the patch to:
http://people.redhat.com/clalance/0001-Rename-the-binary-to-imagefactory....
Full disclosure: I did not exhaustively test this patch. I got it to the point
where the tests pass, and I was able to do a local EC2 upload style build.
Still, I think this is a good start and other issues (if any) will quickly
become apparent.
--
Chris Lalancette
12 years, 8 months
Iteration 4 Feature: API
by Tomas Hrcka
Hello all,
Here is the proposal for a API feature planned for this iteration.
The general idea is to create a RESTful API for conductor allowing us to
manage all conductor functionality through this API.
Currently we have some xml and json responses implemented in controllers
for aeolus-image and for javascript functionality.
For the beginning I suggest to use responder object to directly render
XML responses for collections,
lately when we want to stabilize the API we should use XML templates.
Here I propose features and tasks:
=== As a developer I want to have clean controllers.
* Move more code to before filters
* Move more code to models
=== As a developer I want to have full test suite for the API
* Implement all Rspec tests for the API
=== As a user I want to be able to consume xml API
* Add responder object to actions index and show for all controllers
=== As a user I want to be able to modify data through xml API
* Add responder object to actions update and destroy for all
controllers
=== As a user I want to have overview of the API
* Implement entry point for the API
* Implement/configure HTTP authentication
12 years, 8 months
Iteration 4 Feature: Dashboard
by Jirka Tomasek
Hello all,
Here is the proposal for a Dashboard feature planned for this iteration.
The general idea is to have a two separate dashboards for each section
(Monitor, Administer), as the Overview (Pools#index pretty view) already
works as Dashboard for Monitor section.
It already contains:
* ribbon with basic statistics of Pools, Deployments, Instances, Alerts,
Updates and global Quota overview
* list of latest alerts
* Overview on Pools their status and status of its Deployments and
Instances with direct access to manage them.
* possibility to get to detailed list view with a single click
Pools Overview section also has links to basic operation as launching or
Managing deployments from within its Pool.
Having a separate Dashboard would mean duplicating of this information
unless Pools Overview section would have been redesigned.
Administer section does not have an Overview section so the idea is to
create similar Overview/Dashboard section as the Monitor section has
which resembles it graphically by using slightly changed UI elements
used in Monitor section as we dont have any wireframes or design
guidelines for it.
The main part of proposed Administer section Overview utilizes the Admin
subsections navigation as a table of boxes for each subsection (similar
to Instances display in Deployment detail pretty view) which contains:
* subsection icon
* title - linking to given subsection
* information about elements count or other relevant info (current
settings summary)
* link to most used function for given subsection (create new user, add
suggested deployable, ...)
Subsections: Users, Roles, Providers, Provider Accounts, Hardware
Profiles, Realms, Pool Families, Suggested Deployables, Settings
Based on the amount of data we want to display the box can have
different size (e.g. Settings subsection box section with current
settings summary can use twice as big box than other)
Navigating back from a subsection to Overview can be done via Breadcrumb
leading to it or by clicking the Administer tab. Current controll panel
select should be put in each subsection to provide navigation among
subsections without returning to Overview.
Other relevant info like last 5 items from user related Action History
(similar to Alerts section in Pools Overview) can be included when its
implemented.
Administer section Overview simplyfies the navigation for administrator
and speeds up the access to most of the tasks he want to perform in
Administer section. It should be relatively easy to implement as the
current UI elements could be used and it doesnt require changes to
application structure or logic.
Having two separate Dashboards or Overviews simplifies the problem with
having to deal with displaying different amount of information based on
User permissions.
Creating Administer section Overview largely depends on Admin section UX
which is about to be discussed.
Features and Tasks:
As an admin I want to have an Overview in Administer section
* prepare UI design and elements for Subsections boxes
* implement Subsection box navigation with subsection info and links
* remove controll panel select
As an admin I want to navigate around Administer section
* Implement Breadcrumbs to navigate from Admin subsection to Overview
* Add Controll panel select to each subsection to enable navigation
among subsections without returning to Overview
As an admin I want to see last 5 events in Action history (depends on
Action history implementation)
* Implement Action history overview based on Pools pretty view Alerts
section with last 5 events and link to Action history page, placed under
Subsections box navigation.
Jirka
12 years, 8 months