spec/stack/deployment/status_spec.rb in simple_deploy-0.5.6 vs spec/stack/deployment/status_spec.rb in simple_deploy-0.6.0
- old
+ new
@@ -1,7 +1,69 @@
require 'spec_helper'
describe SimpleDeploy do
- it "should test status"
+ before do
+ @logger_stub = stub 'logger', :debug => true,
+ :info => true
+ @config_mock = mock 'config'
+ @config_mock.stub :logger => @logger_stub
+ @stack_mock = mock 'stack'
+
+ options = { :config => @config_mock,
+ :stack => @stack_mock,
+ :ssh_user => 'user',
+ :name => 'dastack' }
+ @status = SimpleDeploy::Stack::Deployment::Status.new options
+ end
+
+ describe "clear_for_deployment?" do
+ it "should return true if clear for deployment" do
+ @stack_mock.stub :attributes => { 'deployment_in_progress' => 'false' }
+ @status.clear_for_deployment?.should be_true
+ end
+
+ it "should return false if not clear for deployment" do
+ @stack_mock.stub :attributes => { 'deployment_in_progress' => 'true' }
+ @status.clear_for_deployment?.should be_false
+ end
+ end
+
+ describe "deployment_in_progress?" do
+ it "should return false if no deployment in progress" do
+ @stack_mock.stub :attributes => { 'deployment_in_progress' => 'false' }
+ @status.deployment_in_progress?.should be_false
+ end
+
+ it "should return true if deployment in progress" do
+ @stack_mock.stub :attributes => { 'deployment_in_progress' => 'true' }
+ @status.deployment_in_progress?.should be_true
+ end
+ end
+
+ describe "clear_deployment_lock" do
+ it "should unset deploy in progress if force & deploy in progress" do
+ @stack_mock.stub :attributes => { 'deployment_in_progress' => 'true' }
+ @stack_mock.should_receive(:update).
+ with( { :attributes => [ { 'deployment_in_progress' => 'false'} ] })
+ @status.clear_deployment_lock(true)
+ end
+ end
+
+ describe "set_deployment_in_prgoress" do
+ it "set deployment as in progress" do
+ Time.stub :now => 'thetime'
+ @stack_mock.should_receive(:update).
+ with( { :attributes => [ { "deployment_in_progress" => "true", "deployment_user" => "user", "deployment_datetime" => "thetime" } ] })
+ @status.set_deployment_in_progress
+ end
+ end
+
+ describe "unset_deployment_in_prgoress" do
+ it "clears deployment in progress" do
+ @stack_mock.should_receive(:update).
+ with( { :attributes => [ { 'deployment_in_progress' => 'false'} ] })
+ @status.unset_deployment_in_progress
+ end
+ end
end