Sha256: 18aa660d73753491df38bdfcb694897e042de8e876418d73150a5103c1a3f2d1

Contents?: true

Size: 1.3 KB

Versions: 1

Compression:

Stored size: 1.3 KB

Contents

provider, config = :ecloud, compute_providers[:ecloud]

Shindo.tests("Fog::Compute[:#{provider}] | ssh_keys", [provider.to_s]) do
  connection = Fog::Compute[provider]
  @organization = connection.organizations.first
  @admin_organization = @organization.admin
  @admin_organization.reload
  @ssh_keys = @admin_organization.ssh_keys

  tests("#all").succeeds do
    returns(false) { @ssh_keys.empty? }
  end

  tests("#get").succeeds do
    ssh_key = @ssh_keys.first

    returns(false) { @ssh_keys.get(ssh_key.href).nil? }
    returns(false) { @ssh_keys.get("/notfound" + ssh_key.href).nil? }
  end

  tests("#create").succeeds do
    new_key = @ssh_keys.create(:Name => "testing")
    @key_id = new_key.id || nil
    returns(false) { new_key.nil? }
    raises(ArgumentError) { @ssh_keys.create }
  end

  tests("#edit").succeeds do
    the_key = @ssh_keys.get(@key_id)
    returns(false) { the_key.nil? }

    the_key.edit(:Name => "more testing")
    the_key.reload
    returns(false) { the_key.name != "more testing" }

    the_key.edit(:Default => true)
    the_key.reload
    returns(true) { the_key.default }
  end

  tests("#delete").succeeds do
    the_key = @ssh_keys.get(@key_id)
    returns(false) { the_key.nil? }
    the_key.delete
    the_key = @ssh_keys.get(@key_id)
    returns(false) { !the_key.nil? }
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
fog-ecloud-0.2.0 tests/compute/models/ssh_key_tests.rb