Comments (3)
Yeah, I just passed all necessary parameters through path
and did user authentication manually:
module ApplicationCable
class Connection < ActionCable::Connection::Base
identified_by :current_user
def connect
self.current_user = find_verified_user
logger.add_tags 'ActionCable', current_user.id
end
protected
def find_verified_user
user = User.find_by(email: request.params[:uid]) if request.params[:uid].present?
return user if user&.valid_token?(request.params[:'access-token'], request.params[:client])
reject_unauthorized_connection
end
end
end
RSpec.describe ApplicationCable::Connection, type: :channel do
context 'when user is authenticated' do
let(:user) { create(:user) }
let(:token) { user.create_new_auth_token }
let(:path) { "/cable?#{token.to_query}" }
describe '#connect' do
it 'accepts connection' do
expect { connect(path) }.to_not raise_error
end
end
end
context 'when user is not authenticated' do
describe '#connect' do
it 'rejects connection' do
expect { connect }.to have_rejected_connection
end
end
end
end
from action-cable-testing.
Solved. Sorry for bothered you.
from action-cable-testing.
Sorry for bothered you.
No problem)
So, you ended up using devise_token_auth
?
from action-cable-testing.
Related Issues (20)
- 'assert_broadcast_on' is misspelled in README.md and minitest.md HOT 1
- NotImplementedError on disconnect HOT 4
- docs about compatibility/how-to-migrate HOT 4
- multiple connections testing HOT 1
- Rails 6: undefined method `stub_connection' HOT 2
- Readme example issue HOT 2
- Strange behaviour of expect(subscription).to be_rejected HOT 5
- Any ideas about using this gem with `perform_later` method? HOT 2
- params don't seem to be parsed out of connection requests HOT 1
- Errors with Anycable check HOT 6
- Test connection with Devise session HOT 2
- Connection is not being closed after test HOT 1
- action-cable-testing does not work with rspec-rails 4.0 and rails 5 HOT 5
- Add ability to match multiple broadcasts HOT 2
- undefined local variable or method `streams' HOT 5
- Does anyone has the same error? HOT 2
- Rails 6.1 support (stop_stream_from) HOT 1
- undefined method `assert_nothing_raised' in gems/actioncable-6.1.1/lib/action_cable/test_helper.rb:48:in `assert_broadcasts' (Rails 6.1, Rspec 4.0.2) HOT 5
- have_broadcasted_to does not seem to work in Rails 5.2 HOT 8
- Testing "transmit" HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from action-cable-testing.