From c5b17334d6d98e1fd0f617a87d927cb4d07b643f Mon Sep 17 00:00:00 2001 From: Jetmire Bajrami Date: Wed, 11 Mar 2020 13:15:54 -0700 Subject: [PATCH 01/18] make sure thet token is working --- lib/slack.rb | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/lib/slack.rb b/lib/slack.rb index 8a0b659b..e4d9c908 100755 --- a/lib/slack.rb +++ b/lib/slack.rb @@ -1,12 +1,27 @@ #!/usr/bin/env ruby +require 'httparty' +require 'dotenv' + +Dotenv.load + +BASE_URL = "https://slack.com/api/conversations.list" +# SLACK_TOKEN="xoxb-991668681700-992319339045-1rqVRB8RaNIcsSZpkAE2YpI7" +KEY = ENV["SLACK_TOKEN"] def main puts "Welcome to the Ada Slack CLI!" - workspace = Workspace.new + # workspace = Workspace.new # TODO project + query_parameters = {token: KEY} + + response = HTTParty.get(BASE_URL, query: query_parameters) puts "Thank you for using the Ada Slack CLI" + puts response + end +puts main + main if __FILE__ == $PROGRAM_NAME \ No newline at end of file From eae0cd53196e7e3ecbc11bbb44d6e4227ea31afd Mon Sep 17 00:00:00 2001 From: jetabajrami <51212556+jetabajrami@users.noreply.github.com> Date: Wed, 11 Mar 2020 13:19:41 -0700 Subject: [PATCH 02/18] Update slack.rb --- lib/slack.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/slack.rb b/lib/slack.rb index e4d9c908..25a320cd 100755 --- a/lib/slack.rb +++ b/lib/slack.rb @@ -5,7 +5,6 @@ Dotenv.load BASE_URL = "https://slack.com/api/conversations.list" -# SLACK_TOKEN="xoxb-991668681700-992319339045-1rqVRB8RaNIcsSZpkAE2YpI7" KEY = ENV["SLACK_TOKEN"] def main @@ -24,4 +23,4 @@ def main puts main -main if __FILE__ == $PROGRAM_NAME \ No newline at end of file +main if __FILE__ == $PROGRAM_NAME From d6d74ebc7d1f17d46d8297a13595bfe14a383f5e Mon Sep 17 00:00:00 2001 From: Jetmire Bajrami Date: Wed, 11 Mar 2020 16:22:45 -0700 Subject: [PATCH 03/18] I create files for classes and the test, I initialize classes as well --- lib/channel.rb | 29 +++++++++++++++++++++++++++++ lib/recipiant.rb | 32 ++++++++++++++++++++++++++++++++ lib/slack.rb | 14 ++++++++++---- lib/user.rb | 28 ++++++++++++++++++++++++++++ lib/workspace.rb | 33 +++++++++++++++++++++++++++++++++ test/channel_test.rb | 1 + test/recipiant_test.rb | 1 + test/test_helper.rb | 6 ++++++ test/user_test.rb | 1 + test/workspace_test.rb | 1 + 10 files changed, 142 insertions(+), 4 deletions(-) create mode 100644 lib/channel.rb create mode 100644 lib/recipiant.rb create mode 100644 lib/user.rb create mode 100644 lib/workspace.rb create mode 100644 test/channel_test.rb create mode 100644 test/recipiant_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..eaf4a92c --- /dev/null +++ b/lib/channel.rb @@ -0,0 +1,29 @@ +require_relative "recipiant" +require 'httparty' +require 'dotenv' + +Dotenv.load + +BASE_URL = "https://slack.com/api/conversations.list" + +class Channel < Recipiant + attr_reader :topice, :member_count + + def initialize(topice, member_count) + super(slack_id, name) + @topice = topice + @member_count = member_count + end + + + + def details + + end + + def self.list_all + + end + +end + \ No newline at end of file diff --git a/lib/recipiant.rb b/lib/recipiant.rb new file mode 100644 index 00000000..08206415 --- /dev/null +++ b/lib/recipiant.rb @@ -0,0 +1,32 @@ + +require 'httparty' +require 'dotenv' + +Dotenv.load + +BASE_URL = "https://slack.com/api/conversations.list" + +class Recipiant + attr_reader :slack_id, :name + def initialize(slack_id, name) + @slack_id = slack_id + @name = name + end + + def send_message(message) + + end + + def self.get(url, params) + + end + + def details + + end + + def self.list_all + + end +end + diff --git a/lib/slack.rb b/lib/slack.rb index e4d9c908..9ab0af63 100755 --- a/lib/slack.rb +++ b/lib/slack.rb @@ -1,27 +1,33 @@ #!/usr/bin/env ruby + require 'httparty' require 'dotenv' +require_relative "workspace" Dotenv.load BASE_URL = "https://slack.com/api/conversations.list" -# SLACK_TOKEN="xoxb-991668681700-992319339045-1rqVRB8RaNIcsSZpkAE2YpI7" KEY = ENV["SLACK_TOKEN"] def main puts "Welcome to the Ada Slack CLI!" # workspace = Workspace.new - # TODO project query_parameters = {token: KEY} - + + response = HTTParty.get(BASE_URL, query: query_parameters) + + puts "Thank you for using the Ada Slack CLI" puts response + # response[:channels]each do |chanel| + # puts chanel + # end + end -puts main main if __FILE__ == $PROGRAM_NAME \ No newline at end of file diff --git a/lib/user.rb b/lib/user.rb new file mode 100644 index 00000000..70d2b507 --- /dev/null +++ b/lib/user.rb @@ -0,0 +1,28 @@ +require_relative "recipiant" +require 'httparty' +require 'dotenv' + +Dotenv.load + +BASE_URL = "https://slack.com/api/conversations.list" + +class User < Recipiant + attr_reader :real_name, :status_text, :status_emoji + + def initialize(real_name, status_text, status_emoji) + super(slack_id, name) + @real_name = real_name + @status_text = status_text + @status_emoji = status_emoji + + end + + def details + + end + + def self.list_all + + end + +end \ No newline at end of file diff --git a/lib/workspace.rb b/lib/workspace.rb new file mode 100644 index 00000000..715f901b --- /dev/null +++ b/lib/workspace.rb @@ -0,0 +1,33 @@ +require_relative "channel" +require_relative "user" +require_relative "recipiant" +require 'httparty' +require 'dotenv' + +Dotenv.load + +BASE_URL = "https://slack.com/api/conversations.list" + +class WorkSpace + attr_reader :users, :channels + + def initialize + @users = [] + @channels = [] + + end + + # def select_channels + # end + + # def select_users + # end + + # def show_details + # end + + # def send_message + # 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..a46e6816 --- /dev/null +++ b/test/channel_test.rb @@ -0,0 +1 @@ +require_relative "test_helper" \ No newline at end of file diff --git a/test/recipiant_test.rb b/test/recipiant_test.rb new file mode 100644 index 00000000..a46e6816 --- /dev/null +++ b/test/recipiant_test.rb @@ -0,0 +1 @@ +require_relative "test_helper" \ No newline at end of file diff --git a/test/test_helper.rb b/test/test_helper.rb index 1fcf2bab..81eb0d03 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -11,6 +11,12 @@ Minitest::Reporters.use! Minitest::Reporters::SpecReporter.new +require_relative "../lib/channel" +require_relative "../lib/user" +require_relative "../lib/recipiant" +require_relative "../lib/slack" + + VCR.configure do |config| config.cassette_library_dir = "test/cassettes" config.hook_into :webmock diff --git a/test/user_test.rb b/test/user_test.rb new file mode 100644 index 00000000..a46e6816 --- /dev/null +++ b/test/user_test.rb @@ -0,0 +1 @@ +require_relative "test_helper" \ No newline at end of file diff --git a/test/workspace_test.rb b/test/workspace_test.rb new file mode 100644 index 00000000..a46e6816 --- /dev/null +++ b/test/workspace_test.rb @@ -0,0 +1 @@ +require_relative "test_helper" \ No newline at end of file From 271da31bbc39f4dc6f406df06c3f57e28523bf51 Mon Sep 17 00:00:00 2001 From: Jetmire Bajrami Date: Thu, 12 Mar 2020 14:38:10 -0700 Subject: [PATCH 04/18] I have written test to initialize Recipiant class and I have writen the initialize method as well --- lib/channel.rb | 16 +++++++++++++++- lib/recipiant.rb | 16 ++++++++-------- lib/slack.rb | 11 ++++------- test/recipiant_test.rb | 30 +++++++++++++++++++++++++++++- test/test_helper.rb | 11 +++++++++-- 5 files changed, 65 insertions(+), 19 deletions(-) diff --git a/lib/channel.rb b/lib/channel.rb index eaf4a92c..55753fd3 100644 --- a/lib/channel.rb +++ b/lib/channel.rb @@ -4,7 +4,8 @@ Dotenv.load -BASE_URL = "https://slack.com/api/conversations.list" +CHANNAL_URL = "https://slack.com/api/channels.list" +KEY = ENV["SLACK_TOKEN"] class Channel < Recipiant attr_reader :topice, :member_count @@ -17,13 +18,26 @@ def initialize(topice, member_count) + + def details end def self.list_all + chanels = [] + query_parameters = {token: KEY} + + channels = HTTParty.get(CHANNAL_URL, query: query_parameters) + channels["channels"].each do |chanel| + chanels << chanel["name"] + end + return chanels end + + end + \ No newline at end of file diff --git a/lib/recipiant.rb b/lib/recipiant.rb index 08206415..07acbf14 100644 --- a/lib/recipiant.rb +++ b/lib/recipiant.rb @@ -13,20 +13,20 @@ def initialize(slack_id, name) @name = name end - def send_message(message) + # def send_message(message) - end + # end - def self.get(url, params) + # def self.get(url, params) - end + # end - def details + # def details - end + # end - def self.list_all + # def self.list_all - end + # end end diff --git a/lib/slack.rb b/lib/slack.rb index bd8fd754..99356945 100755 --- a/lib/slack.rb +++ b/lib/slack.rb @@ -6,26 +6,23 @@ Dotenv.load -BASE_URL = "https://slack.com/api/conversations.list" +BASE_URL = "https://slack.com/api/channels.list" KEY = ENV["SLACK_TOKEN"] def main puts "Welcome to the Ada Slack CLI!" - # workspace = Workspace.new query_parameters = {token: KEY} response = HTTParty.get(BASE_URL, query: query_parameters) - - puts "Thank you for using the Ada Slack CLI" puts response - # response[:channels]each do |chanel| - # puts chanel - # end + response["channels"].each do |chanel| + puts chanel["name"] + end end diff --git a/test/recipiant_test.rb b/test/recipiant_test.rb index a46e6816..430cefa9 100644 --- a/test/recipiant_test.rb +++ b/test/recipiant_test.rb @@ -1 +1,29 @@ -require_relative "test_helper" \ No newline at end of file +require_relative "test_helper" + +describe Recipiant do + describe 'constructor' do + + it "Creates an instance of reservation" do + slack_id = "CV5KNMDKN" + name = "slack-cli" + recipiant = Recipiant.new("CV5KNMDKN", "slack-cli") + recipiant.must_be_kind_of Recipiant + end + + it 'Keep treck of selck_id' do + name = "slack-cli" + slack_id = "CV5KNMDKN" + recipiant = Recipiant.new(slack_id, name) + recipiant.must_respond_to :slack_id + recipiant.slack_id.must_equal slack_id + end + + it 'Keep treck of slack name' do + name = "slack-cli" + slack_id = "CV5KNMDKN" + recipiant = Recipiant.new(slack_id, name) + recipiant.must_respond_to :name + recipiant.name.must_equal name + end + end +end \ No newline at end of file diff --git a/test/test_helper.rb b/test/test_helper.rb index 81eb0d03..3e9c2d56 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -8,8 +8,11 @@ require 'minitest/reporters' require 'minitest/skip_dsl' require 'vcr' +require 'webmock/minitest' +require 'dotenv' +Dotenv.load + -Minitest::Reporters.use! Minitest::Reporters::SpecReporter.new require_relative "../lib/channel" require_relative "../lib/user" @@ -17,6 +20,8 @@ require_relative "../lib/slack" +Minitest::Reporters.use! Minitest::Reporters::SpecReporter.new + VCR.configure do |config| config.cassette_library_dir = "test/cassettes" config.hook_into :webmock @@ -31,5 +36,7 @@ } # Don't leave our token lying around in a cassette file. - + config.filter_sensitive_data("") do + ENV["SLACK_TOKEN"] + end end From 0bcce06508d3a557bb09e5ec37799a74c6fd517c Mon Sep 17 00:00:00 2001 From: Jetmire Bajrami Date: Thu, 12 Mar 2020 15:10:24 -0700 Subject: [PATCH 05/18] I have written self.list_all method and test for Recipiant class --- lib/recipiant.rb | 7 ++++--- test/channel_test.rb | 29 ++++++++++++++++++++++++++++- test/recipiant_test.rb | 5 +++++ 3 files changed, 37 insertions(+), 4 deletions(-) diff --git a/lib/recipiant.rb b/lib/recipiant.rb index 07acbf14..003bd7ca 100644 --- a/lib/recipiant.rb +++ b/lib/recipiant.rb @@ -13,6 +13,10 @@ def initialize(slack_id, name) @name = name end + def self.list_all + raise NotImplementedError, 'Implement me in a child class!' + end + # def send_message(message) # end @@ -25,8 +29,5 @@ def initialize(slack_id, name) # end - # def self.list_all - - # end end diff --git a/test/channel_test.rb b/test/channel_test.rb index a46e6816..342ebba1 100644 --- a/test/channel_test.rb +++ b/test/channel_test.rb @@ -1 +1,28 @@ -require_relative "test_helper" \ No newline at end of file +require_relative "test_helper" +describe Channel do + + describe 'constructor' do + + it "Creates an instance of reservation" do + slack_id = "CV5KNMDKN" + name = "slack-cli" + recipiant = Recipiant.new("CV5KNMDKN", "slack-cli") + recipiant.must_be_kind_of Recipiant + end + + it 'Keep treck of selck_id' do + name = "slack-cli" + slack_id = "CV5KNMDKN" + recipiant = Recipiant.new(slack_id, name) + recipiant.must_respond_to :slack_id + recipiant.slack_id.must_equal slack_id + end + + it 'Keep treck of slack name' do + name = "slack-cli" + slack_id = "CV5KNMDKN" + recipiant = Recipiant.new(slack_id, name) + recipiant.must_respond_to :name + recipiant.name.must_equal name + end + end \ No newline at end of file diff --git a/test/recipiant_test.rb b/test/recipiant_test.rb index 430cefa9..8a81fd6b 100644 --- a/test/recipiant_test.rb +++ b/test/recipiant_test.rb @@ -26,4 +26,9 @@ recipiant.name.must_equal name end end + + it 'self.list_all' do + expect{Recipiant.list_all}.must_raise NotImplementedError + end + end \ No newline at end of file From 63a16a74d739e9f67607c9d46c88568281829a14 Mon Sep 17 00:00:00 2001 From: Jetmire Bajrami Date: Thu, 12 Mar 2020 16:27:44 -0700 Subject: [PATCH 06/18] I have written test and mmethod for constructor in channel class. --- lib/channel.rb | 22 +++++++++++----------- test/channel_test.rb | 38 +++++++++++++++++++------------------- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/lib/channel.rb b/lib/channel.rb index 55753fd3..3e4a26dc 100644 --- a/lib/channel.rb +++ b/lib/channel.rb @@ -20,21 +20,21 @@ def initialize(topice, member_count) - def details + # def details - end + # end - def self.list_all - chanels = [] - query_parameters = {token: KEY} + # def self.list_all + # chanels = [] + # query_parameters = {token: KEY} - channels = HTTParty.get(CHANNAL_URL, query: query_parameters) + # channels = HTTParty.get(CHANNAL_URL, query: query_parameters) - channels["channels"].each do |chanel| - chanels << chanel["name"] - end - return chanels - end + # channels["channels"].each do |chanel| + # chanels << chanel["name"] + # end + # return chanels + # end diff --git a/test/channel_test.rb b/test/channel_test.rb index 342ebba1..211883d1 100644 --- a/test/channel_test.rb +++ b/test/channel_test.rb @@ -1,28 +1,28 @@ require_relative "test_helper" describe Channel do - describe 'constructor' do - it "Creates an instance of reservation" do - slack_id = "CV5KNMDKN" - name = "slack-cli" - recipiant = Recipiant.new("CV5KNMDKN", "slack-cli") - recipiant.must_be_kind_of Recipiant + it "Creates an instance of channel" do + topice = {} + member_count = [] + channel = Channel.new({},[]) + channel.must_be_kind_of Channel end - it 'Keep treck of selck_id' do - name = "slack-cli" - slack_id = "CV5KNMDKN" - recipiant = Recipiant.new(slack_id, name) - recipiant.must_respond_to :slack_id - recipiant.slack_id.must_equal slack_id + it 'Keep treck of topice' do + topice = {} + member_count = [] + channel = Channel.new(topice, member_count) + channel.must_respond_to :topice + expect(channel.topice).must_be_kind_of Hash end - it 'Keep treck of slack name' do - name = "slack-cli" - slack_id = "CV5KNMDKN" - recipiant = Recipiant.new(slack_id, name) - recipiant.must_respond_to :name - recipiant.name.must_equal name + it 'Keep treck of slack member_count' do + topice = {} + member_count = [] + channel = Channel.new(topice, member_count) + channel.must_respond_to :member_count + expect(channel.member_count).must_be_kind_of Array end - end \ No newline at end of file + end +end \ No newline at end of file From 40911af33b50df533afa801120765805a3c2297b Mon Sep 17 00:00:00 2001 From: Jetmire Bajrami Date: Fri, 13 Mar 2020 17:26:43 -0700 Subject: [PATCH 07/18] I did changes to all me classes in construction. --- lib/channel.rb | 20 +++----- lib/recipiant.rb | 33 ------------ lib/recipient.rb | 37 +++++++++++++ lib/slack.rb | 56 +++++++++++++++----- lib/user.rb | 29 +++++++---- lib/workspace.rb | 10 ++-- test/channel_test.rb | 53 +++++++++++-------- test/recipiant_test.rb | 34 ------------ test/recipient_test.rb | 35 +++++++++++++ test/test_helper.rb | 6 ++- test/user_test.rb | 114 ++++++++++++++++++++++++++++++++++++++++- test/workspace_test.rb | 24 ++++++++- 12 files changed, 319 insertions(+), 132 deletions(-) delete mode 100644 lib/recipiant.rb create mode 100644 lib/recipient.rb delete mode 100644 test/recipiant_test.rb create mode 100644 test/recipient_test.rb diff --git a/lib/channel.rb b/lib/channel.rb index 3e4a26dc..f68fad7e 100644 --- a/lib/channel.rb +++ b/lib/channel.rb @@ -1,19 +1,13 @@ -require_relative "recipiant" -require 'httparty' -require 'dotenv' +require_relative "recipient" -Dotenv.load -CHANNAL_URL = "https://slack.com/api/channels.list" -KEY = ENV["SLACK_TOKEN"] - -class Channel < Recipiant - attr_reader :topice, :member_count +class Channel < Recipient + attr_reader :topic, :member_count - def initialize(topice, member_count) - super(slack_id, name) - @topice = topice - @member_count = member_count + def initialize(topic: nil, member_count: nil, slack_id:, name:) + super(slack_id: slack_id, name: name) + @topic = topic || {} + @member_count = member_count || [] end diff --git a/lib/recipiant.rb b/lib/recipiant.rb deleted file mode 100644 index 003bd7ca..00000000 --- a/lib/recipiant.rb +++ /dev/null @@ -1,33 +0,0 @@ - -require 'httparty' -require 'dotenv' - -Dotenv.load - -BASE_URL = "https://slack.com/api/conversations.list" - -class Recipiant - attr_reader :slack_id, :name - def initialize(slack_id, name) - @slack_id = slack_id - @name = name - end - - def self.list_all - raise NotImplementedError, 'Implement me in a child class!' - end - - # def send_message(message) - - # end - - # def self.get(url, params) - - # end - - # def details - - # end - -end - diff --git a/lib/recipient.rb b/lib/recipient.rb new file mode 100644 index 00000000..47c37735 --- /dev/null +++ b/lib/recipient.rb @@ -0,0 +1,37 @@ + +require 'httparty' +require 'dotenv' + +Dotenv.load + +class Recipient + attr_reader :slack_id, :name + def initialize(slack_id:, name:) + @slack_id = slack_id + @name = name + end + + def self.list_all + raise NotImplementedError, 'Implement me in a child class' + end + + # def self.get(url) + # response = HTTParty.get(CHANNAL_URL, query: {token: ENV["SLACK_TOKEN"]}) + # if response.code != 200 || response["ok"] == false + # raise SlackAPIError, "We encaunterd a problem #{response["error"]}" + # end + # return response + # end + + # def details + # raise NotImplementedError, 'Implement me in a child class!' + # end + + # def send_message(message) + + # end +end + +class SlackAPIError < Exception +end + diff --git a/lib/slack.rb b/lib/slack.rb index 99356945..228e2d4a 100755 --- a/lib/slack.rb +++ b/lib/slack.rb @@ -1,28 +1,58 @@ #!/usr/bin/env ruby - require 'httparty' require 'dotenv' +require 'table_print' require_relative "workspace" Dotenv.load -BASE_URL = "https://slack.com/api/channels.list" -KEY = ENV["SLACK_TOKEN"] - def main - puts "Welcome to the Ada Slack CLI!" + # puts "Welcome to the Ada Slack CLI!" + # workspace = WorkSpace.new + # puts "Here you have information about users and chanels" + # puts "Type users /n , Type chenels/n, Type quit" + # choice = gets.chomp.downcase + + # while choice != "quit" + # case choice + # when "chanels" + # puts "do something" + # when "chanels" + # puts "do something" + # when " quite" + # brake + # end + # end + + + # I should see information about how many channels and users were loaded + # I should then be given three options for how to interact with the program: + # list users + # list channels + # quit + # As a user who is at the program's input prompt... + + # 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. + # 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. + # When I type quit, the program should exit. + # After completing any command other than quit, the program should reprint the list of commands and ask for another input. + # Hint: You may want to investigate the Table Print gem to handle formatting tables. + + # query_parameters = {token: KEY} + + + # response = HTTParty.get(BASE_URL, query: query_parameters) + + # puts "Thank you for using the Ada Slack CLI" + # puts response - query_parameters = {token: KEY} + # response["channels"].each do |chanel| + # puts chanel["name"] + # end - response = HTTParty.get(BASE_URL, query: query_parameters) - - puts "Thank you for using the Ada Slack CLI" - puts response - response["channels"].each do |chanel| - puts chanel["name"] - end + end diff --git a/lib/user.rb b/lib/user.rb index 70d2b507..6c8ec799 100644 --- a/lib/user.rb +++ b/lib/user.rb @@ -1,4 +1,4 @@ -require_relative "recipiant" +require_relative "recipient" require 'httparty' require 'dotenv' @@ -6,23 +6,30 @@ BASE_URL = "https://slack.com/api/conversations.list" -class User < Recipiant +class User < Recipient attr_reader :real_name, :status_text, :status_emoji - def initialize(real_name, status_text, status_emoji) - super(slack_id, name) + def initialize(real_name:, status_text:, status_emoji:, name:, slack_id:) + super(slack_id: slack_id, name: name) @real_name = real_name @status_text = status_text @status_emoji = status_emoji - end - def details - end - - def self.list_all - end -end \ No newline at end of file + + +end + + # def details + + # end + + + # def self.list_all + # users = [] + # data = self.get("https://slack.com/api/users.list") + # data["members"].each do |user| + \ No newline at end of file diff --git a/lib/workspace.rb b/lib/workspace.rb index 715f901b..dc17e5c6 100644 --- a/lib/workspace.rb +++ b/lib/workspace.rb @@ -1,20 +1,18 @@ require_relative "channel" require_relative "user" -require_relative "recipiant" -require 'httparty' -require 'dotenv' Dotenv.load BASE_URL = "https://slack.com/api/conversations.list" + class WorkSpace - attr_reader :users, :channels + attr_reader :users, :channels, :selected def initialize @users = [] @channels = [] - + @selected = nil end # def select_channels @@ -24,6 +22,8 @@ def initialize # end # def show_details + # puts "I should see information about how many channels and users were loaded" + # input = gets.chomp.downcase # end # def send_message diff --git a/test/channel_test.rb b/test/channel_test.rb index 211883d1..60f6def2 100644 --- a/test/channel_test.rb +++ b/test/channel_test.rb @@ -1,28 +1,41 @@ require_relative "test_helper" -describe Channel do - describe 'constructor' do +require_relative "../lib/channel" + +describe "Channel class" do + describe 'Channel instantiation' do + before do + @channel = Channel.new(slack_id: "CV5KNMDKN", name: "slack-cli") + end - it "Creates an instance of channel" do - topice = {} - member_count = [] - channel = Channel.new({},[]) - channel.must_be_kind_of Channel + it "is an instance of Channel" do + expect(@channel).must_be_kind_of Channel end - it 'Keep treck of topice' do - topice = {} - member_count = [] - channel = Channel.new(topice, member_count) - channel.must_respond_to :topice - expect(channel.topice).must_be_kind_of Hash + it "is set up for specific attributes and data types" do + [:topic, :member_count, :slack_id, :name].each do |prop| + expect(@channel).must_respond_to prop + end + + expect(@channel.topic).must_be_kind_of Hash + expect(@channel.name).must_be_kind_of String + expect(@channel.member_count).must_be_kind_of Array + expect(@channel.slack_id).must_be_kind_of String end - it 'Keep treck of slack member_count' do - topice = {} - member_count = [] - channel = Channel.new(topice, member_count) - channel.must_respond_to :member_count - expect(channel.member_count).must_be_kind_of Array - end + # it 'Keep treck of topice' do + # topice = {} + # member_count = [] + # channel = Channel.new(topic, member_count, name, slack_id) + # channel.must_respond_to :topice + # expect(channel.topice).must_be_kind_of Hash + # end + + # it 'Keep treck of slack member_count' do + # topice = {} + # member_count = [] + # channel = Channel.new((topic, member_count, name, slack_id) + # channel.must_respond_to :member_count + # expect(channel.member_count).must_be_kind_of Array + # end end end \ No newline at end of file diff --git a/test/recipiant_test.rb b/test/recipiant_test.rb deleted file mode 100644 index 8a81fd6b..00000000 --- a/test/recipiant_test.rb +++ /dev/null @@ -1,34 +0,0 @@ -require_relative "test_helper" - -describe Recipiant do - describe 'constructor' do - - it "Creates an instance of reservation" do - slack_id = "CV5KNMDKN" - name = "slack-cli" - recipiant = Recipiant.new("CV5KNMDKN", "slack-cli") - recipiant.must_be_kind_of Recipiant - end - - it 'Keep treck of selck_id' do - name = "slack-cli" - slack_id = "CV5KNMDKN" - recipiant = Recipiant.new(slack_id, name) - recipiant.must_respond_to :slack_id - recipiant.slack_id.must_equal slack_id - end - - it 'Keep treck of slack name' do - name = "slack-cli" - slack_id = "CV5KNMDKN" - recipiant = Recipiant.new(slack_id, name) - recipiant.must_respond_to :name - recipiant.name.must_equal name - end - end - - it 'self.list_all' do - expect{Recipiant.list_all}.must_raise NotImplementedError - end - -end \ No newline at end of file diff --git a/test/recipient_test.rb b/test/recipient_test.rb new file mode 100644 index 00000000..fd02ad78 --- /dev/null +++ b/test/recipient_test.rb @@ -0,0 +1,35 @@ +require_relative "test_helper" + +describe "Recipient class" do + describe 'Recipient instantiation' do + before do + @recipient = Recipient.new(slack_id: "CV5KNMDKN", name: "slack-cli") + end + + it "is an instance of Recipient" do + expect(@recipient).must_be_kind_of Recipient + end + + it "is set up for specific attributes and data types" do + [:slack_id, :name].each do |prop| + expect(@recipient).must_respond_to prop + end + + expect(@recipient.name).must_be_kind_of String + expect(@recipient.slack_id).must_be_kind_of String + + end + end + + describe 'Recipient instantiation' do + it 'self.list_all' do + expect{Recipient.list_all}.must_raise NotImplementedError + end + end + + + + +end + + diff --git a/test/test_helper.rb b/test/test_helper.rb index 3e9c2d56..b993b38b 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -16,7 +16,7 @@ require_relative "../lib/channel" require_relative "../lib/user" -require_relative "../lib/recipiant" +require_relative "../lib/recipient" require_relative "../lib/slack" @@ -39,4 +39,8 @@ config.filter_sensitive_data("") do ENV["SLACK_TOKEN"] end + + # config.filter_sensitive_data("") do + # ENV["BOT_TOKEN"] + # end end diff --git a/test/user_test.rb b/test/user_test.rb index a46e6816..d0b31f77 100644 --- a/test/user_test.rb +++ b/test/user_test.rb @@ -1 +1,113 @@ -require_relative "test_helper" \ No newline at end of file +require_relative "test_helper" +require_relative "../lib/user" + + +describe "User class" do + describe 'User instantiation' do + before do + @user = User.new(real_name: "Slackbot", status_text: "", status_emoji: "", slack_id: "CV5KNMDKN", name: "slack-cli") + end + + it "is an instance of User" do + expect(@user).must_be_kind_of User + end + + it "is set up for specific attributes and data types" do + [:real_name, :status_text, :status_emoji, :slack_id, :name].each do |prop| + expect(@user).must_respond_to prop + end + + expect(@user.real_name).must_be_kind_of String + expect(@user.name).must_be_kind_of String + expect(@user.status_text).must_be_kind_of String + expect(@user.slack_id).must_be_kind_of String + expect(@user.status_emoji).must_be_kind_of String + end + end +end + +# describe Channel do +# describe 'constructor' do + +# it "Creates an instance of user" do +# real_name = "Slackbot" +# status_text = "" +# status_emoji = "" +# user = User.new("Slackbot", "", "") +# user.must_be_kind_of User +# end + +# it 'Keep treck of real_name' do +# real_name = "Slackbot" +# status_text = "" +# status_emoji = "" +# user = User.new(real_name, status_text, status_emoji) +# user.must_respond_to :real_name +# expect(user.real_name).must_equal "Slackbot" +# end + +# it 'Keep treck of slack member_count' do +# real_name = "Slackbot" +# status_text = "" +# status_emoji = "" +# user = User.new(real_name, status_text, status_emoji) +# user.must_respond_to :status_text +# expect(user.status_text).must_equal "" +# end + +# it 'Keep treck of slack status_text' do +# real_name = "Slackbot" +# status_text = "" +# status_emoji = "" +# user = User.new(real_name, status_text, status_emoji) +# user.must_respond_to :status_emoji +# expect(user.status_emoji).must_equal "" +# end +# end + + +# describe 'self_get' do +# it "gets a list of users and return them as an HTTParty Response " do +# result = {} +# VCR.use_cassette("user-list-endpoint") do +# result = User.get("https://slack.com/api/users.list") +# end + +# expect(result).must_be_kind_of HTTParty::Response +# expect(result.["ok"]).must_equal true + +# end +# it "gets a list of users and return them as an HTTParty Response " do +# VCR.use_cassette("user-list-endpoint") do +# expect{User.get("https://slack.com/api/users.list").must_raise SlackAPIError +# end +# end +# end + + + +# # describe 'self.list' do +# # it "return a valid list of the users " do +# # result = [] +# # VCR.use_cassette("user-list-endpoint") do +# # result = User.list.all +# # end +# # expect(result).must_be_kind_of Array +# # expect(result.length).must_be :> 0 +# # result.each do |user| +# # expect(user).must_be_kind_of User +# # end + + +# # end +# # it "gets a list of users and return them as an HTTParty Response " do +# # VCR.use_cassette("user-list-endpoint") do +# # expect{User.get("https://slack.com/api/users.list").must_raise SlackAPIError +# # end +# # end +# # end + + + + +# end \ No newline at end of file diff --git a/test/workspace_test.rb b/test/workspace_test.rb index a46e6816..3fa3c8ee 100644 --- a/test/workspace_test.rb +++ b/test/workspace_test.rb @@ -1 +1,23 @@ -require_relative "test_helper" \ No newline at end of file +require_relative "test_helper" + +describe "WorkSpace class" do + describe 'WorkSpace instantiation' do + before do + @workspace = WorkSpace.new + end + + it "is an instance of User" do + expect(@workspace).must_be_kind_of WorkSpace + end + + it "is set up for specific attributes and data types" do + [:users, :channels, :selected].each do |prop| + expect(@workspace).must_respond_to prop + end + + expect(@workspace.users).must_be_kind_of Array + expect(@workspace.channels).must_be_kind_of Array + expect(@workspace.selected).must_equal nil + end + end +end From 0676fee7e2f9e500882037ede3379e643db5b8a9 Mon Sep 17 00:00:00 2001 From: Jetmire Bajrami Date: Fri, 13 Mar 2020 18:40:54 -0700 Subject: [PATCH 08/18] I have written test and method to get a user list --- lib/channel.rb | 20 ---- lib/recipient.rb | 20 ++-- lib/slack.rb | 99 +++++++++-------- lib/user.rb | 29 +++-- test/cassettes/list-user-endpoint.yml | 151 +++++++++++++++++++++++++ test/cassettes/user-list-endpoint.yml | 153 ++++++++++++++++++++++++++ test/channel_test.rb | 16 --- test/user_test.rb | 119 +++++++------------- 8 files changed, 426 insertions(+), 181 deletions(-) create mode 100644 test/cassettes/list-user-endpoint.yml create mode 100644 test/cassettes/user-list-endpoint.yml diff --git a/lib/channel.rb b/lib/channel.rb index f68fad7e..5df6f343 100644 --- a/lib/channel.rb +++ b/lib/channel.rb @@ -12,26 +12,6 @@ def initialize(topic: nil, member_count: nil, slack_id:, name:) - - - # def details - - # end - - # def self.list_all - # chanels = [] - # query_parameters = {token: KEY} - - # channels = HTTParty.get(CHANNAL_URL, query: query_parameters) - - # channels["channels"].each do |chanel| - # chanels << chanel["name"] - # end - # return chanels - # end - - - end \ No newline at end of file diff --git a/lib/recipient.rb b/lib/recipient.rb index 47c37735..378cef02 100644 --- a/lib/recipient.rb +++ b/lib/recipient.rb @@ -15,17 +15,17 @@ def self.list_all raise NotImplementedError, 'Implement me in a child class' end - # def self.get(url) - # response = HTTParty.get(CHANNAL_URL, query: {token: ENV["SLACK_TOKEN"]}) - # if response.code != 200 || response["ok"] == false - # raise SlackAPIError, "We encaunterd a problem #{response["error"]}" - # end - # return response - # end + def self.get(url) + response = HTTParty.get(url , query: {token: ENV["SLACK_TOKEN"]}) + if response.code != 200 || response["ok"] == false + raise SlackAPIError, "We encaunterd a problem #{response["error"]}" + end + return response + end - # def details - # raise NotImplementedError, 'Implement me in a child class!' - # end + def details + raise NotImplementedError, 'Implement me in a child class!' + end # def send_message(message) diff --git a/lib/slack.rb b/lib/slack.rb index 228e2d4a..ccc518c3 100755 --- a/lib/slack.rb +++ b/lib/slack.rb @@ -7,54 +7,65 @@ Dotenv.load def main - # puts "Welcome to the Ada Slack CLI!" - # workspace = WorkSpace.new - # puts "Here you have information about users and chanels" - # puts "Type users /n , Type chenels/n, Type quit" - # choice = gets.chomp.downcase + workspace = Workspace.new + puts "\n" + puts "Welcome to the Ada Slack CLI! This Slack workspace currently has #{workspace.users.count} users and #{workspace.channels.count} channels." - # while choice != "quit" - # case choice - # when "chanels" - # puts "do something" - # when "chanels" - # puts "do something" - # when " quite" - # brake - # end - # end - + user_input = prompt_for_input - # I should see information about how many channels and users were loaded - # I should then be given three options for how to interact with the program: - # list users - # list channels - # quit - # As a user who is at the program's input prompt... - - # 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. - # 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. - # When I type quit, the program should exit. - # After completing any command other than quit, the program should reprint the list of commands and ask for another input. - # Hint: You may want to investigate the Table Print gem to handle formatting tables. - - # query_parameters = {token: KEY} - - - # response = HTTParty.get(BASE_URL, query: query_parameters) - - # puts "Thank you for using the Ada Slack CLI" - # puts response - - # response["channels"].each do |chanel| - # puts chanel["name"] - # end - - - - + until user_input == "quit" || user_input == "exit" + + case user_input + when "list users" + tp workspace.users, "slack_id", "name", "real_name" + puts "\n" + + when "list channels" + tp workspace.channels, "name", "topic", "member_count", "slack_id" + puts "\n" + + when "select user" + print "Please enter the user name or ID: " + puts workspace.select_user + puts "\n" + + when "select channel" + print "Please enter the channel name or ID: " + puts workspace.select_channel + puts "\n" + + when "details" + if workspace.selected == nil + puts "Please select a user or channel." + puts "\n" + else + workspace.show_details + user_input = nil + puts "\n" + end + when "send message" + if workspace.selected == nil + puts "Please select a user or channel." + puts "\n" + else + print "Please enter your message: " + workspace.send_message + puts "\n" + end + else + puts "Sorry, I didn't understand your request. Please try again." + puts "\n" + end + user_input = prompt_for_input + end + puts "Thank you for using the ADA Slack CLI!" + puts "\n" end +def prompt_for_input + print "Please choose an option: list users, list channels, select user, select channel, details, send message, or quit: \n" + return gets.chomp.downcase +end main if __FILE__ == $PROGRAM_NAME diff --git a/lib/user.rb b/lib/user.rb index 6c8ec799..2fd3744c 100644 --- a/lib/user.rb +++ b/lib/user.rb @@ -17,19 +17,26 @@ def initialize(real_name:, status_text:, status_emoji:, name:, slack_id:) end - - - - -end - # def details - # end - # def self.list_all - # users = [] - # data = self.get("https://slack.com/api/users.list") - # data["members"].each do |user| + def self.list_all + + response = User.get("https://slack.com/api/users.list") + users = [] + + response["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 +end + \ No newline at end of file diff --git a/test/cassettes/list-user-endpoint.yml b/test/cassettes/list-user-endpoint.yml new file mode 100644 index 00000000..617c4311 --- /dev/null +++ b/test/cassettes/list-user-endpoint.yml @@ -0,0 +1,151 @@ +--- +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: + - '1991' + Connection: + - keep-alive + Date: + - Sat, 14 Mar 2020 01:25:30 GMT + Server: + - Apache + X-Slack-Req-Id: + - 5d7234561b6f60b5fc55886e47492454 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - users:read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - 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-4usq + X-Cache: + - Miss from cloudfront + Via: + - 1.1 4c7c693b007dfce603c83f138e31bccb.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - MfNviBQfp_y2XWdqfSEeTqHt8bi20DxcZe1uMiJe7P9iUGYa1ZBACA== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TV5KNL1LL","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":"TV5KNL1LL"},"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":"UUTE7TU58","team_id":"TV5KNL1LL","name":"time_ross_api_project","deleted":false,"color":"e0a729","real_name":"time_ross_api_project","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_ross_api_project","real_name_normalized":"time_ross_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gde749a9a5c8","api_app_id":"AV5PEF4JG","always_active":false,"bot_id":"BUTE7TQ0J","image_24":"https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583872726},{"id":"UUV2F0L67","team_id":"TV5KNL1LL","name":"space_jessica_api_pro","deleted":false,"color":"5b89d5","real_name":"space_jessica_api_pro","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_jessica_api_pro","real_name_normalized":"space_jessica_api_pro","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ga3ae7173902","api_app_id":"AV8C3U6A3","always_active":false,"bot_id":"BUWDPRGQH","image_24":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583883147},{"id":"UUVR12XJ6","team_id":"TV5KNL1LL","name":"jeta","deleted":false,"color":"2b6836","real_name":"jeta","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"jeta","real_name_normalized":"jeta","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g25d2f18ae89","api_app_id":"AVAEDFTTR","always_active":false,"bot_id":"BV85DAQP6","image_24":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583959127},{"id":"UV5KNL1UL","team_id":"TV5KNL1LL","name":"jstone4815","deleted":false,"color":"9f69e7","real_name":"Jessica + Stone","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Jessica + Stone","real_name_normalized":"Jessica Stone","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g3f062ade197","first_name":"Jessica","last_name":"Stone","image_24":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583952236},{"id":"UV5KWEASY","team_id":"TV5KNL1LL","name":"syrosalynyu","deleted":false,"color":"4bbe2e","real_name":"Ross","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Ross","real_name_normalized":"Ross","display_name":"Ross","display_name_normalized":"Ross","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g1d2dde50ccd","image_24":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583868729},{"id":"UV66H40LV","team_id":"TV5KNL1LL","name":"jeta.bajrami","deleted":false,"color":"e7392d","real_name":"Jeta","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Jeta","real_name_normalized":"Jeta","display_name":"Jeta","display_name_normalized":"Jeta","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g8bc5d18fcd8","image_24":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583870734,"has_2fa":false},{"id":"UV66MLLSH","team_id":"TV5KNL1LL","name":"quinruby0","deleted":false,"color":"3c989f","real_name":"quin","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"quin","real_name_normalized":"quin","display_name":"quin","display_name_normalized":"quin","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ge32b4d91cd0","image_24":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583870863},{"id":"UV678M5JL","team_id":"TV5KNL1LL","name":"space_jessica_stone_a","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"space_jessica_stone_a","real_name_normalized":"space_jessica_stone_a","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gb05f6b63392","api_app_id":"AV66BRT7A","always_active":false,"bot_id":"BV67TC6GM","image_24":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"is_bot":true,"is_app_user":false,"updated":1583880597},{"id":"UV69D9Z1B","team_id":"TV5KNL1LL","name":"space_jeta_api_projec","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"space_jeta_api_projec","real_name_normalized":"space_jeta_api_projec","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ga3f6f6c4f3a","api_app_id":"AUTECGKJN","always_active":false,"bot_id":"BV84UJ3RD","image_24":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"is_bot":true,"is_app_user":false,"updated":1583957762},{"id":"UV8DATUPQ","team_id":"TV5KNL1LL","name":"time_quin_api_project","deleted":false,"color":"674b1b","real_name":"time_quin_api_project","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_quin_api_project","real_name_normalized":"time_quin_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g180c140de8a","api_app_id":"AV8D2QGFQ","always_active":false,"bot_id":"BUUNT1ZMZ","image_24":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583871903}],"cache_ts":1584149130,"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Sat, 14 Mar 2020 01:25:30 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: + - Sat, 14 Mar 2020 01:25:30 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: + - d9f9ed02430c86a90f2863ad04383111 + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-s23t + X-Cache: + - Miss from cloudfront + Via: + - 1.1 7eb3b782ab09047ce0d11ee03763894c.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - jqaZIuuxgW77a81SgJzOc8Zp7s89I7S9LfFDgmn8SdvQoC_-BlbEEw== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"unknown_method","req_method":"bogus.call"}' + http_version: null + recorded_at: Sat, 14 Mar 2020 01:25:30 GMT +recorded_with: VCR 5.1.0 diff --git a/test/cassettes/user-list-endpoint.yml b/test/cassettes/user-list-endpoint.yml new file mode 100644 index 00000000..b62d6ceb --- /dev/null +++ b/test/cassettes/user-list-endpoint.yml @@ -0,0 +1,153 @@ +--- +http_interactions: +- request: + method: get + uri: https://slack.com/api/users.list + 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: + - '53' + Connection: + - keep-alive + Date: + - Sat, 14 Mar 2020 00:36:22 GMT + Server: + - Apache + X-Slack-Req-Id: + - e2aababc72856c6290d8c8b8c2735b69 + Referrer-Policy: + - no-referrer + 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 + Vary: + - Accept-Encoding + X-Accepted-Oauth-Scopes: + - users:read + X-Slack-Backend: + - h + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Content-Type-Options: + - nosniff + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-w90z + X-Cache: + - Miss from cloudfront + Via: + - 1.1 7514e5e25722778fd4b1744d4ecc67e1.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - 9Rqnxxez0g9Cg-1epHCtfi8wTDSCwseMU8LE_Dyv0qViQzkxA6jxvA== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"not_authed"}' + http_version: null + recorded_at: Sat, 14 Mar 2020 00:36:22 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: + - '1990' + Connection: + - keep-alive + Date: + - Sat, 14 Mar 2020 01:01:31 GMT + Server: + - Apache + X-Slack-Req-Id: + - bf8666db4dd5e485672c7d2249c2f58d + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - users:read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-7jn1 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 e66162aafd55b64ba1478ff7105150fb.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - Lm9BKLWcILMiNF2So65YoFKb6rGp08dMRquVDC3VQ0X6xlmnNcQMzA== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TV5KNL1LL","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":"TV5KNL1LL"},"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":"UUTE7TU58","team_id":"TV5KNL1LL","name":"time_ross_api_project","deleted":false,"color":"e0a729","real_name":"time_ross_api_project","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_ross_api_project","real_name_normalized":"time_ross_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gde749a9a5c8","api_app_id":"AV5PEF4JG","always_active":false,"bot_id":"BUTE7TQ0J","image_24":"https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583872726},{"id":"UUV2F0L67","team_id":"TV5KNL1LL","name":"space_jessica_api_pro","deleted":false,"color":"5b89d5","real_name":"space_jessica_api_pro","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_jessica_api_pro","real_name_normalized":"space_jessica_api_pro","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ga3ae7173902","api_app_id":"AV8C3U6A3","always_active":false,"bot_id":"BUWDPRGQH","image_24":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583883147},{"id":"UUVR12XJ6","team_id":"TV5KNL1LL","name":"jeta","deleted":false,"color":"2b6836","real_name":"jeta","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"jeta","real_name_normalized":"jeta","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g25d2f18ae89","api_app_id":"AVAEDFTTR","always_active":false,"bot_id":"BV85DAQP6","image_24":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583959127},{"id":"UV5KNL1UL","team_id":"TV5KNL1LL","name":"jstone4815","deleted":false,"color":"9f69e7","real_name":"Jessica + Stone","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Jessica + Stone","real_name_normalized":"Jessica Stone","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g3f062ade197","first_name":"Jessica","last_name":"Stone","image_24":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583952236},{"id":"UV5KWEASY","team_id":"TV5KNL1LL","name":"syrosalynyu","deleted":false,"color":"4bbe2e","real_name":"Ross","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Ross","real_name_normalized":"Ross","display_name":"Ross","display_name_normalized":"Ross","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g1d2dde50ccd","image_24":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583868729},{"id":"UV66H40LV","team_id":"TV5KNL1LL","name":"jeta.bajrami","deleted":false,"color":"e7392d","real_name":"Jeta","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Jeta","real_name_normalized":"Jeta","display_name":"Jeta","display_name_normalized":"Jeta","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g8bc5d18fcd8","image_24":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583870734,"has_2fa":false},{"id":"UV66MLLSH","team_id":"TV5KNL1LL","name":"quinruby0","deleted":false,"color":"3c989f","real_name":"quin","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"quin","real_name_normalized":"quin","display_name":"quin","display_name_normalized":"quin","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ge32b4d91cd0","image_24":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583870863},{"id":"UV678M5JL","team_id":"TV5KNL1LL","name":"space_jessica_stone_a","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"space_jessica_stone_a","real_name_normalized":"space_jessica_stone_a","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gb05f6b63392","api_app_id":"AV66BRT7A","always_active":false,"bot_id":"BV67TC6GM","image_24":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"is_bot":true,"is_app_user":false,"updated":1583880597},{"id":"UV69D9Z1B","team_id":"TV5KNL1LL","name":"space_jeta_api_projec","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"space_jeta_api_projec","real_name_normalized":"space_jeta_api_projec","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ga3f6f6c4f3a","api_app_id":"AUTECGKJN","always_active":false,"bot_id":"BV84UJ3RD","image_24":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"is_bot":true,"is_app_user":false,"updated":1583957762},{"id":"UV8DATUPQ","team_id":"TV5KNL1LL","name":"time_quin_api_project","deleted":false,"color":"674b1b","real_name":"time_quin_api_project","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_quin_api_project","real_name_normalized":"time_quin_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g180c140de8a","api_app_id":"AV8D2QGFQ","always_active":false,"bot_id":"BUUNT1ZMZ","image_24":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583871903}],"cache_ts":1584147691,"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Sat, 14 Mar 2020 01:01:31 GMT +recorded_with: VCR 5.1.0 diff --git a/test/channel_test.rb b/test/channel_test.rb index 60f6def2..1e33f7e7 100644 --- a/test/channel_test.rb +++ b/test/channel_test.rb @@ -21,21 +21,5 @@ expect(@channel.member_count).must_be_kind_of Array expect(@channel.slack_id).must_be_kind_of String end - - # it 'Keep treck of topice' do - # topice = {} - # member_count = [] - # channel = Channel.new(topic, member_count, name, slack_id) - # channel.must_respond_to :topice - # expect(channel.topice).must_be_kind_of Hash - # end - - # it 'Keep treck of slack member_count' do - # topice = {} - # member_count = [] - # channel = Channel.new((topic, member_count, name, slack_id) - # channel.must_respond_to :member_count - # expect(channel.member_count).must_be_kind_of Array - # end end end \ No newline at end of file diff --git a/test/user_test.rb b/test/user_test.rb index d0b31f77..4e5e0904 100644 --- a/test/user_test.rb +++ b/test/user_test.rb @@ -24,90 +24,49 @@ expect(@user.status_emoji).must_be_kind_of String end end + + + describe "self.get" do + it "can get a list of users" do + result = {} + VCR.use_cassette("list-user-endpoint") do + result = User.get("https://slack.com/api/users.list") + end + + expect(result).must_be_kind_of HTTParty::Response + expect(result["ok"]).must_equal true + end + + it "raises an error when a call fails" do + VCR.use_cassette("list-user-endpoint") do + expect {User.get("https://slack.com/api/bogus.call")}.must_raise SlackAPIError + end + end + end + + describe "self.list_all" do + it "returns a list of valid users" do + result = [] + VCR.use_cassette("list-user-endpoint") do + result = User.list_all + end + + expect(result).must_be_kind_of Array + expect(result.length).must_be :>, 0 + result.each do |item| + expect(item).must_be_kind_of User + end + + end + end end -# describe Channel do -# describe 'constructor' do - -# it "Creates an instance of user" do -# real_name = "Slackbot" -# status_text = "" -# status_emoji = "" -# user = User.new("Slackbot", "", "") -# user.must_be_kind_of User -# end - -# it 'Keep treck of real_name' do -# real_name = "Slackbot" -# status_text = "" -# status_emoji = "" -# user = User.new(real_name, status_text, status_emoji) -# user.must_respond_to :real_name -# expect(user.real_name).must_equal "Slackbot" -# end - -# it 'Keep treck of slack member_count' do -# real_name = "Slackbot" -# status_text = "" -# status_emoji = "" -# user = User.new(real_name, status_text, status_emoji) -# user.must_respond_to :status_text -# expect(user.status_text).must_equal "" -# end - -# it 'Keep treck of slack status_text' do -# real_name = "Slackbot" -# status_text = "" -# status_emoji = "" -# user = User.new(real_name, status_text, status_emoji) -# user.must_respond_to :status_emoji -# expect(user.status_emoji).must_equal "" -# end -# end - - -# describe 'self_get' do -# it "gets a list of users and return them as an HTTParty Response " do -# result = {} -# VCR.use_cassette("user-list-endpoint") do -# result = User.get("https://slack.com/api/users.list") -# end - -# expect(result).must_be_kind_of HTTParty::Response -# expect(result.["ok"]).must_equal true - -# end -# it "gets a list of users and return them as an HTTParty Response " do -# VCR.use_cassette("user-list-endpoint") do -# expect{User.get("https://slack.com/api/users.list").must_raise SlackAPIError -# end -# end -# end - - - -# # describe 'self.list' do -# # it "return a valid list of the users " do -# # result = [] -# # VCR.use_cassette("user-list-endpoint") do -# # result = User.list.all -# # end -# # expect(result).must_be_kind_of Array -# # expect(result.length).must_be :> 0 -# # result.each do |user| -# # expect(user).must_be_kind_of User -# # end - -# # end -# # it "gets a list of users and return them as an HTTParty Response " do -# # VCR.use_cassette("user-list-endpoint") do -# # expect{User.get("https://slack.com/api/users.list").must_raise SlackAPIError -# # end -# # end -# # end + -# end \ No newline at end of file + + + From abaf8bfa20363bf2cba29f069f8613245f220b86 Mon Sep 17 00:00:00 2001 From: Jetmire Bajrami Date: Fri, 13 Mar 2020 19:07:19 -0700 Subject: [PATCH 09/18] I have written test to get the list of channels --- test/cassettes/list-chanel-endpoint.yml | 83 +++++++++++++++++++++++++ test/channel_test.rb | 18 ++++++ 2 files changed, 101 insertions(+) create mode 100644 test/cassettes/list-chanel-endpoint.yml diff --git a/test/cassettes/list-chanel-endpoint.yml b/test/cassettes/list-chanel-endpoint.yml new file mode 100644 index 00000000..80716521 --- /dev/null +++ b/test/cassettes/list-chanel-endpoint.yml @@ -0,0 +1,83 @@ +--- +http_interactions: +- request: + method: get + uri: https://slack.com/api/channels.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '582' + Connection: + - keep-alive + Date: + - Sat, 14 Mar 2020 01:48:02 GMT + Server: + - Apache + X-Slack-Req-Id: + - c0524fabd750d6e60c8203929f252a92 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - channels:read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-0hw9 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 2241406ac19fffc8f35d6ddef8e22f56.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - I7kWlhJg78uldxCtlcfJ4drWZLk2J5vmot5woSDdTqLxekqkqkXvzA== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CV5KNMDKN","name":"slack-cli","is_channel":true,"created":1583868526,"is_archived":false,"is_general":false,"unlinked":0,"creator":"UV5KNL1UL","name_normalized":"slack-cli","is_shared":false,"is_org_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"members":["UV5KNL1UL","UV66MLLSH","UV5KWEASY","UV66H40LV"],"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":4},{"id":"CV63MEVG8","name":"general","is_channel":true,"created":1583868525,"is_archived":false,"is_general":true,"unlinked":0,"creator":"UV5KNL1UL","name_normalized":"general","is_shared":false,"is_org_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"members":["UV5KNL1UL","UV66MLLSH","UV5KWEASY","UUV2F0L67","UV66H40LV"],"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UV5KNL1UL","last_set":1583868525},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UV5KNL1UL","last_set":1583868525},"previous_names":[],"num_members":5},{"id":"CV63MEZTJ","name":"random","is_channel":true,"created":1583868525,"is_archived":false,"is_general":false,"unlinked":0,"creator":"UV5KNL1UL","name_normalized":"random","is_shared":false,"is_org_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"members":["UV5KNL1UL","UV66MLLSH","UV5KWEASY","UV66H40LV"],"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UV5KNL1UL","last_set":1583868525},"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":"UV5KNL1UL","last_set":1583868525},"previous_names":[],"num_members":4}],"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Sat, 14 Mar 2020 01:48:02 GMT +recorded_with: VCR 5.1.0 diff --git a/test/channel_test.rb b/test/channel_test.rb index 1e33f7e7..c5294a61 100644 --- a/test/channel_test.rb +++ b/test/channel_test.rb @@ -22,4 +22,22 @@ expect(@channel.slack_id).must_be_kind_of String end end + + describe "self.get" do + it "can get a list of channels" do + result = {} + VCR.use_cassette("list-chanel-endpoint") do + result = Channel.get("https://slack.com/api/channels.list") + end + + expect(result).must_be_kind_of HTTParty::Response + expect(result["ok"]).must_equal true + end + + it "raises an error when a call fails" do + VCR.use_cassette("list-user-endpoint") do + expect {User.get("https://slack.com/api/bogus.call")}.must_raise SlackAPIError + end + end + end end \ No newline at end of file From 949c79bc275c4ad13d5f605874b526567124cf98 Mon Sep 17 00:00:00 2001 From: Jetmire Bajrami Date: Fri, 13 Mar 2020 20:07:03 -0700 Subject: [PATCH 10/18] Add test for self list_all --- lib/channel.rb | 5 ++ test/cassettes/list-channel-endpoint.yml | 67 ++++++++++++++++++++++++ test/channel_test.rb | 19 ++++++- 3 files changed, 89 insertions(+), 2 deletions(-) create mode 100644 test/cassettes/list-channel-endpoint.yml diff --git a/lib/channel.rb b/lib/channel.rb index 5df6f343..5b4d533e 100644 --- a/lib/channel.rb +++ b/lib/channel.rb @@ -10,6 +10,11 @@ def initialize(topic: nil, member_count: nil, slack_id:, name:) @member_count = member_count || [] end + + response = Channel.get("https://slack.com/api/channels.list") + channels = [] + + end diff --git a/test/cassettes/list-channel-endpoint.yml b/test/cassettes/list-channel-endpoint.yml new file mode 100644 index 00000000..6872ba64 --- /dev/null +++ b/test/cassettes/list-channel-endpoint.yml @@ -0,0 +1,67 @@ +--- +http_interactions: +- 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: + - Sat, 14 Mar 2020 02:12: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: + - 821f3af794213a9b16ebac3b01cf18f4 + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-ws1c + X-Cache: + - Miss from cloudfront + Via: + - 1.1 27a84054de24e45f952ea4056a821764.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - pGiytdB9I_Wj0FCTSAPO842u0rmnLwDqgpWz8tR25TG8PoxrM4u5Zw== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"unknown_method","req_method":"bogus.call"}' + http_version: null + recorded_at: Sat, 14 Mar 2020 02:12:44 GMT +recorded_with: VCR 5.1.0 diff --git a/test/channel_test.rb b/test/channel_test.rb index c5294a61..beccceaa 100644 --- a/test/channel_test.rb +++ b/test/channel_test.rb @@ -35,8 +35,23 @@ end it "raises an error when a call fails" do - VCR.use_cassette("list-user-endpoint") do - expect {User.get("https://slack.com/api/bogus.call")}.must_raise SlackAPIError + VCR.use_cassette("list-channel-endpoint") do + expect {Channel.get("https://slack.com/api/bogus.call")}.must_raise SlackAPIError + end + end + end + + describe "self.list_all" do + it "returns a list of valid channels" do + result = [] + VCR.use_cassette("list-channel-endpoint") do + result = Channel.list_all + end + + expect(result).must_be_kind_of Array + expect(result.length).must_be :>, 0 + result.each do |item| + expect(item).must_be_kind_of Channel end end end From 783e8d4b26125dab691c10e8e477e363ca54487d Mon Sep 17 00:00:00 2001 From: Jetmire Bajrami Date: Fri, 13 Mar 2020 20:10:46 -0700 Subject: [PATCH 11/18] I have written method to get the list of chanels --- lib/channel.rb | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/lib/channel.rb b/lib/channel.rb index 5b4d533e..320f00aa 100644 --- a/lib/channel.rb +++ b/lib/channel.rb @@ -10,13 +10,23 @@ def initialize(topic: nil, member_count: nil, slack_id:, name:) @member_count = member_count || [] end - - response = Channel.get("https://slack.com/api/channels.list") - channels = [] - - - + def details + end + def self.list_all + response = Channel.get("https://slack.com/api/channels.list") + channels = [] + + response["channels"].each do |item| + channels << Channel.new( + topic: item["topics"], + member_count: item["members"], + slack_id: item["id"], + name: item["name"] + ) + end + return channels + end end \ No newline at end of file From 0f176bad7cac6fdd2795c0c77200a4507e86854a Mon Sep 17 00:00:00 2001 From: Jetmire Bajrami Date: Sat, 14 Mar 2020 16:15:31 -0700 Subject: [PATCH 12/18] fixed tests --- lib/channel.rb | 9 +- lib/recipient.rb | 2 +- lib/slack.rb | 2 +- lib/user.rb | 5 - lib/workspace.rb | 40 ++-- test/cassettes/list-chanel-endpoint.yml | 83 -------- test/cassettes/list-channel-endpoint.yml | 242 ++++++++++++++++++++++- test/cassettes/list-user-endpoint.yml | 98 +++++++-- test/cassettes/user-list-endpoint.yml | 153 -------------- test/channel_test.rb | 36 ++-- test/recipient_test.rb | 23 --- test/test_helper.rb | 10 +- test/user_test.rb | 41 ++-- test/workspace_test.rb | 34 ++-- 14 files changed, 417 insertions(+), 361 deletions(-) delete mode 100644 test/cassettes/list-chanel-endpoint.yml delete mode 100644 test/cassettes/user-list-endpoint.yml diff --git a/lib/channel.rb b/lib/channel.rb index 320f00aa..50b8c563 100644 --- a/lib/channel.rb +++ b/lib/channel.rb @@ -1,6 +1,5 @@ require_relative "recipient" - class Channel < Recipient attr_reader :topic, :member_count @@ -10,8 +9,8 @@ def initialize(topic: nil, member_count: nil, slack_id:, name:) @member_count = member_count || [] end - def details - end + # def details + # end def self.list_all response = Channel.get("https://slack.com/api/channels.list") @@ -19,8 +18,8 @@ def self.list_all response["channels"].each do |item| channels << Channel.new( - topic: item["topics"], - member_count: item["members"], + topic: item["topic"], + member_count: item["member_count"], slack_id: item["id"], name: item["name"] ) diff --git a/lib/recipient.rb b/lib/recipient.rb index 378cef02..cbb5c43a 100644 --- a/lib/recipient.rb +++ b/lib/recipient.rb @@ -28,8 +28,8 @@ def details end # def send_message(message) - # end + end class SlackAPIError < Exception diff --git a/lib/slack.rb b/lib/slack.rb index ccc518c3..0a1cbcc5 100755 --- a/lib/slack.rb +++ b/lib/slack.rb @@ -7,7 +7,7 @@ Dotenv.load def main - workspace = Workspace.new + workspace = WorkSpace.new puts "\n" puts "Welcome to the Ada Slack CLI! This Slack workspace currently has #{workspace.users.count} users and #{workspace.channels.count} channels." diff --git a/lib/user.rb b/lib/user.rb index 2fd3744c..d19abb25 100644 --- a/lib/user.rb +++ b/lib/user.rb @@ -4,8 +4,6 @@ Dotenv.load -BASE_URL = "https://slack.com/api/conversations.list" - class User < Recipient attr_reader :real_name, :status_text, :status_emoji @@ -16,13 +14,10 @@ def initialize(real_name:, status_text:, status_emoji:, name:, slack_id:) @status_emoji = status_emoji end - # def details # end - def self.list_all - response = User.get("https://slack.com/api/users.list") users = [] diff --git a/lib/workspace.rb b/lib/workspace.rb index dc17e5c6..2e922ea4 100644 --- a/lib/workspace.rb +++ b/lib/workspace.rb @@ -1,29 +1,43 @@ require_relative "channel" require_relative "user" -Dotenv.load - -BASE_URL = "https://slack.com/api/conversations.list" - - class WorkSpace attr_reader :users, :channels, :selected def initialize - @users = [] - @channels = [] + @users = User.list_all + @channels = Channel.list_all @selected = nil end - # def select_channels - # end + def select_channel + search_term = gets.chomp + + channels.each do |channel| + if channel.name == search_term || channel.slack_id == search_term + @selected = channel + return "Okay, #{selected.name} has been selected" + end + end + + @selected = nil + return "Sorry, I couldn't find that channel." + end + + def select_user + search_term = gets.chomp + users.each do |user| + if user.name == search_term || user.slack_id == search_term + @selected = user + return "Okay, #{selected.name} has been selected" + end + end + @selected = nil + return "Sorry, I couldn't find that user" + end - # def select_users - # end # def show_details - # puts "I should see information about how many channels and users were loaded" - # input = gets.chomp.downcase # end # def send_message diff --git a/test/cassettes/list-chanel-endpoint.yml b/test/cassettes/list-chanel-endpoint.yml deleted file mode 100644 index 80716521..00000000 --- a/test/cassettes/list-chanel-endpoint.yml +++ /dev/null @@ -1,83 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://slack.com/api/channels.list?token= - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 200 - message: OK - headers: - Content-Type: - - application/json; charset=utf-8 - Content-Length: - - '582' - Connection: - - keep-alive - Date: - - Sat, 14 Mar 2020 01:48:02 GMT - Server: - - Apache - X-Slack-Req-Id: - - c0524fabd750d6e60c8203929f252a92 - X-Oauth-Scopes: - - identify,channels:read,users:read,chat:write - X-Accepted-Oauth-Scopes: - - channels:read - Access-Control-Expose-Headers: - - x-slack-req-id, retry-after - X-Slack-Backend: - - h - X-Content-Type-Options: - - nosniff - Expires: - - Mon, 26 Jul 1997 05:00:00 GMT - Cache-Control: - - private, no-cache, no-store, must-revalidate - X-Xss-Protection: - - '0' - Vary: - - Accept-Encoding - Pragma: - - no-cache - Access-Control-Allow-Headers: - - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, - x-b3-sampled, x-b3-flags - Strict-Transport-Security: - - max-age=31536000; includeSubDomains; preload - Referrer-Policy: - - no-referrer - Access-Control-Allow-Origin: - - "*" - X-Via: - - haproxy-www-0hw9 - X-Cache: - - Miss from cloudfront - Via: - - 1.1 2241406ac19fffc8f35d6ddef8e22f56.cloudfront.net (CloudFront) - X-Amz-Cf-Pop: - - SEA19-C1 - X-Amz-Cf-Id: - - I7kWlhJg78uldxCtlcfJ4drWZLk2J5vmot5woSDdTqLxekqkqkXvzA== - body: - encoding: ASCII-8BIT - string: '{"ok":true,"channels":[{"id":"CV5KNMDKN","name":"slack-cli","is_channel":true,"created":1583868526,"is_archived":false,"is_general":false,"unlinked":0,"creator":"UV5KNL1UL","name_normalized":"slack-cli","is_shared":false,"is_org_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"members":["UV5KNL1UL","UV66MLLSH","UV5KWEASY","UV66H40LV"],"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":4},{"id":"CV63MEVG8","name":"general","is_channel":true,"created":1583868525,"is_archived":false,"is_general":true,"unlinked":0,"creator":"UV5KNL1UL","name_normalized":"general","is_shared":false,"is_org_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"members":["UV5KNL1UL","UV66MLLSH","UV5KWEASY","UUV2F0L67","UV66H40LV"],"topic":{"value":"Company-wide - announcements and work-based matters","creator":"UV5KNL1UL","last_set":1583868525},"purpose":{"value":"This - channel is for workspace-wide communication and announcements. All members - are in this channel.","creator":"UV5KNL1UL","last_set":1583868525},"previous_names":[],"num_members":5},{"id":"CV63MEZTJ","name":"random","is_channel":true,"created":1583868525,"is_archived":false,"is_general":false,"unlinked":0,"creator":"UV5KNL1UL","name_normalized":"random","is_shared":false,"is_org_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"members":["UV5KNL1UL","UV66MLLSH","UV5KWEASY","UV66H40LV"],"topic":{"value":"Non-work - banter and water cooler conversation","creator":"UV5KNL1UL","last_set":1583868525},"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":"UV5KNL1UL","last_set":1583868525},"previous_names":[],"num_members":4}],"response_metadata":{"next_cursor":""}}' - http_version: null - recorded_at: Sat, 14 Mar 2020 01:48:02 GMT -recorded_with: VCR 5.1.0 diff --git a/test/cassettes/list-channel-endpoint.yml b/test/cassettes/list-channel-endpoint.yml index 6872ba64..37b6c4d8 100644 --- a/test/cassettes/list-channel-endpoint.yml +++ b/test/cassettes/list-channel-endpoint.yml @@ -1,5 +1,85 @@ --- http_interactions: +- request: + method: get + uri: https://slack.com/api/channels.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '582' + Connection: + - keep-alive + Date: + - Sat, 14 Mar 2020 18:28:19 GMT + Server: + - Apache + X-Slack-Req-Id: + - cad8a2d1ed1e1edc111b9c211098eb38 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - channels:read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-suv8 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 8aaadc90b59c6024541e9b860cab0ddd.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - ORD51-C3 + X-Amz-Cf-Id: + - ThaoULMa2FXhtPec9iHF-947W0hd94iUpJ2hVrxQXOd5eoS5J2k-Yg== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CV5KNMDKN","name":"slack-cli","is_channel":true,"created":1583868526,"is_archived":false,"is_general":false,"unlinked":0,"creator":"UV5KNL1UL","name_normalized":"slack-cli","is_shared":false,"is_org_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"members":["UV5KWEASY","UV5KNL1UL","UV66MLLSH","UV66H40LV"],"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":4},{"id":"CV63MEVG8","name":"general","is_channel":true,"created":1583868525,"is_archived":false,"is_general":true,"unlinked":0,"creator":"UV5KNL1UL","name_normalized":"general","is_shared":false,"is_org_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"members":["UV5KWEASY","UV5KNL1UL","UV66MLLSH","UUV2F0L67","UV66H40LV"],"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UV5KNL1UL","last_set":1583868525},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UV5KNL1UL","last_set":1583868525},"previous_names":[],"num_members":5},{"id":"CV63MEZTJ","name":"random","is_channel":true,"created":1583868525,"is_archived":false,"is_general":false,"unlinked":0,"creator":"UV5KNL1UL","name_normalized":"random","is_shared":false,"is_org_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"members":["UV5KWEASY","UV5KNL1UL","UV66MLLSH","UV66H40LV"],"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UV5KNL1UL","last_set":1583868525},"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":"UV5KNL1UL","last_set":1583868525},"previous_names":[],"num_members":4}],"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Sat, 14 Mar 2020 18:28:19 GMT - request: method: get uri: https://slack.com/api/bogus.call?token= @@ -25,7 +105,7 @@ http_interactions: Connection: - keep-alive Date: - - Sat, 14 Mar 2020 02:12:44 GMT + - Sat, 14 Mar 2020 18:28:19 GMT Server: - Apache Strict-Transport-Security: @@ -44,24 +124,172 @@ http_interactions: X-Content-Type-Options: - nosniff X-Slack-Req-Id: - - 821f3af794213a9b16ebac3b01cf18f4 + - 9bded7055dec723bc17f6b7b4e4b056e X-Xss-Protection: - '0' Access-Control-Allow-Origin: - "*" X-Via: - - haproxy-www-ws1c + - haproxy-www-4pwe X-Cache: - Miss from cloudfront Via: - - 1.1 27a84054de24e45f952ea4056a821764.cloudfront.net (CloudFront) + - 1.1 989d69b6a59c7112ca1c640cb8ad8e9d.cloudfront.net (CloudFront) X-Amz-Cf-Pop: - - SEA19-C1 + - ORD51-C3 X-Amz-Cf-Id: - - pGiytdB9I_Wj0FCTSAPO842u0rmnLwDqgpWz8tR25TG8PoxrM4u5Zw== + - uLYOGKa9W8LByx-w4EHADoV6eJmjyCBvRAV2K8KUeujjSfQLB6uQYg== body: encoding: ASCII-8BIT string: '{"ok":false,"error":"unknown_method","req_method":"bogus.call"}' http_version: null - recorded_at: Sat, 14 Mar 2020 02:12:44 GMT + recorded_at: Sat, 14 Mar 2020 18:28:19 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: + - '1990' + Connection: + - keep-alive + Date: + - Sat, 14 Mar 2020 18:30:24 GMT + Server: + - Apache + X-Slack-Req-Id: + - f919ad1d58b08dea4fafdffbbfa96e58 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - users:read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-3ofd + X-Cache: + - Miss from cloudfront + Via: + - 1.1 70bfe4d417faea766975f28f39bec9e0.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - ORD51-C1 + X-Amz-Cf-Id: + - TkliTV480MK6XKFG-GCwpeS64FAxCkdJOI4moibmI092mL2hf3uB9A== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TV5KNL1LL","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":"TV5KNL1LL"},"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":"UUTE7TU58","team_id":"TV5KNL1LL","name":"time_ross_api_project","deleted":false,"color":"e0a729","real_name":"time_ross_api_project","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_ross_api_project","real_name_normalized":"time_ross_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gde749a9a5c8","api_app_id":"AV5PEF4JG","always_active":false,"bot_id":"BUTE7TQ0J","image_24":"https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583872726},{"id":"UUV2F0L67","team_id":"TV5KNL1LL","name":"space_jessica_api_pro","deleted":false,"color":"5b89d5","real_name":"space_jessica_api_pro","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_jessica_api_pro","real_name_normalized":"space_jessica_api_pro","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ga3ae7173902","api_app_id":"AV8C3U6A3","always_active":false,"bot_id":"BUWDPRGQH","image_24":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583883147},{"id":"UUVR12XJ6","team_id":"TV5KNL1LL","name":"jeta","deleted":false,"color":"2b6836","real_name":"jeta","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"jeta","real_name_normalized":"jeta","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g25d2f18ae89","api_app_id":"AVAEDFTTR","always_active":false,"bot_id":"BV85DAQP6","image_24":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583959127},{"id":"UV5KNL1UL","team_id":"TV5KNL1LL","name":"jstone4815","deleted":false,"color":"9f69e7","real_name":"Jessica + Stone","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Jessica + Stone","real_name_normalized":"Jessica Stone","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g3f062ade197","first_name":"Jessica","last_name":"Stone","image_24":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583952236},{"id":"UV5KWEASY","team_id":"TV5KNL1LL","name":"syrosalynyu","deleted":false,"color":"4bbe2e","real_name":"Ross","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Ross","real_name_normalized":"Ross","display_name":"Ross","display_name_normalized":"Ross","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g1d2dde50ccd","image_24":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583868729},{"id":"UV66H40LV","team_id":"TV5KNL1LL","name":"jeta.bajrami","deleted":false,"color":"e7392d","real_name":"Jeta","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Jeta","real_name_normalized":"Jeta","display_name":"Jeta","display_name_normalized":"Jeta","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g8bc5d18fcd8","image_24":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583870734,"has_2fa":false},{"id":"UV66MLLSH","team_id":"TV5KNL1LL","name":"quinruby0","deleted":false,"color":"3c989f","real_name":"quin","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"quin","real_name_normalized":"quin","display_name":"quin","display_name_normalized":"quin","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ge32b4d91cd0","image_24":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583870863},{"id":"UV678M5JL","team_id":"TV5KNL1LL","name":"space_jessica_stone_a","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"space_jessica_stone_a","real_name_normalized":"space_jessica_stone_a","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gb05f6b63392","api_app_id":"AV66BRT7A","always_active":false,"bot_id":"BV67TC6GM","image_24":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"is_bot":true,"is_app_user":false,"updated":1583880597},{"id":"UV69D9Z1B","team_id":"TV5KNL1LL","name":"space_jeta_api_projec","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"space_jeta_api_projec","real_name_normalized":"space_jeta_api_projec","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ga3f6f6c4f3a","api_app_id":"AUTECGKJN","always_active":false,"bot_id":"BV84UJ3RD","image_24":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"is_bot":true,"is_app_user":false,"updated":1583957762},{"id":"UV8DATUPQ","team_id":"TV5KNL1LL","name":"time_quin_api_project","deleted":false,"color":"674b1b","real_name":"time_quin_api_project","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_quin_api_project","real_name_normalized":"time_quin_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g180c140de8a","api_app_id":"AV8D2QGFQ","always_active":false,"bot_id":"BUUNT1ZMZ","image_24":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583871903}],"cache_ts":1584210624,"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Sat, 14 Mar 2020 18:30:24 GMT +- request: + method: get + uri: https://slack.com/api/channel.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: + - '78' + Connection: + - keep-alive + Date: + - Sat, 14 Mar 2020 21:08: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: + - 0a8ca3c74837aa1ec908863bdcc9084a + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-tkiz + X-Cache: + - Miss from cloudfront + Via: + - 1.1 e257dc69f95c31210d80daf337acd889.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - ORD50-C1 + X-Amz-Cf-Id: + - OkgQ9cYA-laq0LAo6ITra61ssoDo_SHvR4EvXfYuQ2SPN5kKDKSboQ== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"unknown_method","req_method":"channel.list"}' + http_version: null + recorded_at: Sat, 14 Mar 2020 21:08:22 GMT recorded_with: VCR 5.1.0 diff --git a/test/cassettes/list-user-endpoint.yml b/test/cassettes/list-user-endpoint.yml index 617c4311..153f4009 100644 --- a/test/cassettes/list-user-endpoint.yml +++ b/test/cassettes/list-user-endpoint.yml @@ -21,15 +21,15 @@ http_interactions: Content-Type: - application/json; charset=utf-8 Content-Length: - - '1991' + - '1990' Connection: - keep-alive Date: - - Sat, 14 Mar 2020 01:25:30 GMT + - Sat, 14 Mar 2020 18:28:18 GMT Server: - Apache X-Slack-Req-Id: - - 5d7234561b6f60b5fc55886e47492454 + - 26874ba59dfa56dc85efd90ba0116e40 X-Oauth-Scopes: - identify,channels:read,users:read,chat:write X-Accepted-Oauth-Scopes: @@ -37,7 +37,7 @@ http_interactions: Access-Control-Expose-Headers: - x-slack-req-id, retry-after X-Slack-Backend: - - r + - h X-Content-Type-Options: - nosniff Expires: @@ -60,15 +60,15 @@ http_interactions: Access-Control-Allow-Origin: - "*" X-Via: - - haproxy-www-4usq + - haproxy-www-ffos X-Cache: - Miss from cloudfront Via: - - 1.1 4c7c693b007dfce603c83f138e31bccb.cloudfront.net (CloudFront) + - 1.1 4082b107fc353ae0e2760c8b110016ae.cloudfront.net (CloudFront) X-Amz-Cf-Pop: - - SEA19-C2 + - ORD51-C3 X-Amz-Cf-Id: - - MfNviBQfp_y2XWdqfSEeTqHt8bi20DxcZe1uMiJe7P9iUGYa1ZBACA== + - Ug27w-H-wTes2fdx5z_afh9-7827eD4vYx-0UUj2ggOEKhYGgYsEjA== body: encoding: ASCII-8BIT string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TV5KNL1LL","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific @@ -81,9 +81,9 @@ http_interactions: Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Ross","real_name_normalized":"Ross","display_name":"Ross","display_name_normalized":"Ross","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g1d2dde50ccd","image_24":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583868729},{"id":"UV66H40LV","team_id":"TV5KNL1LL","name":"jeta.bajrami","deleted":false,"color":"e7392d","real_name":"Jeta","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Jeta","real_name_normalized":"Jeta","display_name":"Jeta","display_name_normalized":"Jeta","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g8bc5d18fcd8","image_24":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583870734,"has_2fa":false},{"id":"UV66MLLSH","team_id":"TV5KNL1LL","name":"quinruby0","deleted":false,"color":"3c989f","real_name":"quin","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"quin","real_name_normalized":"quin","display_name":"quin","display_name_normalized":"quin","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ge32b4d91cd0","image_24":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583870863},{"id":"UV678M5JL","team_id":"TV5KNL1LL","name":"space_jessica_stone_a","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"space_jessica_stone_a","real_name_normalized":"space_jessica_stone_a","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gb05f6b63392","api_app_id":"AV66BRT7A","always_active":false,"bot_id":"BV67TC6GM","image_24":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"is_bot":true,"is_app_user":false,"updated":1583880597},{"id":"UV69D9Z1B","team_id":"TV5KNL1LL","name":"space_jeta_api_projec","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"space_jeta_api_projec","real_name_normalized":"space_jeta_api_projec","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ga3f6f6c4f3a","api_app_id":"AUTECGKJN","always_active":false,"bot_id":"BV84UJ3RD","image_24":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"is_bot":true,"is_app_user":false,"updated":1583957762},{"id":"UV8DATUPQ","team_id":"TV5KNL1LL","name":"time_quin_api_project","deleted":false,"color":"674b1b","real_name":"time_quin_api_project","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_quin_api_project","real_name_normalized":"time_quin_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g180c140de8a","api_app_id":"AV8D2QGFQ","always_active":false,"bot_id":"BUUNT1ZMZ","image_24":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583871903}],"cache_ts":1584149130,"response_metadata":{"next_cursor":""}}' + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_quin_api_project","real_name_normalized":"time_quin_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g180c140de8a","api_app_id":"AV8D2QGFQ","always_active":false,"bot_id":"BUUNT1ZMZ","image_24":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583871903}],"cache_ts":1584210498,"response_metadata":{"next_cursor":""}}' http_version: null - recorded_at: Sat, 14 Mar 2020 01:25:30 GMT + recorded_at: Sat, 14 Mar 2020 18:28:18 GMT - request: method: get uri: https://slack.com/api/bogus.call?token= @@ -109,7 +109,7 @@ http_interactions: Connection: - keep-alive Date: - - Sat, 14 Mar 2020 01:25:30 GMT + - Sat, 14 Mar 2020 18:28:18 GMT Server: - Apache Strict-Transport-Security: @@ -128,24 +128,88 @@ http_interactions: X-Content-Type-Options: - nosniff X-Slack-Req-Id: - - d9f9ed02430c86a90f2863ad04383111 + - b43e37486c5f84e9078fa5b945c265dd X-Xss-Protection: - '0' Access-Control-Allow-Origin: - "*" X-Via: - - haproxy-www-s23t + - haproxy-www-270m X-Cache: - Miss from cloudfront Via: - - 1.1 7eb3b782ab09047ce0d11ee03763894c.cloudfront.net (CloudFront) + - 1.1 f36251c149c64539ed81c5e220e5e2b6.cloudfront.net (CloudFront) X-Amz-Cf-Pop: - - SEA19-C2 + - ORD51-C3 X-Amz-Cf-Id: - - jqaZIuuxgW77a81SgJzOc8Zp7s89I7S9LfFDgmn8SdvQoC_-BlbEEw== + - G0VzHXJisieZfXmXlHU3fpxu6Zg6nxxIzVSo-AVzU82nk9O6w_qh0Q== body: encoding: ASCII-8BIT string: '{"ok":false,"error":"unknown_method","req_method":"bogus.call"}' http_version: null - recorded_at: Sat, 14 Mar 2020 01:25:30 GMT + recorded_at: Sat, 14 Mar 2020 18:28:18 GMT +- request: + method: get + uri: https://slack.com/api/channel.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: + - '78' + Connection: + - keep-alive + Date: + - Sat, 14 Mar 2020 20:39:08 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: + - 8925892f31a83edc2d79113544d3b5d7 + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-hynk + X-Cache: + - Miss from cloudfront + Via: + - 1.1 6ca6a5c7e4ef3511c3ea6d058e2252f9.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - ORD50-C1 + X-Amz-Cf-Id: + - xLHVQ_PPRBiKqDS8Ufzj616ggGPso9ypu7ZcYXasRjLwdL4FFOog4w== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"unknown_method","req_method":"channel.list"}' + http_version: null + recorded_at: Sat, 14 Mar 2020 20:39:08 GMT recorded_with: VCR 5.1.0 diff --git a/test/cassettes/user-list-endpoint.yml b/test/cassettes/user-list-endpoint.yml deleted file mode 100644 index b62d6ceb..00000000 --- a/test/cassettes/user-list-endpoint.yml +++ /dev/null @@ -1,153 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://slack.com/api/users.list - 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: - - '53' - Connection: - - keep-alive - Date: - - Sat, 14 Mar 2020 00:36:22 GMT - Server: - - Apache - X-Slack-Req-Id: - - e2aababc72856c6290d8c8b8c2735b69 - Referrer-Policy: - - no-referrer - 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 - Vary: - - Accept-Encoding - X-Accepted-Oauth-Scopes: - - users:read - X-Slack-Backend: - - h - Access-Control-Expose-Headers: - - x-slack-req-id, retry-after - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - '0' - Access-Control-Allow-Origin: - - "*" - X-Via: - - haproxy-www-w90z - X-Cache: - - Miss from cloudfront - Via: - - 1.1 7514e5e25722778fd4b1744d4ecc67e1.cloudfront.net (CloudFront) - X-Amz-Cf-Pop: - - SEA19-C1 - X-Amz-Cf-Id: - - 9Rqnxxez0g9Cg-1epHCtfi8wTDSCwseMU8LE_Dyv0qViQzkxA6jxvA== - body: - encoding: ASCII-8BIT - string: '{"ok":false,"error":"not_authed"}' - http_version: null - recorded_at: Sat, 14 Mar 2020 00:36:22 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: - - '1990' - Connection: - - keep-alive - Date: - - Sat, 14 Mar 2020 01:01:31 GMT - Server: - - Apache - X-Slack-Req-Id: - - bf8666db4dd5e485672c7d2249c2f58d - X-Oauth-Scopes: - - identify,channels:read,users:read,chat:write - X-Accepted-Oauth-Scopes: - - users:read - Access-Control-Expose-Headers: - - x-slack-req-id, retry-after - X-Slack-Backend: - - h - X-Content-Type-Options: - - nosniff - Expires: - - Mon, 26 Jul 1997 05:00:00 GMT - Cache-Control: - - private, no-cache, no-store, must-revalidate - X-Xss-Protection: - - '0' - Vary: - - Accept-Encoding - Pragma: - - no-cache - Access-Control-Allow-Headers: - - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, - x-b3-sampled, x-b3-flags - Strict-Transport-Security: - - max-age=31536000; includeSubDomains; preload - Referrer-Policy: - - no-referrer - Access-Control-Allow-Origin: - - "*" - X-Via: - - haproxy-www-7jn1 - X-Cache: - - Miss from cloudfront - Via: - - 1.1 e66162aafd55b64ba1478ff7105150fb.cloudfront.net (CloudFront) - X-Amz-Cf-Pop: - - SEA19-C2 - X-Amz-Cf-Id: - - Lm9BKLWcILMiNF2So65YoFKb6rGp08dMRquVDC3VQ0X6xlmnNcQMzA== - body: - encoding: ASCII-8BIT - string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TV5KNL1LL","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":"TV5KNL1LL"},"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":"UUTE7TU58","team_id":"TV5KNL1LL","name":"time_ross_api_project","deleted":false,"color":"e0a729","real_name":"time_ross_api_project","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_ross_api_project","real_name_normalized":"time_ross_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gde749a9a5c8","api_app_id":"AV5PEF4JG","always_active":false,"bot_id":"BUTE7TQ0J","image_24":"https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583872726},{"id":"UUV2F0L67","team_id":"TV5KNL1LL","name":"space_jessica_api_pro","deleted":false,"color":"5b89d5","real_name":"space_jessica_api_pro","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_jessica_api_pro","real_name_normalized":"space_jessica_api_pro","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ga3ae7173902","api_app_id":"AV8C3U6A3","always_active":false,"bot_id":"BUWDPRGQH","image_24":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583883147},{"id":"UUVR12XJ6","team_id":"TV5KNL1LL","name":"jeta","deleted":false,"color":"2b6836","real_name":"jeta","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"jeta","real_name_normalized":"jeta","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g25d2f18ae89","api_app_id":"AVAEDFTTR","always_active":false,"bot_id":"BV85DAQP6","image_24":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583959127},{"id":"UV5KNL1UL","team_id":"TV5KNL1LL","name":"jstone4815","deleted":false,"color":"9f69e7","real_name":"Jessica - Stone","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Jessica - Stone","real_name_normalized":"Jessica Stone","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g3f062ade197","first_name":"Jessica","last_name":"Stone","image_24":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583952236},{"id":"UV5KWEASY","team_id":"TV5KNL1LL","name":"syrosalynyu","deleted":false,"color":"4bbe2e","real_name":"Ross","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Ross","real_name_normalized":"Ross","display_name":"Ross","display_name_normalized":"Ross","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g1d2dde50ccd","image_24":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583868729},{"id":"UV66H40LV","team_id":"TV5KNL1LL","name":"jeta.bajrami","deleted":false,"color":"e7392d","real_name":"Jeta","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Jeta","real_name_normalized":"Jeta","display_name":"Jeta","display_name_normalized":"Jeta","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g8bc5d18fcd8","image_24":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583870734,"has_2fa":false},{"id":"UV66MLLSH","team_id":"TV5KNL1LL","name":"quinruby0","deleted":false,"color":"3c989f","real_name":"quin","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"quin","real_name_normalized":"quin","display_name":"quin","display_name_normalized":"quin","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ge32b4d91cd0","image_24":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583870863},{"id":"UV678M5JL","team_id":"TV5KNL1LL","name":"space_jessica_stone_a","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"space_jessica_stone_a","real_name_normalized":"space_jessica_stone_a","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gb05f6b63392","api_app_id":"AV66BRT7A","always_active":false,"bot_id":"BV67TC6GM","image_24":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"is_bot":true,"is_app_user":false,"updated":1583880597},{"id":"UV69D9Z1B","team_id":"TV5KNL1LL","name":"space_jeta_api_projec","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"space_jeta_api_projec","real_name_normalized":"space_jeta_api_projec","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ga3f6f6c4f3a","api_app_id":"AUTECGKJN","always_active":false,"bot_id":"BV84UJ3RD","image_24":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"is_bot":true,"is_app_user":false,"updated":1583957762},{"id":"UV8DATUPQ","team_id":"TV5KNL1LL","name":"time_quin_api_project","deleted":false,"color":"674b1b","real_name":"time_quin_api_project","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_quin_api_project","real_name_normalized":"time_quin_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g180c140de8a","api_app_id":"AV8D2QGFQ","always_active":false,"bot_id":"BUUNT1ZMZ","image_24":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583871903}],"cache_ts":1584147691,"response_metadata":{"next_cursor":""}}' - http_version: null - recorded_at: Sat, 14 Mar 2020 01:01:31 GMT -recorded_with: VCR 5.1.0 diff --git a/test/channel_test.rb b/test/channel_test.rb index beccceaa..06d82dfc 100644 --- a/test/channel_test.rb +++ b/test/channel_test.rb @@ -3,30 +3,36 @@ describe "Channel class" do describe 'Channel instantiation' do - before do - @channel = Channel.new(slack_id: "CV5KNMDKN", name: "slack-cli") - end + it "creates a channel object" do + VCR.use_cassette("list-channel-endpoint") do + url = "https://slack.com/api/channels.list" + response = User.get(url) + channels = [] + response["channels"].each do |item| + topic = item["topic"] + member_count = item["members"] + slack_id = item["id"] + name = item["name"] - it "is an instance of Channel" do - expect(@channel).must_be_kind_of Channel - end + channels << Channel.new(topic: topic, member_count: member_count, slack_id: slack_id, slack_id: slack_id, name: name) + end - it "is set up for specific attributes and data types" do - [:topic, :member_count, :slack_id, :name].each do |prop| - expect(@channel).must_respond_to prop + expect(channels[0]).must_be_instance_of Channel + + expected_topic = {"value" => "", "creator" => "", "last_set" => 0} + + expect(channels[0].topic).must_equal expected_topic + expect(channels[0].member_count).must_equal ["UV5KWEASY", "UV5KNL1UL", "UV66MLLSH", "UV66H40LV"] + expect(channels[0].slack_id).must_equal "CV5KNMDKN" + expect(channels[0].name).must_equal "slack-cli" end - - expect(@channel.topic).must_be_kind_of Hash - expect(@channel.name).must_be_kind_of String - expect(@channel.member_count).must_be_kind_of Array - expect(@channel.slack_id).must_be_kind_of String end end describe "self.get" do it "can get a list of channels" do result = {} - VCR.use_cassette("list-chanel-endpoint") do + VCR.use_cassette("list-channel-endpoint") do result = Channel.get("https://slack.com/api/channels.list") end diff --git a/test/recipient_test.rb b/test/recipient_test.rb index fd02ad78..15240cab 100644 --- a/test/recipient_test.rb +++ b/test/recipient_test.rb @@ -1,35 +1,12 @@ require_relative "test_helper" describe "Recipient class" do - describe 'Recipient instantiation' do - before do - @recipient = Recipient.new(slack_id: "CV5KNMDKN", name: "slack-cli") - end - - it "is an instance of Recipient" do - expect(@recipient).must_be_kind_of Recipient - end - it "is set up for specific attributes and data types" do - [:slack_id, :name].each do |prop| - expect(@recipient).must_respond_to prop - end - - expect(@recipient.name).must_be_kind_of String - expect(@recipient.slack_id).must_be_kind_of String - - end - end - describe 'Recipient instantiation' do it 'self.list_all' do expect{Recipient.list_all}.must_raise NotImplementedError end end - - - - end diff --git a/test/test_helper.rb b/test/test_helper.rb index b993b38b..f6b84464 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -12,13 +12,11 @@ require 'dotenv' Dotenv.load - - require_relative "../lib/channel" require_relative "../lib/user" require_relative "../lib/recipient" require_relative "../lib/slack" - +require_relative "../lib/workspace" Minitest::Reporters.use! Minitest::Reporters::SpecReporter.new @@ -40,7 +38,7 @@ ENV["SLACK_TOKEN"] end - # config.filter_sensitive_data("") do - # ENV["BOT_TOKEN"] - # end + config.filter_sensitive_data("") do + ENV["BOT_TOKEN"] + end end diff --git a/test/user_test.rb b/test/user_test.rb index 4e5e0904..d228f294 100644 --- a/test/user_test.rb +++ b/test/user_test.rb @@ -4,28 +4,35 @@ describe "User class" do describe 'User instantiation' do - before do - @user = User.new(real_name: "Slackbot", status_text: "", status_emoji: "", slack_id: "CV5KNMDKN", name: "slack-cli") - end - - it "is an instance of User" do - expect(@user).must_be_kind_of User - end + it "creates a user object" do + + VCR.use_cassette("list-user-endpoint") do + url = "https://slack.com/api/users.list" + response = User.get(url) + + users = [] + response["members"].each do |member| + real_name = member["real_name"] + status_emoji = member["profile"]["status_emoji"] + status_text = member["profile"]["status_text"] + slack_id = member["id"] + name = member["name"] + users << User.new(real_name: real_name, status_text: status_text, status_emoji: status_emoji, slack_id: slack_id, name: name) + end + + expect(users[0]).must_be_instance_of User + + expect(users[0].real_name).must_equal "Slackbot" + expect(users[0].status_text).must_equal "" + expect(users[0].slack_id).must_equal "USLACKBOT" + expect(users[0].name).must_equal "slackbot" + expect(users[0].status_emoji).must_equal "" - it "is set up for specific attributes and data types" do - [:real_name, :status_text, :status_emoji, :slack_id, :name].each do |prop| - expect(@user).must_respond_to prop end - - expect(@user.real_name).must_be_kind_of String - expect(@user.name).must_be_kind_of String - expect(@user.status_text).must_be_kind_of String - expect(@user.slack_id).must_be_kind_of String - expect(@user.status_emoji).must_be_kind_of String end end - + describe "self.get" do it "can get a list of users" do result = {} diff --git a/test/workspace_test.rb b/test/workspace_test.rb index 3fa3c8ee..6538b7c1 100644 --- a/test/workspace_test.rb +++ b/test/workspace_test.rb @@ -1,23 +1,27 @@ require_relative "test_helper" describe "WorkSpace class" do - describe 'WorkSpace instantiation' do - before do - @workspace = WorkSpace.new - end - - it "is an instance of User" do - expect(@workspace).must_be_kind_of WorkSpace + it "WorkSpace instantiation" do + VCR.use_cassette("list-channel-endpoint") do + workspace = WorkSpace.new + workspace.must_be_instance_of WorkSpace + + expect(workspace.channels).must_be_instance_of Array + expect(workspace.users).must_be_instance_of Array + expect(workspace.selected).must_be_nil end + end - it "is set up for specific attributes and data types" do - [:users, :channels, :selected].each do |prop| - expect(@workspace).must_respond_to prop - end - - expect(@workspace.users).must_be_kind_of Array - expect(@workspace.channels).must_be_kind_of Array - expect(@workspace.selected).must_equal nil + it "select channel" do + VCR.use_cassette("list-channel-endpoint") do + workspace = WorkSpace.new + + # expect(workspace.select_channel).must_equal "slack-cli" + # expect(workspace.select_channel.member_count).must_equal ["UV5KWEASY", "UV5KNL1UL", "UV66MLLSH", "UV66H40LV"] + # expect(workspace.select_channel..slack_id).must_equal "CV5KNMDKN" + # expect(workspace.select_channel.name).must_equal "slack-cli" + end end end + From 0649064fb53d6201b255966bdfb4dca290141d4f Mon Sep 17 00:00:00 2001 From: Jetmire Bajrami Date: Sat, 14 Mar 2020 16:27:34 -0700 Subject: [PATCH 13/18] create method that gives use a details for user --- lib/user.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/user.rb b/lib/user.rb index d19abb25..4a2a9157 100644 --- a/lib/user.rb +++ b/lib/user.rb @@ -14,8 +14,9 @@ def initialize(real_name:, status_text:, status_emoji:, name:, slack_id:) @status_emoji = status_emoji end - # def details - # end + def details + tp self, "slack_id", "name", "real_name" + end def self.list_all response = User.get("https://slack.com/api/users.list") From 14a7f24093a1c5c96bdfddbb12f559a4e5710fa1 Mon Sep 17 00:00:00 2001 From: Jetmire Bajrami Date: Sat, 14 Mar 2020 16:33:02 -0700 Subject: [PATCH 14/18] add method details for channel class --- lib/channel.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/channel.rb b/lib/channel.rb index 50b8c563..ca8a6a4e 100644 --- a/lib/channel.rb +++ b/lib/channel.rb @@ -9,8 +9,9 @@ def initialize(topic: nil, member_count: nil, slack_id:, name:) @member_count = member_count || [] end - # def details - # end + def details + tp self, "slack_id", "name", "topic", "member_count" + end def self.list_all response = Channel.get("https://slack.com/api/channels.list") From ab98d76d9908f3594fe5d6684084ab37d19fc850 Mon Sep 17 00:00:00 2001 From: Jetmire Bajrami Date: Mon, 16 Mar 2020 08:04:53 -0700 Subject: [PATCH 15/18] finish --- lib/channel.rb | 15 +- lib/recipient.rb | 16 +- lib/slack.rb | 15 +- lib/workspace.rb | 24 +- test/cassettes/list-channel-endpoint.yml | 456 +++++++++++++ test/cassettes/list-user-endpoint.yml | 820 ++++++++++++++++++++++- test/channel_test.rb | 8 +- test/recipient_test.rb | 27 +- test/test_helper.rb | 4 +- test/user_test.rb | 5 +- test/workspace_test.rb | 83 ++- 11 files changed, 1397 insertions(+), 76 deletions(-) diff --git a/lib/channel.rb b/lib/channel.rb index ca8a6a4e..adfc3fcc 100644 --- a/lib/channel.rb +++ b/lib/channel.rb @@ -3,10 +3,10 @@ class Channel < Recipient attr_reader :topic, :member_count - def initialize(topic: nil, member_count: nil, slack_id:, name:) + def initialize(topic:, member_count:, slack_id:, name:) super(slack_id: slack_id, name: name) - @topic = topic || {} - @member_count = member_count || [] + @topic = topic + @member_count = member_count end def details @@ -19,14 +19,13 @@ def self.list_all response["channels"].each do |item| channels << Channel.new( - topic: item["topic"], - member_count: item["member_count"], - slack_id: item["id"], - name: item["name"] + name: item["name"], + slack_id: item["id"], + topic: item["topic"]["value"], + member_count: item["num_members"] ) end return channels end end - \ No newline at end of file diff --git a/lib/recipient.rb b/lib/recipient.rb index cbb5c43a..0aaa10e3 100644 --- a/lib/recipient.rb +++ b/lib/recipient.rb @@ -27,9 +27,19 @@ def details raise NotImplementedError, 'Implement me in a child class!' end - # def send_message(message) - # end - + + def send_message(msg) + url = "https://slack.com/api/chat.postMessage" + query = {token: ENV["BOT_TOKEN"], channel: self.slack_id, text: msg} + + response = HTTParty.post(url, query: query) + + if response.code != 200 || response["ok"] == false + raise SlackAPIError, "We encountered a problem: #{response["error"]}" + else + return true + end + end end class SlackAPIError < Exception diff --git a/lib/slack.rb b/lib/slack.rb index 0a1cbcc5..af4e04a8 100755 --- a/lib/slack.rb +++ b/lib/slack.rb @@ -1,3 +1,5 @@ +#I got a lot of piece of code from Devin. Before i copy to my project I analize and i build test for. + #!/usr/bin/env ruby require 'httparty' require 'dotenv' @@ -9,7 +11,7 @@ def main workspace = WorkSpace.new puts "\n" - puts "Welcome to the Ada Slack CLI! This Slack workspace currently has #{workspace.users.count} users and #{workspace.channels.count} channels." + puts "Welcome to the Ada Accountability Group 6 Slack CLI! This Slack workspace currently has #{workspace.users.count} users and #{workspace.channels.count} channels." user_input = prompt_for_input @@ -26,12 +28,14 @@ def main when "select user" print "Please enter the user name or ID: " - puts workspace.select_user + search_term = gets.chomp.downcase + puts workspace.select_user(search_term) puts "\n" when "select channel" print "Please enter the channel name or ID: " - puts workspace.select_channel + search_term = gets.chomp.downcase + puts workspace.select_channel(search_term) puts "\n" when "details" @@ -49,7 +53,8 @@ def main puts "\n" else print "Please enter your message: " - workspace.send_message + msg = gets.chomp + workspace.send_message(msg) puts "\n" end else @@ -59,7 +64,7 @@ def main user_input = prompt_for_input end - puts "Thank you for using the ADA Slack CLI!" + puts "Thank you for using the Ada Accountability Group 6 Slack CLI!" puts "\n" end diff --git a/lib/workspace.rb b/lib/workspace.rb index 2e922ea4..b9d129ae 100644 --- a/lib/workspace.rb +++ b/lib/workspace.rb @@ -10,11 +10,10 @@ def initialize @selected = nil end - def select_channel - search_term = gets.chomp - + def select_channel(search_term) + channels.each do |channel| - if channel.name == search_term || channel.slack_id == search_term + if channel.name == search_term || channel.slack_id.downcase == search_term @selected = channel return "Okay, #{selected.name} has been selected" end @@ -24,10 +23,10 @@ def select_channel return "Sorry, I couldn't find that channel." end - def select_user - search_term = gets.chomp + def select_user(search_term) + users.each do |user| - if user.name == search_term || user.slack_id == search_term + if user.name == search_term || user.slack_id.downcase == search_term @selected = user return "Okay, #{selected.name} has been selected" end @@ -37,11 +36,12 @@ def select_user end - # def show_details - # end - - # def send_message - # end + def show_details + @selected.details + end + def send_message(msg) + @selected.send_message(msg) + end end \ No newline at end of file diff --git a/test/cassettes/list-channel-endpoint.yml b/test/cassettes/list-channel-endpoint.yml index 37b6c4d8..aba810a9 100644 --- a/test/cassettes/list-channel-endpoint.yml +++ b/test/cassettes/list-channel-endpoint.yml @@ -292,4 +292,460 @@ http_interactions: string: '{"ok":false,"error":"unknown_method","req_method":"channel.list"}' http_version: null recorded_at: Sat, 14 Mar 2020 21:08:22 GMT +- request: + method: get + uri: https://slack.com/api/channels.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '583' + Connection: + - keep-alive + Date: + - Sun, 15 Mar 2020 21:26:00 GMT + Server: + - Apache + X-Slack-Req-Id: + - 31ae8cfbd61062471c81b206e428947c + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - channels:read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-lc3r + X-Cache: + - Miss from cloudfront + Via: + - 1.1 b838ef1ff22a4a994af82d5178c30e1d.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - 12f59mn6ye92EkzH-_CnKjuGOpSnP8T_TPnnJXo1L9YBEpKr_lUWmA== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CV5KNMDKN","name":"slack-cli","is_channel":true,"created":1583868526,"is_archived":false,"is_general":false,"unlinked":0,"creator":"UV5KNL1UL","name_normalized":"slack-cli","is_shared":false,"is_org_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"members":["UV5KWEASY","UV5KNL1UL","UV66MLLSH","UV66H40LV"],"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":4},{"id":"CV63MEVG8","name":"general","is_channel":true,"created":1583868525,"is_archived":false,"is_general":true,"unlinked":0,"creator":"UV5KNL1UL","name_normalized":"general","is_shared":false,"is_org_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"members":["UV5KWEASY","UV5KNL1UL","UV66MLLSH","UV66H40LV","UUV2F0L67"],"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UV5KNL1UL","last_set":1583868525},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UV5KNL1UL","last_set":1583868525},"previous_names":[],"num_members":5},{"id":"CV63MEZTJ","name":"random","is_channel":true,"created":1583868525,"is_archived":false,"is_general":false,"unlinked":0,"creator":"UV5KNL1UL","name_normalized":"random","is_shared":false,"is_org_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"members":["UV5KWEASY","UV5KNL1UL","UV66MLLSH","UV66H40LV"],"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UV5KNL1UL","last_set":1583868525},"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":"UV5KNL1UL","last_set":1583868525},"previous_names":[],"num_members":4}],"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Sun, 15 Mar 2020 21:26:00 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: + - '1991' + Connection: + - keep-alive + Date: + - Sun, 15 Mar 2020 21:26:00 GMT + Server: + - Apache + X-Slack-Req-Id: + - 301df90d3207edd4ebb4dad188fef9d0 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - users:read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-nmqw + X-Cache: + - Miss from cloudfront + Via: + - 1.1 fec77e486350d1bd33f526a760d8b5a4.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - Am7wLUOWnCy8F_Z0-bufMlQWyi8I2qp8b9N8d6thRO7AV-4XXvx70A== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TV5KNL1LL","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":"TV5KNL1LL"},"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":"UUTE7TU58","team_id":"TV5KNL1LL","name":"time_ross_api_project","deleted":false,"color":"e0a729","real_name":"time_ross_api_project","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_ross_api_project","real_name_normalized":"time_ross_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gde749a9a5c8","api_app_id":"AV5PEF4JG","always_active":false,"bot_id":"BUTE7TQ0J","image_24":"https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583872726},{"id":"UUV2F0L67","team_id":"TV5KNL1LL","name":"space_jessica_api_pro","deleted":false,"color":"5b89d5","real_name":"space_jessica_api_pro","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_jessica_api_pro","real_name_normalized":"space_jessica_api_pro","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ga3ae7173902","api_app_id":"AV8C3U6A3","always_active":false,"bot_id":"BUWDPRGQH","image_24":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583883147},{"id":"UUVR12XJ6","team_id":"TV5KNL1LL","name":"jeta","deleted":false,"color":"2b6836","real_name":"jeta","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"jeta","real_name_normalized":"jeta","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g25d2f18ae89","api_app_id":"AVAEDFTTR","always_active":false,"bot_id":"BV85DAQP6","image_24":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583959127},{"id":"UV5KNL1UL","team_id":"TV5KNL1LL","name":"jstone4815","deleted":false,"color":"9f69e7","real_name":"Jessica + Stone","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Jessica + Stone","real_name_normalized":"Jessica Stone","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g3f062ade197","first_name":"Jessica","last_name":"Stone","image_24":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583952236},{"id":"UV5KWEASY","team_id":"TV5KNL1LL","name":"syrosalynyu","deleted":false,"color":"4bbe2e","real_name":"Ross","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Ross","real_name_normalized":"Ross","display_name":"Ross","display_name_normalized":"Ross","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g1d2dde50ccd","image_24":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583868729},{"id":"UV66H40LV","team_id":"TV5KNL1LL","name":"jeta.bajrami","deleted":false,"color":"e7392d","real_name":"Jeta","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Jeta","real_name_normalized":"Jeta","display_name":"Jeta","display_name_normalized":"Jeta","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g8bc5d18fcd8","image_24":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583870734,"has_2fa":false},{"id":"UV66MLLSH","team_id":"TV5KNL1LL","name":"quinruby0","deleted":false,"color":"3c989f","real_name":"quin","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"quin","real_name_normalized":"quin","display_name":"quin","display_name_normalized":"quin","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ge32b4d91cd0","image_24":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583870863},{"id":"UV678M5JL","team_id":"TV5KNL1LL","name":"space_jessica_stone_a","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"space_jessica_stone_a","real_name_normalized":"space_jessica_stone_a","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gb05f6b63392","api_app_id":"AV66BRT7A","always_active":false,"bot_id":"BV67TC6GM","image_24":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"is_bot":true,"is_app_user":false,"updated":1583880597},{"id":"UV69D9Z1B","team_id":"TV5KNL1LL","name":"space_jeta_api_projec","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"space_jeta_api_projec","real_name_normalized":"space_jeta_api_projec","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ga3f6f6c4f3a","api_app_id":"AUTECGKJN","always_active":false,"bot_id":"BV84UJ3RD","image_24":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"is_bot":true,"is_app_user":false,"updated":1583957762},{"id":"UV8DATUPQ","team_id":"TV5KNL1LL","name":"time_quin_api_project","deleted":false,"color":"674b1b","real_name":"time_quin_api_project","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_quin_api_project","real_name_normalized":"time_quin_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g180c140de8a","api_app_id":"AV8D2QGFQ","always_active":false,"bot_id":"BUUNT1ZMZ","image_24":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583871903}],"cache_ts":1584307560,"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Sun, 15 Mar 2020 21:26:00 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: + - Sun, 15 Mar 2020 21:26:00 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: + - 50c733546f4287cebfd8df3fee781a63 + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-tsos + X-Cache: + - Miss from cloudfront + Via: + - 1.1 8ae6af4d17aae7471e5fe2792eb6abcd.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - nHOm-bgz_iXzVPLJSUnV9_pSDdf36VVYCmOJdi3CitzpL8DlboRqyA== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"unknown_method","req_method":"bogus.call"}' + http_version: null + recorded_at: Sun, 15 Mar 2020 21:26:00 GMT +- request: + method: get + uri: https://slack.com/api/channels.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '592' + Connection: + - keep-alive + Date: + - Sun, 15 Mar 2020 23:51:58 GMT + Server: + - Apache + X-Slack-Req-Id: + - e93b911d0dfe3b52bfa9c1d5daf787f8 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - channels:read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-fmpy + X-Cache: + - Miss from cloudfront + Via: + - 1.1 49cdeca097624936e070b73619df7da9.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - F5SAX1RQHAUOX-4HgrrmEWnY38nQwMYP8PtQSaai-PuJa5vxoC9S4w== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CV5KNMDKN","name":"slack-cli","is_channel":true,"created":1583868526,"is_archived":false,"is_general":false,"unlinked":0,"creator":"UV5KNL1UL","name_normalized":"slack-cli","is_shared":false,"is_org_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"members":["UV5KWEASY","UV66H40LV","UUVR12XJ6","UV5KNL1UL","UV66MLLSH"],"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":5},{"id":"CV63MEVG8","name":"general","is_channel":true,"created":1583868525,"is_archived":false,"is_general":true,"unlinked":0,"creator":"UV5KNL1UL","name_normalized":"general","is_shared":false,"is_org_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"members":["UV5KWEASY","UV66H40LV","UUVR12XJ6","UUV2F0L67","UV5KNL1UL","UV66MLLSH"],"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UV5KNL1UL","last_set":1583868525},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UV5KNL1UL","last_set":1583868525},"previous_names":[],"num_members":6},{"id":"CV63MEZTJ","name":"random","is_channel":true,"created":1583868525,"is_archived":false,"is_general":false,"unlinked":0,"creator":"UV5KNL1UL","name_normalized":"random","is_shared":false,"is_org_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"members":["UV5KWEASY","UV66H40LV","UUVR12XJ6","UV5KNL1UL","UV66MLLSH"],"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UV5KNL1UL","last_set":1583868525},"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":"UV5KNL1UL","last_set":1583868525},"previous_names":[],"num_members":5}],"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Sun, 15 Mar 2020 23:51: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: + - Sun, 15 Mar 2020 23:51:59 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: + - 946cceca91acd5394825fbd11afdf5b1 + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-zuf3 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 d042f60a962591f741406f28a8170c5a.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - "-L6mPgxdVuIK7rDVzDUuk2Cwq3wRu2hUxyKF6HKA6ZEcOJ156sObrQ==" + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"unknown_method","req_method":"bogus.call"}' + http_version: null + recorded_at: Sun, 15 Mar 2020 23:51:59 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: + - '1990' + Connection: + - keep-alive + Date: + - Sun, 15 Mar 2020 23:51:59 GMT + Server: + - Apache + X-Slack-Req-Id: + - 5658d9b9ddaf7960cafd2c57fe82ee79 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - users:read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-heis + X-Cache: + - Miss from cloudfront + Via: + - 1.1 34f8ef0e4c880df0650a814412a26ea6.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - 14K1noS9RZoze3dRZBnv53Hk2rPg3FgoWwVZSW_N1Gu1VGcawDMCvQ== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TV5KNL1LL","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":"TV5KNL1LL"},"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":"UUTE7TU58","team_id":"TV5KNL1LL","name":"time_ross_api_project","deleted":false,"color":"e0a729","real_name":"time_ross_api_project","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_ross_api_project","real_name_normalized":"time_ross_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gde749a9a5c8","api_app_id":"AV5PEF4JG","always_active":false,"bot_id":"BUTE7TQ0J","image_24":"https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583872726},{"id":"UUV2F0L67","team_id":"TV5KNL1LL","name":"space_jessica_api_pro","deleted":false,"color":"5b89d5","real_name":"space_jessica_api_pro","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_jessica_api_pro","real_name_normalized":"space_jessica_api_pro","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ga3ae7173902","api_app_id":"AV8C3U6A3","always_active":false,"bot_id":"BUWDPRGQH","image_24":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583883147},{"id":"UUVR12XJ6","team_id":"TV5KNL1LL","name":"jeta","deleted":false,"color":"2b6836","real_name":"jeta","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"jeta","real_name_normalized":"jeta","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g25d2f18ae89","api_app_id":"AVAEDFTTR","always_active":false,"bot_id":"BV85DAQP6","image_24":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583959127},{"id":"UV5KNL1UL","team_id":"TV5KNL1LL","name":"jstone4815","deleted":false,"color":"9f69e7","real_name":"Jessica + Stone","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Jessica + Stone","real_name_normalized":"Jessica Stone","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g3f062ade197","first_name":"Jessica","last_name":"Stone","image_24":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583952236},{"id":"UV5KWEASY","team_id":"TV5KNL1LL","name":"syrosalynyu","deleted":false,"color":"4bbe2e","real_name":"Ross","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Ross","real_name_normalized":"Ross","display_name":"Ross","display_name_normalized":"Ross","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g1d2dde50ccd","image_24":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583868729},{"id":"UV66H40LV","team_id":"TV5KNL1LL","name":"jeta.bajrami","deleted":false,"color":"e7392d","real_name":"Jeta","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Jeta","real_name_normalized":"Jeta","display_name":"Jeta","display_name_normalized":"Jeta","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g8bc5d18fcd8","image_24":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583870734,"has_2fa":false},{"id":"UV66MLLSH","team_id":"TV5KNL1LL","name":"quinruby0","deleted":false,"color":"3c989f","real_name":"quin","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"quin","real_name_normalized":"quin","display_name":"quin","display_name_normalized":"quin","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ge32b4d91cd0","image_24":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583870863},{"id":"UV678M5JL","team_id":"TV5KNL1LL","name":"space_jessica_stone_a","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"space_jessica_stone_a","real_name_normalized":"space_jessica_stone_a","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gb05f6b63392","api_app_id":"AV66BRT7A","always_active":false,"bot_id":"BV67TC6GM","image_24":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"is_bot":true,"is_app_user":false,"updated":1583880597},{"id":"UV69D9Z1B","team_id":"TV5KNL1LL","name":"space_jeta_api_projec","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"space_jeta_api_projec","real_name_normalized":"space_jeta_api_projec","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ga3f6f6c4f3a","api_app_id":"AUTECGKJN","always_active":false,"bot_id":"BV84UJ3RD","image_24":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"is_bot":true,"is_app_user":false,"updated":1583957762},{"id":"UV8DATUPQ","team_id":"TV5KNL1LL","name":"time_quin_api_project","deleted":false,"color":"674b1b","real_name":"time_quin_api_project","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_quin_api_project","real_name_normalized":"time_quin_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g180c140de8a","api_app_id":"AV8D2QGFQ","always_active":false,"bot_id":"BUUNT1ZMZ","image_24":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583871903}],"cache_ts":1584316319,"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Sun, 15 Mar 2020 23:51:59 GMT recorded_with: VCR 5.1.0 diff --git a/test/cassettes/list-user-endpoint.yml b/test/cassettes/list-user-endpoint.yml index 153f4009..3fd36e95 100644 --- a/test/cassettes/list-user-endpoint.yml +++ b/test/cassettes/list-user-endpoint.yml @@ -21,15 +21,15 @@ http_interactions: Content-Type: - application/json; charset=utf-8 Content-Length: - - '1990' + - '1991' Connection: - keep-alive Date: - - Sat, 14 Mar 2020 18:28:18 GMT + - Sun, 15 Mar 2020 20:29:55 GMT Server: - Apache X-Slack-Req-Id: - - 26874ba59dfa56dc85efd90ba0116e40 + - 85ad7efb0a28cc17f65a739882990b9b X-Oauth-Scopes: - identify,channels:read,users:read,chat:write X-Accepted-Oauth-Scopes: @@ -60,15 +60,15 @@ http_interactions: Access-Control-Allow-Origin: - "*" X-Via: - - haproxy-www-ffos + - haproxy-www-ed8e X-Cache: - Miss from cloudfront Via: - - 1.1 4082b107fc353ae0e2760c8b110016ae.cloudfront.net (CloudFront) + - 1.1 2e20768704c71ff3ce2e677251d27f3c.cloudfront.net (CloudFront) X-Amz-Cf-Pop: - - ORD51-C3 + - SEA19-C1 X-Amz-Cf-Id: - - Ug27w-H-wTes2fdx5z_afh9-7827eD4vYx-0UUj2ggOEKhYGgYsEjA== + - oyrt8Bc-QjZpImEDin_cFZxuQQXsImb7tKoRlr6EcsUV8Q2G2-nBCQ== body: encoding: ASCII-8BIT string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TV5KNL1LL","name":"slackbot","deleted":false,"color":"757575","real_name":"Slackbot","tz":null,"tz_label":"Pacific @@ -81,9 +81,89 @@ http_interactions: Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Ross","real_name_normalized":"Ross","display_name":"Ross","display_name_normalized":"Ross","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g1d2dde50ccd","image_24":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583868729},{"id":"UV66H40LV","team_id":"TV5KNL1LL","name":"jeta.bajrami","deleted":false,"color":"e7392d","real_name":"Jeta","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Jeta","real_name_normalized":"Jeta","display_name":"Jeta","display_name_normalized":"Jeta","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g8bc5d18fcd8","image_24":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583870734,"has_2fa":false},{"id":"UV66MLLSH","team_id":"TV5KNL1LL","name":"quinruby0","deleted":false,"color":"3c989f","real_name":"quin","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"quin","real_name_normalized":"quin","display_name":"quin","display_name_normalized":"quin","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ge32b4d91cd0","image_24":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583870863},{"id":"UV678M5JL","team_id":"TV5KNL1LL","name":"space_jessica_stone_a","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"space_jessica_stone_a","real_name_normalized":"space_jessica_stone_a","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gb05f6b63392","api_app_id":"AV66BRT7A","always_active":false,"bot_id":"BV67TC6GM","image_24":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"is_bot":true,"is_app_user":false,"updated":1583880597},{"id":"UV69D9Z1B","team_id":"TV5KNL1LL","name":"space_jeta_api_projec","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"space_jeta_api_projec","real_name_normalized":"space_jeta_api_projec","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ga3f6f6c4f3a","api_app_id":"AUTECGKJN","always_active":false,"bot_id":"BV84UJ3RD","image_24":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"is_bot":true,"is_app_user":false,"updated":1583957762},{"id":"UV8DATUPQ","team_id":"TV5KNL1LL","name":"time_quin_api_project","deleted":false,"color":"674b1b","real_name":"time_quin_api_project","tz":"America\/Los_Angeles","tz_label":"Pacific - Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_quin_api_project","real_name_normalized":"time_quin_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g180c140de8a","api_app_id":"AV8D2QGFQ","always_active":false,"bot_id":"BUUNT1ZMZ","image_24":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583871903}],"cache_ts":1584210498,"response_metadata":{"next_cursor":""}}' + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_quin_api_project","real_name_normalized":"time_quin_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g180c140de8a","api_app_id":"AV8D2QGFQ","always_active":false,"bot_id":"BUUNT1ZMZ","image_24":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583871903}],"cache_ts":1584304195,"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Sun, 15 Mar 2020 20:29:55 GMT +- request: + method: get + uri: https://slack.com/api/channels.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '583' + Connection: + - keep-alive + Date: + - Sun, 15 Mar 2020 20:29:55 GMT + Server: + - Apache + X-Slack-Req-Id: + - acf54b4ae9bbca082387aa26e68fc2a4 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - channels:read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-97nl + X-Cache: + - Miss from cloudfront + Via: + - 1.1 44cd593d82a2d200a94217033c614c6a.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - qrKeqZpoKBETcjlQOI0n0NY0hKFXEYiRQs7uogSUZ3nX776ZUpcwEg== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CV5KNMDKN","name":"slack-cli","is_channel":true,"created":1583868526,"is_archived":false,"is_general":false,"unlinked":0,"creator":"UV5KNL1UL","name_normalized":"slack-cli","is_shared":false,"is_org_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"members":["UV5KWEASY","UV5KNL1UL","UV66MLLSH","UV66H40LV"],"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":4},{"id":"CV63MEVG8","name":"general","is_channel":true,"created":1583868525,"is_archived":false,"is_general":true,"unlinked":0,"creator":"UV5KNL1UL","name_normalized":"general","is_shared":false,"is_org_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"members":["UV5KWEASY","UV5KNL1UL","UV66MLLSH","UV66H40LV","UUV2F0L67"],"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UV5KNL1UL","last_set":1583868525},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UV5KNL1UL","last_set":1583868525},"previous_names":[],"num_members":5},{"id":"CV63MEZTJ","name":"random","is_channel":true,"created":1583868525,"is_archived":false,"is_general":false,"unlinked":0,"creator":"UV5KNL1UL","name_normalized":"random","is_shared":false,"is_org_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"members":["UV5KWEASY","UV5KNL1UL","UV66MLLSH","UV66H40LV"],"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UV5KNL1UL","last_set":1583868525},"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":"UV5KNL1UL","last_set":1583868525},"previous_names":[],"num_members":4}],"response_metadata":{"next_cursor":""}}' http_version: null - recorded_at: Sat, 14 Mar 2020 18:28:18 GMT + recorded_at: Sun, 15 Mar 2020 20:29:55 GMT - request: method: get uri: https://slack.com/api/bogus.call?token= @@ -109,7 +189,7 @@ http_interactions: Connection: - keep-alive Date: - - Sat, 14 Mar 2020 18:28:18 GMT + - Sun, 15 Mar 2020 20:30:24 GMT Server: - Apache Strict-Transport-Security: @@ -128,29 +208,193 @@ http_interactions: X-Content-Type-Options: - nosniff X-Slack-Req-Id: - - b43e37486c5f84e9078fa5b945c265dd + - e6ca8907e0916ae9354753caff075ad0 X-Xss-Protection: - '0' Access-Control-Allow-Origin: - "*" X-Via: - - haproxy-www-270m + - haproxy-www-z0ym X-Cache: - Miss from cloudfront Via: - - 1.1 f36251c149c64539ed81c5e220e5e2b6.cloudfront.net (CloudFront) + - 1.1 10b37ec1ede3e33f11dd42b87558cd1f.cloudfront.net (CloudFront) X-Amz-Cf-Pop: - - ORD51-C3 + - SEA19-C1 X-Amz-Cf-Id: - - G0VzHXJisieZfXmXlHU3fpxu6Zg6nxxIzVSo-AVzU82nk9O6w_qh0Q== + - O-h0TYz4X-jFictrHWPukoCB1QX94XwDHFZQWIrRt_LyYBJrpnQ6ZQ== body: encoding: ASCII-8BIT string: '{"ok":false,"error":"unknown_method","req_method":"bogus.call"}' http_version: null - recorded_at: Sat, 14 Mar 2020 18:28:18 GMT + recorded_at: Sun, 15 Mar 2020 20:30:24 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: + - '1991' + Connection: + - keep-alive + Date: + - Sun, 15 Mar 2020 21:26:00 GMT + Server: + - Apache + X-Slack-Req-Id: + - bb5cb27f30c30b5040d1fb7b93bcab2d + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - users:read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-qqeu + X-Cache: + - Miss from cloudfront + Via: + - 1.1 ef6538ee7be7b17c84d06edb0f4c0a1a.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - YKtyim-8hmvBngE4pwA5UrEWLF9JLB7m4Wi3XI1Ix0N8hHcsatcStA== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TV5KNL1LL","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":"TV5KNL1LL"},"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":"UUTE7TU58","team_id":"TV5KNL1LL","name":"time_ross_api_project","deleted":false,"color":"e0a729","real_name":"time_ross_api_project","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_ross_api_project","real_name_normalized":"time_ross_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gde749a9a5c8","api_app_id":"AV5PEF4JG","always_active":false,"bot_id":"BUTE7TQ0J","image_24":"https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583872726},{"id":"UUV2F0L67","team_id":"TV5KNL1LL","name":"space_jessica_api_pro","deleted":false,"color":"5b89d5","real_name":"space_jessica_api_pro","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_jessica_api_pro","real_name_normalized":"space_jessica_api_pro","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ga3ae7173902","api_app_id":"AV8C3U6A3","always_active":false,"bot_id":"BUWDPRGQH","image_24":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583883147},{"id":"UUVR12XJ6","team_id":"TV5KNL1LL","name":"jeta","deleted":false,"color":"2b6836","real_name":"jeta","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"jeta","real_name_normalized":"jeta","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g25d2f18ae89","api_app_id":"AVAEDFTTR","always_active":false,"bot_id":"BV85DAQP6","image_24":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583959127},{"id":"UV5KNL1UL","team_id":"TV5KNL1LL","name":"jstone4815","deleted":false,"color":"9f69e7","real_name":"Jessica + Stone","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Jessica + Stone","real_name_normalized":"Jessica Stone","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g3f062ade197","first_name":"Jessica","last_name":"Stone","image_24":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583952236},{"id":"UV5KWEASY","team_id":"TV5KNL1LL","name":"syrosalynyu","deleted":false,"color":"4bbe2e","real_name":"Ross","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Ross","real_name_normalized":"Ross","display_name":"Ross","display_name_normalized":"Ross","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g1d2dde50ccd","image_24":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583868729},{"id":"UV66H40LV","team_id":"TV5KNL1LL","name":"jeta.bajrami","deleted":false,"color":"e7392d","real_name":"Jeta","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Jeta","real_name_normalized":"Jeta","display_name":"Jeta","display_name_normalized":"Jeta","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g8bc5d18fcd8","image_24":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583870734,"has_2fa":false},{"id":"UV66MLLSH","team_id":"TV5KNL1LL","name":"quinruby0","deleted":false,"color":"3c989f","real_name":"quin","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"quin","real_name_normalized":"quin","display_name":"quin","display_name_normalized":"quin","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ge32b4d91cd0","image_24":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583870863},{"id":"UV678M5JL","team_id":"TV5KNL1LL","name":"space_jessica_stone_a","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"space_jessica_stone_a","real_name_normalized":"space_jessica_stone_a","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gb05f6b63392","api_app_id":"AV66BRT7A","always_active":false,"bot_id":"BV67TC6GM","image_24":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"is_bot":true,"is_app_user":false,"updated":1583880597},{"id":"UV69D9Z1B","team_id":"TV5KNL1LL","name":"space_jeta_api_projec","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"space_jeta_api_projec","real_name_normalized":"space_jeta_api_projec","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ga3f6f6c4f3a","api_app_id":"AUTECGKJN","always_active":false,"bot_id":"BV84UJ3RD","image_24":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"is_bot":true,"is_app_user":false,"updated":1583957762},{"id":"UV8DATUPQ","team_id":"TV5KNL1LL","name":"time_quin_api_project","deleted":false,"color":"674b1b","real_name":"time_quin_api_project","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_quin_api_project","real_name_normalized":"time_quin_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g180c140de8a","api_app_id":"AV8D2QGFQ","always_active":false,"bot_id":"BUUNT1ZMZ","image_24":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583871903}],"cache_ts":1584307560,"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Sun, 15 Mar 2020 21:26:00 GMT +- request: + method: get + uri: https://slack.com/api/channels.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '581' + Connection: + - keep-alive + Date: + - Sun, 15 Mar 2020 21:26:00 GMT + Server: + - Apache + X-Slack-Req-Id: + - 9d44bb6da94f09eb7f5af2b25e961f50 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - channels:read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-1tez + X-Cache: + - Miss from cloudfront + Via: + - 1.1 d042f60a962591f741406f28a8170c5a.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - YkdGmifZWJGHqZ1ITHf0hF0DULHpsLVF8jdpCW_tzIstQ2vXNrvvJQ== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CV5KNMDKN","name":"slack-cli","is_channel":true,"created":1583868526,"is_archived":false,"is_general":false,"unlinked":0,"creator":"UV5KNL1UL","name_normalized":"slack-cli","is_shared":false,"is_org_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"members":["UV5KWEASY","UV66H40LV","UV5KNL1UL","UV66MLLSH"],"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":4},{"id":"CV63MEVG8","name":"general","is_channel":true,"created":1583868525,"is_archived":false,"is_general":true,"unlinked":0,"creator":"UV5KNL1UL","name_normalized":"general","is_shared":false,"is_org_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"members":["UV5KWEASY","UV66H40LV","UUV2F0L67","UV5KNL1UL","UV66MLLSH"],"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UV5KNL1UL","last_set":1583868525},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UV5KNL1UL","last_set":1583868525},"previous_names":[],"num_members":5},{"id":"CV63MEZTJ","name":"random","is_channel":true,"created":1583868525,"is_archived":false,"is_general":false,"unlinked":0,"creator":"UV5KNL1UL","name_normalized":"random","is_shared":false,"is_org_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"members":["UV5KWEASY","UV66H40LV","UV5KNL1UL","UV66MLLSH"],"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UV5KNL1UL","last_set":1583868525},"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":"UV5KNL1UL","last_set":1583868525},"previous_names":[],"num_members":4}],"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Sun, 15 Mar 2020 21:26:00 GMT - request: method: get - uri: https://slack.com/api/channel.list?token= + uri: https://slack.com/api/bogus.call?token= body: encoding: US-ASCII string: '' @@ -169,11 +413,11 @@ http_interactions: Content-Type: - application/json; charset=utf-8 Content-Length: - - '78' + - '76' Connection: - keep-alive Date: - - Sat, 14 Mar 2020 20:39:08 GMT + - Sun, 15 Mar 2020 21:26:00 GMT Server: - Apache Strict-Transport-Security: @@ -192,24 +436,548 @@ http_interactions: X-Content-Type-Options: - nosniff X-Slack-Req-Id: - - 8925892f31a83edc2d79113544d3b5d7 + - 9a807813c1b6138201463fe7c8676f82 + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-6vtt + X-Cache: + - Miss from cloudfront + Via: + - 1.1 aabd01c4a20dae837d162bd972422efc.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - OrtI9v1CGJ1f2NZyFlmvOGqXI-o2l7z1Mlojle7IPmoG-_LOuYnb7A== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"unknown_method","req_method":"bogus.call"}' + http_version: null + recorded_at: Sun, 15 Mar 2020 21:26:00 GMT +- request: + method: post + uri: https://slack.com/api/chat.postMessage?channel=CV63MEZTJ&text=Hi&token= + body: + encoding: UTF-8 + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '310' + Connection: + - keep-alive + Date: + - Sun, 15 Mar 2020 23:35:36 GMT + Server: + - Apache + X-Slack-Req-Id: + - 0b21720d0531d4b44bf71f1c675cd3d0 + X-Oauth-Scopes: + - chat:write,channels:read,users:read + X-Accepted-Oauth-Scopes: + - chat:write + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate X-Xss-Protection: - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-je5i + X-Cache: + - Miss from cloudfront + Via: + - 1.1 591683988172c7980c4ebb318cbf18a9.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C2 + X-Amz-Cf-Id: + - F7Ku9dpqT8oJWcbIw0CBA9uQaofnb9Sk80u9v3qC8JASPt732d_nOA== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channel":"CV63MEZTJ","ts":"1584315336.001400","message":{"bot_id":"BV85DAQP6","type":"message","text":"Hi","user":"UUVR12XJ6","ts":"1584315336.001400","team":"TV5KNL1LL","bot_profile":{"id":"BV85DAQP6","deleted":false,"name":"Jeta","updated":1583959127,"app_id":"AVAEDFTTR","icons":{"image_36":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/bot_36.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/bot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/service_72.png"},"team_id":"TV5KNL1LL"}}}' + http_version: null + recorded_at: Sun, 15 Mar 2020 23:35:36 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: + - '1990' + Connection: + - keep-alive + Date: + - Sun, 15 Mar 2020 23:51:59 GMT + Server: + - Apache + X-Slack-Req-Id: + - 32f5793bd126139452ec4574d0b11a26 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - users:read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-hnzf + X-Cache: + - Miss from cloudfront + Via: + - 1.1 e5147bed59b539c23be4f2e01cf6f6f5.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - 9JRZrEizSMXixDjc9Gw14GruD4ayGg43vD3l48utQ-XpQRPwz96KXg== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"members":[{"id":"USLACKBOT","team_id":"TV5KNL1LL","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":"TV5KNL1LL"},"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":"UUTE7TU58","team_id":"TV5KNL1LL","name":"time_ross_api_project","deleted":false,"color":"e0a729","real_name":"time_ross_api_project","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_ross_api_project","real_name_normalized":"time_ross_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gde749a9a5c8","api_app_id":"AV5PEF4JG","always_active":false,"bot_id":"BUTE7TQ0J","image_24":"https:\/\/secure.gravatar.com\/avatar\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.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\/de749a9a5c84213ad8a082caa0875cfb.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0017-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583872726},{"id":"UUV2F0L67","team_id":"TV5KNL1LL","name":"space_jessica_api_pro","deleted":false,"color":"5b89d5","real_name":"space_jessica_api_pro","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"space_jessica_api_pro","real_name_normalized":"space_jessica_api_pro","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ga3ae7173902","api_app_id":"AV8C3U6A3","always_active":false,"bot_id":"BUWDPRGQH","image_24":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/a3ae7173902cbecb0e99d2cc6b83c6d7.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583883147},{"id":"UUVR12XJ6","team_id":"TV5KNL1LL","name":"jeta","deleted":false,"color":"2b6836","real_name":"jeta","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"jeta","real_name_normalized":"jeta","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g25d2f18ae89","api_app_id":"AVAEDFTTR","always_active":false,"bot_id":"BV85DAQP6","image_24":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/25d2f18ae898a47e586bb40ad34bc5e0.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0015-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583959127},{"id":"UV5KNL1UL","team_id":"TV5KNL1LL","name":"jstone4815","deleted":false,"color":"9f69e7","real_name":"Jessica + Stone","tz":"America\/Los_Angeles","tz_label":"Pacific Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Jessica + Stone","real_name_normalized":"Jessica Stone","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g3f062ade197","first_name":"Jessica","last_name":"Stone","image_24":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/3f062ade197077d689d640dc2c62d378.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583952236},{"id":"UV5KWEASY","team_id":"TV5KNL1LL","name":"syrosalynyu","deleted":false,"color":"4bbe2e","real_name":"Ross","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Ross","real_name_normalized":"Ross","display_name":"Ross","display_name_normalized":"Ross","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g1d2dde50ccd","image_24":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/1d2dde50ccd771d67a5feded64da7618.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0025-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583868729},{"id":"UV66H40LV","team_id":"TV5KNL1LL","name":"jeta.bajrami","deleted":false,"color":"e7392d","real_name":"Jeta","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"Jeta","real_name_normalized":"Jeta","display_name":"Jeta","display_name_normalized":"Jeta","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g8bc5d18fcd8","image_24":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/8bc5d18fcd88e3a68d59a6b6d236cfa0.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583870734,"has_2fa":false},{"id":"UV66MLLSH","team_id":"TV5KNL1LL","name":"quinruby0","deleted":false,"color":"3c989f","real_name":"quin","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"quin","real_name_normalized":"quin","display_name":"quin","display_name_normalized":"quin","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ge32b4d91cd0","image_24":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/e32b4d91cd01f34e37eb053a21f7bbd5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0008-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583870863},{"id":"UV678M5JL","team_id":"TV5KNL1LL","name":"space_jessica_stone_a","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"space_jessica_stone_a","real_name_normalized":"space_jessica_stone_a","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"gb05f6b63392","api_app_id":"AV66BRT7A","always_active":false,"bot_id":"BV67TC6GM","image_24":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/b05f6b6339234b6bd8ecb2268277e56c.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0001-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"is_bot":true,"is_app_user":false,"updated":1583880597},{"id":"UV69D9Z1B","team_id":"TV5KNL1LL","name":"space_jeta_api_projec","deleted":true,"profile":{"title":"","phone":"","skype":"","real_name":"space_jeta_api_projec","real_name_normalized":"space_jeta_api_projec","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"ga3f6f6c4f3a","api_app_id":"AUTECGKJN","always_active":false,"bot_id":"BV84UJ3RD","image_24":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/a3f6f6c4f3abb9693b40f6b3b44db2af.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0006-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"is_bot":true,"is_app_user":false,"updated":1583957762},{"id":"UV8DATUPQ","team_id":"TV5KNL1LL","name":"time_quin_api_project","deleted":false,"color":"674b1b","real_name":"time_quin_api_project","tz":"America\/Los_Angeles","tz_label":"Pacific + Daylight Time","tz_offset":-25200,"profile":{"title":"","phone":"","skype":"","real_name":"time_quin_api_project","real_name_normalized":"time_quin_api_project","display_name":"","display_name_normalized":"","status_text":"","status_emoji":"","status_expiration":0,"avatar_hash":"g180c140de8a","api_app_id":"AV8D2QGFQ","always_active":false,"bot_id":"BUUNT1ZMZ","image_24":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-24.png","image_32":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-32.png","image_48":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-48.png","image_72":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-72.png","image_192":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-192.png","image_512":"https:\/\/secure.gravatar.com\/avatar\/180c140de8a7d8b2b99fdca26e30c7f5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0024-512.png","status_text_canonical":"","team":"TV5KNL1LL"},"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":1583871903}],"cache_ts":1584316319,"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Sun, 15 Mar 2020 23:51:59 GMT +- request: + method: get + uri: https://slack.com/api/channels.list?token= + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '589' + Connection: + - keep-alive + Date: + - Sun, 15 Mar 2020 23:51:59 GMT + Server: + - Apache + X-Slack-Req-Id: + - 0336f3a01b3aa5e0a1b72800f9ae3d44 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - channels:read + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-nv5l + X-Cache: + - Miss from cloudfront + Via: + - 1.1 6a6653dfb47ccc5082f2a5b9d0d168ce.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - 3TraFm-_cuLqr4ObwObipY9_rHAb0_BAFyRDD7POj0Hp6uYpOngAwQ== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channels":[{"id":"CV5KNMDKN","name":"slack-cli","is_channel":true,"created":1583868526,"is_archived":false,"is_general":false,"unlinked":0,"creator":"UV5KNL1UL","name_normalized":"slack-cli","is_shared":false,"is_org_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"members":["UV66H40LV","UUVR12XJ6","UV5KWEASY","UV5KNL1UL","UV66MLLSH"],"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":5},{"id":"CV63MEVG8","name":"general","is_channel":true,"created":1583868525,"is_archived":false,"is_general":true,"unlinked":0,"creator":"UV5KNL1UL","name_normalized":"general","is_shared":false,"is_org_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"members":["UV66H40LV","UUV2F0L67","UUVR12XJ6","UV5KWEASY","UV5KNL1UL","UV66MLLSH"],"topic":{"value":"Company-wide + announcements and work-based matters","creator":"UV5KNL1UL","last_set":1583868525},"purpose":{"value":"This + channel is for workspace-wide communication and announcements. All members + are in this channel.","creator":"UV5KNL1UL","last_set":1583868525},"previous_names":[],"num_members":6},{"id":"CV63MEZTJ","name":"random","is_channel":true,"created":1583868525,"is_archived":false,"is_general":false,"unlinked":0,"creator":"UV5KNL1UL","name_normalized":"random","is_shared":false,"is_org_shared":false,"is_member":true,"is_private":false,"is_mpim":false,"members":["UV66H40LV","UUVR12XJ6","UV5KWEASY","UV5KNL1UL","UV66MLLSH"],"topic":{"value":"Non-work + banter and water cooler conversation","creator":"UV5KNL1UL","last_set":1583868525},"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":"UV5KNL1UL","last_set":1583868525},"previous_names":[],"num_members":5}],"response_metadata":{"next_cursor":""}}' + http_version: null + recorded_at: Sun, 15 Mar 2020 23:51:59 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: + - Sun, 15 Mar 2020 23:51:59 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: + - de5b534fa159fdb1ae3ec76d4d353e5f + X-Xss-Protection: + - '0' + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-7q61 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 deaaf0548506de20925615eb51a7ea7f.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - _kn3eaCM6f69GtOuQnfVRqdURcjghbZam2bJegEfBDmROw4cjeHhww== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"unknown_method","req_method":"bogus.call"}' + http_version: null + recorded_at: Sun, 15 Mar 2020 23:51:59 GMT +- request: + method: post + uri: https://slack.com/api/chat.postMessage?channel=CV6J&text=&token= + body: + encoding: UTF-8 + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '60' + Connection: + - keep-alive + Date: + - Sun, 15 Mar 2020 23:52:42 GMT + Server: + - Apache + X-Slack-Req-Id: + - dae0ffc022443faf31d18a22da121184 + X-Oauth-Scopes: + - chat:write,channels:read,users:read + X-Accepted-Oauth-Scopes: + - chat:write + 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-bylg + X-Cache: + - Miss from cloudfront + Via: + - 1.1 d042f60a962591f741406f28a8170c5a.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - 7Blg1uXzyXqpf-51nJZK5ksPZw3L0KeHn9bRiJAyKH45arfMnBYmyg== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"channel_not_found"}' + http_version: null + recorded_at: Sun, 15 Mar 2020 23:52:42 GMT +- request: + method: post + uri: https://slack.com/api/chat.postMessage?channel=CV6J&text=hi&token= + body: + encoding: UTF-8 + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '60' + Connection: + - keep-alive + Date: + - Sun, 15 Mar 2020 23:52:46 GMT + Server: + - Apache + X-Slack-Req-Id: + - 6f35409dba99a12f0a30048bbd9ae382 + X-Oauth-Scopes: + - chat:write,channels:read,users:read + X-Accepted-Oauth-Scopes: + - chat:write + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-xfo1 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 6b03f32d70ff9f666371f69d2672d273.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - pLyNQpBJWsyhxZQfi1MMPRa0Szg_jU3fEo7msQwpUc1HCmHcSGyPlw== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"channel_not_found"}' + http_version: null + recorded_at: Sun, 15 Mar 2020 23:52:46 GMT +- request: + method: post + uri: https://slack.com/api/chat.postMessage?channel=CV6J&text=Hi&token= + body: + encoding: UTF-8 + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '60' + Connection: + - keep-alive + Date: + - Sun, 15 Mar 2020 23:53:16 GMT + Server: + - Apache + X-Slack-Req-Id: + - 93b03f91711ce1907eb6a6f1b5f6594b + X-Oauth-Scopes: + - chat:write,channels:read,users:read + X-Accepted-Oauth-Scopes: + - chat:write + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer Access-Control-Allow-Origin: - "*" X-Via: - - haproxy-www-hynk + - haproxy-www-jap3 X-Cache: - Miss from cloudfront Via: - - 1.1 6ca6a5c7e4ef3511c3ea6d058e2252f9.cloudfront.net (CloudFront) + - 1.1 adc2002956acc4d61bfbf3b973fdf247.cloudfront.net (CloudFront) X-Amz-Cf-Pop: - - ORD50-C1 + - SEA19-C1 X-Amz-Cf-Id: - - xLHVQ_PPRBiKqDS8Ufzj616ggGPso9ypu7ZcYXasRjLwdL4FFOog4w== + - JNtJZHJAXYV7ITlMQOsye3At1DsChhP2oz1EuX0xRNsJj0Txprvc_Q== body: encoding: ASCII-8BIT - string: '{"ok":false,"error":"unknown_method","req_method":"channel.list"}' + string: '{"ok":false,"error":"channel_not_found"}' http_version: null - recorded_at: Sat, 14 Mar 2020 20:39:08 GMT + recorded_at: Sun, 15 Mar 2020 23:53:16 GMT recorded_with: VCR 5.1.0 diff --git a/test/channel_test.rb b/test/channel_test.rb index 06d82dfc..1e58a6da 100644 --- a/test/channel_test.rb +++ b/test/channel_test.rb @@ -1,12 +1,13 @@ require_relative "test_helper" -require_relative "../lib/channel" describe "Channel class" do describe 'Channel instantiation' do it "creates a channel object" do VCR.use_cassette("list-channel-endpoint") do + url = "https://slack.com/api/channels.list" - response = User.get(url) + response = Channel.get(url) + channels = [] response["channels"].each do |item| topic = item["topic"] @@ -20,9 +21,8 @@ expect(channels[0]).must_be_instance_of Channel expected_topic = {"value" => "", "creator" => "", "last_set" => 0} - expect(channels[0].topic).must_equal expected_topic - expect(channels[0].member_count).must_equal ["UV5KWEASY", "UV5KNL1UL", "UV66MLLSH", "UV66H40LV"] + expect(channels[0].member_count.length).must_equal 5 expect(channels[0].slack_id).must_equal "CV5KNMDKN" expect(channels[0].name).must_equal "slack-cli" end diff --git a/test/recipient_test.rb b/test/recipient_test.rb index 15240cab..e5c4e99c 100644 --- a/test/recipient_test.rb +++ b/test/recipient_test.rb @@ -1,12 +1,35 @@ require_relative "test_helper" describe "Recipient class" do - - describe 'Recipient instantiation' do + describe 'Self.list_all' do it 'self.list_all' do expect{Recipient.list_all}.must_raise NotImplementedError end end + + it "sending message" do + VCR.use_cassette("list-user-endpoint") do + recipient = Recipient.new(slack_id: "CV63MEZTJ", name: "random") + response = recipient.send_message("Hi") + expect(response).must_equal true + end + end + + it "raises error for invalid user or channel" do + VCR.use_cassette("list-user-endpoint") do + recipient = Recipient.new(slack_id: "CV6J", name: "random") + expect{recipient.send_message("Hi")}.must_raise SlackAPIError + end + end + + describe 'derails' do + it 'sdetails' do + responde = Recipient.new(slack_id: "jeta", name: "jeta") + expect{responde.details}.must_raise NotImplementedError + end + end end + + diff --git a/test/test_helper.rb b/test/test_helper.rb index f6b84464..87b64e30 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -34,11 +34,11 @@ } # Don't leave our token lying around in a cassette file. - config.filter_sensitive_data("") do + config.filter_sensitive_data("") do ENV["SLACK_TOKEN"] end - config.filter_sensitive_data("") do + config.filter_sensitive_data("") do ENV["BOT_TOKEN"] end end diff --git a/test/user_test.rb b/test/user_test.rb index d228f294..c1544e4d 100644 --- a/test/user_test.rb +++ b/test/user_test.rb @@ -1,6 +1,4 @@ require_relative "test_helper" -require_relative "../lib/user" - describe "User class" do describe 'User instantiation' do @@ -17,6 +15,7 @@ status_text = member["profile"]["status_text"] slack_id = member["id"] name = member["name"] + users << User.new(real_name: real_name, status_text: status_text, status_emoji: status_emoji, slack_id: slack_id, name: name) end @@ -27,7 +26,6 @@ expect(users[0].slack_id).must_equal "USLACKBOT" expect(users[0].name).must_equal "slackbot" expect(users[0].status_emoji).must_equal "" - end end end @@ -63,7 +61,6 @@ result.each do |item| expect(item).must_be_kind_of User end - end end end diff --git a/test/workspace_test.rb b/test/workspace_test.rb index 6538b7c1..b5f21571 100644 --- a/test/workspace_test.rb +++ b/test/workspace_test.rb @@ -12,16 +12,79 @@ end end - it "select channel" do - VCR.use_cassette("list-channel-endpoint") do - workspace = WorkSpace.new - - # expect(workspace.select_channel).must_equal "slack-cli" - # expect(workspace.select_channel.member_count).must_equal ["UV5KWEASY", "UV5KNL1UL", "UV66MLLSH", "UV66H40LV"] - # expect(workspace.select_channel..slack_id).must_equal "CV5KNMDKN" - # expect(workspace.select_channel.name).must_equal "slack-cli" - - end + describe "select_user" do + it "select a user" do + VCR.use_cassette("list-user-endpoint") do + response = WorkSpace.new + search_term = "jeta" + selected = nil + + response.users.each do |user| + if user.name == search_term || user.slack_id == search_term + selected = user + end + end + expect(response.select_user(search_term)).must_be_kind_of String + expect(selected).must_be_kind_of User + expect(selected.real_name).must_equal "jeta" + expect(selected.status_emoji).must_equal "" + expect(selected.status_text).must_equal "" + expect(selected.name).must_equal "jeta" + end + end + + it "select invalid user" do + VCR.use_cassette("list-user-endpoint") do + response = WorkSpace.new + search_term = "+++++" + selected = nil + + response.users.each do |user| + if user.name == search_term || user.slack_id == search_term + selected = user + end + end + expect(response.select_user(search_term)).must_be_kind_of String + expect(selected).must_be_nil + end + end + end + + describe "select_channels" do + it "select channels" do + VCR.use_cassette("list-channel-endpoint") do + response = WorkSpace.new + search_term = "random" + selected = nil + + response.channels.each do |channel| + if channel.name == search_term || channel.slack_id == search_term + selected = channel + end + end + expect(response.select_channel(search_term)).must_be_kind_of String + expect(selected).must_be_kind_of Channel + expect(selected.member_count).must_equal 5 + expect(selected.slack_id).must_equal "CV63MEZTJ" + expect(selected.name).must_equal "random" + end + end + + it "selects invalid channel" do + VCR.use_cassette("list-channel-endpoint") do + response = WorkSpace.new + search_term = "+++++++" + selected = nil + + response.channels.each do |channel| + if channel.name == search_term || channel.slack_id == search_term + selected = channel + end + end + expect(response.select_channel(search_term)).must_be_kind_of String + expect(selected).must_be_nil + end + end end end From e1859d9f70fff5d381cc6e579a69207c0e1ff17a Mon Sep 17 00:00:00 2001 From: Jetmire Bajrami Date: Wed, 25 Mar 2020 14:43:55 -0700 Subject: [PATCH 16/18] Made some small changes to make my code looks more clean --- lib/recipient.rb | 3 +- lib/workspace.rb | 1 - test/cassettes/list-user-endpoint.yml | 370 ++++++++++++++++++++++++++ test/recipient_test.rb | 7 +- 4 files changed, 376 insertions(+), 5 deletions(-) diff --git a/lib/recipient.rb b/lib/recipient.rb index 0aaa10e3..1a90c7b6 100644 --- a/lib/recipient.rb +++ b/lib/recipient.rb @@ -17,6 +17,7 @@ def self.list_all def self.get(url) response = HTTParty.get(url , query: {token: ENV["SLACK_TOKEN"]}) + if response.code != 200 || response["ok"] == false raise SlackAPIError, "We encaunterd a problem #{response["error"]}" end @@ -30,7 +31,7 @@ def details def send_message(msg) url = "https://slack.com/api/chat.postMessage" - query = {token: ENV["BOT_TOKEN"], channel: self.slack_id, text: msg} + query = {token: ENV["SLACK_TOKEN"], channel: self.slack_id, text: msg} response = HTTParty.post(url, query: query) diff --git a/lib/workspace.rb b/lib/workspace.rb index b9d129ae..a68af29e 100644 --- a/lib/workspace.rb +++ b/lib/workspace.rb @@ -35,7 +35,6 @@ def select_user(search_term) return "Sorry, I couldn't find that user" end - def show_details @selected.details end diff --git a/test/cassettes/list-user-endpoint.yml b/test/cassettes/list-user-endpoint.yml index 3fd36e95..cbba54a9 100644 --- a/test/cassettes/list-user-endpoint.yml +++ b/test/cassettes/list-user-endpoint.yml @@ -980,4 +980,374 @@ http_interactions: string: '{"ok":false,"error":"channel_not_found"}' http_version: null recorded_at: Sun, 15 Mar 2020 23:53:16 GMT +- request: + method: post + uri: https://slack.com/api/chat.postMessage?channel=CV63MEZTJ&text=Hi&token= + body: + encoding: UTF-8 + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '312' + Connection: + - keep-alive + Date: + - Tue, 17 Mar 2020 01:46:28 GMT + Server: + - Apache + X-Slack-Req-Id: + - 04a35ae3893b387e5cc4102c6c8c484a + X-Oauth-Scopes: + - chat:write,channels:read,users:read + X-Accepted-Oauth-Scopes: + - chat:write + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-57iu + X-Cache: + - Miss from cloudfront + Via: + - 1.1 4c48e9fb20d53d40e9fe273dbdae1099.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - hnXNgREOevZmTDxpjnAAwxwqluldf-zEqXhqi_yTOfMYkC2tsT0qwA== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channel":"CV63MEZTJ","ts":"1584409588.000100","message":{"bot_id":"BV85DAQP6","type":"message","text":"Hi","user":"UUVR12XJ6","ts":"1584409588.000100","team":"TV5KNL1LL","bot_profile":{"id":"BV85DAQP6","deleted":false,"name":"Jeta","updated":1583959127,"app_id":"AVAEDFTTR","icons":{"image_36":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/bot_36.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/bot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/service_72.png"},"team_id":"TV5KNL1LL"}}}' + http_version: null + recorded_at: Tue, 17 Mar 2020 01:46:28 GMT +- request: + method: post + uri: https://slack.com/api/chat.postMessage?channel=CV63MZTJ&text=Hi&token= + body: + encoding: UTF-8 + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '60' + Connection: + - keep-alive + Date: + - Tue, 17 Mar 2020 01:46:43 GMT + Server: + - Apache + X-Slack-Req-Id: + - a8bc28b41a0a72865e2e4fa248176e76 + X-Oauth-Scopes: + - chat:write,channels:read,users:read + X-Accepted-Oauth-Scopes: + - chat:write + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-s23t + X-Cache: + - Miss from cloudfront + Via: + - 1.1 b48dedcc55e63f14261aa92cf2d61522.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - SEA19-C1 + X-Amz-Cf-Id: + - 9HqoTKGEZ5viI07sXiXJu1qp0-Kk6Jm5hvNNuAhI95j7YN0ViDEKQw== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"channel_not_found"}' + http_version: null + recorded_at: Tue, 17 Mar 2020 01:46:43 GMT +- request: + method: post + uri: https://slack.com/api/chat.postMessage?channel=CV63MEZTJ&text=Hi&token= + body: + encoding: UTF-8 + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '311' + Connection: + - keep-alive + Date: + - Wed, 25 Mar 2020 20:30:04 GMT + Server: + - Apache + X-Slack-Req-Id: + - a7b2391e6185f3f1d23162d157f76e05 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - chat:write + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-7q06 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 eb7d416369db7f3961117199ddc9e343.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - HIO50-C2 + X-Amz-Cf-Id: + - Sze-_b-vMTvm8qNyVNfgILEZKoy7-yXY9zpkntaw6mssi57ppsdDOQ== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channel":"CV63MEZTJ","ts":"1585168204.000200","message":{"bot_id":"BUVR12TNW","type":"message","text":"Hi","user":"UV66H40LV","ts":"1585168204.000200","team":"TV5KNL1LL","bot_profile":{"id":"BUVR12TNW","deleted":false,"name":"Jeta","updated":1583959127,"app_id":"AVAEDFTTR","icons":{"image_36":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/bot_36.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/bot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/service_72.png"},"team_id":"TV5KNL1LL"}}}' + http_version: null + recorded_at: Wed, 25 Mar 2020 20:30:04 GMT +- request: + method: post + uri: https://slack.com/api/chat.postMessage?channel=CV63MEZTJ&text=Hi&token= + body: + encoding: UTF-8 + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '311' + Connection: + - keep-alive + Date: + - Wed, 25 Mar 2020 20:30:04 GMT + Server: + - Apache + X-Slack-Req-Id: + - 8ef6050eaf643f47480537788b7a1fc1 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - chat:write + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-4766 + X-Cache: + - Miss from cloudfront + Via: + - 1.1 91c80546b6d0beebffe469756e2c35aa.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - HIO50-C2 + X-Amz-Cf-Id: + - XbHF8bfnxGJRL9Kjnjz345BlOYfTjnQ8U4UwjXmFD2SL7w1nwcgR3Q== + body: + encoding: ASCII-8BIT + string: '{"ok":true,"channel":"CV63MEZTJ","ts":"1585168204.000300","message":{"bot_id":"BUVR12TNW","type":"message","text":"Hi","user":"UV66H40LV","ts":"1585168204.000300","team":"TV5KNL1LL","bot_profile":{"id":"BUVR12TNW","deleted":false,"name":"Jeta","updated":1583959127,"app_id":"AVAEDFTTR","icons":{"image_36":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/bot_36.png","image_48":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/bot_48.png","image_72":"https:\/\/a.slack-edge.com\/80588\/img\/plugins\/app\/service_72.png"},"team_id":"TV5KNL1LL"}}}' + http_version: null + recorded_at: Wed, 25 Mar 2020 20:30:04 GMT +- request: + method: post + uri: https://slack.com/api/chat.postMessage?channel=CV6J&text=Hi&token= + body: + encoding: UTF-8 + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '60' + Connection: + - keep-alive + Date: + - Wed, 25 Mar 2020 20:30:05 GMT + Server: + - Apache + X-Slack-Req-Id: + - f9cd1752cb7e0772bfae2507212f7c55 + X-Oauth-Scopes: + - identify,channels:read,users:read,chat:write + X-Accepted-Oauth-Scopes: + - chat:write + Access-Control-Expose-Headers: + - x-slack-req-id, retry-after + X-Slack-Backend: + - h + X-Content-Type-Options: + - nosniff + Expires: + - Mon, 26 Jul 1997 05:00:00 GMT + Cache-Control: + - private, no-cache, no-store, must-revalidate + X-Xss-Protection: + - '0' + Vary: + - Accept-Encoding + Pragma: + - no-cache + Access-Control-Allow-Headers: + - slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, + x-b3-sampled, x-b3-flags + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Referrer-Policy: + - no-referrer + Access-Control-Allow-Origin: + - "*" + X-Via: + - haproxy-www-9s4u + X-Cache: + - Miss from cloudfront + Via: + - 1.1 23902d8ef9680db023f27a4c4f37e390.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - HIO50-C2 + X-Amz-Cf-Id: + - YMrtwhZ1eH-KyYFQp3se0opKMghlHq1vu8yHutU694CUMDmI7gJehg== + body: + encoding: ASCII-8BIT + string: '{"ok":false,"error":"channel_not_found"}' + http_version: null + recorded_at: Wed, 25 Mar 2020 20:30:05 GMT recorded_with: VCR 5.1.0 diff --git a/test/recipient_test.rb b/test/recipient_test.rb index e5c4e99c..3cdbf454 100644 --- a/test/recipient_test.rb +++ b/test/recipient_test.rb @@ -1,6 +1,7 @@ require_relative "test_helper" describe "Recipient class" do + describe 'Self.list_all' do it 'self.list_all' do expect{Recipient.list_all}.must_raise NotImplementedError @@ -11,7 +12,7 @@ VCR.use_cassette("list-user-endpoint") do recipient = Recipient.new(slack_id: "CV63MEZTJ", name: "random") response = recipient.send_message("Hi") - expect(response).must_equal true + expect(recipient.send_message("Hi")).must_equal true end end @@ -22,8 +23,8 @@ end end - describe 'derails' do - it 'sdetails' do + describe 'details' do + it 'details' do responde = Recipient.new(slack_id: "jeta", name: "jeta") expect{responde.details}.must_raise NotImplementedError end From 1ccb58665cfc02ca2a25d56b77ac3e8ceb9dbe37 Mon Sep 17 00:00:00 2001 From: Jetmire Bajrami Date: Thu, 26 Mar 2020 19:59:42 -0700 Subject: [PATCH 17/18] Change the the user name and the channel in some test, I did random or slackbot --- lib/slack.rb | 2 +- test/channel_test.rb | 15 +++++++++------ test/recipient_test.rb | 2 +- test/workspace_test.rb | 12 ++++++------ 4 files changed, 17 insertions(+), 14 deletions(-) diff --git a/lib/slack.rb b/lib/slack.rb index af4e04a8..74266924 100755 --- a/lib/slack.rb +++ b/lib/slack.rb @@ -69,7 +69,7 @@ def main end def prompt_for_input - print "Please choose an option: list users, list channels, select user, select channel, details, send message, or quit: \n" + print "Please choose an option: \n1)list users,\n2)list channels,\n3)select user,\n4)select channel,\n5)details,\n6)send message,\n7)quit:" return gets.chomp.downcase end diff --git a/test/channel_test.rb b/test/channel_test.rb index 1e58a6da..9de4ac11 100644 --- a/test/channel_test.rb +++ b/test/channel_test.rb @@ -18,13 +18,16 @@ channels << Channel.new(topic: topic, member_count: member_count, slack_id: slack_id, slack_id: slack_id, name: name) end - expect(channels[0]).must_be_instance_of Channel + expect(channels[2]).must_be_instance_of Channel - expected_topic = {"value" => "", "creator" => "", "last_set" => 0} - expect(channels[0].topic).must_equal expected_topic - expect(channels[0].member_count.length).must_equal 5 - expect(channels[0].slack_id).must_equal "CV5KNMDKN" - expect(channels[0].name).must_equal "slack-cli" + expected_topic = { + "value" => "Non-work banter and water cooler conversation", + "creator" => "UV5KNL1UL", + "last_set" => 1583868525} + expect(channels[2].topic).must_equal expected_topic + expect(channels[2].member_count.length).must_equal 5 + expect(channels[2].slack_id).must_equal "CV63MEZTJ" + expect(channels[2].name).must_equal "random" end end end diff --git a/test/recipient_test.rb b/test/recipient_test.rb index 3cdbf454..269cd49a 100644 --- a/test/recipient_test.rb +++ b/test/recipient_test.rb @@ -25,7 +25,7 @@ describe 'details' do it 'details' do - responde = Recipient.new(slack_id: "jeta", name: "jeta") + responde = Recipient.new(slack_id: "USLACKBOT", name: "slackbot") expect{responde.details}.must_raise NotImplementedError end end diff --git a/test/workspace_test.rb b/test/workspace_test.rb index b5f21571..91827811 100644 --- a/test/workspace_test.rb +++ b/test/workspace_test.rb @@ -16,8 +16,8 @@ it "select a user" do VCR.use_cassette("list-user-endpoint") do response = WorkSpace.new - search_term = "jeta" - selected = nil + search_term = "Slackbot" + selected = User.new(real_name: "Slackbot", status_text: "", status_emoji: "", name: "slackbot", slack_id: "USLACKBOT") response.users.each do |user| if user.name == search_term || user.slack_id == search_term @@ -26,17 +26,17 @@ end expect(response.select_user(search_term)).must_be_kind_of String expect(selected).must_be_kind_of User - expect(selected.real_name).must_equal "jeta" + expect(selected.real_name).must_equal "Slackbot" expect(selected.status_emoji).must_equal "" expect(selected.status_text).must_equal "" - expect(selected.name).must_equal "jeta" + expect(selected.name).must_equal "slackbot" end end it "select invalid user" do VCR.use_cassette("list-user-endpoint") do response = WorkSpace.new - search_term = "+++++" + search_term = "++++" selected = nil response.users.each do |user| @@ -73,7 +73,7 @@ it "selects invalid channel" do VCR.use_cassette("list-channel-endpoint") do response = WorkSpace.new - search_term = "+++++++" + search_term = "++++++" selected = nil response.channels.each do |channel| From b181fdc471d3bd9ebe4182986672f5c4c7fcf44a Mon Sep 17 00:00:00 2001 From: Jetmire Bajrami Date: Thu, 26 Mar 2020 20:11:02 -0700 Subject: [PATCH 18/18] Add one more line in select user test --- test/workspace_test.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/workspace_test.rb b/test/workspace_test.rb index 91827811..3334fedf 100644 --- a/test/workspace_test.rb +++ b/test/workspace_test.rb @@ -17,7 +17,7 @@ VCR.use_cassette("list-user-endpoint") do response = WorkSpace.new search_term = "Slackbot" - selected = User.new(real_name: "Slackbot", status_text: "", status_emoji: "", name: "slackbot", slack_id: "USLACKBOT") + selected = User.new(real_name: "Slackbot", status_text: "", status_emoji: "", name: "slackbot", slack_id: "USLAKBOT") response.users.each do |user| if user.name == search_term || user.slack_id == search_term @@ -30,6 +30,7 @@ expect(selected.status_emoji).must_equal "" expect(selected.status_text).must_equal "" expect(selected.name).must_equal "slackbot" + expect(selected.slack_id).must_equal "USLAKBOT" end end