Store mattermost_url in settings
This commit is contained in:
parent
48ebfaa491
commit
e663725961
|
@ -153,6 +153,12 @@ production: &base
|
|||
# The location where LFS objects are stored (default: shared/lfs-objects).
|
||||
# storage_path: shared/lfs-objects
|
||||
|
||||
## Mattermost
|
||||
## For enabling Add to Mattermost button
|
||||
mattermost:
|
||||
enabled: false
|
||||
host: 'https://mattermost.example.com'
|
||||
|
||||
## Gravatar
|
||||
## For Libravatar see: http://doc.gitlab.com/ce/customization/libravatar.html
|
||||
gravatar:
|
||||
|
|
|
@ -261,6 +261,13 @@ Settings['lfs'] ||= Settingslogic.new({})
|
|||
Settings.lfs['enabled'] = true if Settings.lfs['enabled'].nil?
|
||||
Settings.lfs['storage_path'] = File.expand_path(Settings.lfs['storage_path'] || File.join(Settings.shared['path'], "lfs-objects"), Rails.root)
|
||||
|
||||
#
|
||||
# Mattermost
|
||||
#
|
||||
Settings['mattermost'] ||= Settingslogic.new({})
|
||||
Settings.mattermost['enabled'] = false if Settings.mattermost['enabled'].nil?
|
||||
Settings.mattermost['host'] = nil unless Settings.mattermost.enabled
|
||||
|
||||
#
|
||||
# Gravatar
|
||||
#
|
||||
|
|
|
@ -17,12 +17,11 @@ module Mattermost
|
|||
include Doorkeeper::Helpers::Controller
|
||||
include HTTParty
|
||||
|
||||
base_uri Settings.mattermost.host
|
||||
|
||||
attr_accessor :current_resource_owner, :token
|
||||
|
||||
def initialize(uri, current_user)
|
||||
# Sets the base uri for HTTParty, so we can use paths
|
||||
self.class.base_uri(uri)
|
||||
|
||||
def initialize(current_user)
|
||||
@current_resource_owner = current_user
|
||||
end
|
||||
|
||||
|
@ -30,7 +29,7 @@ module Mattermost
|
|||
raise NoSessionError unless create
|
||||
|
||||
begin
|
||||
yield
|
||||
yield self
|
||||
ensure
|
||||
destroy
|
||||
end
|
||||
|
@ -65,7 +64,9 @@ module Mattermost
|
|||
return unless token_uri
|
||||
|
||||
self.token = request_token
|
||||
self.class.headers("Cookie" => "MMAUTHTOKEN=#{self.token}")
|
||||
@headers = {
|
||||
"Authorization": "Bearer #{self.token}"
|
||||
}
|
||||
self.token
|
||||
end
|
||||
|
||||
|
@ -98,11 +99,11 @@ module Mattermost
|
|||
end
|
||||
|
||||
def get(path, options = {})
|
||||
self.class.get(path, options)
|
||||
self.class.get(path, options.merge(headers: @headers))
|
||||
end
|
||||
|
||||
def post(path, options = {})
|
||||
self.class.post(path, options)
|
||||
self.class.post(path, options.merge(headers: @headers))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -6,7 +6,7 @@ describe Mattermost::Session, type: :request do
|
|||
let(:gitlab_url) { "http://gitlab.com" }
|
||||
let(:mattermost_url) { "http://mattermost.com" }
|
||||
|
||||
subject { described_class.new(mattermost_url, user) }
|
||||
subject { described_class.new(user) }
|
||||
|
||||
# Needed for doorkeeper to function
|
||||
it { is_expected.to respond_to(:current_resource_owner) }
|
||||
|
@ -14,6 +14,10 @@ describe Mattermost::Session, type: :request do
|
|||
it { is_expected.to respond_to(:authorization) }
|
||||
it { is_expected.to respond_to(:strategy) }
|
||||
|
||||
before do
|
||||
described_class.base_uri(mattermost_url)
|
||||
end
|
||||
|
||||
describe '#with session' do
|
||||
let(:location) { 'http://location.tld' }
|
||||
let!(:stub) do
|
||||
|
@ -72,18 +76,22 @@ describe Mattermost::Session, type: :request do
|
|||
end
|
||||
|
||||
WebMock.stub_request(:post, "#{mattermost_url}/api/v3/users/logout").
|
||||
to_return(headers: { Cookie: 'MMAUTHTOKEN=thisworksnow' }, status: 200)
|
||||
to_return(headers: { Authorization: 'token thisworksnow' }, status: 200)
|
||||
end
|
||||
|
||||
it 'can setup a session' do
|
||||
subject.with_session { 1 + 1 }
|
||||
subject.with_session do |session|
|
||||
end
|
||||
|
||||
expect(subject.token).not_to be_nil
|
||||
end
|
||||
|
||||
it 'returns the value of the block' do
|
||||
value = subject.with_session { 1 + 1 }
|
||||
result = subject.with_session do |session|
|
||||
"value"
|
||||
end
|
||||
|
||||
expect(value).to be(2)
|
||||
expect(result).to eq("value")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue