Sha256: b9a0977a285638bf1dc765aaafdbebe16288b30088e8a1c2f1492ae1485fd62d

Contents?: true

Size: 1.78 KB

Versions: 17

Compression:

Stored size: 1.78 KB

Contents

module Heroku
  class API
    module Mock

      # stub DELETE /apps/:app/config_vars/:key
      Excon.stub(:expects => 200, :method => :delete, :path => %r{^/apps/([^/]+)/config_vars/([^/]+)$}) do |params|
        request_params, mock_data = parse_stub_params(params)
        app, key, _ = request_params[:captures][:path]
        key = unescape(key)
        with_mock_app(mock_data, app) do
          mock_data[:config_vars][app].delete(key)
          add_mock_release(mock_data, app, {'descr' => "Config remove #{key}"})
          {
            :body   => Heroku::API::OkJson.encode(mock_data[:config_vars][app]),
            :status => 200
          }
        end
      end

      # stub GET /apps/:app/config_vars
      Excon.stub(:expects => 200, :method => :get, :path => %r{^/apps/([^/]+)/config_vars$}) do |params|
        request_params, mock_data = parse_stub_params(params)
        app, _ = request_params[:captures][:path]
        with_mock_app(mock_data, app) do
          {
            :body   => Heroku::API::OkJson.encode(mock_data[:config_vars][app]),
            :status => 200
          }
        end
      end

      # stub PUT /apps/:app/config_vars
      Excon.stub(:expects => 200, :method => :put, :path => %r{^/apps/([^/]+)/config_vars$}) do |params|
        request_params, mock_data = parse_stub_params(params)
        app, _ = request_params[:captures][:path]
        with_mock_app(mock_data, app) do
          new_config_vars = request_params[:body]
          mock_data[:config_vars][app].merge!(new_config_vars)
          add_mock_release(mock_data, app, {'descr' => "Config add #{new_config_vars.keys.join(', ')}"})
          {
            :body   => Heroku::API::OkJson.encode(mock_data[:config_vars][app]),
            :status => 200
          }
        end
      end

    end
  end
end

Version data entries

17 entries across 17 versions & 2 rubygems

Version Path
heroku-api-0.3.15 lib/heroku/api/mock/config_vars.rb
heroku-api-0.3.14 lib/heroku/api/mock/config_vars.rb
heroku-api-0.3.13 lib/heroku/api/mock/config_vars.rb
heroku-api-0.3.12 lib/heroku/api/mock/config_vars.rb
heroku-api-0.3.11 lib/heroku/api/mock/config_vars.rb
heroku-api-0.3.10 lib/heroku/api/mock/config_vars.rb
pogoapp-api-0.3.8 lib/heroku/api/mock/config_vars.rb
heroku-api-0.3.9 lib/heroku/api/mock/config_vars.rb
heroku-api-0.3.8 lib/heroku/api/mock/config_vars.rb
heroku-api-0.3.7 lib/heroku/api/mock/config_vars.rb
heroku-api-0.3.6 lib/heroku/api/mock/config_vars.rb
heroku-api-0.3.5 lib/heroku/api/mock/config_vars.rb
heroku-api-0.3.4 lib/heroku/api/mock/config_vars.rb
heroku-api-0.3.3 lib/heroku/api/mock/config_vars.rb
heroku-api-0.3.2 lib/heroku/api/mock/config_vars.rb
heroku-api-0.3.1 lib/heroku/api/mock/config_vars.rb
heroku-api-0.3.0 lib/heroku/api/mock/config_vars.rb