summaryrefslogtreecommitdiff
path: root/lib/mattermost
diff options
context:
space:
mode:
authorKamil Trzcinski <ayufan@ayufan.eu>2016-12-20 12:02:37 +0100
committerKamil Trzcinski <ayufan@ayufan.eu>2016-12-20 12:02:37 +0100
commit0cf23fde7c666b64e6c18a92d29e632f51b00059 (patch)
tree943171ba614758895e88bd1b69d2add1a517da91 /lib/mattermost
parentd305d15b6dde99b0de7fc78242aaa095fc79b5ca (diff)
downloadgitlab-ce-0cf23fde7c666b64e6c18a92d29e632f51b00059.tar.gz
Work on tests for mattermost
Diffstat (limited to 'lib/mattermost')
-rw-r--r--lib/mattermost/client.rb6
-rw-r--r--lib/mattermost/session.rb14
2 files changed, 17 insertions, 3 deletions
diff --git a/lib/mattermost/client.rb b/lib/mattermost/client.rb
index 8bbb2038772..d6759eac0d0 100644
--- a/lib/mattermost/client.rb
+++ b/lib/mattermost/client.rb
@@ -1,4 +1,6 @@
module Mattermost
+ class ClientError < Mattermost::Error; end
+
class Client
attr_reader :user
@@ -30,9 +32,9 @@ module Mattermost
if response.success?
json_response
elsif json_response['message']
- raise json_response['message']
+ raise ClientError(json_response['message'])
else
- raise 'Undefined error'
+ raise ClientError('Undefined error')
end
end
end
diff --git a/lib/mattermost/session.rb b/lib/mattermost/session.rb
index f0ce51d6a71..e36500d24a3 100644
--- a/lib/mattermost/session.rb
+++ b/lib/mattermost/session.rb
@@ -1,10 +1,18 @@
module Mattermost
- class NoSessionError < StandardError
+ class Error < StandardError; end
+
+ class NoSessionError < Error
def message
'No session could be set up, is Mattermost configured with Single Sign on?'
end
end
+ class ConnectionError < Error
+ def message
+ 'Could not connect. Is Mattermost up?'
+ end
+ end
+
# This class' prime objective is to obtain a session token on a Mattermost
# instance with SSO configured where this GitLab instance is the provider.
#
@@ -66,10 +74,14 @@ module Mattermost
def get(path, options = {})
self.class.get(path, options.merge(headers: @headers))
+ rescue Errno::ECONNREFUSED
+ raise ConnectionError
end
def post(path, options = {})
self.class.post(path, options.merge(headers: @headers))
+ rescue Errno::ECONNREFUSED
+ raise ConnectionError
end
private