diff --git a/.gitignore b/.gitignore index 3ff4fada..7b8b9065 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ -/coverage/ +/coverage/ +#ask: are we adding a coverage or is this already there just hidden? .DS_Store diff --git a/lib/channel.rb b/lib/channel.rb new file mode 100644 index 00000000..cab56c83 --- /dev/null +++ b/lib/channel.rb @@ -0,0 +1,31 @@ +require_relative "recipient" + + +class Channel < Recipient + attr_reader :topic, :member_count + + def initialize(name, slack_id, topic, member_count) + super(name, slack_id) + @topic = topic + @member_count = member_count + end + + def self.list_all + response = Channel.get("https://slack.com/api/conversations.list") + channel_list = response["channels"].map do |channel| + Channel.new( + name = channel["name"], + slack_id = channel["id"], + topic = channel["topic"]["value"], + member_count = channel["num_members"] + ) + end + + return channel_list + end + + def details + return "Channel name: #{name}\nSlack ID: #{slack_id}\nChannel topic: #{topic}\nMember count: #{member_count}" + end + +end diff --git a/lib/recipient.rb b/lib/recipient.rb new file mode 100644 index 00000000..a6c3b962 --- /dev/null +++ b/lib/recipient.rb @@ -0,0 +1,39 @@ +require "httparty" +require "dotenv" +Dotenv.load +AUTH_TOKEN = ENV["SLACK_TOKEN"] + +class Recipient + attr_reader :name, :slack_id + + def initialize(name, slack_id) + @name = name + @slack_id = slack_id + end + + def send_message(channel, message) + url = "https://slack.com/api/chat.postMessage" + query = { + token: AUTH_TOKEN, + channel: channel, + text: message, + } + + request = HTTParty.post(url, query: query) + raise(Exception, "Encountered an error: #{request["error"]}") if request["ok"] == false || request.code != 200 + return request + end + + def self.get(base_url) + query = { + token: AUTH_TOKEN, + } + response = HTTParty.get(base_url, query: query) + raise(Exception, "Encountered an error: #{response["error"]}") if response["ok"] == false || response.code != 200 + return response + end + + def self.list_all + raise(NotImplementedError, "Implement me in a child class!") + end +end diff --git a/lib/slack.rb b/lib/slack.rb index 8a0b659b..5f041f61 100755 --- a/lib/slack.rb +++ b/lib/slack.rb @@ -1,12 +1,89 @@ -#!/usr/bin/env ruby +require "httparty" +require "dotenv" +require "awesome_print" +require_relative "workspace" def main - puts "Welcome to the Ada Slack CLI!" + puts "Welcome to the Mair Bear's Slack CLI!" workspace = Workspace.new + puts "There are #{workspace.channels.length} channels and #{workspace.users.length} users in this Slack." - # TODO project + def pretty_user_list(workspace) + workspace.users.each do |user| + puts "šŸ”ø#{user.details}" + puts "" + end + end - puts "Thank you for using the Ada Slack CLI" + def pretty_channel_list(workspace) + workspace.channels.each do |channel| + puts "šŸ”ø#{channel.details}" + puts "" + end + end + + while true + puts "\nWhat would you like to do?" + puts "\nšŸ”µ list users\nšŸ”µ list channels\nšŸ”µ select user\nšŸ”µ select channel\nšŸ”µ details\nšŸ”µ send message\nšŸ”µ quit" + options = ["list users", "list channels", "select user", "select channel", "details", "quit", "send message"] + users_option = gets.chomp.downcase + until options.include? users_option + puts "Please input a valid command." + users_option = gets.chomp.downcase + end + + case users_option + when "list users" + pretty_user_list(workspace) + when "list channels" + pretty_channel_list(workspace) + when "select user" + puts "enter username or slack ID of a user" + select_user = gets.chomp.downcase + workspace.select_user(select_user) + if workspace.selected.nil? + puts "no such user exists 😢" + elsif workspace.selected != nil + puts "you've selected a user yay! šŸ¤—" + end + when "select channel" + puts "enter username or slack ID of a channel" + select_channel = gets.chomp.downcase + workspace.select_channel(select_channel) + if workspace.selected.nil? + puts "no such channel exists šŸ¤”" + elsif workspace.selected != nil + puts "you've selected a channel yay! 🄳" + end + + + when "details" + if workspace.selected.nil? + puts "please select a user or channel to get details on" + else + puts workspace.details_of + end + when "send message" + puts "what is your message?" + message = gets.chomp + until message != nil && message != "" + puts "enter your message" + message = gets.chomp + end + + if workspace.selected.nil? + puts "you must choose a channel or a user before you send a message" + elsif workspace.text_me(message) == false + puts "unable to send your message 🄺" + else + puts "your message has been succefully sent šŸ“Ø" + end + when "quit" + break + end + end + + puts "Thank you for using the Mair Bear's Slack CLI" end -main if __FILE__ == $PROGRAM_NAME \ No newline at end of file +main if __FILE__ == $PROGRAM_NAME diff --git a/lib/user.rb b/lib/user.rb new file mode 100644 index 00000000..40426d64 --- /dev/null +++ b/lib/user.rb @@ -0,0 +1,27 @@ +require_relative "recipient" + +class User < Recipient + attr_reader :real_name + + def initialize(name, slack_id, real_name) + super(name, slack_id) + @real_name = real_name + end + + def self.list_all + response = User.get("https://slack.com/api/users.list") + user_list = response["members"].map do |member| + User.new( + name = member["name"], + slack_id = member["id"], + real_name = member["real_name"] + ) + end + + return user_list + end + + def details + return "Slack name: #{name}\nSlack ID: #{slack_id}\nReal name: #{real_name}" + end +end diff --git a/lib/workspace.rb b/lib/workspace.rb new file mode 100644 index 00000000..ef1e900b --- /dev/null +++ b/lib/workspace.rb @@ -0,0 +1,39 @@ +require "httparty" +require_relative "channel" +require_relative "user" + +class Workspace + attr_reader :users, :channels, :selected + + def initialize + @users = User.list_all + @channels = Channel.list_all + @selected = nil + end + + def select_user(name_or_slack_id) + user = @users.find do |user| + user.name.downcase == name_or_slack_id.downcase || user.slack_id.downcase == name_or_slack_id.downcase + end + + @selected = user unless user == nil + end + + def select_channel(name_or_slack_id) + channel = @channels.find do |channel| + channel.name.downcase == name_or_slack_id.downcase || channel.slack_id.downcase == name_or_slack_id.downcase + end + + @selected = channel unless channel == nil + end + + def details_of + return @selected.details + end + + def text_me(message) + channel = @selected.slack_id + request = @selected.send_message(channel, message) + return false if request["ok"] == false + end +end diff --git a/test/cassettes/get_user.yml b/test/cassettes/get_user.yml new file mode 100644 index 00000000..c5dcdb5f --- /dev/null +++ b/test/cassettes/get_user.yml @@ -0,0 +1,84 @@ +--- +http_interactions: +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '633' + Connection: + - keep-alive + Date: + - Fri, 13 Mar 2020 23:22:33 GMT + Server: + - Apache + X-Slack-Req-Id: + - bb99d060d17861a27796afb9211bd777 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-lxhd + X-Cache: + - Miss from cloudfront + Via: + - 1.1 995664ee945c06fc706b5cb8e0e650dc.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - te2I7fjMKBSIwR0Uyqi90Z5EV022BVvb_fPoNRxT06Ml5P0jYD6-UA== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CV5GLCW12","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1583865622,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UV5GLBZT6","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TUVTGCG8H"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UV5GLBZT6","last_set":1583865622},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UV5GLBZT6","last_set":1583865622},"previous_names":[],"num_members":5},{"id":"CV5GLDJ9J","name":"slack-bot","is_channel":true,"is_group":false,"is_im":false,"created":1583865623,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-bot","is_shared":false,"parent_conversation":null,"creator":"UV5GLBZT6","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TUVTGCG8H"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"A + place for us to test our slack API projects","creator":"UV5GLBZT6","last_set":1583865752},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":5},{"id":"CV86RT7AS","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1583865622,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UV5GLBZT6","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TUVTGCG8H"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UV5GLBZT6","last_set":1583865622},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UV5GLBZT6","last_set":1583865622},"previous_names":[],"num_members":5}],"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Fri, 13 Mar 2020 23:22:33 GMT +recorded_with: VCR 5.1.0 diff --git a/test/cassettes/list_all_channels.yml b/test/cassettes/list_all_channels.yml new file mode 100644 index 00000000..9c3857aa --- /dev/null +++ b/test/cassettes/list_all_channels.yml @@ -0,0 +1,165 @@ +--- +http_interactions: +- request: + method: get + uri: https://slack.com/api/channels.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '598' + Connection: + - keep-alive + Date: + - Wed, 11 Mar 2020 23:22:52 GMT + Server: + - Apache + X-Slack-Req-Id: + - 5325afc0170ca58969bbf86bd507b277 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - channels:read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-4kab + X-Cache: + - Miss from cloudfront + Via: + - 1.1 62a7001a7a5cdae0c372f387ebcd07e5.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - ORD53-C1 + X-Amz-Cf-Id: + - '09HynqzH5LULCsPUh4kb0CuQKT_8JxBQr2Gg_HLFPJxm_Sb4nEJJ5w==' + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CV5GLCW12","name":"general","is_channel":true,"created":1583865622,"is_archived":false,"is_general":true,"unlinked":0,"creator":"UV5GLBZT6","name_normalized":"general","is_shared":false,"is_org_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"members":["UV5GLBZT6","UV60P4CMN","UV60Q76GG","UV64BM5QV","UV68KR96Z"],"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UV5GLBZT6","last_set":1583865622},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UV5GLBZT6","last_set":1583865622},"previous_names":[],"num_members":5},{"id":"CV5GLDJ9J","name":"slack-bot","is_channel":true,"created":1583865623,"is_archived":false,"is_general":false,"unlinked":0,"creator":"UV5GLBZT6","name_normalized":"slack-bot","is_shared":false,"is_org_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"members":["UV5GLBZT6","UV60P4CMN","UV60Q76GG","UV64BM5QV","UV68KR96Z"],"topic":{"value":"A + place for us to test our slack API projects","creator":"UV5GLBZT6","last_set":1583865752},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":5},{"id":"CV86RT7AS","name":"random","is_channel":true,"created":1583865622,"is_archived":false,"is_general":false,"unlinked":0,"creator":"UV5GLBZT6","name_normalized":"random","is_shared":false,"is_org_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"members":["UV5GLBZT6","UV60P4CMN","UV60Q76GG","UV64BM5QV","UV68KR96Z"],"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UV5GLBZT6","last_set":1583865622},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UV5GLBZT6","last_set":1583865622},"previous_names":[],"num_members":5}],"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Wed, 11 Mar 2020 23:22:52 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '633' + Connection: + - keep-alive + Date: + - Fri, 13 Mar 2020 22:38:55 GMT + Server: + - Apache + X-Slack-Req-Id: + - ee3a559444c889b4c01b3ffe05bcea3d + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-9vsr + X-Cache: + - Miss from cloudfront + Via: + - 1.1 9046e5a276a05e60ee34c8475e92b8e7.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - A5FN14ixqJhPkR9G2-jRVF_G_whrlAVS9jlcj9vObSTAQWWIb5yDOQ== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CV5GLCW12","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1583865622,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UV5GLBZT6","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TUVTGCG8H"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UV5GLBZT6","last_set":1583865622},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UV5GLBZT6","last_set":1583865622},"previous_names":[],"num_members":5},{"id":"CV5GLDJ9J","name":"slack-bot","is_channel":true,"is_group":false,"is_im":false,"created":1583865623,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-bot","is_shared":false,"parent_conversation":null,"creator":"UV5GLBZT6","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TUVTGCG8H"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"A + place for us to test our slack API projects","creator":"UV5GLBZT6","last_set":1583865752},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":5},{"id":"CV86RT7AS","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1583865622,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UV5GLBZT6","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TUVTGCG8H"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UV5GLBZT6","last_set":1583865622},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UV5GLBZT6","last_set":1583865622},"previous_names":[],"num_members":5}],"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Fri, 13 Mar 2020 22:38:55 GMT +recorded_with: VCR 5.1.0 diff --git a/test/cassettes/list_all_users.yml b/test/cassettes/list_all_users.yml new file mode 100644 index 00000000..c8aa37f6 --- /dev/null +++ b/test/cassettes/list_all_users.yml @@ -0,0 +1,258 @@ +--- +http_interactions: +- request: + method: get + uri: https://slack.com/api/users.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '1982' + Connection: + - keep-alive + Date: + - Fri, 13 Mar 2020 22:45:51 GMT + Server: + - Apache + X-Slack-Req-Id: + - 9a4a50b2d272bc6e2c59483b20ac5206 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - users:read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-4sfv + X-Cache: + - Miss from cloudfront + Via: + - 1.1 d8792dbd3191bbe722eba5b536b979c8.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - TsgEQH-QdJIosms2E8OsX7Md4dEgDXJ_qnmM42jr4XCSpTBWZRRsQw== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TUVTGCG8H","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Slackbot","real_name_normalized":"Slackbot","display_name":"Slackbot","display_name_normalized":"Slackbot","fields":null,"status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"sv41d8cd98f0","always_active":true,"first_name":"slackbot","last_name":"","image_24":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_24.png","image_32":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_32.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_72.png","image_192":"https:\/\/a.slack-edge.com\/80588\/marketing\/img\/avatars\/slackbot\/avatar-slackbot.png","image_512":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":0},{"id":"UUTB447GA","team_id":"TUVTGCG8H","name":"space_nikki_v_api_pro","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"space_nikki_v_api_pro","real_name_normalized":"space_nikki_v_api_pro","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g9f1f52862a3","api_app_id":"AV80E6U15","always_active":false,"bot_id":"BV80VFAF9","image_24":"https:\/\/secure.gravatar.com\/avatar\/9f1f52862a3fe88cf7cf0e3c592450a6.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/9f1f52862a3fe88cf7cf0e3c592450a6.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/9f1f52862a3fe88cf7cf0e3c592450a6.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/9f1f52862a3fe88cf7cf0e3c592450a6.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/9f1f52862a3fe88cf7cf0e3c592450a6.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/9f1f52862a3fe88cf7cf0e3c592450a6.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_bot":true,"is_app_user":false,"updated":1584039082},{"id":"UUTFEGX7U","team_id":"TUVTGCG8H","name":"time_vera_api_project","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"time_vera_api_project","real_name_normalized":"time_vera_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g3c93b95bac9","api_app_id":"AUTF5G9R8","always_active":false,"bot_id":"BV8561FMM","image_24":"https:\/\/secure.gravatar.com\/avatar\/3c93b95bac98de9661f70da4afca7db0.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0004-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/3c93b95bac98de9661f70da4afca7db0.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0004-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/3c93b95bac98de9661f70da4afca7db0.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0004-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/3c93b95bac98de9661f70da4afca7db0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0004-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/3c93b95bac98de9661f70da4afca7db0.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0004-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/3c93b95bac98de9661f70da4afca7db0.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0004-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_bot":true,"is_app_user":false,"updated":1583874337},{"id":"UUW8EPTR7","team_id":"TUVTGCG8H","name":"time_sharon_cheung_ap","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"time_sharon_cheung_ap","real_name_normalized":"time_sharon_cheung_ap","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g39da6f1a267","api_app_id":"AV6AZG6Q5","always_active":false,"bot_id":"BUTH5NWSW","image_24":"https:\/\/secure.gravatar.com\/avatar\/39da6f1a267bd9468d389bfaf9aad25f.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/39da6f1a267bd9468d389bfaf9aad25f.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/39da6f1a267bd9468d389bfaf9aad25f.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/39da6f1a267bd9468d389bfaf9aad25f.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/39da6f1a267bd9468d389bfaf9aad25f.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/39da6f1a267bd9468d389bfaf9aad25f.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_bot":true,"is_app_user":false,"updated":1584039172},{"id":"UUWNEB82F","team_id":"TUVTGCG8H","name":"time_emily_api_projec","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"time_emily_api_projec","real_name_normalized":"time_emily_api_projec","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ga34175d6590","api_app_id":"AVACSNPN2","always_active":false,"bot_id":"BV7NS2P1A","image_24":"https:\/\/secure.gravatar.com\/avatar\/a34175d6590715898809c47d3790c4fd.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/a34175d6590715898809c47d3790c4fd.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/a34175d6590715898809c47d3790c4fd.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/a34175d6590715898809c47d3790c4fd.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/a34175d6590715898809c47d3790c4fd.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/a34175d6590715898809c47d3790c4fd.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_bot":true,"is_app_user":false,"updated":1584039217},{"id":"UV5GLBZT6","team_id":"TUVTGCG8H","name":"e.anderson8977","deleted":false,"color":"9f69e7","real_name":"Emily + Cowan","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Emily + Cowan","real_name_normalized":"Emily Cowan","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g42c84c2e8ed","first_name":"Emily","last_name":"Cowan","image_24":"https:\/\/secure.gravatar.com\/avatar\/42c84c2e8ed03134c2c75a116cb2a8db.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/42c84c2e8ed03134c2c75a116cb2a8db.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/42c84c2e8ed03134c2c75a116cb2a8db.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/42c84c2e8ed03134c2c75a116cb2a8db.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/42c84c2e8ed03134c2c75a116cb2a8db.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/42c84c2e8ed03134c2c75a116cb2a8db.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_admin":true,"is_owner":true,"is_primary_owner":true,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583865695},{"id":"UV60P4CMN","team_id":"TUVTGCG8H","name":"keikei1128","deleted":false,"color":"4bbe2e","real_name":"Sharon + Cheung","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Sharon + Cheung","real_name_normalized":"Sharon Cheung","display_name":"Sharon Cheung","display_name_normalized":"Sharon + Cheung","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"247b75993584","image_original":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_original.jpg","is_custom_image":true,"image_24":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_24.jpg","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_32.jpg","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_48.jpg","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_72.jpg","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_192.jpg","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_512.jpg","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_1024.jpg","status_text_canonical":"","team":"TUVTGCG8H"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583865896},{"id":"UV60Q76GG","team_id":"TUVTGCG8H","name":"lizeth.veraro","deleted":false,"color":"e7392d","real_name":"Vera","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Vera","real_name_normalized":"Vera","display_name":"Vera","display_name_normalized":"Vera","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"220b824fa494","image_original":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_original.png","is_custom_image":true,"image_24":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_24.png","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_32.png","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_48.png","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_72.png","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_192.png","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_512.png","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_1024.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583872956},{"id":"UV64BM5QV","team_id":"TUVTGCG8H","name":"vnikki13","deleted":false,"color":"3c989f","real_name":"Nikki + Vaughan","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Nikki + Vaughan","real_name_normalized":"Nikki Vaughan","display_name":"Nikki Vaughan","display_name_normalized":"Nikki + Vaughan","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g9e7c278e8fd","image_24":"https:\/\/secure.gravatar.com\/avatar\/9e7c278e8fd688e7bbc3e08211fe9b4a.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/9e7c278e8fd688e7bbc3e08211fe9b4a.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/9e7c278e8fd688e7bbc3e08211fe9b4a.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/9e7c278e8fd688e7bbc3e08211fe9b4a.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/9e7c278e8fd688e7bbc3e08211fe9b4a.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/9e7c278e8fd688e7bbc3e08211fe9b4a.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583868664},{"id":"UV68KR96Z","team_id":"TUVTGCG8H","name":"mairheshmati","deleted":false,"color":"e96699","real_name":"Mair + Bear","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Mair + Bear","real_name_normalized":"Mair Bear","display_name":"Mair Bear","display_name_normalized":"Mair + Bear","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g93f8924e6f7","image_24":"https:\/\/secure.gravatar.com\/avatar\/93f8924e6f7526df1e523f881c3c13df.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0016-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/93f8924e6f7526df1e523f881c3c13df.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0016-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/93f8924e6f7526df1e523f881c3c13df.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0016-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/93f8924e6f7526df1e523f881c3c13df.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0016-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/93f8924e6f7526df1e523f881c3c13df.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0016-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/93f8924e6f7526df1e523f881c3c13df.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0016-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583872779,"has_2fa":false}],"cache_ts":1584139551,"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Fri, 13 Mar 2020 22:45:51 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '633' + Connection: + - keep-alive + Date: + - Fri, 13 Mar 2020 23:25:11 GMT + Server: + - Apache + X-Slack-Req-Id: + - 490291cce35a459a1bdd141d111d3541 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-zk2s + X-Cache: + - Miss from cloudfront + Via: + - 1.1 3cd7af07832481c336aa1c93c9b4a6fe.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - tjU_1ALos4A3hRbYHP4BjRlOyJJrJ-5ZXGfHWQhalvWItfbsxN-xcA== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CV5GLCW12","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1583865622,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UV5GLBZT6","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TUVTGCG8H"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UV5GLBZT6","last_set":1583865622},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UV5GLBZT6","last_set":1583865622},"previous_names":[],"num_members":5},{"id":"CV5GLDJ9J","name":"slack-bot","is_channel":true,"is_group":false,"is_im":false,"created":1583865623,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-bot","is_shared":false,"parent_conversation":null,"creator":"UV5GLBZT6","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TUVTGCG8H"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"A + place for us to test our slack API projects","creator":"UV5GLBZT6","last_set":1583865752},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":5},{"id":"CV86RT7AS","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1583865622,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UV5GLBZT6","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TUVTGCG8H"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UV5GLBZT6","last_set":1583865622},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UV5GLBZT6","last_set":1583865622},"previous_names":[],"num_members":5}],"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Fri, 13 Mar 2020 23:25:11 GMT +- request: + method: get + uri: https://slack.com/api/users.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '1983' + Connection: + - keep-alive + Date: + - Fri, 13 Mar 2020 23:27:23 GMT + Server: + - Apache + X-Slack-Req-Id: + - 047c4097ec175e63c5de958871f204b8 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - users:read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-ed8e + X-Cache: + - Miss from cloudfront + Via: + - 1.1 e66162aafd55b64ba1478ff7105150fb.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - ToWs7UydUUrM2PhrSzwsHmz4iWreLz9xpfXzIiAX-DcjXjCAXAc45g== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TUVTGCG8H","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Slackbot","real_name_normalized":"Slackbot","display_name":"Slackbot","display_name_normalized":"Slackbot","fields":null,"status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"sv41d8cd98f0","always_active":true,"first_name":"slackbot","last_name":"","image_24":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_24.png","image_32":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_32.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_72.png","image_192":"https:\/\/a.slack-edge.com\/80588\/marketing\/img\/avatars\/slackbot\/avatar-slackbot.png","image_512":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":0},{"id":"UUTB447GA","team_id":"TUVTGCG8H","name":"space_nikki_v_api_pro","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"space_nikki_v_api_pro","real_name_normalized":"space_nikki_v_api_pro","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g9f1f52862a3","api_app_id":"AV80E6U15","always_active":false,"bot_id":"BV80VFAF9","image_24":"https:\/\/secure.gravatar.com\/avatar\/9f1f52862a3fe88cf7cf0e3c592450a6.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/9f1f52862a3fe88cf7cf0e3c592450a6.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/9f1f52862a3fe88cf7cf0e3c592450a6.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/9f1f52862a3fe88cf7cf0e3c592450a6.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/9f1f52862a3fe88cf7cf0e3c592450a6.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/9f1f52862a3fe88cf7cf0e3c592450a6.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_bot":true,"is_app_user":false,"updated":1584039082},{"id":"UUTFEGX7U","team_id":"TUVTGCG8H","name":"time_vera_api_project","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"time_vera_api_project","real_name_normalized":"time_vera_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g3c93b95bac9","api_app_id":"AUTF5G9R8","always_active":false,"bot_id":"BV8561FMM","image_24":"https:\/\/secure.gravatar.com\/avatar\/3c93b95bac98de9661f70da4afca7db0.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0004-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/3c93b95bac98de9661f70da4afca7db0.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0004-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/3c93b95bac98de9661f70da4afca7db0.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0004-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/3c93b95bac98de9661f70da4afca7db0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0004-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/3c93b95bac98de9661f70da4afca7db0.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0004-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/3c93b95bac98de9661f70da4afca7db0.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0004-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_bot":true,"is_app_user":false,"updated":1583874337},{"id":"UUW8EPTR7","team_id":"TUVTGCG8H","name":"time_sharon_cheung_ap","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"time_sharon_cheung_ap","real_name_normalized":"time_sharon_cheung_ap","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g39da6f1a267","api_app_id":"AV6AZG6Q5","always_active":false,"bot_id":"BUTH5NWSW","image_24":"https:\/\/secure.gravatar.com\/avatar\/39da6f1a267bd9468d389bfaf9aad25f.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/39da6f1a267bd9468d389bfaf9aad25f.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/39da6f1a267bd9468d389bfaf9aad25f.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/39da6f1a267bd9468d389bfaf9aad25f.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/39da6f1a267bd9468d389bfaf9aad25f.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/39da6f1a267bd9468d389bfaf9aad25f.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_bot":true,"is_app_user":false,"updated":1584039172},{"id":"UUWNEB82F","team_id":"TUVTGCG8H","name":"time_emily_api_projec","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"time_emily_api_projec","real_name_normalized":"time_emily_api_projec","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ga34175d6590","api_app_id":"AVACSNPN2","always_active":false,"bot_id":"BV7NS2P1A","image_24":"https:\/\/secure.gravatar.com\/avatar\/a34175d6590715898809c47d3790c4fd.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/a34175d6590715898809c47d3790c4fd.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/a34175d6590715898809c47d3790c4fd.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/a34175d6590715898809c47d3790c4fd.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/a34175d6590715898809c47d3790c4fd.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/a34175d6590715898809c47d3790c4fd.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_bot":true,"is_app_user":false,"updated":1584039217},{"id":"UV5GLBZT6","team_id":"TUVTGCG8H","name":"e.anderson8977","deleted":false,"color":"9f69e7","real_name":"Emily + Cowan","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Emily + Cowan","real_name_normalized":"Emily Cowan","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g42c84c2e8ed","first_name":"Emily","last_name":"Cowan","image_24":"https:\/\/secure.gravatar.com\/avatar\/42c84c2e8ed03134c2c75a116cb2a8db.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/42c84c2e8ed03134c2c75a116cb2a8db.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/42c84c2e8ed03134c2c75a116cb2a8db.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/42c84c2e8ed03134c2c75a116cb2a8db.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/42c84c2e8ed03134c2c75a116cb2a8db.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/42c84c2e8ed03134c2c75a116cb2a8db.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_admin":true,"is_owner":true,"is_primary_owner":true,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583865695},{"id":"UV60P4CMN","team_id":"TUVTGCG8H","name":"keikei1128","deleted":false,"color":"4bbe2e","real_name":"Sharon + Cheung","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Sharon + Cheung","real_name_normalized":"Sharon Cheung","display_name":"Sharon Cheung","display_name_normalized":"Sharon + Cheung","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"247b75993584","image_original":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_original.jpg","is_custom_image":true,"image_24":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_24.jpg","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_32.jpg","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_48.jpg","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_72.jpg","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_192.jpg","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_512.jpg","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_1024.jpg","status_text_canonical":"","team":"TUVTGCG8H"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583865896},{"id":"UV60Q76GG","team_id":"TUVTGCG8H","name":"lizeth.veraro","deleted":false,"color":"e7392d","real_name":"Vera","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Vera","real_name_normalized":"Vera","display_name":"Vera","display_name_normalized":"Vera","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"220b824fa494","image_original":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_original.png","is_custom_image":true,"image_24":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_24.png","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_32.png","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_48.png","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_72.png","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_192.png","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_512.png","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_1024.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583872956},{"id":"UV64BM5QV","team_id":"TUVTGCG8H","name":"vnikki13","deleted":false,"color":"3c989f","real_name":"Nikki + Vaughan","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Nikki + Vaughan","real_name_normalized":"Nikki Vaughan","display_name":"Nikki Vaughan","display_name_normalized":"Nikki + Vaughan","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g9e7c278e8fd","image_24":"https:\/\/secure.gravatar.com\/avatar\/9e7c278e8fd688e7bbc3e08211fe9b4a.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/9e7c278e8fd688e7bbc3e08211fe9b4a.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/9e7c278e8fd688e7bbc3e08211fe9b4a.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/9e7c278e8fd688e7bbc3e08211fe9b4a.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/9e7c278e8fd688e7bbc3e08211fe9b4a.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/9e7c278e8fd688e7bbc3e08211fe9b4a.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583868664},{"id":"UV68KR96Z","team_id":"TUVTGCG8H","name":"mairheshmati","deleted":false,"color":"e96699","real_name":"Mair + Bear","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Mair + Bear","real_name_normalized":"Mair Bear","display_name":"Mair Bear","display_name_normalized":"Mair + Bear","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g93f8924e6f7","image_24":"https:\/\/secure.gravatar.com\/avatar\/93f8924e6f7526df1e523f881c3c13df.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0016-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/93f8924e6f7526df1e523f881c3c13df.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0016-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/93f8924e6f7526df1e523f881c3c13df.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0016-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/93f8924e6f7526df1e523f881c3c13df.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0016-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/93f8924e6f7526df1e523f881c3c13df.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0016-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/93f8924e6f7526df1e523f881c3c13df.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0016-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583872779,"has_2fa":false}],"cache_ts":1584142043,"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Fri, 13 Mar 2020 23:27:23 GMT +recorded_with: VCR 5.1.0 diff --git a/test/cassettes/send_message.yml b/test/cassettes/send_message.yml new file mode 100644 index 00000000..5c69edd5 --- /dev/null +++ b/test/cassettes/send_message.yml @@ -0,0 +1,322 @@ +--- +http_interactions: +- request: + method: get + uri: https://slack.com/api/users.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '2015' + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 17:31:32 GMT + Server: + - Apache + X-Slack-Req-Id: + - ffcf56e2679ee4c5a3aca645908ddbb2 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - users:read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-a0o8 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 824a5d9ed02451bcb68b15ae5991dce0.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - DEN50-C2 + X-Amz-Cf-Id: + - 9Mb_bu0fkUeWI4-Qh0jKG-uhqOYgoy3xXf_3l6MbrQtHaa1Ju1Trtw== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TUVTGCG8H","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Slackbot","real_name_normalized":"Slackbot","display_name":"Slackbot","display_name_normalized":"Slackbot","fields":null,"status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"sv41d8cd98f0","always_active":true,"first_name":"slackbot","last_name":"","image_24":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_24.png","image_32":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_32.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_72.png","image_192":"https:\/\/a.slack-edge.com\/80588\/marketing\/img\/avatars\/slackbot\/avatar-slackbot.png","image_512":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":0},{"id":"UUTB447GA","team_id":"TUVTGCG8H","name":"space_nikki_v_api_pro","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"space_nikki_v_api_pro","real_name_normalized":"space_nikki_v_api_pro","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g9f1f52862a3","api_app_id":"AV80E6U15","always_active":false,"bot_id":"BV80VFAF9","image_24":"https:\/\/secure.gravatar.com\/avatar\/9f1f52862a3fe88cf7cf0e3c592450a6.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/9f1f52862a3fe88cf7cf0e3c592450a6.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/9f1f52862a3fe88cf7cf0e3c592450a6.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/9f1f52862a3fe88cf7cf0e3c592450a6.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/9f1f52862a3fe88cf7cf0e3c592450a6.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/9f1f52862a3fe88cf7cf0e3c592450a6.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_bot":true,"is_app_user":false,"updated":1584039082},{"id":"UUTFEGX7U","team_id":"TUVTGCG8H","name":"time_vera_api_project","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"time_vera_api_project","real_name_normalized":"time_vera_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g3c93b95bac9","api_app_id":"AUTF5G9R8","always_active":false,"bot_id":"BV8561FMM","image_24":"https:\/\/secure.gravatar.com\/avatar\/3c93b95bac98de9661f70da4afca7db0.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0004-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/3c93b95bac98de9661f70da4afca7db0.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0004-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/3c93b95bac98de9661f70da4afca7db0.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0004-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/3c93b95bac98de9661f70da4afca7db0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0004-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/3c93b95bac98de9661f70da4afca7db0.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0004-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/3c93b95bac98de9661f70da4afca7db0.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0004-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_bot":true,"is_app_user":false,"updated":1583874337},{"id":"UUW8EPTR7","team_id":"TUVTGCG8H","name":"time_sharon_cheung_ap","deleted":false,"color":"684b6c","real_name":"time_sharon_cheung_ap","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_sharon_cheung_ap","real_name_normalized":"time_sharon_cheung_ap","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g39da6f1a267","api_app_id":"AV6AZG6Q5","always_active":false,"bot_id":"BUTH5NWSW","first_name":"time_sharon_cheung_ap","last_name":"","image_24":"https:\/\/secure.gravatar.com\/avatar\/39da6f1a267bd9468d389bfaf9aad25f.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/39da6f1a267bd9468d389bfaf9aad25f.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/39da6f1a267bd9468d389bfaf9aad25f.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/39da6f1a267bd9468d389bfaf9aad25f.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/39da6f1a267bd9468d389bfaf9aad25f.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/39da6f1a267bd9468d389bfaf9aad25f.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":false,"updated":1584372982},{"id":"UUWNEB82F","team_id":"TUVTGCG8H","name":"time_emily_api_projec","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"time_emily_api_projec","real_name_normalized":"time_emily_api_projec","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ga34175d6590","api_app_id":"AVACSNPN2","always_active":false,"bot_id":"BV7NS2P1A","first_name":"time_emily_api_projec","last_name":"","image_24":"https:\/\/secure.gravatar.com\/avatar\/a34175d6590715898809c47d3790c4fd.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/a34175d6590715898809c47d3790c4fd.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/a34175d6590715898809c47d3790c4fd.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/a34175d6590715898809c47d3790c4fd.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/a34175d6590715898809c47d3790c4fd.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/a34175d6590715898809c47d3790c4fd.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_bot":true,"is_app_user":false,"updated":1584314260},{"id":"UV5GLBZT6","team_id":"TUVTGCG8H","name":"e.anderson8977","deleted":false,"color":"9f69e7","real_name":"Emily + Cowan","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Emily + Cowan","real_name_normalized":"Emily Cowan","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g42c84c2e8ed","first_name":"Emily","last_name":"Cowan","image_24":"https:\/\/secure.gravatar.com\/avatar\/42c84c2e8ed03134c2c75a116cb2a8db.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/42c84c2e8ed03134c2c75a116cb2a8db.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/42c84c2e8ed03134c2c75a116cb2a8db.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/42c84c2e8ed03134c2c75a116cb2a8db.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/42c84c2e8ed03134c2c75a116cb2a8db.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/42c84c2e8ed03134c2c75a116cb2a8db.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_admin":true,"is_owner":true,"is_primary_owner":true,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583865695},{"id":"UV60P4CMN","team_id":"TUVTGCG8H","name":"keikei1128","deleted":false,"color":"4bbe2e","real_name":"Sharon + Cheung","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Sharon + Cheung","real_name_normalized":"Sharon Cheung","display_name":"Sharon Cheung","display_name_normalized":"Sharon + Cheung","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"247b75993584","image_original":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_original.jpg","is_custom_image":true,"image_24":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_24.jpg","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_32.jpg","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_48.jpg","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_72.jpg","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_192.jpg","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_512.jpg","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_1024.jpg","status_text_canonical":"","team":"TUVTGCG8H"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583865896},{"id":"UV60Q76GG","team_id":"TUVTGCG8H","name":"lizeth.veraro","deleted":false,"color":"e7392d","real_name":"Vera","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Vera","real_name_normalized":"Vera","display_name":"Vera","display_name_normalized":"Vera","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"220b824fa494","image_original":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_original.png","is_custom_image":true,"image_24":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_24.png","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_32.png","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_48.png","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_72.png","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_192.png","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_512.png","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_1024.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583872956},{"id":"UV64BM5QV","team_id":"TUVTGCG8H","name":"vnikki13","deleted":false,"color":"3c989f","real_name":"Nikki + Vaughan","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Nikki + Vaughan","real_name_normalized":"Nikki Vaughan","display_name":"Nikki Vaughan","display_name_normalized":"Nikki + Vaughan","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g9e7c278e8fd","image_24":"https:\/\/secure.gravatar.com\/avatar\/9e7c278e8fd688e7bbc3e08211fe9b4a.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/9e7c278e8fd688e7bbc3e08211fe9b4a.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/9e7c278e8fd688e7bbc3e08211fe9b4a.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/9e7c278e8fd688e7bbc3e08211fe9b4a.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/9e7c278e8fd688e7bbc3e08211fe9b4a.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/9e7c278e8fd688e7bbc3e08211fe9b4a.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583868664},{"id":"UV68KR96Z","team_id":"TUVTGCG8H","name":"mairheshmati","deleted":false,"color":"e96699","real_name":"Mair + Bear","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Mair + Bear","real_name_normalized":"Mair Bear","display_name":"Mair Bear","display_name_normalized":"Mair + Bear","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g93f8924e6f7","image_24":"https:\/\/secure.gravatar.com\/avatar\/93f8924e6f7526df1e523f881c3c13df.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0016-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/93f8924e6f7526df1e523f881c3c13df.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0016-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/93f8924e6f7526df1e523f881c3c13df.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0016-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/93f8924e6f7526df1e523f881c3c13df.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0016-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/93f8924e6f7526df1e523f881c3c13df.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0016-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/93f8924e6f7526df1e523f881c3c13df.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0016-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583872779,"has_2fa":false}],"cache_ts":1584379892,"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Mon, 16 Mar 2020 17:31:31 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '633' + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 17:31:33 GMT + Server: + - Apache + X-Slack-Req-Id: + - 67806e130c5ca687a9fe0fc90de05fb5 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-24dt + X-Cache: + - Miss from cloudfront + Via: + - 1.1 1e5c934b70471a41d2b61ae8c4abeb79.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - DEN50-C2 + X-Amz-Cf-Id: + - 6RU9K4cvbYKrEb0Qp7MkzauM-fSgLY8xqUyV9YWqMU_oNKC2I3-ipw== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CV5GLCW12","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1583865622,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UV5GLBZT6","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TUVTGCG8H"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UV5GLBZT6","last_set":1583865622},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UV5GLBZT6","last_set":1583865622},"previous_names":[],"num_members":5},{"id":"CV5GLDJ9J","name":"slack-bot","is_channel":true,"is_group":false,"is_im":false,"created":1583865623,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-bot","is_shared":false,"parent_conversation":null,"creator":"UV5GLBZT6","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TUVTGCG8H"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"A + place for us to test our slack API projects","creator":"UV5GLBZT6","last_set":1583865752},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":5},{"id":"CV86RT7AS","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1583865622,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UV5GLBZT6","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TUVTGCG8H"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UV5GLBZT6","last_set":1583865622},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UV5GLBZT6","last_set":1583865622},"previous_names":[],"num_members":5}],"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Mon, 16 Mar 2020 17:31:31 GMT +- request: + method: post + uri: https://slack.com/api/chat.postMessage?channel=UV68KR96Z&text=Hello%20world&token= + body: + encoding: UTF-8 + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '328' + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 17:31:33 GMT + Server: + - Apache + X-Slack-Req-Id: + - 341a5abc4bdbf60e8e865bc1d138e5cb + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - chat:write + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-hynk + X-Cache: + - Miss from cloudfront + Via: + - 1.1 6c02603f677dd5669f8ab3b41062340f.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - DEN50-C2 + X-Amz-Cf-Id: + - fjuvmpnJ-5RljgmIvGyr1APBnuiXnGXyTIFudVC0cEXZVwI-x8GZlg== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channel":"DV6815HCY","ts":"1584379893.000100","message":{"bot_id":"BUTFQ92TU","type":"message","text":"Hello + world","user":"UV68KR96Z","ts":"1584379893.000100","team":"TUVTGCG8H","bot_profile":{"id":"BUTFQ92TU","deleted":false,"name":"Time- + Mair- Slack CLI","updated":1583874192,"app_id":"AV68PR5G8","icons":{"image_36":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/bot_36.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/bot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/service_72.png"},"team_id":"TUVTGCG8H"}}}' + http_version: null + recorded_at: Mon, 16 Mar 2020 17:31:31 GMT +- request: + method: post + uri: https://slack.com/api/chat.postMessage?channel=UV68KR96Z&text=&token= + body: + encoding: UTF-8 + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '50' + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 17:53:18 GMT + Server: + - Apache + X-Slack-Req-Id: + - ec49502034cf164d2b6aca34c4885698 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - chat:write + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-7z9c + X-Cache: + - Miss from cloudfront + Via: + - 1.1 1e5c934b70471a41d2b61ae8c4abeb79.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - DEN50-C2 + X-Amz-Cf-Id: + - sSBNvfoCoo6aGGVFj4qOoLINBDVAaMtT39SfnbZ7xqoFvenJ5BzzFg== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"no_text"}' + http_version: null + recorded_at: Mon, 16 Mar 2020 17:53:18 GMT +recorded_with: VCR 5.1.0 diff --git a/test/cassettes/user_uses_self_get.yml b/test/cassettes/user_uses_self_get.yml new file mode 100644 index 00000000..e5afc5a4 --- /dev/null +++ b/test/cassettes/user_uses_self_get.yml @@ -0,0 +1,90 @@ +--- +http_interactions: +- request: + method: get + uri: https://slack.com/api/users.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '1982' + Connection: + - keep-alive + Date: + - Fri, 13 Mar 2020 22:38:55 GMT + Server: + - Apache + X-Slack-Req-Id: + - ec626485c202890d4391354bbf52d926 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - users:read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-g1md + X-Cache: + - Miss from cloudfront + Via: + - 1.1 3cd7af07832481c336aa1c93c9b4a6fe.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - UdmxPrjeetbX0xZ7Va92bx7r6BxnJt6gf-X9skkvVUQiVVfh8ZimHA== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TUVTGCG8H","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Slackbot","real_name_normalized":"Slackbot","display_name":"Slackbot","display_name_normalized":"Slackbot","fields":null,"status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"sv41d8cd98f0","always_active":true,"first_name":"slackbot","last_name":"","image_24":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_24.png","image_32":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_32.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_72.png","image_192":"https:\/\/a.slack-edge.com\/80588\/marketing\/img\/avatars\/slackbot\/avatar-slackbot.png","image_512":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":0},{"id":"UUTB447GA","team_id":"TUVTGCG8H","name":"space_nikki_v_api_pro","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"space_nikki_v_api_pro","real_name_normalized":"space_nikki_v_api_pro","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g9f1f52862a3","api_app_id":"AV80E6U15","always_active":false,"bot_id":"BV80VFAF9","image_24":"https:\/\/secure.gravatar.com\/avatar\/9f1f52862a3fe88cf7cf0e3c592450a6.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/9f1f52862a3fe88cf7cf0e3c592450a6.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/9f1f52862a3fe88cf7cf0e3c592450a6.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/9f1f52862a3fe88cf7cf0e3c592450a6.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/9f1f52862a3fe88cf7cf0e3c592450a6.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/9f1f52862a3fe88cf7cf0e3c592450a6.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_bot":true,"is_app_user":false,"updated":1584039082},{"id":"UUTFEGX7U","team_id":"TUVTGCG8H","name":"time_vera_api_project","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"time_vera_api_project","real_name_normalized":"time_vera_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g3c93b95bac9","api_app_id":"AUTF5G9R8","always_active":false,"bot_id":"BV8561FMM","image_24":"https:\/\/secure.gravatar.com\/avatar\/3c93b95bac98de9661f70da4afca7db0.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0004-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/3c93b95bac98de9661f70da4afca7db0.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0004-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/3c93b95bac98de9661f70da4afca7db0.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0004-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/3c93b95bac98de9661f70da4afca7db0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0004-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/3c93b95bac98de9661f70da4afca7db0.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0004-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/3c93b95bac98de9661f70da4afca7db0.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0004-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_bot":true,"is_app_user":false,"updated":1583874337},{"id":"UUW8EPTR7","team_id":"TUVTGCG8H","name":"time_sharon_cheung_ap","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"time_sharon_cheung_ap","real_name_normalized":"time_sharon_cheung_ap","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g39da6f1a267","api_app_id":"AV6AZG6Q5","always_active":false,"bot_id":"BUTH5NWSW","image_24":"https:\/\/secure.gravatar.com\/avatar\/39da6f1a267bd9468d389bfaf9aad25f.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/39da6f1a267bd9468d389bfaf9aad25f.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/39da6f1a267bd9468d389bfaf9aad25f.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/39da6f1a267bd9468d389bfaf9aad25f.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/39da6f1a267bd9468d389bfaf9aad25f.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/39da6f1a267bd9468d389bfaf9aad25f.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_bot":true,"is_app_user":false,"updated":1584039172},{"id":"UUWNEB82F","team_id":"TUVTGCG8H","name":"time_emily_api_projec","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"time_emily_api_projec","real_name_normalized":"time_emily_api_projec","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ga34175d6590","api_app_id":"AVACSNPN2","always_active":false,"bot_id":"BV7NS2P1A","image_24":"https:\/\/secure.gravatar.com\/avatar\/a34175d6590715898809c47d3790c4fd.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/a34175d6590715898809c47d3790c4fd.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/a34175d6590715898809c47d3790c4fd.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/a34175d6590715898809c47d3790c4fd.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/a34175d6590715898809c47d3790c4fd.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/a34175d6590715898809c47d3790c4fd.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_bot":true,"is_app_user":false,"updated":1584039217},{"id":"UV5GLBZT6","team_id":"TUVTGCG8H","name":"e.anderson8977","deleted":false,"color":"9f69e7","real_name":"Emily + Cowan","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Emily + Cowan","real_name_normalized":"Emily Cowan","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g42c84c2e8ed","first_name":"Emily","last_name":"Cowan","image_24":"https:\/\/secure.gravatar.com\/avatar\/42c84c2e8ed03134c2c75a116cb2a8db.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/42c84c2e8ed03134c2c75a116cb2a8db.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/42c84c2e8ed03134c2c75a116cb2a8db.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/42c84c2e8ed03134c2c75a116cb2a8db.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/42c84c2e8ed03134c2c75a116cb2a8db.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/42c84c2e8ed03134c2c75a116cb2a8db.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_admin":true,"is_owner":true,"is_primary_owner":true,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583865695},{"id":"UV60P4CMN","team_id":"TUVTGCG8H","name":"keikei1128","deleted":false,"color":"4bbe2e","real_name":"Sharon + Cheung","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Sharon + Cheung","real_name_normalized":"Sharon Cheung","display_name":"Sharon Cheung","display_name_normalized":"Sharon + Cheung","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"247b75993584","image_original":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_original.jpg","is_custom_image":true,"image_24":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_24.jpg","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_32.jpg","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_48.jpg","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_72.jpg","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_192.jpg","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_512.jpg","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_1024.jpg","status_text_canonical":"","team":"TUVTGCG8H"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583865896},{"id":"UV60Q76GG","team_id":"TUVTGCG8H","name":"lizeth.veraro","deleted":false,"color":"e7392d","real_name":"Vera","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Vera","real_name_normalized":"Vera","display_name":"Vera","display_name_normalized":"Vera","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"220b824fa494","image_original":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_original.png","is_custom_image":true,"image_24":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_24.png","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_32.png","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_48.png","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_72.png","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_192.png","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_512.png","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_1024.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583872956},{"id":"UV64BM5QV","team_id":"TUVTGCG8H","name":"vnikki13","deleted":false,"color":"3c989f","real_name":"Nikki + Vaughan","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Nikki + Vaughan","real_name_normalized":"Nikki Vaughan","display_name":"Nikki Vaughan","display_name_normalized":"Nikki + Vaughan","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g9e7c278e8fd","image_24":"https:\/\/secure.gravatar.com\/avatar\/9e7c278e8fd688e7bbc3e08211fe9b4a.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/9e7c278e8fd688e7bbc3e08211fe9b4a.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/9e7c278e8fd688e7bbc3e08211fe9b4a.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/9e7c278e8fd688e7bbc3e08211fe9b4a.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/9e7c278e8fd688e7bbc3e08211fe9b4a.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/9e7c278e8fd688e7bbc3e08211fe9b4a.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583868664},{"id":"UV68KR96Z","team_id":"TUVTGCG8H","name":"mairheshmati","deleted":false,"color":"e96699","real_name":"Mair + Bear","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Mair + Bear","real_name_normalized":"Mair Bear","display_name":"Mair Bear","display_name_normalized":"Mair + Bear","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g93f8924e6f7","image_24":"https:\/\/secure.gravatar.com\/avatar\/93f8924e6f7526df1e523f881c3c13df.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0016-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/93f8924e6f7526df1e523f881c3c13df.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0016-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/93f8924e6f7526df1e523f881c3c13df.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0016-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/93f8924e6f7526df1e523f881c3c13df.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0016-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/93f8924e6f7526df1e523f881c3c13df.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0016-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/93f8924e6f7526df1e523f881c3c13df.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0016-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583872779,"has_2fa":false}],"cache_ts":1584139135,"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Fri, 13 Mar 2020 22:38:55 GMT +recorded_with: VCR 5.1.0 diff --git a/test/cassettes/uses_get_url.yml b/test/cassettes/uses_get_url.yml new file mode 100644 index 00000000..fce89177 --- /dev/null +++ b/test/cassettes/uses_get_url.yml @@ -0,0 +1,171 @@ +--- +http_interactions: +- request: + method: get + uri: https://slack.com/api/users.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '1982' + Connection: + - keep-alive + Date: + - Fri, 13 Mar 2020 23:44:39 GMT + Server: + - Apache + X-Slack-Req-Id: + - 20fbd6f15d7311cf4f60c8de32bc2987 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - users:read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-1pft + X-Cache: + - Miss from cloudfront + Via: + - 1.1 995664ee945c06fc706b5cb8e0e650dc.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - t5tFh7B-rxeaWl1OSzUXjWpkTNY83gV5uPI4ihe_3M1ivP036BNyug== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TUVTGCG8H","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Slackbot","real_name_normalized":"Slackbot","display_name":"Slackbot","display_name_normalized":"Slackbot","fields":null,"status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"sv41d8cd98f0","always_active":true,"first_name":"slackbot","last_name":"","image_24":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_24.png","image_32":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_32.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_72.png","image_192":"https:\/\/a.slack-edge.com\/80588\/marketing\/img\/avatars\/slackbot\/avatar-slackbot.png","image_512":"https:\/\/a.slack-edge.com\/80588\/img\/slackbot_512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":0},{"id":"UUTB447GA","team_id":"TUVTGCG8H","name":"space_nikki_v_api_pro","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"space_nikki_v_api_pro","real_name_normalized":"space_nikki_v_api_pro","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g9f1f52862a3","api_app_id":"AV80E6U15","always_active":false,"bot_id":"BV80VFAF9","image_24":"https:\/\/secure.gravatar.com\/avatar\/9f1f52862a3fe88cf7cf0e3c592450a6.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/9f1f52862a3fe88cf7cf0e3c592450a6.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/9f1f52862a3fe88cf7cf0e3c592450a6.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/9f1f52862a3fe88cf7cf0e3c592450a6.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/9f1f52862a3fe88cf7cf0e3c592450a6.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/9f1f52862a3fe88cf7cf0e3c592450a6.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_bot":true,"is_app_user":false,"updated":1584039082},{"id":"UUTFEGX7U","team_id":"TUVTGCG8H","name":"time_vera_api_project","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"time_vera_api_project","real_name_normalized":"time_vera_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g3c93b95bac9","api_app_id":"AUTF5G9R8","always_active":false,"bot_id":"BV8561FMM","image_24":"https:\/\/secure.gravatar.com\/avatar\/3c93b95bac98de9661f70da4afca7db0.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0004-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/3c93b95bac98de9661f70da4afca7db0.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0004-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/3c93b95bac98de9661f70da4afca7db0.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0004-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/3c93b95bac98de9661f70da4afca7db0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0004-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/3c93b95bac98de9661f70da4afca7db0.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0004-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/3c93b95bac98de9661f70da4afca7db0.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0004-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_bot":true,"is_app_user":false,"updated":1583874337},{"id":"UUW8EPTR7","team_id":"TUVTGCG8H","name":"time_sharon_cheung_ap","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"time_sharon_cheung_ap","real_name_normalized":"time_sharon_cheung_ap","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g39da6f1a267","api_app_id":"AV6AZG6Q5","always_active":false,"bot_id":"BUTH5NWSW","image_24":"https:\/\/secure.gravatar.com\/avatar\/39da6f1a267bd9468d389bfaf9aad25f.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/39da6f1a267bd9468d389bfaf9aad25f.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/39da6f1a267bd9468d389bfaf9aad25f.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/39da6f1a267bd9468d389bfaf9aad25f.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/39da6f1a267bd9468d389bfaf9aad25f.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/39da6f1a267bd9468d389bfaf9aad25f.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0019-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_bot":true,"is_app_user":false,"updated":1584039172},{"id":"UUWNEB82F","team_id":"TUVTGCG8H","name":"time_emily_api_projec","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"time_emily_api_projec","real_name_normalized":"time_emily_api_projec","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ga34175d6590","api_app_id":"AVACSNPN2","always_active":false,"bot_id":"BV7NS2P1A","image_24":"https:\/\/secure.gravatar.com\/avatar\/a34175d6590715898809c47d3790c4fd.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/a34175d6590715898809c47d3790c4fd.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/a34175d6590715898809c47d3790c4fd.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/a34175d6590715898809c47d3790c4fd.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/a34175d6590715898809c47d3790c4fd.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/a34175d6590715898809c47d3790c4fd.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_bot":true,"is_app_user":false,"updated":1584039217},{"id":"UV5GLBZT6","team_id":"TUVTGCG8H","name":"e.anderson8977","deleted":false,"color":"9f69e7","real_name":"Emily + Cowan","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Emily + Cowan","real_name_normalized":"Emily Cowan","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g42c84c2e8ed","first_name":"Emily","last_name":"Cowan","image_24":"https:\/\/secure.gravatar.com\/avatar\/42c84c2e8ed03134c2c75a116cb2a8db.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/42c84c2e8ed03134c2c75a116cb2a8db.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/42c84c2e8ed03134c2c75a116cb2a8db.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/42c84c2e8ed03134c2c75a116cb2a8db.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/42c84c2e8ed03134c2c75a116cb2a8db.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/42c84c2e8ed03134c2c75a116cb2a8db.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_admin":true,"is_owner":true,"is_primary_owner":true,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583865695},{"id":"UV60P4CMN","team_id":"TUVTGCG8H","name":"keikei1128","deleted":false,"color":"4bbe2e","real_name":"Sharon + Cheung","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Sharon + Cheung","real_name_normalized":"Sharon Cheung","display_name":"Sharon Cheung","display_name_normalized":"Sharon + Cheung","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"247b75993584","image_original":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_original.jpg","is_custom_image":true,"image_24":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_24.jpg","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_32.jpg","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_48.jpg","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_72.jpg","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_192.jpg","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_512.jpg","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-10\/981944386785_247b7599358427ae6a7f_1024.jpg","status_text_canonical":"","team":"TUVTGCG8H"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583865896},{"id":"UV60Q76GG","team_id":"TUVTGCG8H","name":"lizeth.veraro","deleted":false,"color":"e7392d","real_name":"Vera","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Vera","real_name_normalized":"Vera","display_name":"Vera","display_name_normalized":"Vera","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"220b824fa494","image_original":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_original.png","is_custom_image":true,"image_24":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_24.png","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_32.png","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_48.png","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_72.png","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_192.png","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_512.png","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-10\/994142975895_220b824fa49458c4473f_1024.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583872956},{"id":"UV64BM5QV","team_id":"TUVTGCG8H","name":"vnikki13","deleted":false,"color":"3c989f","real_name":"Nikki + Vaughan","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Nikki + Vaughan","real_name_normalized":"Nikki Vaughan","display_name":"Nikki Vaughan","display_name_normalized":"Nikki + Vaughan","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g9e7c278e8fd","image_24":"https:\/\/secure.gravatar.com\/avatar\/9e7c278e8fd688e7bbc3e08211fe9b4a.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/9e7c278e8fd688e7bbc3e08211fe9b4a.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/9e7c278e8fd688e7bbc3e08211fe9b4a.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/9e7c278e8fd688e7bbc3e08211fe9b4a.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/9e7c278e8fd688e7bbc3e08211fe9b4a.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/9e7c278e8fd688e7bbc3e08211fe9b4a.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583868664},{"id":"UV68KR96Z","team_id":"TUVTGCG8H","name":"mairheshmati","deleted":false,"color":"e96699","real_name":"Mair + Bear","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Mair + Bear","real_name_normalized":"Mair Bear","display_name":"Mair Bear","display_name_normalized":"Mair + Bear","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g93f8924e6f7","image_24":"https:\/\/secure.gravatar.com\/avatar\/93f8924e6f7526df1e523f881c3c13df.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0016-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/93f8924e6f7526df1e523f881c3c13df.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0016-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/93f8924e6f7526df1e523f881c3c13df.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0016-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/93f8924e6f7526df1e523f881c3c13df.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0016-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/93f8924e6f7526df1e523f881c3c13df.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0016-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/93f8924e6f7526df1e523f881c3c13df.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0016-512.png","status_text_canonical":"","team":"TUVTGCG8H"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":false,"is_app_user":false,"updated":1583872779,"has_2fa":false}],"cache_ts":1584143079,"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Fri, 13 Mar 2020 23:44:39 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '633' + Connection: + - keep-alive + Date: + - Fri, 13 Mar 2020 23:44:39 GMT + Server: + - Apache + X-Slack-Req-Id: + - f710bb3c2862fdc6ec78e749a87c49a2 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-itvd + X-Cache: + - Miss from cloudfront + Via: + - 1.1 44cd593d82a2d200a94217033c614c6a.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - qYBD4gOicqD90xq8Pji2VxqZgXoddyCpOT3vR5_cvMrlHUyM7E-cVA== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CV5GLCW12","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1583865622,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UV5GLBZT6","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TUVTGCG8H"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UV5GLBZT6","last_set":1583865622},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UV5GLBZT6","last_set":1583865622},"previous_names":[],"num_members":5},{"id":"CV5GLDJ9J","name":"slack-bot","is_channel":true,"is_group":false,"is_im":false,"created":1583865623,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-bot","is_shared":false,"parent_conversation":null,"creator":"UV5GLBZT6","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TUVTGCG8H"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"A + place for us to test our slack API projects","creator":"UV5GLBZT6","last_set":1583865752},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":5},{"id":"CV86RT7AS","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1583865622,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UV5GLBZT6","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TUVTGCG8H"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UV5GLBZT6","last_set":1583865622},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UV5GLBZT6","last_set":1583865622},"previous_names":[],"num_members":5}],"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Fri, 13 Mar 2020 23:44:40 GMT +recorded_with: VCR 5.1.0 diff --git a/test/cassettes/uses_get_url_.yml b/test/cassettes/uses_get_url_.yml new file mode 100644 index 00000000..2d02f19c --- /dev/null +++ b/test/cassettes/uses_get_url_.yml @@ -0,0 +1,165 @@ +--- +http_interactions: +- request: + method: get + uri: https://slack.com/api/channels.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '598' + Connection: + - keep-alive + Date: + - Wed, 11 Mar 2020 21:18:48 GMT + Server: + - Apache + X-Slack-Req-Id: + - b51ed5f96b56ec0cc57403c7edc03487 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - channels:read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-xy1y + X-Cache: + - Miss from cloudfront + Via: + - 1.1 5838e45b12e9f614d10d25d52f72cdab.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - ORD53-C1 + X-Amz-Cf-Id: + - i9t6fGuVal2_mzP6_OGG6l2khQsUwIFvEs9ou1VvPrW0PG0ddbkwBw== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CV5GLCW12","name":"general","is_channel":true,"created":1583865622,"is_archived":false,"is_general":true,"unlinked":0,"creator":"UV5GLBZT6","name_normalized":"general","is_shared":false,"is_org_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"members":["UV5GLBZT6","UV64BM5QV","UV68KR96Z","UV60Q76GG","UV60P4CMN"],"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UV5GLBZT6","last_set":1583865622},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UV5GLBZT6","last_set":1583865622},"previous_names":[],"num_members":5},{"id":"CV5GLDJ9J","name":"slack-bot","is_channel":true,"created":1583865623,"is_archived":false,"is_general":false,"unlinked":0,"creator":"UV5GLBZT6","name_normalized":"slack-bot","is_shared":false,"is_org_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"members":["UV5GLBZT6","UV64BM5QV","UV68KR96Z","UV60Q76GG","UV60P4CMN"],"topic":{"value":"A + place for us to test our slack API projects","creator":"UV5GLBZT6","last_set":1583865752},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":5},{"id":"CV86RT7AS","name":"random","is_channel":true,"created":1583865622,"is_archived":false,"is_general":false,"unlinked":0,"creator":"UV5GLBZT6","name_normalized":"random","is_shared":false,"is_org_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"members":["UV5GLBZT6","UV64BM5QV","UV68KR96Z","UV60Q76GG","UV60P4CMN"],"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UV5GLBZT6","last_set":1583865622},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UV5GLBZT6","last_set":1583865622},"previous_names":[],"num_members":5}],"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Wed, 11 Mar 2020 21:18:48 GMT +- request: + method: get + uri: https://slack.com/api/conversations.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '633' + Connection: + - keep-alive + Date: + - Fri, 13 Mar 2020 22:38:55 GMT + Server: + - Apache + X-Slack-Req-Id: + - 6476af33272a45761a19004c0d445733 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - channels:read,groups:read,mpim:read,im:read,read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-1tez + X-Cache: + - Miss from cloudfront + Via: + - 1.1 814362d7589b223cc8927cc821d97136.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - uCIaugSiuPGU5w_flZdbUsioCymlhQwcf-SAvGfSsV0Ot_WtnL9bYg== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CV5GLCW12","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1583865622,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UV5GLBZT6","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TUVTGCG8H"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UV5GLBZT6","last_set":1583865622},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UV5GLBZT6","last_set":1583865622},"previous_names":[],"num_members":5},{"id":"CV5GLDJ9J","name":"slack-bot","is_channel":true,"is_group":false,"is_im":false,"created":1583865623,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-bot","is_shared":false,"parent_conversation":null,"creator":"UV5GLBZT6","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TUVTGCG8H"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"A + place for us to test our slack API projects","creator":"UV5GLBZT6","last_set":1583865752},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":5},{"id":"CV86RT7AS","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1583865622,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UV5GLBZT6","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TUVTGCG8H"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UV5GLBZT6","last_set":1583865622},"purpose":{"value":"A + place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber + you''d prefer to keep out of more focused work-related channels.","creator":"UV5GLBZT6","last_set":1583865622},"previous_names":[],"num_members":5}],"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Fri, 13 Mar 2020 22:38:55 GMT +recorded_with: VCR 5.1.0 diff --git a/test/channel_test.rb b/test/channel_test.rb new file mode 100644 index 00000000..d0fca6d4 --- /dev/null +++ b/test/channel_test.rb @@ -0,0 +1,55 @@ +require_relative "test_helper" +describe "channel" do + describe "self.get" do + before do + VCR.use_cassette("get_user") do + @url = "https://slack.com/api/conversations.list" + @response = Channel.get(@url) + end + end + it "Uses .get method from the Recipient to get a channel object containing information about workspace channel" do + expect(@response).must_be_instance_of HTTParty::Response + expect(@response.code).must_equal 200 + end + + it "Should raise an Exception if the API search fails" do + url = "" + expect { Channel.get(url) }.must_raise Exception + end + #this is dependent on Slacks api + it "Should return a list of all channels within the workspace" do + expect(@response.parsed_response).must_be_kind_of Hash + expect(@response["channels"].length).must_equal 3 + end + it "Should have correct info for the first channel" do + expect(@response["channels"][0]["name"]).must_equal "general" + expect(@response["channels"][0]["id"]).must_equal "CV5GLCW12" + expect(@response["channels"][0]["topic"]["value"]).must_equal "Company-wide announcements and work-based matters" + expect(@response["channels"][0]["num_members"]).must_equal 5 + end + it "Should have the correct info for the last channel" do + expect(@response["channels"][-1]["name"]).must_equal "random" + expect(@response["channels"][-1]["id"]).must_equal "CV86RT7AS" + expect(@response["channels"][-1]["topic"]["value"]).must_equal "Non-work banter and water cooler conversation" + expect(@response["channels"][-1]["num_members"]).must_equal 5 + end + end + describe "list_all and details" do + before do + VCR.use_cassette("list_all_channels") do + @channel_list = Channel.list_all + @channel_details = @channel_list[0].details + end + end + it "Should return an array of Channel objects" do + expect(@channel_list).must_be_kind_of Array + expect(@channel_list.length).must_be :>, 0 + @channel_list.each do |channel| + expect(channel).must_be_instance_of Channel + end + end + it "Details should return a string containing details for Channel" do + expect(@channel_details).must_be_instance_of String + end + end +end diff --git a/test/test_helper.rb b/test/test_helper.rb index 1fcf2bab..339b1b04 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -1,13 +1,12 @@ -require 'simplecov' -SimpleCov.start do - add_filter 'test/' -end - -require 'minitest' -require 'minitest/autorun' -require 'minitest/reporters' -require 'minitest/skip_dsl' -require 'vcr' +require "minitest" +require "minitest/autorun" +require "minitest/reporters" +require "minitest/skip_dsl" +require "vcr" +require_relative "../lib/workspace" +require_relative "../lib/recipient" +require_relative "../lib/channel" +require_relative "../lib/user" Minitest::Reporters.use! Minitest::Reporters::SpecReporter.new @@ -25,5 +24,7 @@ } # Don't leave our token lying around in a cassette file. - + config.filter_sensitive_data("") do + ENV["SLACK_TOKEN"] + end end diff --git a/test/user_test.rb b/test/user_test.rb new file mode 100644 index 00000000..ec3f8c50 --- /dev/null +++ b/test/user_test.rb @@ -0,0 +1,39 @@ +require_relative "test_helper" + +describe "User" do + describe "self.get" do + before do + VCR.use_cassette("user_uses_self.get") do + @url = "https://slack.com/api/users.list" + @response = User.get(@url) + end + end + it "Uses self.get from the Recipient to get User object containing information about user profile" do + expect(@response).must_be_instance_of HTTParty::Response + expect(@response.code).must_equal 200 + expect(@response["ok"]).must_equal true + end + it "Should raise an Exception when the API call fails" do + url = "" + expect { User.get(url) }.must_raise Exception + end + end + describe "list_all and details" do + before do + VCR.use_cassette("list_all_users") do + @user_list = User.list_all + @user_details = @user_list[0].details + end + end + it "Should return an array of User objects" do + expect(@user_list).must_be_kind_of Array + expect(@user_list.length).must_be :>, 0 + @user_list.each do |user| + expect(user).must_be_instance_of User + end + end + it "Details should return a string containing details of User" do + expect(@user_details).must_be_kind_of String + end + end +end diff --git a/test/workspace_test.rb b/test/workspace_test.rb new file mode 100644 index 00000000..5ae035ca --- /dev/null +++ b/test/workspace_test.rb @@ -0,0 +1,125 @@ +require_relative "test_helper" + +describe "Workspace" do + it "Workspace has a list of users and channels" do + VCR.use_cassette("list_all_users") do + workspace = Workspace.new + expect(workspace.users).must_be_kind_of Array + expect(workspace.users[0]).must_be_instance_of User + expect(workspace.channels).must_be_kind_of Array + expect(workspace.channels[0]).must_be_instance_of Channel + expect(workspace.selected).must_be_nil + end + end + + describe "select_user" do + it "Should return user when given the user name" do + VCR.use_cassette("list_all_users") do + workspace = Workspace.new + my_user = "mairheshmati" + selection = workspace.select_user(my_user) + expect(selection).must_be_instance_of User + expect(selection.name).must_equal "mairheshmati" + expect(selection.slack_id).must_equal "UV68KR96Z" + expect(selection.real_name).must_equal "Mair Bear" + end + end + it "Should return user when given the slack ID" do + VCR.use_cassette("list_all_users") do + workspace = Workspace.new + my_slack_id = "UV64BM5QV" + selection = workspace.select_user(my_slack_id) + expect(selection).must_be_instance_of User + expect(selection.name).must_equal "vnikki13" + expect(selection.slack_id).must_equal "UV64BM5QV" + expect(selection.real_name).must_equal "Nikki Vaughan" + end + end + it "Should return nil if no such User exists" do + VCR.use_cassette("list_all_users") do + workspace = Workspace.new + bogus_slack_name = "but why" + selection = workspace.select_user(bogus_slack_name) + expect(selection).must_be_nil + end + end + it "Should assign that user as selected" do + VCR.use_cassette("list_all_users") do + workspace = Workspace.new + my_user = "mairheshmati" + workspace.select_user(my_user) + expect(workspace.selected).must_be_instance_of User + end + end + end + describe "select_channel" do + it "Should return channel when given channel name" do + VCR.use_cassette("uses_get_url") do + workspace = Workspace.new + my_channel = "general" + selection = workspace.select_channel(my_channel) + expect(selection).must_be_instance_of Channel + expect(selection.name).must_equal "general" + expect(selection.slack_id).must_equal "CV5GLCW12" + expect(selection.topic).must_equal "Company-wide announcements and work-based matters" + expect(selection.member_count).must_equal 5 + end + end + it "Should return channel when given channel slack ID" do + VCR.use_cassette("uses_get_url") do + workspace = Workspace.new + my_channel_id = "CV5GLDJ9J" + selection = workspace.select_channel(my_channel_id) + expect(selection).must_be_instance_of Channel + expect(selection.name).must_equal "slack-bot" + expect(selection.slack_id).must_equal my_channel_id + expect(selection.topic).must_equal "A place for us to test our slack API projects" + expect(selection.member_count).must_equal 5 + end + end + it "Should return nil if no such channel exists" do + VCR.use_cassette("uses_get_url") do + workspace = Workspace.new + bogus_channel = "part people?" + selection = workspace.select_channel(bogus_channel) + expect(selection).must_be_nil + end + end + it "should assign that channel as selected" do + VCR.use_cassette("uses_get_url") do + workspace = Workspace.new + my_channel = "general" + workspace.select_channel(my_channel) + expect(workspace.selected).must_be_instance_of Channel + end + end + end + describe "details_of" do + it "Should return the selected item's details/attributes" do + VCR.use_cassette("uses_get_url") do + workspace = Workspace.new + workspace.select_user("mairheshmati") + my_details = workspace.details_of + expect(my_details).must_equal "Slack name: mairheshmati\nSlack ID: UV68KR96Z\nReal name: Mair Bear" + end + end + end + describe "text_me" do + it "Should send a HTTParty post request to send a message" do + VCR.use_cassette("send_message") do + workspace = Workspace.new + selected = workspace.select_user("mairheshmati") + request = workspace.text_me("Hello world") + + expect(request).wont_equal false + end + end + it "Should raise an Exception when no message and/or no channel is given" do + VCR.use_cassette("send_message") do + workspace = Workspace.new + selected = nil + expect { selected.send_message(nil, "hello world") }.must_raise Exception + end + end + end +end