Sha256: 5653214d160c7e05703ca1801db4df7b4b3f9fc2d758bbf34e457cc5f2c201b2

Contents?: true

Size: 1.04 KB

Versions: 3

Compression:

Stored size: 1.04 KB

Contents

require 'spec_helper'
require 'engine/classes/deployable_class'

describe Engine::Deployable do
  subject do
    obj = DeployableClass.new
    obj.instance_eval do
      verify do
        unless @var > 0
          raise "engine failed verification"
        end
      end
    end

    obj
  end

  it "should include Verifiable" do
    subject.class.included_modules.should include(Engine::Verifiable)
  end

  it "should not be deployed by default" do
    subject.should_not be_deployed
  end

  describe "deploy!" do
    it "should verify! the engine before deploying it" do
      subject.var = -1

      lambda {
        subject.deploy!
      }.should raise_error
    end

    it "should mark the engine deployed" do
      subject.deploy!

      subject.should be_deployed
    end

    it "should not mark the engine as evacuated" do
      subject.deploy!

      subject.should_not be_evacuated
    end
  end

  describe "evacuate!" do
    it "should mark the engine as evacuated" do
      subject.evacuate!

      subject.should be_evacuated
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ronin-1.0.0.pre3 spec/engine/deployable_spec.rb
ronin-1.0.0.pre2 spec/engine/deployable_spec.rb
ronin-1.0.0.pre1 spec/engine/deployable_spec.rb