Sha256: 06bb3c1a7afb453a070b90ff6a5daa05dfc618b91a093e7db0841f4535cd74d4

Contents?: true

Size: 949 Bytes

Versions: 3

Compression:

Stored size: 949 Bytes

Contents

class Response
  attr_accessor :code, :message, :data

  def initialize(code = 0, message = '', data = nil)
    @code = code
    @message = message
    @data = data
  end
end

class MockFissionVM
  attr_accessor :name

  @@snaps = []
  def initialize(name)
    @name = name
    @running = true
  end

  def self.set_snapshots(snaps)
    @@snaps = snaps
  end

  def snapshots
    Response.new(0, '', @@snaps)
  end

  def revert_to_snapshot(_name)
    @running = false
  end

  def running?
    Response.new(0, '', @running)
  end

  def start(_opt)
    @running = true
  end

  def exists?
    true
  end
end

class MockFission
  @@vms = []
  def self.presets(hosts)
    snaps = []
    hosts.each do |host|
      @@vms << MockFissionVM.new(host.name)
      snaps << host[:snapshot]
    end
    MockFissionVM.set_snapshots(snaps)
  end

  def self.all
    Response.new(0, '', @@vms)
  end

  def self.new(name)
    MockFissionVM.new(name)
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
beaker-vmware-2.1.1 spec/mock_fission.rb
beaker-vmware-2.1.0 spec/mock_fission.rb
beaker-vmware-2.0.0 spec/mock_fission.rb