---
.../provider_accounts_controller_spec.rb | 31 ++++++++++------
src/spec/models/deployment_spec.rb | 39 ++++++++++++--------
2 files changed, 43 insertions(+), 27 deletions(-)
diff --git a/src/spec/controllers/provider_accounts_controller_spec.rb
b/src/spec/controllers/provider_accounts_controller_spec.rb
index 4406a83..aeaf9ab 100644
--- a/src/spec/controllers/provider_accounts_controller_spec.rb
+++ b/src/spec/controllers/provider_accounts_controller_spec.rb
@@ -60,29 +60,38 @@ describe ProviderAccountsController do
@provider_account.quota = Quota.new
@provider_account.save.should be_true
post :update, :id => @provider_account.id, :provider_account => {
:credentials_hash => {:username => 'mockuser', :password =>
'mockpassword'} }
- response.should redirect_to provider_account_path(@provider_account)
+ response.should redirect_to edit_provider_path((a)provider_account.provider_id,
:details_tab => 'connectivity', :view => 'filter')
ProviderAccount.find((a)provider_account.id).credentials_hash['password'].should ==
"mockpassword"
end
it "should allow users with account modify permission to delete a cloud
account" do
mock_warden(@admin)
lambda do
- post :multi_destroy, :accounts_selected => [@provider_account.id]
+ post :multi_destroy, :provider_id => @provider_account.provider_id,
:accounts_selected => [@provider_account.id]
end.should change(ProviderAccount, :count).by(-1)
- response.should redirect_to provider_accounts_url
+ response.should redirect_to edit_provider_path((a)provider_account.provider_id,
:details_tab => 'connectivity', :view => 'filter')
ProviderAccount.find_by_id((a)provider_account.id).should be_nil
end
- it "should deny access to users without account modify permission" do
- mock_warden(@tuser)
- get :edit, :id => @provider_account.id
- response.should render_template('layouts/error')
+ describe "should deny access to users without account modify permission" do
+ before do
+ mock_warden(@tuser)
+ end
- post :update, :id => @provider_account.id, :provider_account => { :password
=> 'foobar' }
- response.should render_template('layouts/error')
+ it "for edit" do
+ get :edit, :provider_id => @provider_account.provider_id, :id =>
@provider_account.id
+ response.should render_template('layouts/error')
+ end
- post :destroy, :id => @provider_account.id
- response.should render_template('layouts/error')
+ it "for update" do
+ post :update, :id => @provider_account.id, :provider_account => { :password
=> 'foobar' }
+ response.should render_template('layouts/error')
+ end
+
+ it "for destroy" do
+ post :destroy, :id => @provider_account.id
+ response.should render_template('layouts/error')
+ end
end
it "should provide ui to create new account" do
diff --git a/src/spec/models/deployment_spec.rb b/src/spec/models/deployment_spec.rb
index ee34043..80ca27d 100644
--- a/src/spec/models/deployment_spec.rb
+++ b/src/spec/models/deployment_spec.rb
@@ -82,13 +82,6 @@ describe Deployment do
@deployment.get_action_list.should eql(["start", "stop",
"reboot"])
end
- it "should launch instances when launching deployment" do
- @deployment.save!
- @deployment.instances.should be_empty
- @deployment.stub!(:condormatic_instance_create).and_return(true)
- @deployment.launch(FactoryGirl.create(:user))[:errors].should be_empty
- @deployment.instances.count.should == 2
- end
it "should return properties hash" do
@deployment.properties.should be_a_kind_of(Hash)
@@ -112,16 +105,30 @@ describe Deployment do
@deployment.should be_destroyable
expect { @deployment.destroy }.to change(Deployment, :count).by(-1)
end
+ describe "using image from iwhd" do
+ before do
+ image_id = @deployment.deployable_xml.assemblies.first.image_id
+ provider_name =
Image.find(image_id).latest_build.provider_images.first.provider_name
+ provider = FactoryGirl.create(:mock_provider, :name => provider_name)
+ @deployment.pool.pool_family.provider_accounts =
[FactoryGirl.create(:mock_provider_account, :label => 'testaccount', :provider
=> provider)]
+ @user_for_launch = FactoryGirl.create(:user)
+ end
+
+ it "should return errors when checking assemblies matches which are not
launchable" do
+ @deployment.check_assemblies_matches((a)user_for_launch).should be_empty
+ @deployment.pool.pool_family.provider_accounts.destroy_all
+ @deployment.check_assemblies_matches((a)user_for_launch).should_not be_empty
+ end
+
+ it "should launch instances when launching deployment" do
+ @deployment.save!
+ @deployment.instances.should be_empty
+
+ Taskomatic.stub!(:create_instance).and_return(true)
+ @deployment.launch(@user_for_launch)[:errors].should be_empty
+ @deployment.instances.count.should == 2
+ end
- it "should return errors when checking assemblies matches which are not
launchable" do
- 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 = 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
end
it "should be able to stop running instances on deletion" do
--
1.7.6.4