Sha256: de061571f81a77397a4a016f8f0d71a1a69f965e5c816796b8545fc0d40473f6

Contents?: true

Size: 1.51 KB

Versions: 8

Compression:

Stored size: 1.51 KB

Contents

class Ey::Core::Client
  class Real
    def create_user(params={})
      request(
        :method => :post,
        :path   => "/users",
        :body   => params,
      )
    end
  end # Real

  class Mock
    def create_user(params={})
      if self.data[:users].map{ |_, user| user["email"] }.include?(params["user"]["email"])
        response(
          :status => 422,
          :body => {
            :errors => ["Email has already been taken"]
          }
        )
      end

      resource_id   = self.uuid
      token_id      = self.uuid
      token_auth_id = self.uuid

      resource = params["user"].dup

      resource.merge!({
        "id"            => resource_id,
        "accounts"      => url_for("/users/#{resource_id}/accounts"),
        "memberships"   => url_for("/users/#{resource_id}/memberships"),
        "keypairs"      => url_for("/users/#{resource_id}/keypairs"),
        "tokens"        => url_for("/users/#{resource_id}/tokens"),
        "environments"  => url_for("/accounts/#{resource_id}/environments"),
        "applications"  => url_for("/accounts/#{resource_id}/applications"),
        "api_token"     => SecureRandom.hex(16),
      })

      self.data[:tokens][token_id] = {
        "id"           => token_id,
        "auth_id"      => token_auth_id,
        "on_behalf_of" => url_for("/users/#{resource_id}"),
      }

      self.data[:users][resource_id] = resource

      response(
        :body    => {"user" => resource},
        :status  => 201,
      )
    end
  end # Mock
end # Ey::Core::Client

Version data entries

8 entries across 8 versions & 2 rubygems

Version Path
ey-core-3.6.0.autoscaling1 lib/ey-core/requests/create_user.rb
ey-core-3.6.4 lib/ey-core/requests/create_user.rb
ey-core-3.6.3 lib/ey-core/requests/create_user.rb
ey-core-3.6.1 lib/ey-core/requests/create_user.rb
groove-ey-core-3.6.3 lib/ey-core/requests/create_user.rb
groove-ey-core-3.6.2 lib/ey-core/requests/create_user.rb
groove-ey-core-3.6.1 lib/ey-core/requests/create_user.rb
ey-core-3.5.0 lib/ey-core/requests/create_user.rb