spec/slack/real_time/client_spec.rb in slack-ruby-client-0.17.0 vs spec/slack/real_time/client_spec.rb in slack-ruby-client-1.0.0
- old
+ new
@@ -3,33 +3,29 @@
RSpec.describe Slack::RealTime::Client do
let(:ws) { double(Slack::RealTime::Concurrency::Mock::WebSocket, on: true) }
before do
+ # supports passing tests in CI even with an actual SLACK_API_TOKEN set
@token = ENV.delete('SLACK_API_TOKEN')
Slack::Config.reset
Slack::RealTime::Config.reset
Slack::RealTime.configure do |config|
+ config.token = '<SLACK_API_TOKEN>'
config.concurrency = Slack::RealTime::Concurrency::Mock
end
end
after do
ENV['SLACK_API_TOKEN'] = @token if @token
end
context 'token' do
- before do
- Slack.configure do |config|
- config.token = 'global default'
- end
- end
-
it 'defaults token to global default' do
client = described_class.new
- expect(client.token).to eq 'global default'
- expect(client.web_client.token).to eq 'global default'
+ expect(client.token).to eq '<SLACK_API_TOKEN>'
+ expect(client.web_client.token).to eq '<SLACK_API_TOKEN>'
end
context 'with real time config' do
before do
described_class.configure do |config|
config.token = 'custom real time token'
@@ -68,11 +64,11 @@
end
context 'client with a full store',
vcr: { cassette_name: 'web/rtm_start', allow_playback_repeats: true } do
let(:client) { described_class.new(store_class: Slack::RealTime::Stores::Store) }
- let(:url) { 'wss://ms173.slack-msgs.com/websocket/lqcUiAvrKTP-uuid=' }
+ let(:url) { 'wss://cerberus-xxxx.lb.slack-msgs.com/websocket/uid' }
describe '#start!' do
let(:socket) { double(Slack::RealTime::Socket, connected?: true) }
before do
@@ -94,26 +90,26 @@
it 'sets teams' do
expect(client.teams.count).to eq 1
expect(client.teams.values.first).to eq client.team
end
it 'sets self' do
- expect(client.self.id).to eq 'U07518DTL'
+ expect(client.self.id).to eq 'U0J1GAHN1'
end
it 'sets users' do
- expect(client.users.count).to eq 18
- expect(client.users.values.first['id']).to eq 'U07518DTL'
+ expect(client.users.count).to eq 35
+ expect(client.users.values.first['id']).to eq 'U0J1GAHN1'
end
it 'sets channels' do
- expect(client.channels.count).to eq 37
- expect(client.channels.values.first['name']).to eq 'a1'
+ expect(client.channels.count).to eq 156
+ expect(client.channels.values.first['name']).to eq 'general'
end
it 'sets ims' do
- expect(client.ims.count).to eq 2
- expect(client.ims.values.first['user']).to eq 'USLACKBOT'
+ expect(client.ims.count).to eq 10
+ expect(client.ims.values.first['user']).to eq 'U04KB5WQR'
end
it 'sets bots' do
- expect(client.bots.count).to eq 16
+ expect(client.bots.count).to eq 83
expect(client.bots.values.first['name']).to eq 'bot'
end
it 'sets groups' do
expect(client.groups.count).to eq 1
end
@@ -250,11 +246,11 @@
end
end
context 'client with starter store', vcr: { cassette_name: 'web/rtm_connect' } do
let(:client) { described_class.new(store_class: Slack::RealTime::Stores::Starter) }
- let(:url) { 'wss://mpmulti-w5tz.slack-msgs.com/websocket/uid' }
+ let(:url) { 'wss://cerberus-xxxx.lb.slack-msgs.com/websocket/uid' }
describe '#start!' do
let(:socket) { double(Slack::RealTime::Socket, connected?: true) }
before do
@@ -272,11 +268,11 @@
end
it 'sets team' do
expect(client.team.domain).to eq 'dblockdotorg'
end
it 'sets self' do
- expect(client.self.id).to eq 'U07518DTL'
+ expect(client.self.id).to eq 'U0J1GAHN1'
end
it 'no users' do
expect(client.users).to be_nil
end
it 'no teams' do
@@ -377,11 +373,11 @@
expect(client.send(:logger)).to be_a ::Logger
end
it 'sets default store_class' do
expect(client.send(:store_class)).to eq Slack::RealTime::Store
end
- (Slack::RealTime::Config::ATTRIBUTES - %i[logger store_class]).each do |key|
+ (Slack::RealTime::Config::ATTRIBUTES - %i[logger store_class token]).each do |key|
it "sets #{key}" do
expect(client.send(key)).to eq Slack::RealTime::Config.send(key)
end
end
end
@@ -429,10 +425,10 @@
context 'global config' do
after do
described_class.config.reset
end
- let(:url) { 'wss://ms173.slack-msgs.com/websocket/lqcUiAvrKTP-uuid=' }
+ let(:url) { 'wss://cerberus-xxxx.lb.slack-msgs.com/websocket/uid' }
let(:client) { described_class.new }
context 'ping' do
before do
described_class.configure do |config|