Sha256: 5cfb979f1e07bbad591687ce9c44a2c574418b12cd63d208a1a846b07e51241f

Contents?: true

Size: 1.81 KB

Versions: 48

Compression:

Stored size: 1.81 KB

Contents

Shindo.tests('Fog::Rackspace::Identity | tokens', ['rackspace']) do

  pending if Fog.mock?

  ROLE_FORMAT = {
    'id' => String,
    'name' => String,
    'description' => String
  }

  ENDPOINT_FORMAT = {
    'tenantId' => String,
    'publicURL' => Fog::Nullable::String,
    'internalURL' => Fog::Nullable::String,
    'region' => Fog::Nullable::String,
    'versionId' => Fog::Nullable::String,
    'versionInfo' => Fog::Nullable::String,
    'versionList' => Fog::Nullable::String
  }

  SERVICE_FORMAT = {
    'name' => String,
    'type' => String,
    'endpoints' => [ENDPOINT_FORMAT]
  }

  ACCESS_FORMAT = {
    'access' => {
      'token' => {
        'id' => String,
        'expires' => String,
        'tenant' => {
          'id' => String,
          'name' => String
        }
      },
      'user' => {
        'id' => String,
        'name' => String,
        'roles' => [ROLE_FORMAT]
      },
      'serviceCatalog' => [SERVICE_FORMAT]
    }
  }

  service = Fog::Rackspace::Identity.new

  tests('success') do
    credentials = Fog.credentials
    username = credentials[:rackspace_username]
    api_key = credentials[:rackspace_api_key]

    tests('#create_token').formats(ACCESS_FORMAT) do
      service.create_token(username, api_key).body
    end

    tests('uses connection options').returns(true) do
      identity_service = Fog::Rackspace::Identity.new(:connection_options => { :ssl_verify_peer => true })

      connection = identity_service.instance_variable_get("@connection")
      excon = connection.instance_variable_get("@excon")
      data = excon.instance_variable_get("@data")
      data.has_key?(:ssl_verify_peer)
    end
  end

  tests('failure') do
    tests('#create_token(invalidname, invalidkey').raises(Excon::Errors::HTTPStatusError) do
      service.create_token('baduser', 'badkey')
    end
  end
end

Version data entries

48 entries across 48 versions & 3 rubygems

Version Path
fog-maestrodev-1.19.0.20140212012611 tests/rackspace/requests/identity/token_tests.rb
fog-maestrodev-1.19.0.20140110004459 tests/rackspace/requests/identity/token_tests.rb
fog-maestrodev-1.19.0.20140110003812 tests/rackspace/requests/identity/token_tests.rb
fog-maestrodev-1.19.0.20140109202555 tests/rackspace/requests/identity/token_tests.rb
fog-maestrodev-1.19.0.20140107192102 tests/rackspace/requests/identity/token_tests.rb
fog-maestrodev-1.19.0.20140107142106 tests/rackspace/requests/identity/token_tests.rb
fog-maestrodev-1.19.0.20131219203941 tests/rackspace/requests/identity/token_tests.rb
fog-maestrodev-1.18.0.20131219193542 tests/rackspace/requests/identity/token_tests.rb
fog-1.19.0 tests/rackspace/requests/identity/token_tests.rb
fog-maestrodev-1.18.0.20131219033443 tests/rackspace/requests/identity/token_tests.rb
fog-maestrodev-1.18.0.20131219032002 tests/rackspace/requests/identity/token_tests.rb
fog-maestrodev-1.18.0.20131219030716 tests/rackspace/requests/identity/token_tests.rb
fog-maestrodev-1.18.0.20131219022322 tests/rackspace/requests/identity/token_tests.rb
fog-maestrodev-1.18.0.20131218202447 tests/rackspace/requests/identity/token_tests.rb
fog-maestrodev-1.18.0.20131209091424 tests/rackspace/requests/identity/token_tests.rb
fog-maestrodev-1.18.0.20131209090811 tests/rackspace/requests/identity/token_tests.rb
fog-maestrodev-1.18.0.20131206115947 tests/rackspace/requests/identity/token_tests.rb
fog-maestrodev-1.18.0.20131205181604 tests/rackspace/requests/identity/token_tests.rb
fog-maestrodev-1.18.0.20131127194823 tests/rackspace/requests/identity/token_tests.rb
fog-maestrodev-1.18.0.20131126183714 tests/rackspace/requests/identity/token_tests.rb