aboutsummaryrefslogtreecommitdiffstats
path: root/actioncable/test
Commit message (Collapse)AuthorAgeFilesLines
...
* | Revert "Merge pull request #29540 from kirs/rubocop-frozen-string"Matthew Draper2017-07-0235-35/+0
| | | | | | | | | | This reverts commit 3420a14590c0e6915d8b6c242887f74adb4120f9, reversing changes made to afb66a5a598ce4ac74ad84b125a5abf046dcf5aa.
* | Enforce frozen string in RubocopKir Shatrov2017-07-0135-0/+35
| |
* | Allows for other common redis options to be in cable.yml, by defaultMarc Ignacio2017-06-222-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Adds RedisAdapterTest::AlternateConfiguration to account for a relatively common alternative setup, as it’s used as the first example in the [Redis rubygem](https://github.com/redis/redis-rb#getting-started) - Supplies original RedisAdapterTest with more complete redis:// url format by adding a ‘userinfo’ (blank user), so that it resembles the alternate configuration - Supplies original EventedRedisAdapterTest with more complete redis:// url as well - Adds before_script to start redis-server with password as a daemon and with explicit defaults copied from the default redis.conf (Instead of using Travis' default init/upstart scripts for `redis` service)
* | Use `require_relative` instead of `require` with full pathbogdanvlviv2017-06-145-7/+7
| |
* | Define path with __dir__bogdanvlviv2017-05-231-1/+1
| | | | | | | | | | | | ".. with __dir__ we can restore order in the Universe." - by @fxn Related to 5b8738c2df003a96f0e490c43559747618d10f5f
* | Work around all the thingsMatthew Draper2017-04-061-1/+11
| |
* | Avoid "can't modify frozen IOError" failuresMatthew Draper2017-04-051-5/+16
|/ | | | https://bugs.ruby-lang.org/issues/13239
* Fix a race in ActionCable stream testsMatthew Draper2017-03-231-0/+4
| | | | | These tests double-stub connection.pubsub, so we need to ensure the first call's completed before we set up for the second.
* Deprecate the EventedRedis subscription adapterMatthew Draper2017-02-231-1/+3
| | | | | Unlike Faye support, it seems a bit too documented to remove without warning. So, here's a warning.
* correctly check error messageyuuji.yaginuma2017-01-251-3/+6
| | | | | | | `assert_raise` does not check error message. However, in some tests, it seems like expecting error message checking with `assert_raise`. Instead of specifying an error message in `assert_raise`, modify to use another assert to check the error message.
* Add channel_prefix support to ActionCable redis/evented_redis adapters.Chad Ingram2017-01-173-0/+40
|
* ActionCable should not raise when a connection is already openDuncan Grazier2017-01-061-2/+5
| | | | | | | | | | | ActionCable was throwing a "Existing connection must be closed before opening" exception which was being picked up as a production issue in our error monitoring software. Since this happens pretty often on any device that allows the browser to sleep (mobile) this error was getting triggered often. This change removes the exception, but keeps logging the occurrence. We now return `false` to let the caller now that `open` failed.
* Privatize unneededly protected methods in Action Cable testsAkira Matsuda2016-12-243-3/+3
|
* Prevent race condition when launching EventMachine reactorMatthew Draper2016-11-301-0/+26
| | | | | | | reactor_running? will be true just after the thread enters EventMachine.run; reactor_thread only gets set after the internal initialize_event_machine method has been called, the C extension is set up, and it is entering its run loop.
* Add more Action Cable JavaScript testsJavan Makhmali2016-11-214-0/+78
|
* Add more rubocop rules about whitespacesRafael Mendonça França2016-10-294-14/+14
|
* Permit same-origin connections by defaultMatthew Draper2016-10-111-1/+2
| | | | | | | | | | | | | | | | | WebSocket always defers the decision to the server, because it didn't have to deal with legacy compatibility... but the same-origin policy is still a reasonable default. Origin checks do not protect against a directly connecting attacker -- they can lie about their host, but can also lie about their origin. Origin checks protect against a connection from 3rd-party controlled script in a context where a victim browser's cookies will be passed along. And if an attacker has breached that protection, they've already compromised the HTTP session, so treating the WebSocket connection in the same way seems reasonable. In case this logic proves incorrect (or anyone just wants to be more paranoid), we retain a config option to disable it.
* Merge pull request #26568 from skateman/cable-sameorigin-as-hostMatthew Draper2016-10-111-0/+8
|\ | | | | | | Optionally allow ActionCable requests from the same host as origin
| * Optionally allow ActionCable requests from the same host as originDávid Halász2016-09-211-0/+8
| | | | | | | | | | | | | | When the `allow_same_origin_as_host` is set to `true`, the request forgery protection permits `HTTP_ORIGIN` values starting with the corresponding `proto://` prefix followed by `HTTP_HOST`. This way it is not required to specify the list of allowed URLs.
* | Wait for the socket to be closed asynchronouslyMatthew Draper2016-10-061-2/+10
| |
* | Use a branch of websocket-client-simple, to work around read/close raceMatthew Draper2016-10-061-7/+0
| |
* | Don't shut down adapters that haven't been setMatthew Draper2016-10-041-1/+1
| | | | | | | | We hit when we skip the PostgreSQL adapter.
* | Add tests for Server::Base#restartJon Moss2016-10-021-0/+33
| |
* | Use websocket-client-simple instead of Faye as a websockets clientMatthew Draper2016-10-021-57/+81
| | | | | | | | | | | | Mostly, this is just to avoid EventMachine. But there's also an argument to be made that we're better off using a different protocol library for our test suite than the one we use to implement the server.
* | Shut down EventMachine before re-enabling warningsMatthew Draper2016-10-022-0/+9
| |
* | In-line the configuration points that only existed for Faye supportMatthew Draper2016-10-011-1/+0
| |
* | Remove Faye modeMatthew Draper2016-10-016-63/+4
| | | | | | | | No deprecation, because it was never documented.
* | Merge pull request #26547 from ↵Matthew Draper2016-10-015-6/+47
|\ \ | | | | | | | | | | | | | | | palkan/fix/actioncable-confirmation-race-condition Avoid race condition on subscription confirmation
| * | Add Channel#ensure_confirmation_sent; call #subscribe_to_channel after ↵palkan2016-09-224-6/+15
| | | | | | | | | | | | initializing
| * | [Fix #25381] Avoid race condition on subscription confirmationpalkan2016-09-203-5/+37
| |/
* / Buffer writes to the cable socketsMatthew Draper2016-09-281-1/+3
|/ | | | | Otherwise, they can sometimes block, leading to reduced system throughput.
* Prevent invocation of channel action if rejected connectionJon Moss2016-08-191-0/+15
| | | | | | | | | Fixes #23757. Before this commit, even if `reject` was called in the `subscribe` method for an Action Cable channel, all actions on that channel could still be invoked. This calls a `return` if a rejected connection tries to invoke any actions on the channel.
* Add three new rubocop rulesRafael Mendonça França2016-08-163-26/+26
| | | | | | | | Style/SpaceBeforeBlockBraces Style/SpaceInsideBlockBraces Style/SpaceInsideHashLiteralBraces Fix all violations in the repository.
* revises more Lint/EndAlignment offensesXavier Noria2016-08-081-6/+6
|
* Add `Style/EmptyLines` in `.rubocop.yml` and remove extra empty linesRyuta Kamizono2016-08-071-2/+0
|
* applies remaining conventions across the projectXavier Noria2016-08-061-1/+0
|
* normalizes indentation and whitespace across the projectXavier Noria2016-08-061-3/+3
|
* remove redundant curlies from hash argumentsXavier Noria2016-08-065-7/+7
|
* applies new string literal convention in actioncable/testXavier Noria2016-08-0629-260/+260
| | | | | The current code base is not uniform. After some discussion, we have chosen to go with double quotes by default.
* Merge pull request #24988 from mwear/action_cable_broadcast_notificationsMatthew Draper2016-07-041-4/+49
|\ | | | | Add ActiveSupport::Notifications hook to ActionCable::Server.broadcast
| * Add ActiveSupport::Notifications hook to Broadcaster#broadcastMatthew Wear2016-05-121-4/+49
| | | | | | | | | | This addition of this notification hook will give users better visibility into the messages being sent over the PubSub adapter.
* | Merge pull request #25030 from mmmpa/pull_requestMatthew Draper2016-07-041-0/+17
|\ \ | | | | | | ActionCable, sometimes add_channel is not called.
| * | Add guard to broadcast.mmmpa2016-05-261-0/+17
| |/
* | close hijacked i/o socket after use (fixes #25613)Tinco Andringa2016-07-011-0/+14
| |
* | Make client test run individually.Kasper Timm Hansen2016-06-281-1/+3
| | | | | | | | Require our dependency and forgo the core ext version.
* | client test have not using Pathname and hashwithindifferent accessGaurav Sharma2016-06-261-3/+0
| |
* | Properly support reloading for Action Cable channelsMatthew Draper2016-06-024-52/+47
| |
* | Add helper for testing against a mock WebSocket and serverJavan Makhmali2016-05-315-56/+48
| |
* | Reorganize `MockWebSocket`Jon Moss2016-05-312-22/+32
| |
* | Add configuration for `WebSocket` and `logger`Jon Moss2016-05-312-4/+18
|/ | | | [Javan Makhmali, Jon Moss]