Commit 0c946317 authored by Stan Hu's avatar Stan Hu

Allow HipChat API version to be blank and default to v2

Closes #772
parent dfa1d96a
Please view this file on the master branch, on stable branches it's out of date.
v 7.12.0 (unreleased)
- Allow HipChat API version to be blank and default to v2 (Stan Hu)
- Add web hook support for note events (Stan Hu)
- Disable "New Issue" and "New Merge Request" buttons when features are disabled in project settings (Stan Hu)
- Allow to configure location of the `.gitlab_shell_secret` file. (Jakub Jirutka)
......
......@@ -63,7 +63,7 @@ class HipchatService < Service
private
def gate
options = { api_version: api_version || 'v2' }
options = { api_version: api_version.present? ? api_version : 'v2' }
options[:server_url] = server unless server.blank?
@gate ||= HipChat::Client.new(token, options)
end
......
......@@ -32,21 +32,44 @@ describe HipchatService do
let(:project) { create(:project, name: 'project') }
let(:api_url) { 'https://hipchat.example.com/v2/room/123456/notification?auth_token=verySecret' }
let(:project_name) { project.name_with_namespace.gsub(/\s/, '') }
let(:token) { 'verySecret' }
let(:server_url) { 'https://hipchat.example.com'}
let(:push_sample_data) { Gitlab::PushDataBuilder.build_sample(project, user) }
before(:each) do
hipchat.stub(
project_id: project.id,
project: project,
room: 123456,
server: 'https://hipchat.example.com',
token: 'verySecret'
server: server_url,
token: token
)
WebMock.stub_request(:post, api_url)
end
context 'push events' do
let(:push_sample_data) { Gitlab::PushDataBuilder.build_sample(project, user) }
it 'should use v1 if version is provided' do
hipchat.stub(api_version: 'v1')
expect(HipChat::Client).to receive(:new).
with(token,
api_version: 'v1',
server_url: server_url).
and_return(
double(:hipchat_service).as_null_object)
hipchat.execute(push_sample_data)
end
it 'should use v2 as the version when nothing is provided' do
hipchat.stub(api_version: '')
expect(HipChat::Client).to receive(:new).
with(token,
api_version: 'v2',
server_url: server_url).
and_return(
double(:hipchat_service).as_null_object)
hipchat.execute(push_sample_data)
end
context 'push events' do
it "should call Hipchat API for push events" do
hipchat.execute(push_sample_data)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment