|
- require 'rspec'
- require 'webmock/rspec'
-
- require File.expand_path('../../lib/gitlab', __FILE__)
- require File.expand_path('../../lib/gitlab/cli', __FILE__)
-
- def capture_output
- out = StringIO.new
- $stdout = out
- $stderr = out
- yield
- $stdout = STDOUT
- $stderr = STDERR
- out.string
- end
-
- def load_fixture(name)
- File.new(File.dirname(__FILE__) + "/fixtures/#{name}.json")
- end
-
- RSpec.configure do |config|
- config.before(:all) do
- Gitlab.endpoint = 'https://api.example.com'
- Gitlab.private_token = 'secret'
- end
- end
-
- # GET
- def stub_get(path, fixture)
- stub_request(:get, "#{Gitlab.endpoint}#{path}").
- with(:headers => {'PRIVATE-TOKEN' => Gitlab.private_token}).
- to_return(:body => load_fixture(fixture))
- end
-
- def a_get(path)
- a_request(:get, "#{Gitlab.endpoint}#{path}").
- with(:headers => {'PRIVATE-TOKEN' => Gitlab.private_token})
- end
-
- # POST
- def stub_post(path, fixture, status_code=200)
- stub_request(:post, "#{Gitlab.endpoint}#{path}").
- with(:headers => {'PRIVATE-TOKEN' => Gitlab.private_token}).
- to_return(:body => load_fixture(fixture), :status => status_code)
- end
-
- def a_post(path)
- a_request(:post, "#{Gitlab.endpoint}#{path}").
- with(:headers => {'PRIVATE-TOKEN' => Gitlab.private_token})
- end
-
- # PUT
- def stub_put(path, fixture)
- stub_request(:put, "#{Gitlab.endpoint}#{path}").
- with(:headers => {'PRIVATE-TOKEN' => Gitlab.private_token}).
- to_return(:body => load_fixture(fixture))
- end
-
- def a_put(path)
- a_request(:put, "#{Gitlab.endpoint}#{path}").
- with(:headers => {'PRIVATE-TOKEN' => Gitlab.private_token})
- end
-
- # DELETE
- def stub_delete(path, fixture)
- stub_request(:delete, "#{Gitlab.endpoint}#{path}").
- with(:headers => {'PRIVATE-TOKEN' => Gitlab.private_token}).
- to_return(:body => load_fixture(fixture))
- end
-
- def a_delete(path)
- a_request(:delete, "#{Gitlab.endpoint}#{path}").
- with(:headers => {'PRIVATE-TOKEN' => Gitlab.private_token})
- end
|