Sha256: a52c73acf1a3b9b630172108b9158b0a13c122779478bd6da7d57cb624e52b4c

Contents?: true

Size: 1.3 KB

Versions: 15

Compression:

Stored size: 1.3 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"),
      })

      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

15 entries across 15 versions & 1 rubygems

Version Path
ey-core-3.1.11 lib/ey-core/requests/create_user.rb
ey-core-3.1.10 lib/ey-core/requests/create_user.rb
ey-core-3.1.9 lib/ey-core/requests/create_user.rb
ey-core-3.1.8 lib/ey-core/requests/create_user.rb
ey-core-3.1.7 lib/ey-core/requests/create_user.rb
ey-core-3.1.6 lib/ey-core/requests/create_user.rb
ey-core-3.1.5 lib/ey-core/requests/create_user.rb
ey-core-3.1.4 lib/ey-core/requests/create_user.rb
ey-core-3.1.3 lib/ey-core/requests/create_user.rb
ey-core-3.1.2 lib/ey-core/requests/create_user.rb
ey-core-3.1.1 lib/ey-core/requests/create_user.rb
ey-core-3.1.0 lib/ey-core/requests/create_user.rb
ey-core-3.0.5 lib/ey-core/requests/create_user.rb
ey-core-3.0.4 lib/ey-core/requests/create_user.rb
ey-core-3.0.3 lib/ey-core/requests/create_user.rb