From 013adc4d51287fd9b04f45f65200e61a5ead5333 Mon Sep 17 00:00:00 2001 From: thenora Date: Tue, 10 Mar 2020 19:00:00 -0700 Subject: [PATCH 01/33] setup --- lib/channel.rb | 0 lib/recipient.rb | 0 lib/slack.rb | 6 +++++- lib/user.rb | 0 lib/workspace.rb | 11 +++++++++++ test/channel_test.rb | 3 +++ test/recipient_test.rb | 1 + test/slack_test.rb | 3 +++ test/test_helper.rb | 4 ++++ test/user_test.rb | 4 ++++ test/workspace_test.rb | 1 + 11 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 lib/channel.rb create mode 100644 lib/recipient.rb create mode 100644 lib/user.rb create mode 100644 lib/workspace.rb create mode 100644 test/channel_test.rb create mode 100644 test/recipient_test.rb create mode 100644 test/slack_test.rb create mode 100644 test/user_test.rb create mode 100644 test/workspace_test.rb diff --git a/lib/channel.rb b/lib/channel.rb new file mode 100644 index 00000000..e69de29b diff --git a/lib/recipient.rb b/lib/recipient.rb new file mode 100644 index 00000000..e69de29b diff --git a/lib/slack.rb b/lib/slack.rb index 8a0b659b..2caad501 100755 --- a/lib/slack.rb +++ b/lib/slack.rb @@ -1,4 +1,5 @@ #!/usr/bin/env ruby +require_relative "workspace" def main puts "Welcome to the Ada Slack CLI!" @@ -9,4 +10,7 @@ def main puts "Thank you for using the Ada Slack CLI" end -main if __FILE__ == $PROGRAM_NAME \ No newline at end of file + +# The slack.rb file should not create, call, or use the User, Channel, or Recipient classes at all. The slack.rb file should mainly be interacting with the instance of Workspace created in the line workspace = Workspace.new. All User-related information that slack.rb receives should be returned from calling a method defined in the Workspace class. + +main if __FILE__ == $PROGRAM_NAME diff --git a/lib/user.rb b/lib/user.rb new file mode 100644 index 00000000..e69de29b diff --git a/lib/workspace.rb b/lib/workspace.rb new file mode 100644 index 00000000..629aac6c --- /dev/null +++ b/lib/workspace.rb @@ -0,0 +1,11 @@ +class Workspace +attr_reader :users, :channels + + +def initialize +@users = [] +@channels = [] +end + + +end \ No newline at end of file diff --git a/test/channel_test.rb b/test/channel_test.rb new file mode 100644 index 00000000..3dfb697e --- /dev/null +++ b/test/channel_test.rb @@ -0,0 +1,3 @@ +require_relative 'test_helper' + +# Any tests involving a Channel should use the #random channel diff --git a/test/recipient_test.rb b/test/recipient_test.rb new file mode 100644 index 00000000..e0090394 --- /dev/null +++ b/test/recipient_test.rb @@ -0,0 +1 @@ +require_relative 'test_helper' diff --git a/test/slack_test.rb b/test/slack_test.rb new file mode 100644 index 00000000..b81c86b9 --- /dev/null +++ b/test/slack_test.rb @@ -0,0 +1,3 @@ +require_relative 'test_helper' + + diff --git a/test/test_helper.rb b/test/test_helper.rb index 1fcf2bab..221c6a02 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -25,5 +25,9 @@ } # Don't leave our token lying around in a cassette file. + config.filter_sensitive_data("") do + ENV["SLACKAPI_TOKEN"] + end + end diff --git a/test/user_test.rb b/test/user_test.rb new file mode 100644 index 00000000..fbc58b65 --- /dev/null +++ b/test/user_test.rb @@ -0,0 +1,4 @@ +require_relative 'test_helper' + + +# Any tests involving a User should use the username SlackBot \ No newline at end of file diff --git a/test/workspace_test.rb b/test/workspace_test.rb new file mode 100644 index 00000000..e0090394 --- /dev/null +++ b/test/workspace_test.rb @@ -0,0 +1 @@ +require_relative 'test_helper' From a377d643ddca4f4cc5c09ac3924025acbaeccedc Mon Sep 17 00:00:00 2001 From: thenora Date: Tue, 10 Mar 2020 20:30:12 -0700 Subject: [PATCH 02/33] class setups --- lib/channel.rb | 19 +++++++++++++++++++ lib/recipient.rb | 26 ++++++++++++++++++++++++++ lib/slack.rb | 14 ++++++++++++++ lib/user.rb | 26 ++++++++++++++++++++++++++ lib/workspace.rb | 12 +++++------- test/test_helper.rb | 10 ++++++++-- 6 files changed, 98 insertions(+), 9 deletions(-) diff --git a/lib/channel.rb b/lib/channel.rb index e69de29b..f79f3fae 100644 --- a/lib/channel.rb +++ b/lib/channel.rb @@ -0,0 +1,19 @@ + +require 'dotenv' +require 'httparty' + +class User + + Dotenv.load + + BASE_URL = "https://slack.com/api/conversations.list" + SLACK_ID = ENV["SLACK_TOKEN"] + + def details(each) + # + end + + def self.list_all(each) + # + end +end \ No newline at end of file diff --git a/lib/recipient.rb b/lib/recipient.rb index e69de29b..ea09f919 100644 --- a/lib/recipient.rb +++ b/lib/recipient.rb @@ -0,0 +1,26 @@ + + + +class Recipient + Dotenv.load + + BASE_URL = "https://slack.com/api/conversations.list" + SLACK_ID = ENV["SLACK_TOKEN"] + + def send_message(message) + + end + + def self.get(uri, params) + + end + + def details(each) + raise NotImplementedError, 'Implement me in a child class!' + end + + def self.list_all(each) + raise NotImplementedError, 'Implement me in a child class!' + end + +end \ No newline at end of file diff --git a/lib/slack.rb b/lib/slack.rb index 2caad501..0b9d20c6 100755 --- a/lib/slack.rb +++ b/lib/slack.rb @@ -1,6 +1,20 @@ #!/usr/bin/env ruby require_relative "workspace" +# User: I should see information about how many channels and users were loaded + +# User: I should then be given three options for how to interact with the program: list users, list channels, quit + +# User: As a user who is at the program's input prompt... + +# User: When I type list users, I should see a list of all the users in the Slack workspace. This list should include username, real name, and Slack ID. + +# User: When I type list channels, I should see a list of all the channels for that workspace. This list should include the channel's name, topic, member count, and Slack ID. + +# User: When I type quit, the program should exit. + +# User: After completing any command other than quit, the program should reprint the list of commands and ask for another input. + def main puts "Welcome to the Ada Slack CLI!" workspace = Workspace.new diff --git a/lib/user.rb b/lib/user.rb index e69de29b..e9869b9b 100644 --- a/lib/user.rb +++ b/lib/user.rb @@ -0,0 +1,26 @@ + +require 'dotenv' +require 'httparty' + +Dotenv.load + +BASE_URL = "https://slack.com/api/users.list" +SLACK_ID = ENV["SLACK_TOKEN"] + +class User + attr_reader :real_name, :status_text, :status_emoji + + def initialize(real_name:, status_text:, status_emoji:) + + end + + + + def details(each) + # + end + + def self.list_all(each) + # + end +end \ No newline at end of file diff --git a/lib/workspace.rb b/lib/workspace.rb index 629aac6c..caec4cd0 100644 --- a/lib/workspace.rb +++ b/lib/workspace.rb @@ -1,11 +1,9 @@ class Workspace -attr_reader :users, :channels - - -def initialize -@users = [] -@channels = [] -end + attr_reader :users, :channels + def initialize + @users = [] + @channels = [] + end end \ No newline at end of file diff --git a/test/test_helper.rb b/test/test_helper.rb index 221c6a02..64aae635 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -1,3 +1,9 @@ +require_relative "../lib/channel" +require_relative "../lib/recipient" +require_relative "../lib/slack" +require_relative "../lib/user" +require_relative "../lib/workspace" + require 'simplecov' SimpleCov.start do add_filter 'test/' @@ -25,8 +31,8 @@ } # Don't leave our token lying around in a cassette file. - config.filter_sensitive_data("") do - ENV["SLACKAPI_TOKEN"] + config.filter_sensitive_data("") do + ENV["SLACK_TOKEN"] end From 7840b206474fbbde4a94dfb423a271deebfc5372 Mon Sep 17 00:00:00 2001 From: thenora Date: Wed, 11 Mar 2020 22:49:39 -0700 Subject: [PATCH 03/33] small wave 1 user edits --- lib/channel.rb | 2 +- lib/user.rb | 25 +++++++++++++++---------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/lib/channel.rb b/lib/channel.rb index f79f3fae..fb31705d 100644 --- a/lib/channel.rb +++ b/lib/channel.rb @@ -13,7 +13,7 @@ def details(each) # end - def self.list_all(each) + def self.list_all # end end \ No newline at end of file diff --git a/lib/user.rb b/lib/user.rb index e9869b9b..79e31ceb 100644 --- a/lib/user.rb +++ b/lib/user.rb @@ -1,26 +1,31 @@ - require 'dotenv' require 'httparty' Dotenv.load -BASE_URL = "https://slack.com/api/users.list" -SLACK_ID = ENV["SLACK_TOKEN"] +BASE_URL = "https://slack.com/api/" +SLACK_TOKEN = ENV["SLACK_TOKEN"] +POST_URL = "#{BASE_URL}/users.list" + +def test_url + response = HTTParty.get("#{BASE_URL}?token=#{SLACK_TOKEN}") + response_data = JSON.parse(response.body) + print response_data +end + +puts test_url class User attr_reader :real_name, :status_text, :status_emoji def initialize(real_name:, status_text:, status_emoji:) - end - - def details(each) - # + # end - def self.list_all(each) - # + def self.list_all + # end -end \ No newline at end of file +end From 63203fe07622bd3f93bd800ae7170caef51ee090 Mon Sep 17 00:00:00 2001 From: thenora Date: Thu, 12 Mar 2020 01:22:24 -0700 Subject: [PATCH 04/33] user methods setup --- .gitignore | 3 ++ lib/channel.rb | 11 ++--- lib/recipient.rb | 13 +++--- lib/user.rb | 110 +++++++++++++++++++++++++++++++++++++++-------- 4 files changed, 109 insertions(+), 28 deletions(-) diff --git a/.gitignore b/.gitignore index 3ff4fada..92c2be15 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,6 @@ # Ignore environemnt variables .env + +# ignore practice sheet +lib/practice.rb \ No newline at end of file diff --git a/lib/channel.rb b/lib/channel.rb index fb31705d..d193169a 100644 --- a/lib/channel.rb +++ b/lib/channel.rb @@ -2,18 +2,19 @@ require 'dotenv' require 'httparty' -class User +Dotenv.load + +BASE_URL = "https://slack.com/api/conversations.list" +SLACK_TOKEN = ENV["SLACK_TOKEN"] - Dotenv.load +class User - BASE_URL = "https://slack.com/api/conversations.list" - SLACK_ID = ENV["SLACK_TOKEN"] def details(each) # end - def self.list_all + def self.list_all(each) # end end \ No newline at end of file diff --git a/lib/recipient.rb b/lib/recipient.rb index ea09f919..6e8cd4df 100644 --- a/lib/recipient.rb +++ b/lib/recipient.rb @@ -1,11 +1,14 @@ - - +require 'dotenv' +require 'httparty' class Recipient - Dotenv.load + attr_reader :name, :slack_id + + def initialize(name:, slack_id:) + @name = name + @slack_id = slack_id + end - BASE_URL = "https://slack.com/api/conversations.list" - SLACK_ID = ENV["SLACK_TOKEN"] def send_message(message) diff --git a/lib/user.rb b/lib/user.rb index 79e31ceb..b8a4d3eb 100644 --- a/lib/user.rb +++ b/lib/user.rb @@ -1,31 +1,105 @@ -require 'dotenv' -require 'httparty' +require "dotenv" +require "httparty" + +require_relative "recipient" Dotenv.load -BASE_URL = "https://slack.com/api/" +BASE_URL = "https://slack.com/api/users.list" SLACK_TOKEN = ENV["SLACK_TOKEN"] -POST_URL = "#{BASE_URL}/users.list" - -def test_url - response = HTTParty.get("#{BASE_URL}?token=#{SLACK_TOKEN}") - response_data = JSON.parse(response.body) - print response_data -end -puts test_url - -class User +class User < Recipient attr_reader :real_name, :status_text, :status_emoji - def initialize(real_name:, status_text:, status_emoji:) + def initialize(name:, slack_id:, real_name:, status_text:, status_emoji:) + # super(name: name, slack_id: slack_id) + @name = name + @slack_id = slack_id + @real_name = real_name + @status_text = status_text + @status_emoji = status_emoji end - def details(each) - # + def self.list_all + users = HTTParty.get("#{BASE_URL}?token=#{SLACK_TOKEN}") + users = users["members"].map do |user| + self.new( + name: user["name"], + slack_id: user["id"], + real_name: user["real_name"], + status_text: user["profile"]["status_text"], + status_emoji: user["profile"]["status_emoji"], + ) + end end - def self.list_all - # + def details(each) + return "Username: #{name}, + Real name: #{real_name}, + Slack id: #{slack_id}" end end + +# Sample output + +# "members": [ +# { +# "id": "USLACKBOT", +# "team_id": "TV63QKAAU", +# "name": "slackbot", +# "deleted": false, +# "real_name": "Slackbot", +# "profile": { +# "real_name": "Slackbot", +# "real_name_normalized": "Slackbot", +# "display_name": "Slackbot", +# "display_name_normalized": "Slackbot", +# "fields": null, +# "status_text": "", +# "status_emoji": "", +# "first_name": "slackbot", +# "last_name": "", +# "status_text_canonical": "", +# "team": "TV63QKAAU" +# }, +# "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": "UUT9Z80AE", +# "team_id": "TV63QKAAU", +# "name": "thenora", +# "real_name": "Nora", +# "tz": "America\/Los_Angeles", +# "tz_label": "Pacific Daylight Time", +# "tz_offset": -25200, +# "profile": { +# "title": "", +# "phone": "", +# "skype": "", +# "real_name": "Nora", +# "real_name_normalized": "Nora", +# "display_name": "", +# "display_name_normalized": "", +# "status_text": "", +# "status_emoji": "", +# "status_text_canonical": "", +# "team": "TV63QKAAU" +# }, +# "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": 1583868865 +# }, + +print User.list_all From d671d7ef87bab2769609b168d91f28d0288d4554 Mon Sep 17 00:00:00 2001 From: thenora Date: Thu, 12 Mar 2020 18:08:28 -0700 Subject: [PATCH 05/33] delete slack test --- lib/workspace.rb | 12 +++++++++++- test/slack_test.rb | 3 --- test/test_helper.rb | 10 ++++------ 3 files changed, 15 insertions(+), 10 deletions(-) delete mode 100644 test/slack_test.rb diff --git a/lib/workspace.rb b/lib/workspace.rb index caec4cd0..f3415911 100644 --- a/lib/workspace.rb +++ b/lib/workspace.rb @@ -1,9 +1,19 @@ class Workspace - attr_reader :users, :channels + attr_reader :users, :channels, :selected def initialize @users = [] @channels = [] end + def select_channel + + end + + def select_user + + end + + + end \ No newline at end of file diff --git a/test/slack_test.rb b/test/slack_test.rb deleted file mode 100644 index b81c86b9..00000000 --- a/test/slack_test.rb +++ /dev/null @@ -1,3 +0,0 @@ -require_relative 'test_helper' - - diff --git a/test/test_helper.rb b/test/test_helper.rb index 64aae635..7c4f1180 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -13,14 +13,13 @@ require 'minitest/autorun' require 'minitest/reporters' require 'minitest/skip_dsl' +require "webmock/minitest" +require 'dotenv' require 'vcr' -Minitest::Reporters.use! Minitest::Reporters::SpecReporter.new +Dotenv.load -VCR.configure do |config| - config.cassette_library_dir = "test/cassettes" - config.hook_into :webmock -end +Minitest::Reporters.use! Minitest::Reporters::SpecReporter.new VCR.configure do |config| config.cassette_library_dir = "test/cassettes" # folder where casettes will be located @@ -29,7 +28,6 @@ :record => :new_episodes, # record new data when we don't have it yet :match_requests_on => [:method, :uri, :body], # The http method, URI and body of a request all need to match } - # Don't leave our token lying around in a cassette file. config.filter_sensitive_data("") do ENV["SLACK_TOKEN"] From 53d4abcf1b33511c9a5b553f6d42685219dc6788 Mon Sep 17 00:00:00 2001 From: thenora Date: Thu, 12 Mar 2020 23:50:39 -0700 Subject: [PATCH 06/33] wrote some user tests --- lib/user.rb | 14 +++--- test/cassettes/list-users.yml | 94 +++++++++++++++++++++++++++++++++++ test/user_test.rb | 31 +++++++++++- 3 files changed, 130 insertions(+), 9 deletions(-) create mode 100644 test/cassettes/list-users.yml diff --git a/lib/user.rb b/lib/user.rb index b8a4d3eb..01f9454f 100644 --- a/lib/user.rb +++ b/lib/user.rb @@ -5,10 +5,10 @@ Dotenv.load -BASE_URL = "https://slack.com/api/users.list" -SLACK_TOKEN = ENV["SLACK_TOKEN"] +USER_BASE_URL = "https://slack.com/api/users.list" +# SLACK_TOKEN = ENV["SLACK_TOKEN"] -class User < Recipient +class User # < Recipient attr_reader :real_name, :status_text, :status_emoji def initialize(name:, slack_id:, real_name:, status_text:, status_emoji:) @@ -21,8 +21,9 @@ def initialize(name:, slack_id:, real_name:, status_text:, status_emoji:) end def self.list_all - users = HTTParty.get("#{BASE_URL}?token=#{SLACK_TOKEN}") - users = users["members"].map do |user| + data = HTTParty.get("#{USER_BASE_URL}?token=#{SLACK_TOKEN}") + @user_data = data["members"] + output = @user_data.map do |user| self.new( name: user["name"], slack_id: user["id"], @@ -31,6 +32,7 @@ def self.list_all status_emoji: user["profile"]["status_emoji"], ) end + return output end def details(each) @@ -101,5 +103,3 @@ def details(each) # "is_app_user": false, # "updated": 1583868865 # }, - -print User.list_all diff --git a/test/cassettes/list-users.yml b/test/cassettes/list-users.yml new file mode 100644 index 00000000..a05e0696 --- /dev/null +++ b/test/cassettes/list-users.yml @@ -0,0 +1,94 @@ +--- +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: + - '2193' + Connection: + - keep-alive + Date: + - Fri, 13 Mar 2020 06:43:25 GMT + Server: + - Apache + X-Slack-Req-Id: + - 3bd926064e28bf2edc860384d55fdca7 + X-Oauth-Scopes: + - users:read,channels:read,chat:write,chat:write.public,chat:write.customize + 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-nv5l + X-Cache: + - Miss from cloudfront + Via: + - 1.1 5565a51537c689d1d16f6b4d41f40082.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - XV1sX7ABUo7ij5hHqokx217WgDJWk119YQnu_yCuQcCYTvALc7ohOg== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TV63QKAAU","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":"TV63QKAAU"},"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":"UUT9Z80AE","team_id":"TV63QKAAU","name":"thenora","deleted":false,"color":"9f69e7","real_name":"Nora","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Nora","real_name_normalized":"Nora","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gecfa8e6728a","first_name":"Nora","last_name":"","image_24":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583868865},{"id":"UUTA3S16E","team_id":"TV63QKAAU","name":"nguyen_diana","deleted":false,"color":"3c989f","real_name":"Diana + Nguyen","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Diana + Nguyen","real_name_normalized":"Diana Nguyen","display_name":"Diana Nguyen","display_name_normalized":"Diana + Nguyen","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g53546304cba","image_24":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583876186},{"id":"UUTJAGAEN","team_id":"TV63QKAAU","name":"time_yolotzin_api_pro","deleted":false,"color":"e96699","real_name":"time_yolotzin_api_pro","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_yolotzin_api_pro","real_name_normalized":"time_yolotzin_api_pro","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g3ed47f067f5","api_app_id":"AV68RSJH3","always_active":false,"bot_id":"BV881SK2B","image_24":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583877148},{"id":"UUUKJ03NX","team_id":"TV63QKAAU","name":"kate.d.mangubat","deleted":false,"color":"4bbe2e","real_name":"Kate + M","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Kate + M","real_name_normalized":"Kate M","display_name":"Kate","display_name_normalized":"Kate","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g078604cbcfb","first_name":"Kate","last_name":"M","image_24":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583997418},{"id":"UUW1CJZ41","team_id":"TV63QKAAU","name":"yltzndnbr","deleted":false,"color":"e7392d","real_name":"Yolotzin + Dunbar","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Yolotzin + Dunbar","real_name_normalized":"Yolotzin Dunbar","display_name":"Yoyo","display_name_normalized":"Yoyo","status_text":"Working + remotely","status_emoji":":house_with_garden:","status_expiration":1584082799,"avatar_hash":"g574a1cc3875","first_name":"Yolotzin","last_name":"Dunbar","image_24":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"Working + remotely","team":"TV63QKAAU"},"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":1584029777},{"id":"UV63Y1672","team_id":"TV63QKAAU","name":"tithvorlakmok","deleted":false,"color":"674b1b","real_name":"Lak","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Lak","real_name_normalized":"Lak","display_name":"Lak","display_name_normalized":"Lak","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gfc5b2d94a48","image_24":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583869256},{"id":"UV66LJW5A","team_id":"TV63QKAAU","name":"noras_ada_slack_api","deleted":false,"color":"684b6c","real_name":"noras_ada_slack_api","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"noras_ada_slack_api","real_name_normalized":"noras_ada_slack_api","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"9c3283af6dfc","api_app_id":"AV6LEP79B","always_active":false,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_original.jpg","is_custom_image":true,"bot_id":"BV8FZCLK1","first_name":"noras_ada_slack_api","last_name":"","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_24.jpg","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_32.jpg","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_48.jpg","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_72.jpg","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_192.jpg","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_512.jpg","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_1024.jpg","status_text_canonical":"","team":"TV63QKAAU"},"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":1583985914},{"id":"UV8PJ6R0W","team_id":"TV63QKAAU","name":"diana_slack_cli","deleted":false,"color":"e0a729","real_name":"diana_slack_cli","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"diana_slack_cli","real_name_normalized":"diana_slack_cli","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"c8e976fcbc63","api_app_id":"AUWEPCVDF","always_active":false,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_original.jpg","is_custom_image":true,"bot_id":"BUTPL5J58","first_name":"diana_slack_cli","last_name":"","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_24.jpg","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_32.jpg","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_48.jpg","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_72.jpg","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_192.jpg","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_512.jpg","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_1024.jpg","status_text_canonical":"","team":"TV63QKAAU"},"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":1584029336},{"id":"UVAALE528","team_id":"TV63QKAAU","name":"github","deleted":false,"color":"2b6836","real_name":"GitHub","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"GitHub","real_name_normalized":"GitHub","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"a384f3b8cb58","api_app_id":"A8GBNUWU8","always_active":true,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_original.png","is_custom_image":true,"bot_id":"BVAALE484","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_24.png","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_32.png","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_48.png","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_72.png","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_192.png","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_512.png","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_1024.png","status_text_canonical":"","team":"TV63QKAAU"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":true,"updated":1584036089},{"id":"UVB4TQ89M","team_id":"TV63QKAAU","name":"lak_slackapi","deleted":false,"color":"5b89d5","real_name":"lak_slackapi","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"lak_slackapi","real_name_normalized":"lak_slackapi","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g6ea0fcda828","api_app_id":"AV998UM2R","always_active":false,"bot_id":"BV98UFAHE","image_24":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583989948}],"cache_ts":1584081805,"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Fri, 13 Mar 2020 06:43:25 GMT +recorded_with: VCR 5.1.0 diff --git a/test/user_test.rb b/test/user_test.rb index fbc58b65..82f03ed2 100644 --- a/test/user_test.rb +++ b/test/user_test.rb @@ -1,4 +1,31 @@ -require_relative 'test_helper' +require_relative "test_helper" +describe "User class" do + describe "initialize" do + before do + @user_inst = User.new( + name: "adastudent", + slack_id: "ADASTUD", + real_name: "Ada Student", + status_text: "Busy Busy", + status_emoji: "", + ) + end + it "is an instance of User" do + expect(@user_inst).must_be_kind_of User + end + end + # Any tests involving a User should use the username SlackBot -# Any tests involving a User should use the username SlackBot \ No newline at end of file + describe "list_all" do + it "creates an array of users" do + VCR.use_cassette("list-users") do + users = User.list_all + + expect(users).wont_be :empty? + expect(users).must_be_kind_of Array + expect(users[0]).must_be_kind_of User + end + end + end +end From b03168a27e4e04c80c53c8409d4580f8b74c72d6 Mon Sep 17 00:00:00 2001 From: thenora Date: Fri, 13 Mar 2020 14:33:53 -0700 Subject: [PATCH 07/33] recipient class updates --- lib/recipient.rb | 23 +++++-- test/cassettes/list-users_endpoint.yml | 92 ++++++++++++++++++++++++++ test/user_test.rb | 2 +- 3 files changed, 111 insertions(+), 6 deletions(-) create mode 100644 test/cassettes/list-users_endpoint.yml diff --git a/lib/recipient.rb b/lib/recipient.rb index 6e8cd4df..572e5c73 100644 --- a/lib/recipient.rb +++ b/lib/recipient.rb @@ -1,4 +1,3 @@ -require 'dotenv' require 'httparty' class Recipient @@ -11,19 +10,33 @@ def initialize(name:, slack_id:) def send_message(message) - + response = HTTParty.post("https://slack.com/api/chat.postMessage", query: {token: ENV['BOT_TOKEN'], channel: self.slack_id, text: message }) + + if response.code != 200 || response["ok"] == false + raise SlackAPIError, "We encountered a problem: #{response["error"]}" + end end - def self.get(uri, params) + def self.get(url) + response = HTTParty.get(url, query: {token: ENV['SLACK_TOKEN']}) + + if response.code != 200 || response["ok"] == false + raise SlackAPIError, "We encountered a problem: #{response["error"]}" + end + + return response end - def details(each) + def details raise NotImplementedError, 'Implement me in a child class!' end - def self.list_all(each) + def self.list_all raise NotImplementedError, 'Implement me in a child class!' end +end + +class SlackAPIError < Exception end \ No newline at end of file diff --git a/test/cassettes/list-users_endpoint.yml b/test/cassettes/list-users_endpoint.yml new file mode 100644 index 00000000..19a329a3 --- /dev/null +++ b/test/cassettes/list-users_endpoint.yml @@ -0,0 +1,92 @@ +--- +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: + - '2147' + Connection: + - keep-alive + Date: + - Fri, 13 Mar 2020 21:33:01 GMT + Server: + - Apache + X-Slack-Req-Id: + - c12388e5ab6aaba75578f06e72cc3079 + X-Oauth-Scopes: + - users:read,channels:read,chat:write,chat:write.public,chat:write.customize + 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-jap3 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 98aedae6661e3904540676966998ed89.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - 9KBeVrDBHsEtszAKvxNQyKCC0cZDOxagTotgcJjAOejAXUyaTESrKw== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TV63QKAAU","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":"TV63QKAAU"},"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":"UUT9Z80AE","team_id":"TV63QKAAU","name":"thenora","deleted":false,"color":"9f69e7","real_name":"Nora","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Nora","real_name_normalized":"Nora","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gecfa8e6728a","first_name":"Nora","last_name":"","image_24":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583868865},{"id":"UUTA3S16E","team_id":"TV63QKAAU","name":"nguyen_diana","deleted":false,"color":"3c989f","real_name":"Diana + Nguyen","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Diana + Nguyen","real_name_normalized":"Diana Nguyen","display_name":"Diana Nguyen","display_name_normalized":"Diana + Nguyen","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g53546304cba","image_24":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583876186},{"id":"UUTJAGAEN","team_id":"TV63QKAAU","name":"time_yolotzin_api_pro","deleted":false,"color":"e96699","real_name":"time_yolotzin_api_pro","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_yolotzin_api_pro","real_name_normalized":"time_yolotzin_api_pro","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g3ed47f067f5","api_app_id":"AV68RSJH3","always_active":false,"bot_id":"BV881SK2B","image_24":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583877148},{"id":"UUUKJ03NX","team_id":"TV63QKAAU","name":"kate.d.mangubat","deleted":false,"color":"4bbe2e","real_name":"Kate + M","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Kate + M","real_name_normalized":"Kate M","display_name":"Kate","display_name_normalized":"Kate","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g078604cbcfb","first_name":"Kate","last_name":"M","image_24":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583997418},{"id":"UUW1CJZ41","team_id":"TV63QKAAU","name":"yltzndnbr","deleted":false,"color":"e7392d","real_name":"Yolotzin + Dunbar","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Yolotzin + Dunbar","real_name_normalized":"Yolotzin Dunbar","display_name":"Yoyo","display_name_normalized":"Yoyo","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g574a1cc3875","first_name":"Yolotzin","last_name":"Dunbar","image_24":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1584083810},{"id":"UV63Y1672","team_id":"TV63QKAAU","name":"tithvorlakmok","deleted":false,"color":"674b1b","real_name":"Lak","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Lak","real_name_normalized":"Lak","display_name":"Lak","display_name_normalized":"Lak","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gfc5b2d94a48","image_24":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583869256},{"id":"UV66LJW5A","team_id":"TV63QKAAU","name":"noras_ada_slack_api","deleted":false,"color":"684b6c","real_name":"noras_ada_slack_api","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"noras_ada_slack_api","real_name_normalized":"noras_ada_slack_api","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"9c3283af6dfc","api_app_id":"AV6LEP79B","always_active":false,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_original.jpg","is_custom_image":true,"bot_id":"BV8FZCLK1","first_name":"noras_ada_slack_api","last_name":"","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_24.jpg","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_32.jpg","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_48.jpg","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_72.jpg","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_192.jpg","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_512.jpg","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_1024.jpg","status_text_canonical":"","team":"TV63QKAAU"},"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":1583985914},{"id":"UV8PJ6R0W","team_id":"TV63QKAAU","name":"diana_slack_cli","deleted":false,"color":"e0a729","real_name":"diana_slack_cli","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"diana_slack_cli","real_name_normalized":"diana_slack_cli","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"c8e976fcbc63","api_app_id":"AUWEPCVDF","always_active":false,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_original.jpg","is_custom_image":true,"bot_id":"BUTPL5J58","first_name":"diana_slack_cli","last_name":"","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_24.jpg","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_32.jpg","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_48.jpg","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_72.jpg","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_192.jpg","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_512.jpg","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_1024.jpg","status_text_canonical":"","team":"TV63QKAAU"},"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":1584029336},{"id":"UVAALE528","team_id":"TV63QKAAU","name":"github","deleted":false,"color":"2b6836","real_name":"GitHub","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"GitHub","real_name_normalized":"GitHub","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"a384f3b8cb58","api_app_id":"A8GBNUWU8","always_active":true,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_original.png","is_custom_image":true,"bot_id":"BVAALE484","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_24.png","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_32.png","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_48.png","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_72.png","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_192.png","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_512.png","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_1024.png","status_text_canonical":"","team":"TV63QKAAU"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":true,"updated":1584036089},{"id":"UVB4TQ89M","team_id":"TV63QKAAU","name":"lak_slackapi","deleted":false,"color":"5b89d5","real_name":"lak_slackapi","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"lak_slackapi","real_name_normalized":"lak_slackapi","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g6ea0fcda828","api_app_id":"AV998UM2R","always_active":false,"bot_id":"BV98UFAHE","image_24":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583989948}],"cache_ts":1584135181,"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Fri, 13 Mar 2020 21:33:01 GMT +recorded_with: VCR 5.1.0 diff --git a/test/user_test.rb b/test/user_test.rb index 82f03ed2..bf04ce47 100644 --- a/test/user_test.rb +++ b/test/user_test.rb @@ -19,7 +19,7 @@ describe "list_all" do it "creates an array of users" do - VCR.use_cassette("list-users") do + VCR.use_cassette("list-users_endpoint") do users = User.list_all expect(users).wont_be :empty? From d7e26f55401a7c637a889d72ebdce2e2b4d4adce Mon Sep 17 00:00:00 2001 From: thenora Date: Fri, 13 Mar 2020 14:38:18 -0700 Subject: [PATCH 08/33] Does recipient need dotenv? --- lib/recipient.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/recipient.rb b/lib/recipient.rb index 572e5c73..d95795f1 100644 --- a/lib/recipient.rb +++ b/lib/recipient.rb @@ -1,4 +1,7 @@ require 'httparty' +require "dotenv" # do I need this? +Dotenv.load # do I need this? + class Recipient attr_reader :name, :slack_id @@ -10,6 +13,7 @@ def initialize(name:, slack_id:) def send_message(message) + response = HTTParty.post("https://slack.com/api/chat.postMessage", query: {token: ENV['BOT_TOKEN'], channel: self.slack_id, text: message }) if response.code != 200 || response["ok"] == false From 6000f9166aa2c592ed376f24e792d653e154a31a Mon Sep 17 00:00:00 2001 From: thenora Date: Sat, 14 Mar 2020 13:08:41 -0700 Subject: [PATCH 09/33] added required gems to slack --- lib/slack.rb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/slack.rb b/lib/slack.rb index 0b9d20c6..f16125ff 100755 --- a/lib/slack.rb +++ b/lib/slack.rb @@ -1,6 +1,12 @@ #!/usr/bin/env ruby require_relative "workspace" +require "table_print" +require "dotenv" +require "httparty" + +Dotenv.load + # User: I should see information about how many channels and users were loaded # User: I should then be given three options for how to interact with the program: list users, list channels, quit From d86dbf5d328452dfae5aff5c8d35319d2842b326 Mon Sep 17 00:00:00 2001 From: thenora Date: Sat, 14 Mar 2020 13:31:56 -0700 Subject: [PATCH 10/33] removed require relatives from test_helper --- test/test_helper.rb | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/test/test_helper.rb b/test/test_helper.rb index 7c4f1180..ec533166 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -1,21 +1,15 @@ -require_relative "../lib/channel" -require_relative "../lib/recipient" -require_relative "../lib/slack" -require_relative "../lib/user" -require_relative "../lib/workspace" - -require 'simplecov' +require "simplecov" SimpleCov.start do - add_filter 'test/' + add_filter "test/" end -require 'minitest' -require 'minitest/autorun' -require 'minitest/reporters' -require 'minitest/skip_dsl' +require "minitest" +require "minitest/autorun" +require "minitest/reporters" +require "minitest/skip_dsl" require "webmock/minitest" -require 'dotenv' -require 'vcr' +require "dotenv" +require "vcr" Dotenv.load @@ -29,9 +23,7 @@ :match_requests_on => [:method, :uri, :body], # The http method, URI and body of a request all need to match } # Don't leave our token lying around in a cassette file. - config.filter_sensitive_data("") do - ENV["SLACK_TOKEN"] + config.filter_sensitive_data("") do + ENV["BOT_TOKEN"] end - - end From 98931e57784e590e936e041cafff801488655afe Mon Sep 17 00:00:00 2001 From: thenora Date: Sat, 14 Mar 2020 13:32:13 -0700 Subject: [PATCH 11/33] small tweaks to recipient and user --- lib/recipient.rb | 4 ++-- lib/user.rb | 41 +++++++++++++++++++++++------------------ 2 files changed, 25 insertions(+), 20 deletions(-) diff --git a/lib/recipient.rb b/lib/recipient.rb index d95795f1..4c607249 100644 --- a/lib/recipient.rb +++ b/lib/recipient.rb @@ -1,6 +1,6 @@ require 'httparty' -require "dotenv" # do I need this? -Dotenv.load # do I need this? +require "dotenv" # ? do I need this? +Dotenv.load # ? do I need this? class Recipient diff --git a/lib/user.rb b/lib/user.rb index 01f9454f..72bb703c 100644 --- a/lib/user.rb +++ b/lib/user.rb @@ -1,29 +1,19 @@ -require "dotenv" -require "httparty" - require_relative "recipient" +require "table_print" # do I need this here? -Dotenv.load - -USER_BASE_URL = "https://slack.com/api/users.list" -# SLACK_TOKEN = ENV["SLACK_TOKEN"] - -class User # < Recipient +class User < Recipient attr_reader :real_name, :status_text, :status_emoji def initialize(name:, slack_id:, real_name:, status_text:, status_emoji:) - # super(name: name, slack_id: slack_id) - @name = name - @slack_id = slack_id + super(name: name, slack_id: slack_id) @real_name = real_name @status_text = status_text @status_emoji = status_emoji end def self.list_all - data = HTTParty.get("#{USER_BASE_URL}?token=#{SLACK_TOKEN}") - @user_data = data["members"] - output = @user_data.map do |user| + data = User.get("https://slack.com/api/users.list") + users = data["members"].map do |user| self.new( name: user["name"], slack_id: user["id"], @@ -32,16 +22,31 @@ def self.list_all status_emoji: user["profile"]["status_emoji"], ) end - return output - end + # users = [] + + # data["members"].each do |item| + # users << User.new( + # name: item["name"], + # slack_id: item["id"], + # real_name: item["real_name"], + # status_text: item["profile"]["status_text"], + # status_emoji: item["profile"]["status_emoji"] + # ) + # end + # return users + # end - def details(each) + # TODO change to table print + def details return "Username: #{name}, Real name: #{real_name}, Slack id: #{slack_id}" end end +puts User.list_all +print User.list_all + # Sample output # "members": [ From 9e6b8f2143ebad1093ec8bca0c12c6d3c50f41de Mon Sep 17 00:00:00 2001 From: thenora Date: Sun, 15 Mar 2020 14:56:29 -0700 Subject: [PATCH 12/33] added relative to user_test --- test/user_test.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/test/user_test.rb b/test/user_test.rb index bf04ce47..70d58901 100644 --- a/test/user_test.rb +++ b/test/user_test.rb @@ -1,4 +1,5 @@ require_relative "test_helper" +require_relative "../lib/user" describe "User class" do describe "initialize" do From 61df886fd0feff9b9e5309769a4f13cc8be5b868 Mon Sep 17 00:00:00 2001 From: thenora Date: Sun, 15 Mar 2020 17:54:23 -0700 Subject: [PATCH 13/33] changed user tests --- test/cassettes/list-users_endpoint.yml | 89 ++++++++++++++ test/cassettes/list_users_endpoint.yml | 156 +++++++++++++++++++++++++ test/user_test.rb | 20 +++- 3 files changed, 264 insertions(+), 1 deletion(-) create mode 100644 test/cassettes/list_users_endpoint.yml diff --git a/test/cassettes/list-users_endpoint.yml b/test/cassettes/list-users_endpoint.yml index 19a329a3..2d521a81 100644 --- a/test/cassettes/list-users_endpoint.yml +++ b/test/cassettes/list-users_endpoint.yml @@ -89,4 +89,93 @@ http_interactions: Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"lak_slackapi","real_name_normalized":"lak_slackapi","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g6ea0fcda828","api_app_id":"AV998UM2R","always_active":false,"bot_id":"BV98UFAHE","image_24":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583989948}],"cache_ts":1584135181,"response_metadata":{"next_cursor":""}}' http_version: null recorded_at: Fri, 13 Mar 2020 21:33:01 GMT +- request: + method: get + uri: https://slack.com/api/users.list?token=xoxb-992126656368-992224642180-8nEK16Z19POVrwVOqqRt4GgR + 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: + - '2297' + Connection: + - keep-alive + Date: + - Sun, 15 Mar 2020 21:49:24 GMT + Server: + - Apache + X-Slack-Req-Id: + - 53b2a3e23d8ba27278539705b914943d + X-Oauth-Scopes: + - users:read,channels:read,chat:write,chat:write.public,chat:write.customize + 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-9hkc + X-Cache: + - Miss from cloudfront + Via: + - 1.1 f126db770f21f288439f44d357978a27.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - U43dzxrLn7kQI_HcOgrEEa7YCWwAvYG9aATKR_kxBH25DJ2t71F83w== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TV63QKAAU","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":"TV63QKAAU"},"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":"UUT9Z80AE","team_id":"TV63QKAAU","name":"thenora","deleted":false,"color":"9f69e7","real_name":"Nora","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Nora","real_name_normalized":"Nora","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gecfa8e6728a","first_name":"Nora","last_name":"","image_24":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583868865},{"id":"UUTA3S16E","team_id":"TV63QKAAU","name":"nguyen_diana","deleted":false,"color":"3c989f","real_name":"Diana + Nguyen","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Diana + Nguyen","real_name_normalized":"Diana Nguyen","display_name":"Diana Nguyen","display_name_normalized":"Diana + Nguyen","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g53546304cba","image_24":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583876186},{"id":"UUTJAGAEN","team_id":"TV63QKAAU","name":"time_yolotzin_api_pro","deleted":false,"color":"e96699","real_name":"time_yolotzin_api_pro","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_yolotzin_api_pro","real_name_normalized":"time_yolotzin_api_pro","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g3ed47f067f5","api_app_id":"AV68RSJH3","always_active":false,"bot_id":"BV881SK2B","image_24":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583877148},{"id":"UUUKJ03NX","team_id":"TV63QKAAU","name":"kate.d.mangubat","deleted":false,"color":"4bbe2e","real_name":"Kate + M","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Kate + M","real_name_normalized":"Kate M","display_name":"Kate","display_name_normalized":"Kate","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g078604cbcfb","first_name":"Kate","last_name":"M","image_24":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583997418},{"id":"UUW1CJZ41","team_id":"TV63QKAAU","name":"yltzndnbr","deleted":false,"color":"e7392d","real_name":"Yolotzin + Dunbar","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Yolotzin + Dunbar","real_name_normalized":"Yolotzin Dunbar","display_name":"Yoyo","display_name_normalized":"Yoyo","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g574a1cc3875","first_name":"Yolotzin","last_name":"Dunbar","image_24":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1584083810},{"id":"UV3CAV859","team_id":"TV63QKAAU","name":"space_kate_m_api_proj","deleted":false,"color":"99a949","real_name":"space_kate_m_api_proj","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_kate_m_api_proj","real_name_normalized":"space_kate_m_api_proj","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gbabfb89bbad","api_app_id":"AV22W21DG","always_active":false,"bot_id":"BV3CAV7UK","image_24":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1584239628},{"id":"UV63Y1672","team_id":"TV63QKAAU","name":"tithvorlakmok","deleted":false,"color":"674b1b","real_name":"Lak","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Lak","real_name_normalized":"Lak","display_name":"Lak","display_name_normalized":"Lak","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gfc5b2d94a48","image_24":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583869256},{"id":"UV66LJW5A","team_id":"TV63QKAAU","name":"noras_ada_slack_api","deleted":false,"color":"684b6c","real_name":"noras_ada_slack_api","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"noras_ada_slack_api","real_name_normalized":"noras_ada_slack_api","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"9c3283af6dfc","api_app_id":"AV6LEP79B","always_active":false,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_original.jpg","is_custom_image":true,"bot_id":"BV8FZCLK1","first_name":"noras_ada_slack_api","last_name":"","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_24.jpg","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_32.jpg","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_48.jpg","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_72.jpg","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_192.jpg","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_512.jpg","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_1024.jpg","status_text_canonical":"","team":"TV63QKAAU"},"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":1583985914},{"id":"UV8PJ6R0W","team_id":"TV63QKAAU","name":"diana_slack_cli","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"diana_slack_cli","real_name_normalized":"diana_slack_cli","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"c8e976fcbc63","api_app_id":"AUWEPCVDF","always_active":false,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_original.jpg","is_custom_image":true,"bot_id":"BUTPL5J58","first_name":"diana_slack_cli","last_name":"","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_24.jpg","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_32.jpg","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_48.jpg","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_72.jpg","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_192.jpg","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_512.jpg","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_1024.jpg","status_text_canonical":"","team":"TV63QKAAU"},"is_bot":true,"is_app_user":false,"updated":1584228234},{"id":"UVAALE528","team_id":"TV63QKAAU","name":"github","deleted":false,"color":"2b6836","real_name":"GitHub","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"GitHub","real_name_normalized":"GitHub","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"a384f3b8cb58","api_app_id":"A8GBNUWU8","always_active":true,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_original.png","is_custom_image":true,"bot_id":"BVAALE484","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_24.png","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_32.png","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_48.png","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_72.png","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_192.png","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_512.png","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_1024.png","status_text_canonical":"","team":"TV63QKAAU"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":true,"updated":1584036089},{"id":"UVB4TQ89M","team_id":"TV63QKAAU","name":"lak_slackapi","deleted":false,"color":"5b89d5","real_name":"lak_slackapi","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"lak_slackapi","real_name_normalized":"lak_slackapi","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g6ea0fcda828","api_app_id":"AV998UM2R","always_active":false,"bot_id":"BV98UFAHE","image_24":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583989948}],"cache_ts":1584308964,"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Sun, 15 Mar 2020 21:49:24 GMT recorded_with: VCR 5.1.0 diff --git a/test/cassettes/list_users_endpoint.yml b/test/cassettes/list_users_endpoint.yml new file mode 100644 index 00000000..1129e0a2 --- /dev/null +++ b/test/cassettes/list_users_endpoint.yml @@ -0,0 +1,156 @@ +--- +http_interactions: +- request: + method: get + uri: https://slack.com/api/users.list?token=xoxb-992126656368-992224642180-8nEK16Z19POVrwVOqqRt4GgR + 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: + - '2297' + Connection: + - keep-alive + Date: + - Sun, 15 Mar 2020 22:05:23 GMT + Server: + - Apache + X-Slack-Req-Id: + - bc742a9520b24c500fcb911cf60c2b60 + X-Oauth-Scopes: + - users:read,channels:read,chat:write,chat:write.public,chat:write.customize + X-Accepted-Oauth-Scopes: + - users:read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - r + 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-eidd + X-Cache: + - Miss from cloudfront + Via: + - 1.1 c9b161639a9353c2354b895548ea9fca.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - T_zR75SMT_O7Hg9A7_eSx1gnB1qOiZ8ib_dw8dzONQ0wXPkU38nTTw== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TV63QKAAU","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":"TV63QKAAU"},"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":"UUT9Z80AE","team_id":"TV63QKAAU","name":"thenora","deleted":false,"color":"9f69e7","real_name":"Nora","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Nora","real_name_normalized":"Nora","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gecfa8e6728a","first_name":"Nora","last_name":"","image_24":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583868865},{"id":"UUTA3S16E","team_id":"TV63QKAAU","name":"nguyen_diana","deleted":false,"color":"3c989f","real_name":"Diana + Nguyen","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Diana + Nguyen","real_name_normalized":"Diana Nguyen","display_name":"Diana Nguyen","display_name_normalized":"Diana + Nguyen","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g53546304cba","image_24":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583876186},{"id":"UUTJAGAEN","team_id":"TV63QKAAU","name":"time_yolotzin_api_pro","deleted":false,"color":"e96699","real_name":"time_yolotzin_api_pro","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_yolotzin_api_pro","real_name_normalized":"time_yolotzin_api_pro","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g3ed47f067f5","api_app_id":"AV68RSJH3","always_active":false,"bot_id":"BV881SK2B","image_24":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583877148},{"id":"UUUKJ03NX","team_id":"TV63QKAAU","name":"kate.d.mangubat","deleted":false,"color":"4bbe2e","real_name":"Kate + M","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Kate + M","real_name_normalized":"Kate M","display_name":"Kate","display_name_normalized":"Kate","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g078604cbcfb","first_name":"Kate","last_name":"M","image_24":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583997418},{"id":"UUW1CJZ41","team_id":"TV63QKAAU","name":"yltzndnbr","deleted":false,"color":"e7392d","real_name":"Yolotzin + Dunbar","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Yolotzin + Dunbar","real_name_normalized":"Yolotzin Dunbar","display_name":"Yoyo","display_name_normalized":"Yoyo","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g574a1cc3875","first_name":"Yolotzin","last_name":"Dunbar","image_24":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1584083810},{"id":"UV3CAV859","team_id":"TV63QKAAU","name":"space_kate_m_api_proj","deleted":false,"color":"99a949","real_name":"space_kate_m_api_proj","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_kate_m_api_proj","real_name_normalized":"space_kate_m_api_proj","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gbabfb89bbad","api_app_id":"AV22W21DG","always_active":false,"bot_id":"BV3CAV7UK","image_24":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1584239628},{"id":"UV63Y1672","team_id":"TV63QKAAU","name":"tithvorlakmok","deleted":false,"color":"674b1b","real_name":"Lak","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Lak","real_name_normalized":"Lak","display_name":"Lak","display_name_normalized":"Lak","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gfc5b2d94a48","image_24":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583869256},{"id":"UV66LJW5A","team_id":"TV63QKAAU","name":"noras_ada_slack_api","deleted":false,"color":"684b6c","real_name":"noras_ada_slack_api","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"noras_ada_slack_api","real_name_normalized":"noras_ada_slack_api","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"9c3283af6dfc","api_app_id":"AV6LEP79B","always_active":false,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_original.jpg","is_custom_image":true,"bot_id":"BV8FZCLK1","first_name":"noras_ada_slack_api","last_name":"","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_24.jpg","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_32.jpg","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_48.jpg","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_72.jpg","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_192.jpg","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_512.jpg","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_1024.jpg","status_text_canonical":"","team":"TV63QKAAU"},"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":1583985914},{"id":"UV8PJ6R0W","team_id":"TV63QKAAU","name":"diana_slack_cli","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"diana_slack_cli","real_name_normalized":"diana_slack_cli","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"c8e976fcbc63","api_app_id":"AUWEPCVDF","always_active":false,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_original.jpg","is_custom_image":true,"bot_id":"BUTPL5J58","first_name":"diana_slack_cli","last_name":"","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_24.jpg","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_32.jpg","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_48.jpg","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_72.jpg","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_192.jpg","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_512.jpg","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_1024.jpg","status_text_canonical":"","team":"TV63QKAAU"},"is_bot":true,"is_app_user":false,"updated":1584228234},{"id":"UVAALE528","team_id":"TV63QKAAU","name":"github","deleted":false,"color":"2b6836","real_name":"GitHub","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"GitHub","real_name_normalized":"GitHub","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"a384f3b8cb58","api_app_id":"A8GBNUWU8","always_active":true,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_original.png","is_custom_image":true,"bot_id":"BVAALE484","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_24.png","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_32.png","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_48.png","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_72.png","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_192.png","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_512.png","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_1024.png","status_text_canonical":"","team":"TV63QKAAU"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":true,"updated":1584036089},{"id":"UVB4TQ89M","team_id":"TV63QKAAU","name":"lak_slackapi","deleted":false,"color":"5b89d5","real_name":"lak_slackapi","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"lak_slackapi","real_name_normalized":"lak_slackapi","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g6ea0fcda828","api_app_id":"AV998UM2R","always_active":false,"bot_id":"BV98UFAHE","image_24":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583989948}],"cache_ts":1584309923,"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Sun, 15 Mar 2020 22:05:23 GMT +- request: + method: get + uri: https://slack.com/api/bogus.call?token=xoxb-992126656368-992224642180-8nEK16Z19POVrwVOqqRt4GgR + 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: + - '76' + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 00:48:11 GMT + Server: + - Apache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + 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 + Referrer-Policy: + - no-referrer + X-Slack-Backend: + - h + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 34223d1ba32d1feb5d221fa1ca8052b9 + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-v5bn + X-Cache: + - Miss from cloudfront + Via: + - 1.1 e4d3d5aafc7d7d582423c073065ab563.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - FsPc5hX7FCUceXhq5jYY9buRhgP6swqJ2G79P1JNFGxOtWFa6e34uw== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"unknown_method","req_method":"bogus.call"}' + http_version: null + recorded_at: Mon, 16 Mar 2020 00:48:11 GMT +recorded_with: VCR 5.1.0 diff --git a/test/user_test.rb b/test/user_test.rb index 70d58901..7ae6e07b 100644 --- a/test/user_test.rb +++ b/test/user_test.rb @@ -20,7 +20,7 @@ describe "list_all" do it "creates an array of users" do - VCR.use_cassette("list-users_endpoint") do + VCR.use_cassette("list_users_endpoint") do users = User.list_all expect(users).wont_be :empty? @@ -28,5 +28,23 @@ expect(users[0]).must_be_kind_of User end end + + describe "self.get" do + it "gets a list of users from the api" do + list = {} + VCR.use_cassette("list_users_endpoint") do + list = User.get("https://slack.com/api/users.list") + end + + expect(list).must_be_kind_of HTTParty::Response + expect(list["ok"]).must_equal true + end + + it "raises an error when the api call fails" do + VCR.use_cassette("list_users_endpoint") do + expect {User.get("https://slack.com/api/bogus.call")}.must_raise SlackAPIError + end + end + end end end From d4d38beae720bd31e6c847490b85aae955fdc073 Mon Sep 17 00:00:00 2001 From: thenora Date: Sun, 15 Mar 2020 22:49:05 -0700 Subject: [PATCH 14/33] ignore cassettes to avoid publishing tokens --- .gitignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 92c2be15..187fe79f 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,6 @@ .env # ignore practice sheet -lib/practice.rb \ No newline at end of file +lib/practice.rb + +/test/cassettes/ \ No newline at end of file From 46145ff95c8c8d426d6f372feee753bd53e295a9 Mon Sep 17 00:00:00 2001 From: thenora Date: Sun, 15 Mar 2020 23:04:16 -0700 Subject: [PATCH 15/33] fixed test helper to hide token --- .gitignore | 4 +--- test/test_helper.rb | 5 +++++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 187fe79f..92c2be15 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,4 @@ .env # ignore practice sheet -lib/practice.rb - -/test/cassettes/ \ No newline at end of file +lib/practice.rb \ No newline at end of file diff --git a/test/test_helper.rb b/test/test_helper.rb index ec533166..d443c45f 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -1,6 +1,7 @@ require "simplecov" SimpleCov.start do add_filter "test/" + add_filter "lib/slack.rb" end require "minitest" @@ -10,6 +11,7 @@ require "webmock/minitest" require "dotenv" require "vcr" +require "table_print" Dotenv.load @@ -26,4 +28,7 @@ config.filter_sensitive_data("") do ENV["BOT_TOKEN"] end + config.filter_sensitive_data("") do + ENV["SLACK_TOKEN"] + end end From f4e0b1758640234133458870ff7a2fa478d5128d Mon Sep 17 00:00:00 2001 From: thenora Date: Sun, 15 Mar 2020 23:16:41 -0700 Subject: [PATCH 16/33] small change to user --- lib/user.rb | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/lib/user.rb b/lib/user.rb index 72bb703c..934456d2 100644 --- a/lib/user.rb +++ b/lib/user.rb @@ -22,19 +22,9 @@ def self.list_all status_emoji: user["profile"]["status_emoji"], ) end - # users = [] - # data["members"].each do |item| - # users << User.new( - # name: item["name"], - # slack_id: item["id"], - # real_name: item["real_name"], - # status_text: item["profile"]["status_text"], - # status_emoji: item["profile"]["status_emoji"] - # ) - # end - # return users - # end + return users + end # TODO change to table print def details @@ -44,9 +34,6 @@ def details end end -puts User.list_all -print User.list_all - # Sample output # "members": [ From 1a852fcabc4e4dd44dc0f921e1c232c79c533f83 Mon Sep 17 00:00:00 2001 From: thenora Date: Sun, 15 Mar 2020 23:23:46 -0700 Subject: [PATCH 17/33] first channel test written and tested --- lib/channel.rb | 26 +++++++++++----------- test/channel_test.rb | 51 +++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 63 insertions(+), 14 deletions(-) diff --git a/lib/channel.rb b/lib/channel.rb index d193169a..60bff424 100644 --- a/lib/channel.rb +++ b/lib/channel.rb @@ -1,20 +1,20 @@ +require_relative "recipient" -require 'dotenv' -require 'httparty' +# BASE_URL = "https://slack.com/api/conversations.list" -Dotenv.load +class Channel < Recipient + attr_reader :topic, :member_count -BASE_URL = "https://slack.com/api/conversations.list" -SLACK_TOKEN = ENV["SLACK_TOKEN"] - -class User + def initialize(name:, slack_id:, topic:, member_count:) + super(name: name, slack_id: slack_id) + @topic = topic + @member_count = member_count + end - - def details(each) - # + def details end - def self.list_all(each) - # + def self.list_all + # end -end \ No newline at end of file +end diff --git a/test/channel_test.rb b/test/channel_test.rb index 3dfb697e..0c5923c4 100644 --- a/test/channel_test.rb +++ b/test/channel_test.rb @@ -1,3 +1,52 @@ -require_relative 'test_helper' +require_relative "test_helper" +require_relative "../lib/channel" + +describe "User class" do + describe "initialize" do + before do + @chan_inst = Channel.new( + name: "stuff", + slack_id: "THISISANID", + topic: "This is a channel to talk about stuff.", + member_count: "3" + ) + end + it "is an instance of User" do + expect(@chan_inst).must_be_kind_of Channel + end + end + # Any tests involving a User should use the username SlackBot + + xdescribe "list_all" do + it "creates an array of users" do + VCR.use_cassette("list_users_endpoint") do + users = User.list_all + + expect(users).wont_be :empty? + expect(users).must_be_kind_of Array + expect(users[0]).must_be_kind_of User + end + end + + xdescribe "self.get" do + it "gets a list of users from the api" do + list = {} + VCR.use_cassette("list_users_endpoint") do + list = User.get("https://slack.com/api/users.list") + end + + expect(list).must_be_kind_of HTTParty::Response + expect(list["ok"]).must_equal true + end + + it "raises an error when the api call fails" do + VCR.use_cassette("list_users_endpoint") do + expect {User.get("https://slack.com/api/bogus.call")}.must_raise SlackAPIError + end + end + end + end +end + # Any tests involving a Channel should use the #random channel From 05ce2b959077143e5a9bb5d8ee5fed4ff4984e67 Mon Sep 17 00:00:00 2001 From: thenora Date: Sun, 15 Mar 2020 23:55:58 -0700 Subject: [PATCH 18/33] channel tests + code and delete recipient tests --- lib/channel.rb | 10 +- test/cassettes/list_channels_endpoint.yml | 147 +++++++++++++++++++++ test/cassettes/list_users_endpoint.yml | 153 ++++++++++++++++++++++ test/channel_test.rb | 112 +++++++++++++--- test/recipient_test.rb | 1 - 5 files changed, 404 insertions(+), 19 deletions(-) create mode 100644 test/cassettes/list_channels_endpoint.yml delete mode 100644 test/recipient_test.rb diff --git a/lib/channel.rb b/lib/channel.rb index 60bff424..22643273 100644 --- a/lib/channel.rb +++ b/lib/channel.rb @@ -15,6 +15,14 @@ def details end def self.list_all - # + data = Channel.get("https://slack.com/api/conversations.list") + channels = data["channels"].map do |channel| + self.new( + name: channel["name"], + slack_id: channel["id"], + topic: channel["topic"]["value"], + member_count: channel["num_members"] + ) + end end end diff --git a/test/cassettes/list_channels_endpoint.yml b/test/cassettes/list_channels_endpoint.yml new file mode 100644 index 00000000..fa5e0881 --- /dev/null +++ b/test/cassettes/list_channels_endpoint.yml @@ -0,0 +1,147 @@ +--- +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: + - '699' + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 06:49:52 GMT + Server: + - Apache + X-Slack-Req-Id: + - 519efb55ae64d2c048954c18dc53208c + X-Oauth-Scopes: + - channels:read,chat:write,users:read,chat:write.public,chat:write.customize + 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-s6gv + X-Cache: + - Miss from cloudfront + Via: + - 1.1 60b744e5b364d04abea9fa6686121242.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - b0AAJzYHieMPJlKREjujdXj9CLYLXZXn26Ci2hufup3ToXycCoHkZA== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CV5KRSHJQ","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1583868608,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UUT9Z80AE","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV63QKAAU"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UUT9Z80AE","last_set":1583868608},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UUT9Z80AE","last_set":1583868608},"previous_names":[],"num_members":5},{"id":"CV649DWUV","name":"slack-api","is_channel":true,"is_group":false,"is_im":false,"created":1583868609,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-api","is_shared":false,"parent_conversation":null,"creator":"UUT9Z80AE","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV63QKAAU"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":7},{"id":"CV7V4KYLF","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1583868609,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UUT9Z80AE","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV63QKAAU"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UUT9Z80AE","last_set":1583868609},"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":"UUT9Z80AE","last_set":1583868609},"previous_names":[],"num_members":5},{"id":"CVASS4US0","name":"test","is_channel":true,"is_group":false,"is_im":false,"created":1584050770,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"test","is_shared":false,"parent_conversation":null,"creator":"UUT9Z80AE","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV63QKAAU"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":1},{"id":"CVBS8GW8M","name":"dianas_test_channel","is_channel":true,"is_group":false,"is_im":false,"created":1584078400,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"dianas_test_channel","is_shared":false,"parent_conversation":null,"creator":"UUTA3S16E","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV63QKAAU"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":1}],"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Mon, 16 Mar 2020 06:49:52 GMT +- request: + method: get + uri: https://slack.com/api/bogus.call?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: + - '76' + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 06:52:44 GMT + Server: + - Apache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + 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 + Referrer-Policy: + - no-referrer + X-Slack-Backend: + - h + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 1bd483d5b62feba8eb0ee77cd1c69114 + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-3ofd + X-Cache: + - Miss from cloudfront + Via: + - 1.1 97d744cbc5fa647cc362d14ff20ecf08.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - QRvt3Gt-O9IHOy5mMDDRscgXbgEi4VeGeWMvLw8F0CXN2QfEgst6CA== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"unknown_method","req_method":"bogus.call"}' + http_version: null + recorded_at: Mon, 16 Mar 2020 06:52:44 GMT +recorded_with: VCR 5.1.0 diff --git a/test/cassettes/list_users_endpoint.yml b/test/cassettes/list_users_endpoint.yml index 1129e0a2..09959102 100644 --- a/test/cassettes/list_users_endpoint.yml +++ b/test/cassettes/list_users_endpoint.yml @@ -153,4 +153,157 @@ http_interactions: string: '{"ok":false,"error":"unknown_method","req_method":"bogus.call"}' http_version: null recorded_at: Mon, 16 Mar 2020 00:48: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: + - '2291' + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 06:28:22 GMT + Server: + - Apache + X-Slack-Req-Id: + - b5e9c2ec414c10e39e94b770bcae46c3 + X-Oauth-Scopes: + - channels:read,chat:write,users:read,chat:write.public,chat:write.customize + 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-6nc0 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 b838ef1ff22a4a994af82d5178c30e1d.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - LJiYjy90kSGHQpT_P1rOKYw5OOgvMA7-PbJjP4mNlN5Phtaj1tMSNA== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TV63QKAAU","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":"TV63QKAAU"},"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":"UUT9Z80AE","team_id":"TV63QKAAU","name":"thenora","deleted":false,"color":"9f69e7","real_name":"Nora","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Nora","real_name_normalized":"Nora","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gecfa8e6728a","first_name":"Nora","last_name":"","image_24":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583868865},{"id":"UUTA3S16E","team_id":"TV63QKAAU","name":"nguyen_diana","deleted":false,"color":"3c989f","real_name":"Diana + Nguyen","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Diana + Nguyen","real_name_normalized":"Diana Nguyen","display_name":"Diana Nguyen","display_name_normalized":"Diana + Nguyen","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g53546304cba","image_24":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583876186},{"id":"UUTJAGAEN","team_id":"TV63QKAAU","name":"time_yolotzin_api_pro","deleted":false,"color":"e96699","real_name":"time_yolotzin_api_pro","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_yolotzin_api_pro","real_name_normalized":"time_yolotzin_api_pro","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g3ed47f067f5","api_app_id":"AV68RSJH3","always_active":false,"bot_id":"BV881SK2B","image_24":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583877148},{"id":"UUUKJ03NX","team_id":"TV63QKAAU","name":"kate.d.mangubat","deleted":false,"color":"4bbe2e","real_name":"Kate + M","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Kate + M","real_name_normalized":"Kate M","display_name":"Kate","display_name_normalized":"Kate","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g078604cbcfb","first_name":"Kate","last_name":"M","image_24":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583997418},{"id":"UUW1CJZ41","team_id":"TV63QKAAU","name":"yltzndnbr","deleted":false,"color":"e7392d","real_name":"Yolotzin + Dunbar","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Yolotzin + Dunbar","real_name_normalized":"Yolotzin Dunbar","display_name":"Yoyo","display_name_normalized":"Yoyo","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g574a1cc3875","first_name":"Yolotzin","last_name":"Dunbar","image_24":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1584083810},{"id":"UV3CAV859","team_id":"TV63QKAAU","name":"space_kate_m_api_proj","deleted":false,"color":"99a949","real_name":"space_kate_m_api_proj","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_kate_m_api_proj","real_name_normalized":"space_kate_m_api_proj","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gbabfb89bbad","api_app_id":"AV22W21DG","always_active":false,"bot_id":"BV3CAV7UK","image_24":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1584239628},{"id":"UV63Y1672","team_id":"TV63QKAAU","name":"tithvorlakmok","deleted":false,"color":"674b1b","real_name":"Lak","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Lak","real_name_normalized":"Lak","display_name":"Lak","display_name_normalized":"Lak","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gfc5b2d94a48","image_24":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583869256},{"id":"UV66LJW5A","team_id":"TV63QKAAU","name":"noras_api","deleted":false,"color":"684b6c","real_name":"Nora + API","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Nora + API","real_name_normalized":"Nora API","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"46a0f74c1fda","api_app_id":"AV6LEP79B","always_active":false,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_original.jpg","is_custom_image":true,"bot_id":"BV8FZCLK1","first_name":"Nora","last_name":"API","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_24.jpg","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_32.jpg","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_48.jpg","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_72.jpg","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_192.jpg","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_512.jpg","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_1024.jpg","status_text_canonical":"","team":"TV63QKAAU"},"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":1584322293},{"id":"UV8PJ6R0W","team_id":"TV63QKAAU","name":"diana_slack_cli","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"diana_slack_cli","real_name_normalized":"diana_slack_cli","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"c8e976fcbc63","api_app_id":"AUWEPCVDF","always_active":false,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_original.jpg","is_custom_image":true,"bot_id":"BUTPL5J58","first_name":"diana_slack_cli","last_name":"","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_24.jpg","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_32.jpg","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_48.jpg","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_72.jpg","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_192.jpg","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_512.jpg","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_1024.jpg","status_text_canonical":"","team":"TV63QKAAU"},"is_bot":true,"is_app_user":false,"updated":1584228234},{"id":"UVAALE528","team_id":"TV63QKAAU","name":"github","deleted":false,"color":"2b6836","real_name":"GitHub","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"GitHub","real_name_normalized":"GitHub","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"a384f3b8cb58","api_app_id":"A8GBNUWU8","always_active":true,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_original.png","is_custom_image":true,"bot_id":"BVAALE484","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_24.png","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_32.png","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_48.png","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_72.png","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_192.png","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_512.png","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_1024.png","status_text_canonical":"","team":"TV63QKAAU"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":true,"updated":1584036089},{"id":"UVB4TQ89M","team_id":"TV63QKAAU","name":"lak_slackapi","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"lak_slackapi","real_name_normalized":"lak_slackapi","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g6ea0fcda828","api_app_id":"AV998UM2R","always_active":false,"bot_id":"BV98UFAHE","image_24":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-512.png","status_text_canonical":"","team":"TV63QKAAU"},"is_bot":true,"is_app_user":false,"updated":1584323188}],"cache_ts":1584340102,"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Mon, 16 Mar 2020 06:28:22 GMT +- request: + method: get + uri: https://slack.com/api/bogus.call?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: + - '76' + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 06:28:22 GMT + Server: + - Apache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + 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 + Referrer-Policy: + - no-referrer + X-Slack-Backend: + - h + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 329e73e377fdba711851501cbb9cd2ff + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-itvd + X-Cache: + - Miss from cloudfront + Via: + - 1.1 d16c3f15bd14953a9d4109eaaa991de2.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - _v2UGaXcXaYhpjrFquRCakjGNxVamP4EsGG2DT1dBLqJe8U6S7YFmA== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"unknown_method","req_method":"bogus.call"}' + http_version: null + recorded_at: Mon, 16 Mar 2020 06:28:22 GMT recorded_with: VCR 5.1.0 diff --git a/test/channel_test.rb b/test/channel_test.rb index 0c5923c4..dbaf4c4d 100644 --- a/test/channel_test.rb +++ b/test/channel_test.rb @@ -1,7 +1,7 @@ require_relative "test_helper" require_relative "../lib/channel" -describe "User class" do +describe "Channel class" do describe "initialize" do before do @chan_inst = Channel.new( @@ -11,28 +11,27 @@ member_count: "3" ) end - it "is an instance of User" do + it "is an instance of Channel" do expect(@chan_inst).must_be_kind_of Channel end end - # Any tests involving a User should use the username SlackBot - xdescribe "list_all" do - it "creates an array of users" do - VCR.use_cassette("list_users_endpoint") do - users = User.list_all + describe "list_all" do + it "creates an array of channels" do + VCR.use_cassette("list_channels_endpoint") do + channels = Channel.list_all - expect(users).wont_be :empty? - expect(users).must_be_kind_of Array - expect(users[0]).must_be_kind_of User + expect(channels).wont_be :empty? + expect(channels).must_be_kind_of Array + expect(channels[0]).must_be_kind_of Channel end end - xdescribe "self.get" do - it "gets a list of users from the api" do + describe "self.get" do + it "gets a list of channels from the api" do list = {} - VCR.use_cassette("list_users_endpoint") do - list = User.get("https://slack.com/api/users.list") + VCR.use_cassette("list_channels_endpoint") do + list = Channel.get("https://slack.com/api/conversations.list") end expect(list).must_be_kind_of HTTParty::Response @@ -40,13 +39,92 @@ end it "raises an error when the api call fails" do - VCR.use_cassette("list_users_endpoint") do - expect {User.get("https://slack.com/api/bogus.call")}.must_raise SlackAPIError + VCR.use_cassette("list_channels_endpoint") do + expect {Channel.get("https://slack.com/api/bogus.call")}.must_raise SlackAPIError end end end end end - # Any tests involving a Channel should use the #random channel + +# EXAMPLE DATA + +# "channels": [ +# { +# "id": "CV5KRSHJQ", +# "name": "general", +# "is_channel": true, +# "is_group": false, +# "is_im": false, +# "created": 1583868608, +# "is_archived": false, +# "is_general": true, +# "unlinked": 0, +# "name_normalized": "general", +# "is_shared": false, +# "parent_conversation": null, +# "creator": "UUT9Z80AE", +# "is_ext_shared": false, +# "is_org_shared": false, +# "shared_team_ids": [ +# "TV63QKAAU" +# ], +# "pending_shared": [], +# "pending_connected_team_ids": [], +# "is_pending_ext_shared": false, +# "is_member": false, +# "is_private": false, +# "is_mpim": false, +# "topic": { +# "value": "Company-wide announcements and work-based matters", +# "creator": "UUT9Z80AE", +# "last_set": 1583868608 +# }, +# "purpose": { +# "value": "This channel is for workspace-wide communication and announcements. All members are in this channel.", +# "creator": "UUT9Z80AE", +# "last_set": 1583868608 +# }, +# "previous_names": [], +# "num_members": 5 +# }, +# { +# "id": "CV649DWUV", +# "name": "slack-api", +# "is_channel": true, +# "is_group": false, +# "is_im": false, +# "created": 1583868609, +# "is_archived": false, +# "is_general": false, +# "unlinked": 0, +# "name_normalized": "slack-api", +# "is_shared": false, +# "parent_conversation": null, +# "creator": "UUT9Z80AE", +# "is_ext_shared": false, +# "is_org_shared": false, +# "shared_team_ids": [ +# "TV63QKAAU" +# ], +# "pending_shared": [], +# "pending_connected_team_ids": [], +# "is_pending_ext_shared": false, +# "is_member": false, +# "is_private": false, +# "is_mpim": false, +# "topic": { +# "value": "", +# "creator": "", +# "last_set": 0 +# }, +# "purpose": { +# "value": "", +# "creator": "", +# "last_set": 0 +# }, +# "previous_names": [], +# "num_members": 7 +# }, \ No newline at end of file diff --git a/test/recipient_test.rb b/test/recipient_test.rb deleted file mode 100644 index e0090394..00000000 --- a/test/recipient_test.rb +++ /dev/null @@ -1 +0,0 @@ -require_relative 'test_helper' From a1db5fb28c7eea66adf175431689b8d6fb5024f4 Mon Sep 17 00:00:00 2001 From: thenora Date: Mon, 16 Mar 2020 00:07:20 -0700 Subject: [PATCH 19/33] tweaks to channel - added details --- lib/channel.rb | 4 ++-- lib/user.rb | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/channel.rb b/lib/channel.rb index 22643273..d5d9d1a2 100644 --- a/lib/channel.rb +++ b/lib/channel.rb @@ -1,7 +1,5 @@ require_relative "recipient" -# BASE_URL = "https://slack.com/api/conversations.list" - class Channel < Recipient attr_reader :topic, :member_count @@ -12,6 +10,7 @@ def initialize(name:, slack_id:, topic:, member_count:) end def details + tp self, "slack_id", "name", "topic", "member_count" end def self.list_all @@ -24,5 +23,6 @@ def self.list_all member_count: channel["num_members"] ) end + return channels end end diff --git a/lib/user.rb b/lib/user.rb index 934456d2..b154ecaa 100644 --- a/lib/user.rb +++ b/lib/user.rb @@ -22,7 +22,6 @@ def self.list_all status_emoji: user["profile"]["status_emoji"], ) end - return users end From 12150a6fc9d83fac0b374aad07450f417609faa2 Mon Sep 17 00:00:00 2001 From: thenora Date: Mon, 16 Mar 2020 00:09:36 -0700 Subject: [PATCH 20/33] changed user details to table print --- lib/user.rb | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/lib/user.rb b/lib/user.rb index b154ecaa..ed0879b7 100644 --- a/lib/user.rb +++ b/lib/user.rb @@ -1,5 +1,4 @@ require_relative "recipient" -require "table_print" # do I need this here? class User < Recipient attr_reader :real_name, :status_text, :status_emoji @@ -25,11 +24,8 @@ def self.list_all return users end - # TODO change to table print def details - return "Username: #{name}, - Real name: #{real_name}, - Slack id: #{slack_id}" + tp self, "slack_id", "name", "real_name" end end From 977769ef064a740e12a067271ef78f05bd143f14 Mon Sep 17 00:00:00 2001 From: thenora Date: Mon, 16 Mar 2020 00:48:18 -0700 Subject: [PATCH 21/33] working on select channel --- lib/workspace.rb | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/workspace.rb b/lib/workspace.rb index f3415911..a766d0e7 100644 --- a/lib/workspace.rb +++ b/lib/workspace.rb @@ -2,12 +2,16 @@ class Workspace attr_reader :users, :channels, :selected def initialize - @users = [] - @channels = [] + @users = User.list_all + @channels = Channel.list_all + @selected = "" end def select_channel - + user_input = gets.chomp + @channels.each do |channel| + @selected = channel if channel.name == user_input || channel.slack_id == user_input + end end def select_user From 1a835355b8c4fa4570d387e0d55ba7f686e7396c Mon Sep 17 00:00:00 2001 From: thenora Date: Mon, 16 Mar 2020 00:54:19 -0700 Subject: [PATCH 22/33] select channel --- lib/workspace.rb | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/workspace.rb b/lib/workspace.rb index a766d0e7..2c090019 100644 --- a/lib/workspace.rb +++ b/lib/workspace.rb @@ -4,13 +4,16 @@ class Workspace def initialize @users = User.list_all @channels = Channel.list_all - @selected = "" + @selected = nil end def select_channel - user_input = gets.chomp + user_input = gets.chomp.upcase @channels.each do |channel| - @selected = channel if channel.name == user_input || channel.slack_id == user_input + if channel.name.upcase == user_input || channel.slack_id.upcase == user_input + @selected = channel + return "#{@selected.name} is now selected." + end end end From 7ba766ed60f4cb06407c7f33b7b7427d854590b4 Mon Sep 17 00:00:00 2001 From: thenora Date: Mon, 16 Mar 2020 01:26:31 -0700 Subject: [PATCH 23/33] workspace select channel and tests --- lib/workspace.rb | 7 +- test/cassettes/workspace.yml | 172 ++++++++++++++++++++++++++++ test/cassettes/workspace_.yml | 172 ++++++++++++++++++++++++++++ test/cassettes/workspace_create.yml | 172 ++++++++++++++++++++++++++++ test/cassettes/workspace_init.yml | 172 ++++++++++++++++++++++++++++ test/workspace_test.rb | 40 ++++++- 6 files changed, 732 insertions(+), 3 deletions(-) create mode 100644 test/cassettes/workspace.yml create mode 100644 test/cassettes/workspace_.yml create mode 100644 test/cassettes/workspace_create.yml create mode 100644 test/cassettes/workspace_init.yml diff --git a/lib/workspace.rb b/lib/workspace.rb index 2c090019..07ad63d0 100644 --- a/lib/workspace.rb +++ b/lib/workspace.rb @@ -7,14 +7,17 @@ def initialize @selected = nil end - def select_channel - user_input = gets.chomp.upcase + def select_channel(search_word) + user_input = search_word.upcase @channels.each do |channel| if channel.name.upcase == user_input || channel.slack_id.upcase == user_input @selected = channel return "#{@selected.name} is now selected." end end + + @selected = nil + return "Sorry, I couldn't find a channel matching \"#{search_word}.\"" end def select_user diff --git a/test/cassettes/workspace.yml b/test/cassettes/workspace.yml new file mode 100644 index 00000000..4e718930 --- /dev/null +++ b/test/cassettes/workspace.yml @@ -0,0 +1,172 @@ +--- +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: + - '2291' + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 08:11:04 GMT + Server: + - Apache + X-Slack-Req-Id: + - 94639ce451587e7732b6a25570c9d4fc + X-Oauth-Scopes: + - channels:read,chat:write,users:read,chat:write.public,chat:write.customize + 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-jap3 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 e4d3d5aafc7d7d582423c073065ab563.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - 4AnIAmsY7mAvE-zmP8-JMKKFp2214o_LwwuRq9DylvjpmwCdS6nxPw== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TV63QKAAU","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":"TV63QKAAU"},"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":"UUT9Z80AE","team_id":"TV63QKAAU","name":"thenora","deleted":false,"color":"9f69e7","real_name":"Nora","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Nora","real_name_normalized":"Nora","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gecfa8e6728a","first_name":"Nora","last_name":"","image_24":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583868865},{"id":"UUTA3S16E","team_id":"TV63QKAAU","name":"nguyen_diana","deleted":false,"color":"3c989f","real_name":"Diana + Nguyen","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Diana + Nguyen","real_name_normalized":"Diana Nguyen","display_name":"Diana Nguyen","display_name_normalized":"Diana + Nguyen","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g53546304cba","image_24":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583876186},{"id":"UUTJAGAEN","team_id":"TV63QKAAU","name":"time_yolotzin_api_pro","deleted":false,"color":"e96699","real_name":"time_yolotzin_api_pro","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_yolotzin_api_pro","real_name_normalized":"time_yolotzin_api_pro","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g3ed47f067f5","api_app_id":"AV68RSJH3","always_active":false,"bot_id":"BV881SK2B","image_24":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583877148},{"id":"UUUKJ03NX","team_id":"TV63QKAAU","name":"kate.d.mangubat","deleted":false,"color":"4bbe2e","real_name":"Kate + M","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Kate + M","real_name_normalized":"Kate M","display_name":"Kate","display_name_normalized":"Kate","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g078604cbcfb","first_name":"Kate","last_name":"M","image_24":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583997418},{"id":"UUW1CJZ41","team_id":"TV63QKAAU","name":"yltzndnbr","deleted":false,"color":"e7392d","real_name":"Yolotzin + Dunbar","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Yolotzin + Dunbar","real_name_normalized":"Yolotzin Dunbar","display_name":"Yoyo","display_name_normalized":"Yoyo","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g574a1cc3875","first_name":"Yolotzin","last_name":"Dunbar","image_24":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1584083810},{"id":"UV3CAV859","team_id":"TV63QKAAU","name":"space_kate_m_api_proj","deleted":false,"color":"99a949","real_name":"space_kate_m_api_proj","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_kate_m_api_proj","real_name_normalized":"space_kate_m_api_proj","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gbabfb89bbad","api_app_id":"AV22W21DG","always_active":false,"bot_id":"BV3CAV7UK","image_24":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1584239628},{"id":"UV63Y1672","team_id":"TV63QKAAU","name":"tithvorlakmok","deleted":false,"color":"674b1b","real_name":"Lak","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Lak","real_name_normalized":"Lak","display_name":"Lak","display_name_normalized":"Lak","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gfc5b2d94a48","image_24":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583869256},{"id":"UV66LJW5A","team_id":"TV63QKAAU","name":"noras_api","deleted":false,"color":"684b6c","real_name":"Nora + API","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Nora + API","real_name_normalized":"Nora API","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"46a0f74c1fda","api_app_id":"AV6LEP79B","always_active":false,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_original.jpg","is_custom_image":true,"bot_id":"BV8FZCLK1","first_name":"Nora","last_name":"API","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_24.jpg","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_32.jpg","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_48.jpg","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_72.jpg","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_192.jpg","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_512.jpg","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_1024.jpg","status_text_canonical":"","team":"TV63QKAAU"},"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":1584322293},{"id":"UV8PJ6R0W","team_id":"TV63QKAAU","name":"diana_slack_cli","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"diana_slack_cli","real_name_normalized":"diana_slack_cli","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"c8e976fcbc63","api_app_id":"AUWEPCVDF","always_active":false,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_original.jpg","is_custom_image":true,"bot_id":"BUTPL5J58","first_name":"diana_slack_cli","last_name":"","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_24.jpg","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_32.jpg","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_48.jpg","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_72.jpg","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_192.jpg","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_512.jpg","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_1024.jpg","status_text_canonical":"","team":"TV63QKAAU"},"is_bot":true,"is_app_user":false,"updated":1584228234},{"id":"UVAALE528","team_id":"TV63QKAAU","name":"github","deleted":false,"color":"2b6836","real_name":"GitHub","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"GitHub","real_name_normalized":"GitHub","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"a384f3b8cb58","api_app_id":"A8GBNUWU8","always_active":true,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_original.png","is_custom_image":true,"bot_id":"BVAALE484","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_24.png","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_32.png","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_48.png","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_72.png","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_192.png","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_512.png","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_1024.png","status_text_canonical":"","team":"TV63QKAAU"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":true,"updated":1584036089},{"id":"UVB4TQ89M","team_id":"TV63QKAAU","name":"lak_slackapi","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"lak_slackapi","real_name_normalized":"lak_slackapi","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g6ea0fcda828","api_app_id":"AV998UM2R","always_active":false,"bot_id":"BV98UFAHE","image_24":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-512.png","status_text_canonical":"","team":"TV63QKAAU"},"is_bot":true,"is_app_user":false,"updated":1584323188}],"cache_ts":1584346264,"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Mon, 16 Mar 2020 08:11:04 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: + - '699' + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 08:11:04 GMT + Server: + - Apache + X-Slack-Req-Id: + - '0842ec56067375dabeaa9252f2ac1b79' + X-Oauth-Scopes: + - channels:read,chat:write,users:read,chat:write.public,chat:write.customize + 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-t3yn + X-Cache: + - Miss from cloudfront + Via: + - 1.1 be082a2326b7d49643607b097f1e7181.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - 07htCZaPxJJmb5Gxyi8K6sL-PgQ09itEZFPM_5gr1Wgl3vMEoyRE0A== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CV5KRSHJQ","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1583868608,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UUT9Z80AE","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV63QKAAU"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UUT9Z80AE","last_set":1583868608},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UUT9Z80AE","last_set":1583868608},"previous_names":[],"num_members":5},{"id":"CV649DWUV","name":"slack-api","is_channel":true,"is_group":false,"is_im":false,"created":1583868609,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-api","is_shared":false,"parent_conversation":null,"creator":"UUT9Z80AE","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV63QKAAU"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":7},{"id":"CV7V4KYLF","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1583868609,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UUT9Z80AE","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV63QKAAU"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UUT9Z80AE","last_set":1583868609},"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":"UUT9Z80AE","last_set":1583868609},"previous_names":[],"num_members":5},{"id":"CVASS4US0","name":"test","is_channel":true,"is_group":false,"is_im":false,"created":1584050770,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"test","is_shared":false,"parent_conversation":null,"creator":"UUT9Z80AE","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV63QKAAU"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":1},{"id":"CVBS8GW8M","name":"dianas_test_channel","is_channel":true,"is_group":false,"is_im":false,"created":1584078400,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"dianas_test_channel","is_shared":false,"parent_conversation":null,"creator":"UUTA3S16E","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV63QKAAU"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":1}],"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Mon, 16 Mar 2020 08:11:05 GMT +recorded_with: VCR 5.1.0 diff --git a/test/cassettes/workspace_.yml b/test/cassettes/workspace_.yml new file mode 100644 index 00000000..a019aa46 --- /dev/null +++ b/test/cassettes/workspace_.yml @@ -0,0 +1,172 @@ +--- +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: + - '2291' + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 08:11:07 GMT + Server: + - Apache + X-Slack-Req-Id: + - 2c47bcf45172a834c22b334ef2325857 + X-Oauth-Scopes: + - channels:read,chat:write,users:read,chat:write.public,chat:write.customize + 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-tsos + X-Cache: + - Miss from cloudfront + Via: + - 1.1 f9d716a351f14a0ac1fac2449734849b.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - EA1zpKT-7W2wZy2UHphdkeJyqhjfBOfPeORXIqvzz9gc3W5CjbQxfQ== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TV63QKAAU","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":"TV63QKAAU"},"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":"UUT9Z80AE","team_id":"TV63QKAAU","name":"thenora","deleted":false,"color":"9f69e7","real_name":"Nora","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Nora","real_name_normalized":"Nora","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gecfa8e6728a","first_name":"Nora","last_name":"","image_24":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583868865},{"id":"UUTA3S16E","team_id":"TV63QKAAU","name":"nguyen_diana","deleted":false,"color":"3c989f","real_name":"Diana + Nguyen","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Diana + Nguyen","real_name_normalized":"Diana Nguyen","display_name":"Diana Nguyen","display_name_normalized":"Diana + Nguyen","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g53546304cba","image_24":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583876186},{"id":"UUTJAGAEN","team_id":"TV63QKAAU","name":"time_yolotzin_api_pro","deleted":false,"color":"e96699","real_name":"time_yolotzin_api_pro","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_yolotzin_api_pro","real_name_normalized":"time_yolotzin_api_pro","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g3ed47f067f5","api_app_id":"AV68RSJH3","always_active":false,"bot_id":"BV881SK2B","image_24":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583877148},{"id":"UUUKJ03NX","team_id":"TV63QKAAU","name":"kate.d.mangubat","deleted":false,"color":"4bbe2e","real_name":"Kate + M","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Kate + M","real_name_normalized":"Kate M","display_name":"Kate","display_name_normalized":"Kate","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g078604cbcfb","first_name":"Kate","last_name":"M","image_24":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583997418},{"id":"UUW1CJZ41","team_id":"TV63QKAAU","name":"yltzndnbr","deleted":false,"color":"e7392d","real_name":"Yolotzin + Dunbar","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Yolotzin + Dunbar","real_name_normalized":"Yolotzin Dunbar","display_name":"Yoyo","display_name_normalized":"Yoyo","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g574a1cc3875","first_name":"Yolotzin","last_name":"Dunbar","image_24":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1584083810},{"id":"UV3CAV859","team_id":"TV63QKAAU","name":"space_kate_m_api_proj","deleted":false,"color":"99a949","real_name":"space_kate_m_api_proj","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_kate_m_api_proj","real_name_normalized":"space_kate_m_api_proj","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gbabfb89bbad","api_app_id":"AV22W21DG","always_active":false,"bot_id":"BV3CAV7UK","image_24":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1584239628},{"id":"UV63Y1672","team_id":"TV63QKAAU","name":"tithvorlakmok","deleted":false,"color":"674b1b","real_name":"Lak","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Lak","real_name_normalized":"Lak","display_name":"Lak","display_name_normalized":"Lak","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gfc5b2d94a48","image_24":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583869256},{"id":"UV66LJW5A","team_id":"TV63QKAAU","name":"noras_api","deleted":false,"color":"684b6c","real_name":"Nora + API","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Nora + API","real_name_normalized":"Nora API","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"46a0f74c1fda","api_app_id":"AV6LEP79B","always_active":false,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_original.jpg","is_custom_image":true,"bot_id":"BV8FZCLK1","first_name":"Nora","last_name":"API","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_24.jpg","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_32.jpg","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_48.jpg","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_72.jpg","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_192.jpg","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_512.jpg","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_1024.jpg","status_text_canonical":"","team":"TV63QKAAU"},"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":1584322293},{"id":"UV8PJ6R0W","team_id":"TV63QKAAU","name":"diana_slack_cli","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"diana_slack_cli","real_name_normalized":"diana_slack_cli","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"c8e976fcbc63","api_app_id":"AUWEPCVDF","always_active":false,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_original.jpg","is_custom_image":true,"bot_id":"BUTPL5J58","first_name":"diana_slack_cli","last_name":"","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_24.jpg","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_32.jpg","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_48.jpg","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_72.jpg","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_192.jpg","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_512.jpg","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_1024.jpg","status_text_canonical":"","team":"TV63QKAAU"},"is_bot":true,"is_app_user":false,"updated":1584228234},{"id":"UVAALE528","team_id":"TV63QKAAU","name":"github","deleted":false,"color":"2b6836","real_name":"GitHub","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"GitHub","real_name_normalized":"GitHub","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"a384f3b8cb58","api_app_id":"A8GBNUWU8","always_active":true,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_original.png","is_custom_image":true,"bot_id":"BVAALE484","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_24.png","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_32.png","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_48.png","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_72.png","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_192.png","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_512.png","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_1024.png","status_text_canonical":"","team":"TV63QKAAU"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":true,"updated":1584036089},{"id":"UVB4TQ89M","team_id":"TV63QKAAU","name":"lak_slackapi","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"lak_slackapi","real_name_normalized":"lak_slackapi","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g6ea0fcda828","api_app_id":"AV998UM2R","always_active":false,"bot_id":"BV98UFAHE","image_24":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-512.png","status_text_canonical":"","team":"TV63QKAAU"},"is_bot":true,"is_app_user":false,"updated":1584323188}],"cache_ts":1584346267,"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Mon, 16 Mar 2020 08:11:08 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: + - '699' + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 08:11:08 GMT + Server: + - Apache + X-Slack-Req-Id: + - 3698f28f2c019c3272af4d4ac01c85e4 + X-Oauth-Scopes: + - channels:read,chat:write,users:read,chat:write.public,chat:write.customize + 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-abpq + X-Cache: + - Miss from cloudfront + Via: + - 1.1 556b99c6be8d7078b9f067347c62df6b.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - pmx0P5KrLrViY1nhm5ykNOQuo-nc2maah5urY-4ceP59p8xV7YaP4Q== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CV5KRSHJQ","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1583868608,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UUT9Z80AE","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV63QKAAU"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UUT9Z80AE","last_set":1583868608},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UUT9Z80AE","last_set":1583868608},"previous_names":[],"num_members":5},{"id":"CV649DWUV","name":"slack-api","is_channel":true,"is_group":false,"is_im":false,"created":1583868609,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-api","is_shared":false,"parent_conversation":null,"creator":"UUT9Z80AE","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV63QKAAU"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":7},{"id":"CV7V4KYLF","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1583868609,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UUT9Z80AE","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV63QKAAU"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UUT9Z80AE","last_set":1583868609},"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":"UUT9Z80AE","last_set":1583868609},"previous_names":[],"num_members":5},{"id":"CVASS4US0","name":"test","is_channel":true,"is_group":false,"is_im":false,"created":1584050770,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"test","is_shared":false,"parent_conversation":null,"creator":"UUT9Z80AE","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV63QKAAU"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":1},{"id":"CVBS8GW8M","name":"dianas_test_channel","is_channel":true,"is_group":false,"is_im":false,"created":1584078400,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"dianas_test_channel","is_shared":false,"parent_conversation":null,"creator":"UUTA3S16E","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV63QKAAU"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":1}],"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Mon, 16 Mar 2020 08:11:08 GMT +recorded_with: VCR 5.1.0 diff --git a/test/cassettes/workspace_create.yml b/test/cassettes/workspace_create.yml new file mode 100644 index 00000000..f3834009 --- /dev/null +++ b/test/cassettes/workspace_create.yml @@ -0,0 +1,172 @@ +--- +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: + - '2291' + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 08:00:50 GMT + Server: + - Apache + X-Slack-Req-Id: + - 4c66ae6a9da877525af19f88eb3a60a7 + X-Oauth-Scopes: + - channels:read,chat:write,users:read,chat:write.public,chat:write.customize + 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-2nvs + X-Cache: + - Miss from cloudfront + Via: + - 1.1 b48dedcc55e63f14261aa92cf2d61522.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - 10wF1hraBLz-rGw0cEVUlToCDDBkHx-Vr2o48A7lHojO_WFULjXAOA== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TV63QKAAU","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":"TV63QKAAU"},"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":"UUT9Z80AE","team_id":"TV63QKAAU","name":"thenora","deleted":false,"color":"9f69e7","real_name":"Nora","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Nora","real_name_normalized":"Nora","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gecfa8e6728a","first_name":"Nora","last_name":"","image_24":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583868865},{"id":"UUTA3S16E","team_id":"TV63QKAAU","name":"nguyen_diana","deleted":false,"color":"3c989f","real_name":"Diana + Nguyen","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Diana + Nguyen","real_name_normalized":"Diana Nguyen","display_name":"Diana Nguyen","display_name_normalized":"Diana + Nguyen","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g53546304cba","image_24":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583876186},{"id":"UUTJAGAEN","team_id":"TV63QKAAU","name":"time_yolotzin_api_pro","deleted":false,"color":"e96699","real_name":"time_yolotzin_api_pro","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_yolotzin_api_pro","real_name_normalized":"time_yolotzin_api_pro","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g3ed47f067f5","api_app_id":"AV68RSJH3","always_active":false,"bot_id":"BV881SK2B","image_24":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583877148},{"id":"UUUKJ03NX","team_id":"TV63QKAAU","name":"kate.d.mangubat","deleted":false,"color":"4bbe2e","real_name":"Kate + M","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Kate + M","real_name_normalized":"Kate M","display_name":"Kate","display_name_normalized":"Kate","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g078604cbcfb","first_name":"Kate","last_name":"M","image_24":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583997418},{"id":"UUW1CJZ41","team_id":"TV63QKAAU","name":"yltzndnbr","deleted":false,"color":"e7392d","real_name":"Yolotzin + Dunbar","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Yolotzin + Dunbar","real_name_normalized":"Yolotzin Dunbar","display_name":"Yoyo","display_name_normalized":"Yoyo","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g574a1cc3875","first_name":"Yolotzin","last_name":"Dunbar","image_24":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1584083810},{"id":"UV3CAV859","team_id":"TV63QKAAU","name":"space_kate_m_api_proj","deleted":false,"color":"99a949","real_name":"space_kate_m_api_proj","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_kate_m_api_proj","real_name_normalized":"space_kate_m_api_proj","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gbabfb89bbad","api_app_id":"AV22W21DG","always_active":false,"bot_id":"BV3CAV7UK","image_24":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1584239628},{"id":"UV63Y1672","team_id":"TV63QKAAU","name":"tithvorlakmok","deleted":false,"color":"674b1b","real_name":"Lak","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Lak","real_name_normalized":"Lak","display_name":"Lak","display_name_normalized":"Lak","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gfc5b2d94a48","image_24":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583869256},{"id":"UV66LJW5A","team_id":"TV63QKAAU","name":"noras_api","deleted":false,"color":"684b6c","real_name":"Nora + API","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Nora + API","real_name_normalized":"Nora API","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"46a0f74c1fda","api_app_id":"AV6LEP79B","always_active":false,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_original.jpg","is_custom_image":true,"bot_id":"BV8FZCLK1","first_name":"Nora","last_name":"API","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_24.jpg","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_32.jpg","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_48.jpg","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_72.jpg","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_192.jpg","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_512.jpg","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_1024.jpg","status_text_canonical":"","team":"TV63QKAAU"},"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":1584322293},{"id":"UV8PJ6R0W","team_id":"TV63QKAAU","name":"diana_slack_cli","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"diana_slack_cli","real_name_normalized":"diana_slack_cli","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"c8e976fcbc63","api_app_id":"AUWEPCVDF","always_active":false,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_original.jpg","is_custom_image":true,"bot_id":"BUTPL5J58","first_name":"diana_slack_cli","last_name":"","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_24.jpg","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_32.jpg","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_48.jpg","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_72.jpg","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_192.jpg","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_512.jpg","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_1024.jpg","status_text_canonical":"","team":"TV63QKAAU"},"is_bot":true,"is_app_user":false,"updated":1584228234},{"id":"UVAALE528","team_id":"TV63QKAAU","name":"github","deleted":false,"color":"2b6836","real_name":"GitHub","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"GitHub","real_name_normalized":"GitHub","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"a384f3b8cb58","api_app_id":"A8GBNUWU8","always_active":true,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_original.png","is_custom_image":true,"bot_id":"BVAALE484","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_24.png","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_32.png","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_48.png","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_72.png","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_192.png","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_512.png","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_1024.png","status_text_canonical":"","team":"TV63QKAAU"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":true,"updated":1584036089},{"id":"UVB4TQ89M","team_id":"TV63QKAAU","name":"lak_slackapi","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"lak_slackapi","real_name_normalized":"lak_slackapi","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g6ea0fcda828","api_app_id":"AV998UM2R","always_active":false,"bot_id":"BV98UFAHE","image_24":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-512.png","status_text_canonical":"","team":"TV63QKAAU"},"is_bot":true,"is_app_user":false,"updated":1584323188}],"cache_ts":1584345650,"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Mon, 16 Mar 2020 08:00:50 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: + - '699' + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 08:00:51 GMT + Server: + - Apache + X-Slack-Req-Id: + - 616e6277a087792c222d7391950620f2 + X-Oauth-Scopes: + - channels:read,chat:write,users:read,chat:write.public,chat:write.customize + 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: + - r + 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-gf66 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 0bb842bd5868b86440983b936bb0adef.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - g7DWMG4ctgaOUsLsW-YNLYZVgcdLqSVpuRs4UrSdY8XGI075ywJv2A== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CV5KRSHJQ","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1583868608,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UUT9Z80AE","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV63QKAAU"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UUT9Z80AE","last_set":1583868608},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UUT9Z80AE","last_set":1583868608},"previous_names":[],"num_members":5},{"id":"CV649DWUV","name":"slack-api","is_channel":true,"is_group":false,"is_im":false,"created":1583868609,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-api","is_shared":false,"parent_conversation":null,"creator":"UUT9Z80AE","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV63QKAAU"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":7},{"id":"CV7V4KYLF","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1583868609,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UUT9Z80AE","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV63QKAAU"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UUT9Z80AE","last_set":1583868609},"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":"UUT9Z80AE","last_set":1583868609},"previous_names":[],"num_members":5},{"id":"CVASS4US0","name":"test","is_channel":true,"is_group":false,"is_im":false,"created":1584050770,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"test","is_shared":false,"parent_conversation":null,"creator":"UUT9Z80AE","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV63QKAAU"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":1},{"id":"CVBS8GW8M","name":"dianas_test_channel","is_channel":true,"is_group":false,"is_im":false,"created":1584078400,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"dianas_test_channel","is_shared":false,"parent_conversation":null,"creator":"UUTA3S16E","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV63QKAAU"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":1}],"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Mon, 16 Mar 2020 08:00:51 GMT +recorded_with: VCR 5.1.0 diff --git a/test/cassettes/workspace_init.yml b/test/cassettes/workspace_init.yml new file mode 100644 index 00000000..92c35ab1 --- /dev/null +++ b/test/cassettes/workspace_init.yml @@ -0,0 +1,172 @@ +--- +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: + - '2291' + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 08:10:19 GMT + Server: + - Apache + X-Slack-Req-Id: + - 40f747d6c5d908214ab0bc85266e1861 + X-Oauth-Scopes: + - channels:read,chat:write,users:read,chat:write.public,chat:write.customize + 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-v5bn + X-Cache: + - Miss from cloudfront + Via: + - 1.1 6172bb1a5d00a3b06ae3700570ebe117.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - 0wb8FFoZAGsChvmFF0qm0IIjdvn6e5Za_i6T_UvBY_fghSKRj4qBbQ== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TV63QKAAU","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":"TV63QKAAU"},"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":"UUT9Z80AE","team_id":"TV63QKAAU","name":"thenora","deleted":false,"color":"9f69e7","real_name":"Nora","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Nora","real_name_normalized":"Nora","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gecfa8e6728a","first_name":"Nora","last_name":"","image_24":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583868865},{"id":"UUTA3S16E","team_id":"TV63QKAAU","name":"nguyen_diana","deleted":false,"color":"3c989f","real_name":"Diana + Nguyen","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Diana + Nguyen","real_name_normalized":"Diana Nguyen","display_name":"Diana Nguyen","display_name_normalized":"Diana + Nguyen","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g53546304cba","image_24":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583876186},{"id":"UUTJAGAEN","team_id":"TV63QKAAU","name":"time_yolotzin_api_pro","deleted":false,"color":"e96699","real_name":"time_yolotzin_api_pro","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_yolotzin_api_pro","real_name_normalized":"time_yolotzin_api_pro","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g3ed47f067f5","api_app_id":"AV68RSJH3","always_active":false,"bot_id":"BV881SK2B","image_24":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583877148},{"id":"UUUKJ03NX","team_id":"TV63QKAAU","name":"kate.d.mangubat","deleted":false,"color":"4bbe2e","real_name":"Kate + M","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Kate + M","real_name_normalized":"Kate M","display_name":"Kate","display_name_normalized":"Kate","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g078604cbcfb","first_name":"Kate","last_name":"M","image_24":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583997418},{"id":"UUW1CJZ41","team_id":"TV63QKAAU","name":"yltzndnbr","deleted":false,"color":"e7392d","real_name":"Yolotzin + Dunbar","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Yolotzin + Dunbar","real_name_normalized":"Yolotzin Dunbar","display_name":"Yoyo","display_name_normalized":"Yoyo","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g574a1cc3875","first_name":"Yolotzin","last_name":"Dunbar","image_24":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1584083810},{"id":"UV3CAV859","team_id":"TV63QKAAU","name":"space_kate_m_api_proj","deleted":false,"color":"99a949","real_name":"space_kate_m_api_proj","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_kate_m_api_proj","real_name_normalized":"space_kate_m_api_proj","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gbabfb89bbad","api_app_id":"AV22W21DG","always_active":false,"bot_id":"BV3CAV7UK","image_24":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1584239628},{"id":"UV63Y1672","team_id":"TV63QKAAU","name":"tithvorlakmok","deleted":false,"color":"674b1b","real_name":"Lak","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Lak","real_name_normalized":"Lak","display_name":"Lak","display_name_normalized":"Lak","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gfc5b2d94a48","image_24":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583869256},{"id":"UV66LJW5A","team_id":"TV63QKAAU","name":"noras_api","deleted":false,"color":"684b6c","real_name":"Nora + API","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Nora + API","real_name_normalized":"Nora API","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"46a0f74c1fda","api_app_id":"AV6LEP79B","always_active":false,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_original.jpg","is_custom_image":true,"bot_id":"BV8FZCLK1","first_name":"Nora","last_name":"API","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_24.jpg","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_32.jpg","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_48.jpg","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_72.jpg","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_192.jpg","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_512.jpg","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_1024.jpg","status_text_canonical":"","team":"TV63QKAAU"},"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":1584322293},{"id":"UV8PJ6R0W","team_id":"TV63QKAAU","name":"diana_slack_cli","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"diana_slack_cli","real_name_normalized":"diana_slack_cli","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"c8e976fcbc63","api_app_id":"AUWEPCVDF","always_active":false,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_original.jpg","is_custom_image":true,"bot_id":"BUTPL5J58","first_name":"diana_slack_cli","last_name":"","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_24.jpg","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_32.jpg","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_48.jpg","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_72.jpg","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_192.jpg","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_512.jpg","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_1024.jpg","status_text_canonical":"","team":"TV63QKAAU"},"is_bot":true,"is_app_user":false,"updated":1584228234},{"id":"UVAALE528","team_id":"TV63QKAAU","name":"github","deleted":false,"color":"2b6836","real_name":"GitHub","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"GitHub","real_name_normalized":"GitHub","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"a384f3b8cb58","api_app_id":"A8GBNUWU8","always_active":true,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_original.png","is_custom_image":true,"bot_id":"BVAALE484","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_24.png","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_32.png","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_48.png","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_72.png","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_192.png","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_512.png","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_1024.png","status_text_canonical":"","team":"TV63QKAAU"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":true,"updated":1584036089},{"id":"UVB4TQ89M","team_id":"TV63QKAAU","name":"lak_slackapi","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"lak_slackapi","real_name_normalized":"lak_slackapi","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g6ea0fcda828","api_app_id":"AV998UM2R","always_active":false,"bot_id":"BV98UFAHE","image_24":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-512.png","status_text_canonical":"","team":"TV63QKAAU"},"is_bot":true,"is_app_user":false,"updated":1584323188}],"cache_ts":1584346219,"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Mon, 16 Mar 2020 08:10:19 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: + - '699' + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 08:10:19 GMT + Server: + - Apache + X-Slack-Req-Id: + - 88ff700420c803fdfe98ffdaba3c457b + X-Oauth-Scopes: + - channels:read,chat:write,users:read,chat:write.public,chat:write.customize + 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-wl4e + X-Cache: + - Miss from cloudfront + Via: + - 1.1 12a392bc3a7281f8d5d4591bfadc41fc.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - XLwTE6XaD-mnAIMdZSEs-GyeCigMLhcp81QEzl4sytaDgiPEC92Vaw== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CV5KRSHJQ","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1583868608,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"UUT9Z80AE","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV63QKAAU"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UUT9Z80AE","last_set":1583868608},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UUT9Z80AE","last_set":1583868608},"previous_names":[],"num_members":5},{"id":"CV649DWUV","name":"slack-api","is_channel":true,"is_group":false,"is_im":false,"created":1583868609,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-api","is_shared":false,"parent_conversation":null,"creator":"UUT9Z80AE","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV63QKAAU"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":7},{"id":"CV7V4KYLF","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1583868609,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"UUT9Z80AE","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV63QKAAU"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UUT9Z80AE","last_set":1583868609},"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":"UUT9Z80AE","last_set":1583868609},"previous_names":[],"num_members":5},{"id":"CVASS4US0","name":"test","is_channel":true,"is_group":false,"is_im":false,"created":1584050770,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"test","is_shared":false,"parent_conversation":null,"creator":"UUT9Z80AE","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV63QKAAU"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":1},{"id":"CVBS8GW8M","name":"dianas_test_channel","is_channel":true,"is_group":false,"is_im":false,"created":1584078400,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"dianas_test_channel","is_shared":false,"parent_conversation":null,"creator":"UUTA3S16E","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["TV63QKAAU"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":1}],"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Mon, 16 Mar 2020 08:10:20 GMT +recorded_with: VCR 5.1.0 diff --git a/test/workspace_test.rb b/test/workspace_test.rb index e0090394..ec0ae513 100644 --- a/test/workspace_test.rb +++ b/test/workspace_test.rb @@ -1 +1,39 @@ -require_relative 'test_helper' +require_relative "test_helper" +require_relative "../lib/workspace" +require_relative "../lib/user" +require_relative "../lib/channel" + +describe "Workspace class" do + before do + VCR.use_cassette("workspace") do + @workspace_inst = Workspace.new + end + end + + describe "initialize" do + it "is an instance of Workspace" do + expect(@workspace_inst).must_be_kind_of Workspace + end + + it "has a list of users" do + expect(@workspace_inst.users).must_be_kind_of Array + expect(@workspace_inst.users[0]).must_be_kind_of User + end + + it "has a list of channels" do + expect(@workspace_inst.channels).must_be_kind_of Array + expect(@workspace_inst.channels[0]).must_be_kind_of Channel + end + end + + describe "select_channel" do + it "selects a channel from a slack_id" do + user_input = "CV7V4KYLF" + @workspace_inst.select_channel(user_input) + + expect(@workspace_inst.selected.name).must_equal "random" + expect(@workspace_inst.selected).must_be_kind_of Channel + end + end + +end From d1ba4caf76096c2ff0bcb899fa95afdfbcffe491 Mon Sep 17 00:00:00 2001 From: thenora Date: Mon, 16 Mar 2020 01:36:54 -0700 Subject: [PATCH 24/33] workspace select channel tests done --- lib/workspace.rb | 6 +----- test/workspace_test.rb | 33 ++++++++++++++++++++++++++++++++- 2 files changed, 33 insertions(+), 6 deletions(-) diff --git a/lib/workspace.rb b/lib/workspace.rb index 07ad63d0..887d0157 100644 --- a/lib/workspace.rb +++ b/lib/workspace.rb @@ -21,9 +21,5 @@ def select_channel(search_word) end def select_user - end - - - -end \ No newline at end of file +end diff --git a/test/workspace_test.rb b/test/workspace_test.rb index ec0ae513..d20357e2 100644 --- a/test/workspace_test.rb +++ b/test/workspace_test.rb @@ -28,12 +28,43 @@ describe "select_channel" do it "selects a channel from a slack_id" do - user_input = "CV7V4KYLF" + user_input = "CV7V4KYLF" # random channel slack_id @workspace_inst.select_channel(user_input) expect(@workspace_inst.selected.name).must_equal "random" expect(@workspace_inst.selected).must_be_kind_of Channel end + + it "selects a channel from a slack_id even if entered in lowercase" do + user_input = "cv7v4kylf" # random channel slack_id + @workspace_inst.select_channel(user_input) + + expect(@workspace_inst.selected.name).must_equal "random" + expect(@workspace_inst.selected).must_be_kind_of Channel + end + + it "selects a channel from a name" do + user_input = "random" + @workspace_inst.select_channel(user_input) + + expect(@workspace_inst.selected.slack_id).must_equal "CV7V4KYLF" + expect(@workspace_inst.selected).must_be_kind_of Channel + end + + it "selects a channel from a name, regardless of case" do + user_input = "RanDoM" + @workspace_inst.select_channel(user_input) + + expect(@workspace_inst.selected.slack_id).must_equal "CV7V4KYLF" + expect(@workspace_inst.selected).must_be_kind_of Channel + end + + it "sets selected to nil if no match for slack_id or name" do + user_input = "adaisreallyawesome" + @workspace_inst.select_channel(user_input) + + expect(@workspace_inst.selected).must_be_nil + end end end From 6f8384424d7ab1f20ca331501986db0b38ed4abe Mon Sep 17 00:00:00 2001 From: thenora Date: Mon, 16 Mar 2020 01:47:16 -0700 Subject: [PATCH 25/33] workspace select user tests and code --- lib/workspace.rb | 20 +++++++++++++++++--- test/workspace_test.rb | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+), 3 deletions(-) diff --git a/lib/workspace.rb b/lib/workspace.rb index 887d0157..4c405116 100644 --- a/lib/workspace.rb +++ b/lib/workspace.rb @@ -12,7 +12,7 @@ def select_channel(search_word) @channels.each do |channel| if channel.name.upcase == user_input || channel.slack_id.upcase == user_input @selected = channel - return "#{@selected.name} is now selected." + return "Thanks, #{@selected.name} is now selected." end end @@ -20,6 +20,20 @@ def select_channel(search_word) return "Sorry, I couldn't find a channel matching \"#{search_word}.\"" end - def select_user + def select_user(search_word) + user_input = search_word.upcase + @users.each do |user| + if user.name.upcase == user_input || user.slack_id.upcase == user_input + @selected = user + return "Thanks, #{@selected.name} is now selected." + end + end + + @selected = nil + return "Sorry, I couldn't find a user matching \"#{search_word}.\"" end -end + + + + +end \ No newline at end of file diff --git a/test/workspace_test.rb b/test/workspace_test.rb index d20357e2..d046d269 100644 --- a/test/workspace_test.rb +++ b/test/workspace_test.rb @@ -67,4 +67,45 @@ end end + describe "select_user" do + it "selects a user from a slack_id" do + user_input = "USLACKBOT" + @workspace_inst.select_user(user_input) + + expect(@workspace_inst.selected.name).must_equal "slackbot" + expect(@workspace_inst.selected).must_be_kind_of User + end + + it "selects a user from a slack_id regardless of case" do + user_input = "uSlaCkbot" + @workspace_inst.select_user(user_input) + + expect(@workspace_inst.selected.name).must_equal "slackbot" + expect(@workspace_inst.selected).must_be_kind_of User + end + + it "selects a user from a name" do + user_input = "slackbot" + @workspace_inst.select_user(user_input) + + expect(@workspace_inst.selected.slack_id).must_equal "USLACKBOT" + expect(@workspace_inst.selected).must_be_kind_of User + end + + it "selects a user from a name, regardless of case" do + user_input = "SlacKBot" + @workspace_inst.select_user(user_input) + + expect(@workspace_inst.selected.slack_id).must_equal "USLACKBOT" + expect(@workspace_inst.selected).must_be_kind_of User + end + + it "sets selected to nil if no match for slack_id or name" do + user_input = "adaisreallyawesome" + @workspace_inst.select_user(user_input) + + expect(@workspace_inst.selected).must_be_nil + end + end + end From 2fd3c40247d53b407d056dd0d48e3b5faf9d1908 Mon Sep 17 00:00:00 2001 From: thenora Date: Mon, 16 Mar 2020 02:06:06 -0700 Subject: [PATCH 26/33] deleted casettes with tokens --- test/cassettes/list-users_endpoint.yml | 181 --------------- test/cassettes/list_users_endpoint.yml | 309 ------------------------- 2 files changed, 490 deletions(-) delete mode 100644 test/cassettes/list-users_endpoint.yml delete mode 100644 test/cassettes/list_users_endpoint.yml diff --git a/test/cassettes/list-users_endpoint.yml b/test/cassettes/list-users_endpoint.yml deleted file mode 100644 index 2d521a81..00000000 --- a/test/cassettes/list-users_endpoint.yml +++ /dev/null @@ -1,181 +0,0 @@ ---- -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: - - '2147' - Connection: - - keep-alive - Date: - - Fri, 13 Mar 2020 21:33:01 GMT - Server: - - Apache - X-Slack-Req-Id: - - c12388e5ab6aaba75578f06e72cc3079 - X-Oauth-Scopes: - - users:read,channels:read,chat:write,chat:write.public,chat:write.customize - 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-jap3 - X-Cache: - - Miss from cloudfront - Via: - - 1.1 98aedae6661e3904540676966998ed89.cloudfront.net (CloudFront) - X-Amz-Cf-Pop: - - SEA19-C2 - X-Amz-Cf-Id: - - 9KBeVrDBHsEtszAKvxNQyKCC0cZDOxagTotgcJjAOejAXUyaTESrKw== - body: - encoding: ASCII-8BIT - string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TV63QKAAU","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":"TV63QKAAU"},"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":"UUT9Z80AE","team_id":"TV63QKAAU","name":"thenora","deleted":false,"color":"9f69e7","real_name":"Nora","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Nora","real_name_normalized":"Nora","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gecfa8e6728a","first_name":"Nora","last_name":"","image_24":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583868865},{"id":"UUTA3S16E","team_id":"TV63QKAAU","name":"nguyen_diana","deleted":false,"color":"3c989f","real_name":"Diana - Nguyen","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Diana - Nguyen","real_name_normalized":"Diana Nguyen","display_name":"Diana Nguyen","display_name_normalized":"Diana - Nguyen","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g53546304cba","image_24":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583876186},{"id":"UUTJAGAEN","team_id":"TV63QKAAU","name":"time_yolotzin_api_pro","deleted":false,"color":"e96699","real_name":"time_yolotzin_api_pro","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_yolotzin_api_pro","real_name_normalized":"time_yolotzin_api_pro","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g3ed47f067f5","api_app_id":"AV68RSJH3","always_active":false,"bot_id":"BV881SK2B","image_24":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583877148},{"id":"UUUKJ03NX","team_id":"TV63QKAAU","name":"kate.d.mangubat","deleted":false,"color":"4bbe2e","real_name":"Kate - M","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Kate - M","real_name_normalized":"Kate M","display_name":"Kate","display_name_normalized":"Kate","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g078604cbcfb","first_name":"Kate","last_name":"M","image_24":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583997418},{"id":"UUW1CJZ41","team_id":"TV63QKAAU","name":"yltzndnbr","deleted":false,"color":"e7392d","real_name":"Yolotzin - Dunbar","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Yolotzin - Dunbar","real_name_normalized":"Yolotzin Dunbar","display_name":"Yoyo","display_name_normalized":"Yoyo","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g574a1cc3875","first_name":"Yolotzin","last_name":"Dunbar","image_24":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1584083810},{"id":"UV63Y1672","team_id":"TV63QKAAU","name":"tithvorlakmok","deleted":false,"color":"674b1b","real_name":"Lak","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Lak","real_name_normalized":"Lak","display_name":"Lak","display_name_normalized":"Lak","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gfc5b2d94a48","image_24":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583869256},{"id":"UV66LJW5A","team_id":"TV63QKAAU","name":"noras_ada_slack_api","deleted":false,"color":"684b6c","real_name":"noras_ada_slack_api","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"noras_ada_slack_api","real_name_normalized":"noras_ada_slack_api","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"9c3283af6dfc","api_app_id":"AV6LEP79B","always_active":false,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_original.jpg","is_custom_image":true,"bot_id":"BV8FZCLK1","first_name":"noras_ada_slack_api","last_name":"","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_24.jpg","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_32.jpg","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_48.jpg","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_72.jpg","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_192.jpg","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_512.jpg","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_1024.jpg","status_text_canonical":"","team":"TV63QKAAU"},"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":1583985914},{"id":"UV8PJ6R0W","team_id":"TV63QKAAU","name":"diana_slack_cli","deleted":false,"color":"e0a729","real_name":"diana_slack_cli","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"diana_slack_cli","real_name_normalized":"diana_slack_cli","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"c8e976fcbc63","api_app_id":"AUWEPCVDF","always_active":false,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_original.jpg","is_custom_image":true,"bot_id":"BUTPL5J58","first_name":"diana_slack_cli","last_name":"","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_24.jpg","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_32.jpg","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_48.jpg","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_72.jpg","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_192.jpg","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_512.jpg","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_1024.jpg","status_text_canonical":"","team":"TV63QKAAU"},"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":1584029336},{"id":"UVAALE528","team_id":"TV63QKAAU","name":"github","deleted":false,"color":"2b6836","real_name":"GitHub","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"GitHub","real_name_normalized":"GitHub","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"a384f3b8cb58","api_app_id":"A8GBNUWU8","always_active":true,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_original.png","is_custom_image":true,"bot_id":"BVAALE484","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_24.png","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_32.png","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_48.png","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_72.png","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_192.png","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_512.png","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_1024.png","status_text_canonical":"","team":"TV63QKAAU"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":true,"updated":1584036089},{"id":"UVB4TQ89M","team_id":"TV63QKAAU","name":"lak_slackapi","deleted":false,"color":"5b89d5","real_name":"lak_slackapi","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"lak_slackapi","real_name_normalized":"lak_slackapi","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g6ea0fcda828","api_app_id":"AV998UM2R","always_active":false,"bot_id":"BV98UFAHE","image_24":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583989948}],"cache_ts":1584135181,"response_metadata":{"next_cursor":""}}' - http_version: null - recorded_at: Fri, 13 Mar 2020 21:33:01 GMT -- request: - method: get - uri: https://slack.com/api/users.list?token=xoxb-992126656368-992224642180-8nEK16Z19POVrwVOqqRt4GgR - 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: - - '2297' - Connection: - - keep-alive - Date: - - Sun, 15 Mar 2020 21:49:24 GMT - Server: - - Apache - X-Slack-Req-Id: - - 53b2a3e23d8ba27278539705b914943d - X-Oauth-Scopes: - - users:read,channels:read,chat:write,chat:write.public,chat:write.customize - 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-9hkc - X-Cache: - - Miss from cloudfront - Via: - - 1.1 f126db770f21f288439f44d357978a27.cloudfront.net (CloudFront) - X-Amz-Cf-Pop: - - SEA19-C1 - X-Amz-Cf-Id: - - U43dzxrLn7kQI_HcOgrEEa7YCWwAvYG9aATKR_kxBH25DJ2t71F83w== - body: - encoding: ASCII-8BIT - string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TV63QKAAU","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":"TV63QKAAU"},"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":"UUT9Z80AE","team_id":"TV63QKAAU","name":"thenora","deleted":false,"color":"9f69e7","real_name":"Nora","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Nora","real_name_normalized":"Nora","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gecfa8e6728a","first_name":"Nora","last_name":"","image_24":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583868865},{"id":"UUTA3S16E","team_id":"TV63QKAAU","name":"nguyen_diana","deleted":false,"color":"3c989f","real_name":"Diana - Nguyen","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Diana - Nguyen","real_name_normalized":"Diana Nguyen","display_name":"Diana Nguyen","display_name_normalized":"Diana - Nguyen","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g53546304cba","image_24":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583876186},{"id":"UUTJAGAEN","team_id":"TV63QKAAU","name":"time_yolotzin_api_pro","deleted":false,"color":"e96699","real_name":"time_yolotzin_api_pro","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_yolotzin_api_pro","real_name_normalized":"time_yolotzin_api_pro","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g3ed47f067f5","api_app_id":"AV68RSJH3","always_active":false,"bot_id":"BV881SK2B","image_24":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583877148},{"id":"UUUKJ03NX","team_id":"TV63QKAAU","name":"kate.d.mangubat","deleted":false,"color":"4bbe2e","real_name":"Kate - M","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Kate - M","real_name_normalized":"Kate M","display_name":"Kate","display_name_normalized":"Kate","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g078604cbcfb","first_name":"Kate","last_name":"M","image_24":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583997418},{"id":"UUW1CJZ41","team_id":"TV63QKAAU","name":"yltzndnbr","deleted":false,"color":"e7392d","real_name":"Yolotzin - Dunbar","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Yolotzin - Dunbar","real_name_normalized":"Yolotzin Dunbar","display_name":"Yoyo","display_name_normalized":"Yoyo","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g574a1cc3875","first_name":"Yolotzin","last_name":"Dunbar","image_24":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1584083810},{"id":"UV3CAV859","team_id":"TV63QKAAU","name":"space_kate_m_api_proj","deleted":false,"color":"99a949","real_name":"space_kate_m_api_proj","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_kate_m_api_proj","real_name_normalized":"space_kate_m_api_proj","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gbabfb89bbad","api_app_id":"AV22W21DG","always_active":false,"bot_id":"BV3CAV7UK","image_24":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1584239628},{"id":"UV63Y1672","team_id":"TV63QKAAU","name":"tithvorlakmok","deleted":false,"color":"674b1b","real_name":"Lak","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Lak","real_name_normalized":"Lak","display_name":"Lak","display_name_normalized":"Lak","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gfc5b2d94a48","image_24":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583869256},{"id":"UV66LJW5A","team_id":"TV63QKAAU","name":"noras_ada_slack_api","deleted":false,"color":"684b6c","real_name":"noras_ada_slack_api","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"noras_ada_slack_api","real_name_normalized":"noras_ada_slack_api","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"9c3283af6dfc","api_app_id":"AV6LEP79B","always_active":false,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_original.jpg","is_custom_image":true,"bot_id":"BV8FZCLK1","first_name":"noras_ada_slack_api","last_name":"","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_24.jpg","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_32.jpg","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_48.jpg","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_72.jpg","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_192.jpg","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_512.jpg","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_1024.jpg","status_text_canonical":"","team":"TV63QKAAU"},"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":1583985914},{"id":"UV8PJ6R0W","team_id":"TV63QKAAU","name":"diana_slack_cli","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"diana_slack_cli","real_name_normalized":"diana_slack_cli","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"c8e976fcbc63","api_app_id":"AUWEPCVDF","always_active":false,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_original.jpg","is_custom_image":true,"bot_id":"BUTPL5J58","first_name":"diana_slack_cli","last_name":"","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_24.jpg","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_32.jpg","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_48.jpg","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_72.jpg","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_192.jpg","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_512.jpg","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_1024.jpg","status_text_canonical":"","team":"TV63QKAAU"},"is_bot":true,"is_app_user":false,"updated":1584228234},{"id":"UVAALE528","team_id":"TV63QKAAU","name":"github","deleted":false,"color":"2b6836","real_name":"GitHub","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"GitHub","real_name_normalized":"GitHub","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"a384f3b8cb58","api_app_id":"A8GBNUWU8","always_active":true,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_original.png","is_custom_image":true,"bot_id":"BVAALE484","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_24.png","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_32.png","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_48.png","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_72.png","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_192.png","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_512.png","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_1024.png","status_text_canonical":"","team":"TV63QKAAU"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":true,"updated":1584036089},{"id":"UVB4TQ89M","team_id":"TV63QKAAU","name":"lak_slackapi","deleted":false,"color":"5b89d5","real_name":"lak_slackapi","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"lak_slackapi","real_name_normalized":"lak_slackapi","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g6ea0fcda828","api_app_id":"AV998UM2R","always_active":false,"bot_id":"BV98UFAHE","image_24":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583989948}],"cache_ts":1584308964,"response_metadata":{"next_cursor":""}}' - http_version: null - recorded_at: Sun, 15 Mar 2020 21:49:24 GMT -recorded_with: VCR 5.1.0 diff --git a/test/cassettes/list_users_endpoint.yml b/test/cassettes/list_users_endpoint.yml deleted file mode 100644 index 09959102..00000000 --- a/test/cassettes/list_users_endpoint.yml +++ /dev/null @@ -1,309 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://slack.com/api/users.list?token=xoxb-992126656368-992224642180-8nEK16Z19POVrwVOqqRt4GgR - 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: - - '2297' - Connection: - - keep-alive - Date: - - Sun, 15 Mar 2020 22:05:23 GMT - Server: - - Apache - X-Slack-Req-Id: - - bc742a9520b24c500fcb911cf60c2b60 - X-Oauth-Scopes: - - users:read,channels:read,chat:write,chat:write.public,chat:write.customize - X-Accepted-Oauth-Scopes: - - users:read - Access-Control-Expose-Headers: - - x-slack-req-id, retry-after - X-Slack-Backend: - - r - 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-eidd - X-Cache: - - Miss from cloudfront - Via: - - 1.1 c9b161639a9353c2354b895548ea9fca.cloudfront.net (CloudFront) - X-Amz-Cf-Pop: - - SEA19-C1 - X-Amz-Cf-Id: - - T_zR75SMT_O7Hg9A7_eSx1gnB1qOiZ8ib_dw8dzONQ0wXPkU38nTTw== - body: - encoding: ASCII-8BIT - string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TV63QKAAU","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":"TV63QKAAU"},"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":"UUT9Z80AE","team_id":"TV63QKAAU","name":"thenora","deleted":false,"color":"9f69e7","real_name":"Nora","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Nora","real_name_normalized":"Nora","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gecfa8e6728a","first_name":"Nora","last_name":"","image_24":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583868865},{"id":"UUTA3S16E","team_id":"TV63QKAAU","name":"nguyen_diana","deleted":false,"color":"3c989f","real_name":"Diana - Nguyen","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Diana - Nguyen","real_name_normalized":"Diana Nguyen","display_name":"Diana Nguyen","display_name_normalized":"Diana - Nguyen","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g53546304cba","image_24":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583876186},{"id":"UUTJAGAEN","team_id":"TV63QKAAU","name":"time_yolotzin_api_pro","deleted":false,"color":"e96699","real_name":"time_yolotzin_api_pro","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_yolotzin_api_pro","real_name_normalized":"time_yolotzin_api_pro","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g3ed47f067f5","api_app_id":"AV68RSJH3","always_active":false,"bot_id":"BV881SK2B","image_24":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583877148},{"id":"UUUKJ03NX","team_id":"TV63QKAAU","name":"kate.d.mangubat","deleted":false,"color":"4bbe2e","real_name":"Kate - M","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Kate - M","real_name_normalized":"Kate M","display_name":"Kate","display_name_normalized":"Kate","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g078604cbcfb","first_name":"Kate","last_name":"M","image_24":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583997418},{"id":"UUW1CJZ41","team_id":"TV63QKAAU","name":"yltzndnbr","deleted":false,"color":"e7392d","real_name":"Yolotzin - Dunbar","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Yolotzin - Dunbar","real_name_normalized":"Yolotzin Dunbar","display_name":"Yoyo","display_name_normalized":"Yoyo","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g574a1cc3875","first_name":"Yolotzin","last_name":"Dunbar","image_24":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1584083810},{"id":"UV3CAV859","team_id":"TV63QKAAU","name":"space_kate_m_api_proj","deleted":false,"color":"99a949","real_name":"space_kate_m_api_proj","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_kate_m_api_proj","real_name_normalized":"space_kate_m_api_proj","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gbabfb89bbad","api_app_id":"AV22W21DG","always_active":false,"bot_id":"BV3CAV7UK","image_24":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1584239628},{"id":"UV63Y1672","team_id":"TV63QKAAU","name":"tithvorlakmok","deleted":false,"color":"674b1b","real_name":"Lak","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Lak","real_name_normalized":"Lak","display_name":"Lak","display_name_normalized":"Lak","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gfc5b2d94a48","image_24":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583869256},{"id":"UV66LJW5A","team_id":"TV63QKAAU","name":"noras_ada_slack_api","deleted":false,"color":"684b6c","real_name":"noras_ada_slack_api","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"noras_ada_slack_api","real_name_normalized":"noras_ada_slack_api","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"9c3283af6dfc","api_app_id":"AV6LEP79B","always_active":false,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_original.jpg","is_custom_image":true,"bot_id":"BV8FZCLK1","first_name":"noras_ada_slack_api","last_name":"","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_24.jpg","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_32.jpg","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_48.jpg","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_72.jpg","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_192.jpg","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_512.jpg","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-11\/997105289911_9c3283af6dfce4953bc5_1024.jpg","status_text_canonical":"","team":"TV63QKAAU"},"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":1583985914},{"id":"UV8PJ6R0W","team_id":"TV63QKAAU","name":"diana_slack_cli","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"diana_slack_cli","real_name_normalized":"diana_slack_cli","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"c8e976fcbc63","api_app_id":"AUWEPCVDF","always_active":false,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_original.jpg","is_custom_image":true,"bot_id":"BUTPL5J58","first_name":"diana_slack_cli","last_name":"","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_24.jpg","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_32.jpg","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_48.jpg","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_72.jpg","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_192.jpg","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_512.jpg","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_1024.jpg","status_text_canonical":"","team":"TV63QKAAU"},"is_bot":true,"is_app_user":false,"updated":1584228234},{"id":"UVAALE528","team_id":"TV63QKAAU","name":"github","deleted":false,"color":"2b6836","real_name":"GitHub","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"GitHub","real_name_normalized":"GitHub","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"a384f3b8cb58","api_app_id":"A8GBNUWU8","always_active":true,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_original.png","is_custom_image":true,"bot_id":"BVAALE484","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_24.png","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_32.png","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_48.png","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_72.png","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_192.png","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_512.png","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_1024.png","status_text_canonical":"","team":"TV63QKAAU"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":true,"updated":1584036089},{"id":"UVB4TQ89M","team_id":"TV63QKAAU","name":"lak_slackapi","deleted":false,"color":"5b89d5","real_name":"lak_slackapi","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"lak_slackapi","real_name_normalized":"lak_slackapi","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g6ea0fcda828","api_app_id":"AV998UM2R","always_active":false,"bot_id":"BV98UFAHE","image_24":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583989948}],"cache_ts":1584309923,"response_metadata":{"next_cursor":""}}' - http_version: null - recorded_at: Sun, 15 Mar 2020 22:05:23 GMT -- request: - method: get - uri: https://slack.com/api/bogus.call?token=xoxb-992126656368-992224642180-8nEK16Z19POVrwVOqqRt4GgR - 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: - - '76' - Connection: - - keep-alive - Date: - - Mon, 16 Mar 2020 00:48:11 GMT - Server: - - Apache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains; preload - 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 - Referrer-Policy: - - no-referrer - X-Slack-Backend: - - h - Access-Control-Expose-Headers: - - x-slack-req-id, retry-after - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - X-Slack-Req-Id: - - 34223d1ba32d1feb5d221fa1ca8052b9 - X-Xss-Protection: - - '0' - Access-Control-Allow-Origin: - - "*" - X-Via: - - haproxy-www-v5bn - X-Cache: - - Miss from cloudfront - Via: - - 1.1 e4d3d5aafc7d7d582423c073065ab563.cloudfront.net (CloudFront) - X-Amz-Cf-Pop: - - SEA19-C2 - X-Amz-Cf-Id: - - FsPc5hX7FCUceXhq5jYY9buRhgP6swqJ2G79P1JNFGxOtWFa6e34uw== - body: - encoding: ASCII-8BIT - string: '{"ok":false,"error":"unknown_method","req_method":"bogus.call"}' - http_version: null - recorded_at: Mon, 16 Mar 2020 00:48: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: - - '2291' - Connection: - - keep-alive - Date: - - Mon, 16 Mar 2020 06:28:22 GMT - Server: - - Apache - X-Slack-Req-Id: - - b5e9c2ec414c10e39e94b770bcae46c3 - X-Oauth-Scopes: - - channels:read,chat:write,users:read,chat:write.public,chat:write.customize - 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-6nc0 - X-Cache: - - Miss from cloudfront - Via: - - 1.1 b838ef1ff22a4a994af82d5178c30e1d.cloudfront.net (CloudFront) - X-Amz-Cf-Pop: - - SEA19-C1 - X-Amz-Cf-Id: - - LJiYjy90kSGHQpT_P1rOKYw5OOgvMA7-PbJjP4mNlN5Phtaj1tMSNA== - body: - encoding: ASCII-8BIT - string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TV63QKAAU","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":"TV63QKAAU"},"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":"UUT9Z80AE","team_id":"TV63QKAAU","name":"thenora","deleted":false,"color":"9f69e7","real_name":"Nora","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Nora","real_name_normalized":"Nora","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gecfa8e6728a","first_name":"Nora","last_name":"","image_24":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583868865},{"id":"UUTA3S16E","team_id":"TV63QKAAU","name":"nguyen_diana","deleted":false,"color":"3c989f","real_name":"Diana - Nguyen","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Diana - Nguyen","real_name_normalized":"Diana Nguyen","display_name":"Diana Nguyen","display_name_normalized":"Diana - Nguyen","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g53546304cba","image_24":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583876186},{"id":"UUTJAGAEN","team_id":"TV63QKAAU","name":"time_yolotzin_api_pro","deleted":false,"color":"e96699","real_name":"time_yolotzin_api_pro","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_yolotzin_api_pro","real_name_normalized":"time_yolotzin_api_pro","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g3ed47f067f5","api_app_id":"AV68RSJH3","always_active":false,"bot_id":"BV881SK2B","image_24":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583877148},{"id":"UUUKJ03NX","team_id":"TV63QKAAU","name":"kate.d.mangubat","deleted":false,"color":"4bbe2e","real_name":"Kate - M","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Kate - M","real_name_normalized":"Kate M","display_name":"Kate","display_name_normalized":"Kate","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g078604cbcfb","first_name":"Kate","last_name":"M","image_24":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583997418},{"id":"UUW1CJZ41","team_id":"TV63QKAAU","name":"yltzndnbr","deleted":false,"color":"e7392d","real_name":"Yolotzin - Dunbar","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Yolotzin - Dunbar","real_name_normalized":"Yolotzin Dunbar","display_name":"Yoyo","display_name_normalized":"Yoyo","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g574a1cc3875","first_name":"Yolotzin","last_name":"Dunbar","image_24":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1584083810},{"id":"UV3CAV859","team_id":"TV63QKAAU","name":"space_kate_m_api_proj","deleted":false,"color":"99a949","real_name":"space_kate_m_api_proj","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_kate_m_api_proj","real_name_normalized":"space_kate_m_api_proj","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gbabfb89bbad","api_app_id":"AV22W21DG","always_active":false,"bot_id":"BV3CAV7UK","image_24":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1584239628},{"id":"UV63Y1672","team_id":"TV63QKAAU","name":"tithvorlakmok","deleted":false,"color":"674b1b","real_name":"Lak","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Lak","real_name_normalized":"Lak","display_name":"Lak","display_name_normalized":"Lak","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gfc5b2d94a48","image_24":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583869256},{"id":"UV66LJW5A","team_id":"TV63QKAAU","name":"noras_api","deleted":false,"color":"684b6c","real_name":"Nora - API","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Nora - API","real_name_normalized":"Nora API","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"46a0f74c1fda","api_app_id":"AV6LEP79B","always_active":false,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_original.jpg","is_custom_image":true,"bot_id":"BV8FZCLK1","first_name":"Nora","last_name":"API","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_24.jpg","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_32.jpg","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_48.jpg","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_72.jpg","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_192.jpg","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_512.jpg","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_1024.jpg","status_text_canonical":"","team":"TV63QKAAU"},"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":1584322293},{"id":"UV8PJ6R0W","team_id":"TV63QKAAU","name":"diana_slack_cli","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"diana_slack_cli","real_name_normalized":"diana_slack_cli","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"c8e976fcbc63","api_app_id":"AUWEPCVDF","always_active":false,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_original.jpg","is_custom_image":true,"bot_id":"BUTPL5J58","first_name":"diana_slack_cli","last_name":"","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_24.jpg","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_32.jpg","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_48.jpg","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_72.jpg","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_192.jpg","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_512.jpg","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_1024.jpg","status_text_canonical":"","team":"TV63QKAAU"},"is_bot":true,"is_app_user":false,"updated":1584228234},{"id":"UVAALE528","team_id":"TV63QKAAU","name":"github","deleted":false,"color":"2b6836","real_name":"GitHub","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"GitHub","real_name_normalized":"GitHub","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"a384f3b8cb58","api_app_id":"A8GBNUWU8","always_active":true,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_original.png","is_custom_image":true,"bot_id":"BVAALE484","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_24.png","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_32.png","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_48.png","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_72.png","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_192.png","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_512.png","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_1024.png","status_text_canonical":"","team":"TV63QKAAU"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":true,"updated":1584036089},{"id":"UVB4TQ89M","team_id":"TV63QKAAU","name":"lak_slackapi","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"lak_slackapi","real_name_normalized":"lak_slackapi","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g6ea0fcda828","api_app_id":"AV998UM2R","always_active":false,"bot_id":"BV98UFAHE","image_24":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-512.png","status_text_canonical":"","team":"TV63QKAAU"},"is_bot":true,"is_app_user":false,"updated":1584323188}],"cache_ts":1584340102,"response_metadata":{"next_cursor":""}}' - http_version: null - recorded_at: Mon, 16 Mar 2020 06:28:22 GMT -- request: - method: get - uri: https://slack.com/api/bogus.call?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: - - '76' - Connection: - - keep-alive - Date: - - Mon, 16 Mar 2020 06:28:22 GMT - Server: - - Apache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains; preload - 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 - Referrer-Policy: - - no-referrer - X-Slack-Backend: - - h - Access-Control-Expose-Headers: - - x-slack-req-id, retry-after - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - X-Slack-Req-Id: - - 329e73e377fdba711851501cbb9cd2ff - X-Xss-Protection: - - '0' - Access-Control-Allow-Origin: - - "*" - X-Via: - - haproxy-www-itvd - X-Cache: - - Miss from cloudfront - Via: - - 1.1 d16c3f15bd14953a9d4109eaaa991de2.cloudfront.net (CloudFront) - X-Amz-Cf-Pop: - - SEA19-C1 - X-Amz-Cf-Id: - - _v2UGaXcXaYhpjrFquRCakjGNxVamP4EsGG2DT1dBLqJe8U6S7YFmA== - body: - encoding: ASCII-8BIT - string: '{"ok":false,"error":"unknown_method","req_method":"bogus.call"}' - http_version: null - recorded_at: Mon, 16 Mar 2020 06:28:22 GMT -recorded_with: VCR 5.1.0 From 583e0e4bee8acf5aceaa2ba24008541d7a3710d3 Mon Sep 17 00:00:00 2001 From: thenora Date: Mon, 16 Mar 2020 02:12:46 -0700 Subject: [PATCH 27/33] slack wave 1 --- lib/slack.rb | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/lib/slack.rb b/lib/slack.rb index f16125ff..ac51758e 100755 --- a/lib/slack.rb +++ b/lib/slack.rb @@ -21,13 +21,35 @@ # User: After completing any command other than quit, the program should reprint the list of commands and ask for another input. +def menu_choice + print "Your options include: 1) list users, 2) list channels, or 3) quit: \n" + print "What would you like to do?" + return gets.chomp.downcase +end + def main - puts "Welcome to the Ada Slack CLI!" workspace = Workspace.new - # TODO project - - puts "Thank you for using the Ada Slack CLI" + puts "\n Welcome to Nora's Slack API CLI. This Slack workspace currently has #{workspace.users.length} users and #{workspace.channels.length} channels." + action = menu_choice + + until action == "quit" || 3 || "exit" || "3) quit" + case action + when "list users" || "users" || 1 || "1) list users" + tp workspace.users, "name", "real_name", "slack_id" + puts "\n" + when "list channels" || "channels" || 2 || "2) list channels" + tp workspace.channels, "name", "topic", "member_count", "slack_id" + puts "\n" + else + puts "Oops! I didn't understand you. Try again?" + puts "\n" + end + + action + end + + puts "Thank you for using Nora's Slack CLI.\n" end From f7bd2f79efcac85144b58d0b994c3441cc6dee5d Mon Sep 17 00:00:00 2001 From: thenora Date: Mon, 16 Mar 2020 02:50:29 -0700 Subject: [PATCH 28/33] wave 1 tweaks --- lib/slack.rb | 21 ++-- lib/workspace.rb | 11 +- test/cassettes/list_users_endpoint.yml | 156 +++++++++++++++++++++++++ 3 files changed, 174 insertions(+), 14 deletions(-) create mode 100644 test/cassettes/list_users_endpoint.yml diff --git a/lib/slack.rb b/lib/slack.rb index ac51758e..a4ad9113 100755 --- a/lib/slack.rb +++ b/lib/slack.rb @@ -21,24 +21,18 @@ # User: After completing any command other than quit, the program should reprint the list of commands and ask for another input. -def menu_choice - print "Your options include: 1) list users, 2) list channels, or 3) quit: \n" - print "What would you like to do?" - return gets.chomp.downcase -end - def main workspace = Workspace.new - puts "\n Welcome to Nora's Slack API CLI. This Slack workspace currently has #{workspace.users.length} users and #{workspace.channels.length} channels." + puts "\nWelcome to Nora's Slack API CLI. \nThis Slack workspace currently has #{workspace.users.length} users and #{workspace.channels.length} channels." action = menu_choice - until action == "quit" || 3 || "exit" || "3) quit" + until action == "quit" || action == "3" || action == "exit" || action == "3) quit" case action - when "list users" || "users" || 1 || "1) list users" + when "list users", "users", "1", "1) list users" tp workspace.users, "name", "real_name", "slack_id" puts "\n" - when "list channels" || "channels" || 2 || "2) list channels" + when "list channels", "channels", "2", "2) list channels" tp workspace.channels, "name", "topic", "member_count", "slack_id" puts "\n" else @@ -46,12 +40,17 @@ def main puts "\n" end - action + action = menu_choice end puts "Thank you for using Nora's Slack CLI.\n" end +def menu_choice + print "Your options include: \n1) list users \n2) list channels \n3) quit \n\n" + print "What would you like to do? " + return gets.chomp.downcase +end # The slack.rb file should not create, call, or use the User, Channel, or Recipient classes at all. The slack.rb file should mainly be interacting with the instance of Workspace created in the line workspace = Workspace.new. All User-related information that slack.rb receives should be returned from calling a method defined in the Workspace class. diff --git a/lib/workspace.rb b/lib/workspace.rb index 4c405116..7698b32c 100644 --- a/lib/workspace.rb +++ b/lib/workspace.rb @@ -1,3 +1,6 @@ +require_relative "user" +require_relative "channel" + class Workspace attr_reader :users, :channels, :selected @@ -33,7 +36,9 @@ def select_user(search_word) return "Sorry, I couldn't find a user matching \"#{search_word}.\"" end + def show_details + end - - -end \ No newline at end of file + def send_message + end +end diff --git a/test/cassettes/list_users_endpoint.yml b/test/cassettes/list_users_endpoint.yml new file mode 100644 index 00000000..0c5ec83b --- /dev/null +++ b/test/cassettes/list_users_endpoint.yml @@ -0,0 +1,156 @@ +--- +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: + - '2291' + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 09:12:57 GMT + Server: + - Apache + X-Slack-Req-Id: + - cec8695f4d0114c3756da75715ca875d + X-Oauth-Scopes: + - channels:read,chat:write,users:read,chat:write.public,chat:write.customize + 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-zuf3 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 325ed3ba58a560748d886354beef39c0.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - W8l8JZASS13pObdF28f_fHaVUu-nF_f0UpJYp4kRC0Gl3KV5L80CWA== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TV63QKAAU","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":"TV63QKAAU"},"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":"UUT9Z80AE","team_id":"TV63QKAAU","name":"thenora","deleted":false,"color":"9f69e7","real_name":"Nora","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Nora","real_name_normalized":"Nora","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gecfa8e6728a","first_name":"Nora","last_name":"","image_24":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/ecfa8e6728af18fdb2a467aed6cc4688.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0005-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583868865},{"id":"UUTA3S16E","team_id":"TV63QKAAU","name":"nguyen_diana","deleted":false,"color":"3c989f","real_name":"Diana + Nguyen","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Diana + Nguyen","real_name_normalized":"Diana Nguyen","display_name":"Diana Nguyen","display_name_normalized":"Diana + Nguyen","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g53546304cba","image_24":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/53546304cba703fdbcc3d6eadf959046.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0023-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583876186},{"id":"UUTJAGAEN","team_id":"TV63QKAAU","name":"time_yolotzin_api_pro","deleted":false,"color":"e96699","real_name":"time_yolotzin_api_pro","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_yolotzin_api_pro","real_name_normalized":"time_yolotzin_api_pro","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g3ed47f067f5","api_app_id":"AV68RSJH3","always_active":false,"bot_id":"BV881SK2B","image_24":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/3ed47f067f52bf041336c4087124e81a.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583877148},{"id":"UUUKJ03NX","team_id":"TV63QKAAU","name":"kate.d.mangubat","deleted":false,"color":"4bbe2e","real_name":"Kate + M","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Kate + M","real_name_normalized":"Kate M","display_name":"Kate","display_name_normalized":"Kate","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g078604cbcfb","first_name":"Kate","last_name":"M","image_24":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/078604cbcfb8a676a713a3a870a026f9.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583997418},{"id":"UUW1CJZ41","team_id":"TV63QKAAU","name":"yltzndnbr","deleted":false,"color":"e7392d","real_name":"Yolotzin + Dunbar","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Yolotzin + Dunbar","real_name_normalized":"Yolotzin Dunbar","display_name":"Yoyo","display_name_normalized":"Yoyo","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g574a1cc3875","first_name":"Yolotzin","last_name":"Dunbar","image_24":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/574a1cc387525e2e334bb718a551e3a7.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0026-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1584083810},{"id":"UV3CAV859","team_id":"TV63QKAAU","name":"space_kate_m_api_proj","deleted":false,"color":"99a949","real_name":"space_kate_m_api_proj","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_kate_m_api_proj","real_name_normalized":"space_kate_m_api_proj","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gbabfb89bbad","api_app_id":"AV22W21DG","always_active":false,"bot_id":"BV3CAV7UK","image_24":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/babfb89bbada2418eed047a5eb3a5132.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1584239628},{"id":"UV63Y1672","team_id":"TV63QKAAU","name":"tithvorlakmok","deleted":false,"color":"674b1b","real_name":"Lak","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Lak","real_name_normalized":"Lak","display_name":"Lak","display_name_normalized":"Lak","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gfc5b2d94a48","image_24":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/fc5b2d94a48b155ada6a0aee8b0882a8.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0010-512.png","status_text_canonical":"","team":"TV63QKAAU"},"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":1583869256},{"id":"UV66LJW5A","team_id":"TV63QKAAU","name":"noras_api","deleted":false,"color":"684b6c","real_name":"Nora + API","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Nora + API","real_name_normalized":"Nora API","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"46a0f74c1fda","api_app_id":"AV6LEP79B","always_active":false,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_original.jpg","is_custom_image":true,"bot_id":"BV8FZCLK1","first_name":"Nora","last_name":"API","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_24.jpg","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_32.jpg","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_48.jpg","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_72.jpg","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_192.jpg","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_512.jpg","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-15\/988889716034_46a0f74c1fda75680243_1024.jpg","status_text_canonical":"","team":"TV63QKAAU"},"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":1584322293},{"id":"UV8PJ6R0W","team_id":"TV63QKAAU","name":"diana_slack_cli","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"diana_slack_cli","real_name_normalized":"diana_slack_cli","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"c8e976fcbc63","api_app_id":"AUWEPCVDF","always_active":false,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_original.jpg","is_custom_image":true,"bot_id":"BUTPL5J58","first_name":"diana_slack_cli","last_name":"","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_24.jpg","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_32.jpg","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_48.jpg","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_72.jpg","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_192.jpg","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_512.jpg","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-11\/983924921969_c8e976fcbc63dabe20be_1024.jpg","status_text_canonical":"","team":"TV63QKAAU"},"is_bot":true,"is_app_user":false,"updated":1584228234},{"id":"UVAALE528","team_id":"TV63QKAAU","name":"github","deleted":false,"color":"2b6836","real_name":"GitHub","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"GitHub","real_name_normalized":"GitHub","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"a384f3b8cb58","api_app_id":"A8GBNUWU8","always_active":true,"image_original":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_original.png","is_custom_image":true,"bot_id":"BVAALE484","image_24":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_24.png","image_32":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_32.png","image_48":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_48.png","image_72":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_72.png","image_192":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_192.png","image_512":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_512.png","image_1024":"https:\/\/avatars.slack-edge.com\/2020-03-12\/986735341441_a384f3b8cb58f2705e8a_1024.png","status_text_canonical":"","team":"TV63QKAAU"},"is_admin":false,"is_owner":false,"is_primary_owner":false,"is_restricted":false,"is_ultra_restricted":false,"is_bot":true,"is_app_user":true,"updated":1584036089},{"id":"UVB4TQ89M","team_id":"TV63QKAAU","name":"lak_slackapi","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"lak_slackapi","real_name_normalized":"lak_slackapi","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g6ea0fcda828","api_app_id":"AV998UM2R","always_active":false,"bot_id":"BV98UFAHE","image_24":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/6ea0fcda82863d18be01442fb08dc35b.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-512.png","status_text_canonical":"","team":"TV63QKAAU"},"is_bot":true,"is_app_user":false,"updated":1584323188}],"cache_ts":1584349977,"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Mon, 16 Mar 2020 09:12:58 GMT +- request: + method: get + uri: https://slack.com/api/bogus.call?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: + - '76' + Connection: + - keep-alive + Date: + - Mon, 16 Mar 2020 09:12:58 GMT + Server: + - Apache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + 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 + Referrer-Policy: + - no-referrer + X-Slack-Backend: + - r + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + Vary: + - Accept-Encoding + X-Content-Type-Options: + - nosniff + X-Slack-Req-Id: + - 40f1cb8948414f93a18f5ec183e49475 + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-i0yc + X-Cache: + - Miss from cloudfront + Via: + - 1.1 5565a51537c689d1d16f6b4d41f40082.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - qFOLatOJwujowBp-N5pj99bOVh9HW0fg9MEfbb4War4vcfLyn-74Gw== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"unknown_method","req_method":"bogus.call"}' + http_version: null + recorded_at: Mon, 16 Mar 2020 09:12:58 GMT +recorded_with: VCR 5.1.0 From 5e76570d6dd9592a40fd89cbbea1d4eea63a9ddc Mon Sep 17 00:00:00 2001 From: thenora Date: Mon, 16 Mar 2020 02:50:46 -0700 Subject: [PATCH 29/33] workspace wave 2 tweaks --- lib/workspace.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/workspace.rb b/lib/workspace.rb index 7698b32c..c1c74a4a 100644 --- a/lib/workspace.rb +++ b/lib/workspace.rb @@ -37,6 +37,7 @@ def select_user(search_word) end def show_details + @selected.details end def send_message From 36a703e03af6a3296a7678e4453b38a819f1213d Mon Sep 17 00:00:00 2001 From: thenora Date: Mon, 16 Mar 2020 02:58:04 -0700 Subject: [PATCH 30/33] slack wave 2 --- lib/slack.rb | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/lib/slack.rb b/lib/slack.rb index a4ad9113..2ba39bd2 100755 --- a/lib/slack.rb +++ b/lib/slack.rb @@ -1,4 +1,3 @@ -#!/usr/bin/env ruby require_relative "workspace" require "table_print" @@ -7,27 +6,13 @@ Dotenv.load -# User: I should see information about how many channels and users were loaded - -# User: I should then be given three options for how to interact with the program: list users, list channels, quit - -# User: As a user who is at the program's input prompt... - -# User: When I type list users, I should see a list of all the users in the Slack workspace. This list should include username, real name, and Slack ID. - -# User: When I type list channels, I should see a list of all the channels for that workspace. This list should include the channel's name, topic, member count, and Slack ID. - -# User: When I type quit, the program should exit. - -# User: After completing any command other than quit, the program should reprint the list of commands and ask for another input. - def main workspace = Workspace.new puts "\nWelcome to Nora's Slack API CLI. \nThis Slack workspace currently has #{workspace.users.length} users and #{workspace.channels.length} channels." action = menu_choice - until action == "quit" || action == "3" || action == "exit" || action == "3) quit" + until action == "quit" || action == "6" || action == "exit" || action == "6) quit" case action when "list users", "users", "1", "1) list users" tp workspace.users, "name", "real_name", "slack_id" @@ -35,6 +20,24 @@ def main when "list channels", "channels", "2", "2) list channels" tp workspace.channels, "name", "topic", "member_count", "slack_id" puts "\n" + when "select user", "user", "3", "3) select user" + print "Please enter the user's name or ID: " + user_input = gets.chomp + puts workspace.select_user(user_input) + puts "\n" + when "select channel", "channel", "4", "4) select channel" + print "Please enter the channel name or ID: " + user_input = gets.chomp + puts workspace.select_channel(user_input) + puts "\n" + when "details", "5", "5) details" + if workspace.selected == nil + puts "Oops! Please select a user or channel first." + puts "\n" + else + workspace.show_details + puts "\n" + end else puts "Oops! I didn't understand you. Try again?" puts "\n" @@ -47,7 +50,7 @@ def main end def menu_choice - print "Your options include: \n1) list users \n2) list channels \n3) quit \n\n" + print "Your options include: \n1) list users \n2) list channels \n3) select user \n4) select channel \n5) details \n6) quit \n\n" print "What would you like to do? " return gets.chomp.downcase end From 61a495a0498ef07c6a69bb108b46b3b9a7626357 Mon Sep 17 00:00:00 2001 From: thenora Date: Mon, 16 Mar 2020 03:23:38 -0700 Subject: [PATCH 31/33] wave 2 workspace test tweaks --- lib/workspace.rb | 6 +++++- test/workspace_test.rb | 5 +++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/workspace.rb b/lib/workspace.rb index c1c74a4a..7291d07d 100644 --- a/lib/workspace.rb +++ b/lib/workspace.rb @@ -37,7 +37,11 @@ def select_user(search_word) end def show_details - @selected.details + if @selected != nil + @selected.details + else + return "No user or channel was selected." + end end def send_message diff --git a/test/workspace_test.rb b/test/workspace_test.rb index d046d269..aa9cb083 100644 --- a/test/workspace_test.rb +++ b/test/workspace_test.rb @@ -108,4 +108,9 @@ end end + describe "show_details" do + it "returns message if no user or channel selected" do + expect(@workspace_inst.show_details).must_equal "No user or channel was selected." + end + end end From 5581159a6a6483942cf6bcfb52ecc68192811f6e Mon Sep 17 00:00:00 2001 From: thenora Date: Mon, 16 Mar 2020 03:31:00 -0700 Subject: [PATCH 32/33] wave 2 cleanup --- lib/recipient.rb | 21 ++++-------- lib/user.rb | 64 +--------------------------------- test/channel_test.rb | 82 -------------------------------------------- 3 files changed, 8 insertions(+), 159 deletions(-) diff --git a/lib/recipient.rb b/lib/recipient.rb index 4c607249..511f8663 100644 --- a/lib/recipient.rb +++ b/lib/recipient.rb @@ -1,7 +1,4 @@ -require 'httparty' -require "dotenv" # ? do I need this? -Dotenv.load # ? do I need this? - +require "httparty" class Recipient attr_reader :name, :slack_id @@ -11,10 +8,8 @@ def initialize(name:, slack_id:) @slack_id = slack_id end - def send_message(message) - - response = HTTParty.post("https://slack.com/api/chat.postMessage", query: {token: ENV['BOT_TOKEN'], channel: self.slack_id, text: message }) + response = HTTParty.post("https://slack.com/api/chat.postMessage", query: { token: ENV["BOT_TOKEN"], channel: self.slack_id, text: message }) if response.code != 200 || response["ok"] == false raise SlackAPIError, "We encountered a problem: #{response["error"]}" @@ -22,25 +17,23 @@ def send_message(message) end def self.get(url) - response = HTTParty.get(url, query: {token: ENV['SLACK_TOKEN']}) + response = HTTParty.get(url, query: { token: ENV["SLACK_TOKEN"] }) if response.code != 200 || response["ok"] == false raise SlackAPIError, "We encountered a problem: #{response["error"]}" end return response - end - + def details - raise NotImplementedError, 'Implement me in a child class!' + raise NotImplementedError, "Implement me in a child class!" end def self.list_all - raise NotImplementedError, 'Implement me in a child class!' + raise NotImplementedError, "Implement me in a child class!" end - end class SlackAPIError < Exception -end \ No newline at end of file +end diff --git a/lib/user.rb b/lib/user.rb index ed0879b7..81ea3032 100644 --- a/lib/user.rb +++ b/lib/user.rb @@ -25,68 +25,6 @@ def self.list_all end def details - tp self, "slack_id", "name", "real_name" + tp self, "name", "real_name", "status_text", "status_emoji", "slack_id" end end - -# Sample output - -# "members": [ -# { -# "id": "USLACKBOT", -# "team_id": "TV63QKAAU", -# "name": "slackbot", -# "deleted": false, -# "real_name": "Slackbot", -# "profile": { -# "real_name": "Slackbot", -# "real_name_normalized": "Slackbot", -# "display_name": "Slackbot", -# "display_name_normalized": "Slackbot", -# "fields": null, -# "status_text": "", -# "status_emoji": "", -# "first_name": "slackbot", -# "last_name": "", -# "status_text_canonical": "", -# "team": "TV63QKAAU" -# }, -# "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": "UUT9Z80AE", -# "team_id": "TV63QKAAU", -# "name": "thenora", -# "real_name": "Nora", -# "tz": "America\/Los_Angeles", -# "tz_label": "Pacific Daylight Time", -# "tz_offset": -25200, -# "profile": { -# "title": "", -# "phone": "", -# "skype": "", -# "real_name": "Nora", -# "real_name_normalized": "Nora", -# "display_name": "", -# "display_name_normalized": "", -# "status_text": "", -# "status_emoji": "", -# "status_text_canonical": "", -# "team": "TV63QKAAU" -# }, -# "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": 1583868865 -# }, diff --git a/test/channel_test.rb b/test/channel_test.rb index dbaf4c4d..0ece7f80 100644 --- a/test/channel_test.rb +++ b/test/channel_test.rb @@ -46,85 +46,3 @@ end end end - -# Any tests involving a Channel should use the #random channel - -# EXAMPLE DATA - -# "channels": [ -# { -# "id": "CV5KRSHJQ", -# "name": "general", -# "is_channel": true, -# "is_group": false, -# "is_im": false, -# "created": 1583868608, -# "is_archived": false, -# "is_general": true, -# "unlinked": 0, -# "name_normalized": "general", -# "is_shared": false, -# "parent_conversation": null, -# "creator": "UUT9Z80AE", -# "is_ext_shared": false, -# "is_org_shared": false, -# "shared_team_ids": [ -# "TV63QKAAU" -# ], -# "pending_shared": [], -# "pending_connected_team_ids": [], -# "is_pending_ext_shared": false, -# "is_member": false, -# "is_private": false, -# "is_mpim": false, -# "topic": { -# "value": "Company-wide announcements and work-based matters", -# "creator": "UUT9Z80AE", -# "last_set": 1583868608 -# }, -# "purpose": { -# "value": "This channel is for workspace-wide communication and announcements. All members are in this channel.", -# "creator": "UUT9Z80AE", -# "last_set": 1583868608 -# }, -# "previous_names": [], -# "num_members": 5 -# }, -# { -# "id": "CV649DWUV", -# "name": "slack-api", -# "is_channel": true, -# "is_group": false, -# "is_im": false, -# "created": 1583868609, -# "is_archived": false, -# "is_general": false, -# "unlinked": 0, -# "name_normalized": "slack-api", -# "is_shared": false, -# "parent_conversation": null, -# "creator": "UUT9Z80AE", -# "is_ext_shared": false, -# "is_org_shared": false, -# "shared_team_ids": [ -# "TV63QKAAU" -# ], -# "pending_shared": [], -# "pending_connected_team_ids": [], -# "is_pending_ext_shared": false, -# "is_member": false, -# "is_private": false, -# "is_mpim": false, -# "topic": { -# "value": "", -# "creator": "", -# "last_set": 0 -# }, -# "purpose": { -# "value": "", -# "creator": "", -# "last_set": 0 -# }, -# "previous_names": [], -# "num_members": 7 -# }, \ No newline at end of file From 65789492d7fa90a9f4dcbb3821de67a932458af8 Mon Sep 17 00:00:00 2001 From: thenora Date: Wed, 25 Mar 2020 17:00:19 -0700 Subject: [PATCH 33/33] added send message functionality --- lib/slack.rb | 15 +++++++++++++-- lib/workspace.rb | 3 ++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/lib/slack.rb b/lib/slack.rb index 2ba39bd2..9fda1000 100755 --- a/lib/slack.rb +++ b/lib/slack.rb @@ -12,7 +12,7 @@ def main puts "\nWelcome to Nora's Slack API CLI. \nThis Slack workspace currently has #{workspace.users.length} users and #{workspace.channels.length} channels." action = menu_choice - until action == "quit" || action == "6" || action == "exit" || action == "6) quit" + until action == "quit" || action == "7" || action == "exit" || action == "7) quit" case action when "list users", "users", "1", "1) list users" tp workspace.users, "name", "real_name", "slack_id" @@ -38,6 +38,17 @@ def main workspace.show_details puts "\n" end + when "send message", "message", "6", "6) send message" + if workspace.selected == nil + puts "Oops! Please select a user or channel first." + puts "\n" + else + puts "What would you like to say? \n" + message = gets.chomp + workspace.send_message(message) + puts "\nThanks, your message was sent. \n" + puts "\n" + end else puts "Oops! I didn't understand you. Try again?" puts "\n" @@ -50,7 +61,7 @@ def main end def menu_choice - print "Your options include: \n1) list users \n2) list channels \n3) select user \n4) select channel \n5) details \n6) quit \n\n" + print "Your options include: \n 1) list users \n 2) list channels \n 3) select user \n 4) select channel \n 5) details \n 6) send message \n 7) quit \n\n" print "What would you like to do? " return gets.chomp.downcase end diff --git a/lib/workspace.rb b/lib/workspace.rb index 7291d07d..985332b5 100644 --- a/lib/workspace.rb +++ b/lib/workspace.rb @@ -44,6 +44,7 @@ def show_details end end - def send_message + def send_message(message) + @selected.send_message(message) end end