You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							75 lines
						
					
					
						
							2.0 KiB
						
					
					
				
			
		
		
	
	
							75 lines
						
					
					
						
							2.0 KiB
						
					
					
				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
 |