ably 1.1.4 → 1.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -0
- data/SPEC.md +289 -221
- data/ably.gemspec +2 -2
- data/lib/ably/modules/ably.rb +11 -1
- data/lib/ably/realtime/client.rb +1 -0
- data/lib/ably/rest/client.rb +13 -6
- data/lib/ably/rest/middleware/fail_if_unsupported_mime_type.rb +4 -1
- data/lib/ably/version.rb +1 -1
- data/spec/acceptance/realtime/connection_failures_spec.rb +26 -11
- data/spec/acceptance/realtime/connection_spec.rb +8 -5
- data/spec/acceptance/rest/base_spec.rb +8 -4
- data/spec/acceptance/rest/client_spec.rb +49 -14
- data/spec/shared/client_initializer_behaviour.rb +131 -0
- metadata +9 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 57c815b3e4e0dc7d47193fc7778dafa3d3dac69712b996c09e87e8021c0d739d
|
4
|
+
data.tar.gz: de4aecba3dd4d87986d11fdbbde09377b8d543b94ff165d2a89bb4526208fa07
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 55548f44c758f2ea9aaa2c5f9ecdfb8a06c812513dd32417980fee828b8da193ea4418b574a312e12c2dfabc68dbb8116c906071549545a65772e2a2c4ad6fc4
|
7
|
+
data.tar.gz: 3595470c751c1972c27f9914a7da1313c0479d93bb4e1bfcd8157821db0411e6f5c8729fb18eddbf7e4007b59a10e95c6cbd18c00d5b9ef7bc08f3f5f5de6d4b
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,14 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## [v1.1.5](https://github.com/ably/ably-ruby/tree/v1.1.5)
|
4
|
+
|
5
|
+
[Full Changelog](https://github.com/ably/ably-ruby/compare/v1.1.4...v.1.1.5)
|
6
|
+
|
7
|
+
**Implemented enhancements:**
|
8
|
+
|
9
|
+
- Upgrade to support HTTP/2 [\#192](https://github.com/ably/ably-ruby/issues/192), fixed in [\#197](https://github.com/ably/ably-ruby/pull/197) ([mattheworiordan](https://github.com/mattheworiordan))
|
10
|
+
- Default fallback hosts for custom environments [\#232](https://github.com/ably/ably-ruby/issues/232), fixed in [\#196](https://github.com/ably/ably-ruby/pull/196) ([mattheworiordan](https://github.com/mattheworiordan), [owenpearson](https://github.com/owenpearson), [lmars](https://github.com/lmars))
|
11
|
+
|
3
12
|
## [v1.1.4](https://github.com/ably/ably-ruby/tree/v1.1.4)
|
4
13
|
|
5
14
|
[Full Changelog](https://github.com/ably/ably-ruby/compare/v1.1.3...v1.1.4)
|
data/SPEC.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Ably Realtime & REST Client Library 1.1.
|
1
|
+
# Ably Realtime & REST Client Library 1.1.5 Specification
|
2
2
|
|
3
3
|
### Ably::Realtime::Auth
|
4
4
|
_(see [spec/acceptance/realtime/auth_spec.rb](./spec/acceptance/realtime/auth_spec.rb))_
|
@@ -600,123 +600,124 @@ _(see [spec/acceptance/realtime/connection_failures_spec.rb](./spec/acceptance/r
|
|
600
600
|
* request fails due to slow response and subsequent timeout
|
601
601
|
* [the connection moves to the disconnected state and tries again, returning again to the disconnected state (#RSA4c, #RSA4c1, #RSA4c2)](./spec/acceptance/realtime/connection_failures_spec.rb#L127)
|
602
602
|
* request fails once due to slow response but succeeds the second time
|
603
|
-
* [the connection moves to the disconnected state and tries again, returning again to the disconnected state (#RSA4c, #RSA4c1, #RSA4c2)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
603
|
+
* [the connection moves to the disconnected state and tries again, returning again to the disconnected state (#RSA4c, #RSA4c1, #RSA4c2)](./spec/acceptance/realtime/connection_failures_spec.rb#L175)
|
604
604
|
* existing CONNECTED connection
|
605
605
|
* authorize request failure leaves connection in existing condition
|
606
|
-
* [the connection remains in the CONNECTED state and authorize fails (#RSA4c, #RSA4c1, #RSA4c3)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
606
|
+
* [the connection remains in the CONNECTED state and authorize fails (#RSA4c, #RSA4c1, #RSA4c3)](./spec/acceptance/realtime/connection_failures_spec.rb#L196)
|
607
607
|
* with auth_callback
|
608
608
|
* opening a new connection
|
609
609
|
* when callback fails due to an exception
|
610
|
-
* [the connection moves to the disconnected state and tries again, returning again to the disconnected state (#RSA4c, #RSA4c1, #RSA4c2)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
610
|
+
* [the connection moves to the disconnected state and tries again, returning again to the disconnected state (#RSA4c, #RSA4c1, #RSA4c2)](./spec/acceptance/realtime/connection_failures_spec.rb#L224)
|
611
611
|
* existing CONNECTED connection
|
612
612
|
* when callback fails due to the request taking longer than realtime_request_timeout
|
613
|
-
* [the authorization request fails as configured in the realtime_request_timeout (#RSA4c, #RSA4c1, #RSA4c3)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
613
|
+
* [the authorization request fails as configured in the realtime_request_timeout (#RSA4c, #RSA4c1, #RSA4c3)](./spec/acceptance/realtime/connection_failures_spec.rb#L255)
|
614
614
|
* automatic connection retry
|
615
615
|
* with invalid WebSocket host
|
616
616
|
* when disconnected
|
617
|
-
* [enters the suspended state after multiple attempts to connect](./spec/acceptance/realtime/connection_failures_spec.rb#
|
617
|
+
* [enters the suspended state after multiple attempts to connect](./spec/acceptance/realtime/connection_failures_spec.rb#L320)
|
618
618
|
* for the first time
|
619
|
-
* [reattempts connection immediately and then waits disconnected_retry_timeout for a subsequent attempt](./spec/acceptance/realtime/connection_failures_spec.rb#
|
619
|
+
* [reattempts connection immediately and then waits disconnected_retry_timeout for a subsequent attempt](./spec/acceptance/realtime/connection_failures_spec.rb#L341)
|
620
620
|
* #close
|
621
|
-
* [transitions connection state to :closed](./spec/acceptance/realtime/connection_failures_spec.rb#
|
621
|
+
* [transitions connection state to :closed](./spec/acceptance/realtime/connection_failures_spec.rb#L358)
|
622
622
|
* when connection state is :suspended
|
623
|
-
* [stays in the suspended state after any number of reconnection attempts](./spec/acceptance/realtime/connection_failures_spec.rb#
|
623
|
+
* [stays in the suspended state after any number of reconnection attempts](./spec/acceptance/realtime/connection_failures_spec.rb#L377)
|
624
624
|
* for the first time
|
625
|
-
* [waits suspended_retry_timeout before attempting to reconnect](./spec/acceptance/realtime/connection_failures_spec.rb#
|
625
|
+
* [waits suspended_retry_timeout before attempting to reconnect](./spec/acceptance/realtime/connection_failures_spec.rb#L400)
|
626
626
|
* #close
|
627
|
-
* [transitions connection state to :closed](./spec/acceptance/realtime/connection_failures_spec.rb#
|
627
|
+
* [transitions connection state to :closed](./spec/acceptance/realtime/connection_failures_spec.rb#L422)
|
628
628
|
* when connection state is :failed
|
629
629
|
* #close
|
630
|
-
* [will not transition state to :close and fails with an InvalidStateChange exception](./spec/acceptance/realtime/connection_failures_spec.rb#
|
630
|
+
* [will not transition state to :close and fails with an InvalidStateChange exception](./spec/acceptance/realtime/connection_failures_spec.rb#L441)
|
631
631
|
* #error_reason
|
632
|
-
* [contains the error when state is disconnected](./spec/acceptance/realtime/connection_failures_spec.rb#
|
633
|
-
* [contains the error when state is suspended](./spec/acceptance/realtime/connection_failures_spec.rb#
|
634
|
-
* [contains the error when state is failed](./spec/acceptance/realtime/connection_failures_spec.rb#
|
635
|
-
* [is reset to nil when :connected](./spec/acceptance/realtime/connection_failures_spec.rb#
|
636
|
-
* [is reset to nil when :closed](./spec/acceptance/realtime/connection_failures_spec.rb#
|
632
|
+
* [contains the error when state is disconnected](./spec/acceptance/realtime/connection_failures_spec.rb#L462)
|
633
|
+
* [contains the error when state is suspended](./spec/acceptance/realtime/connection_failures_spec.rb#L462)
|
634
|
+
* [contains the error when state is failed](./spec/acceptance/realtime/connection_failures_spec.rb#L462)
|
635
|
+
* [is reset to nil when :connected](./spec/acceptance/realtime/connection_failures_spec.rb#L476)
|
636
|
+
* [is reset to nil when :closed](./spec/acceptance/realtime/connection_failures_spec.rb#L487)
|
637
637
|
* #connect
|
638
638
|
* connection opening times out
|
639
|
-
* [attempts to reconnect](./spec/acceptance/realtime/connection_failures_spec.rb#
|
639
|
+
* [attempts to reconnect](./spec/acceptance/realtime/connection_failures_spec.rb#L518)
|
640
640
|
* when retry intervals are stubbed to attempt reconnection quickly
|
641
|
-
* [never calls the provided success block](./spec/acceptance/realtime/connection_failures_spec.rb#
|
641
|
+
* [never calls the provided success block](./spec/acceptance/realtime/connection_failures_spec.rb#L542)
|
642
642
|
* connection resume
|
643
643
|
* when DISCONNECTED ProtocolMessage received from the server
|
644
|
-
* [reconnects automatically and immediately](./spec/acceptance/realtime/connection_failures_spec.rb#
|
644
|
+
* [reconnects automatically and immediately](./spec/acceptance/realtime/connection_failures_spec.rb#L573)
|
645
645
|
* connection state freshness is monitored
|
646
|
-
* [resumes connections when disconnected within the connection_state_ttl period (#RTN15g)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
646
|
+
* [resumes connections when disconnected within the connection_state_ttl period (#RTN15g)](./spec/acceptance/realtime/connection_failures_spec.rb#L594)
|
647
647
|
* when connection_state_ttl period has passed since being disconnected
|
648
|
-
* [clears the local connection state and uses a new connection when the connection_state_ttl period has passed (#RTN15g)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
648
|
+
* [clears the local connection state and uses a new connection when the connection_state_ttl period has passed (#RTN15g)](./spec/acceptance/realtime/connection_failures_spec.rb#L634)
|
649
649
|
* when connection_state_ttl period has passed since last activity on the connection
|
650
|
-
* [does not clear the local connection state when the connection_state_ttl period has passed since last activity, but the idle timeout has not passed (#RTN15g1, #RTN15g2)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
651
|
-
* [clears the local connection state and uses a new connection when the connection_state_ttl + max_idle_interval period has passed since last activity (#RTN15g1, #RTN15g2)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
652
|
-
* [still reattaches the channels automatically following a new connection being established (#RTN15g2)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
650
|
+
* [does not clear the local connection state when the connection_state_ttl period has passed since last activity, but the idle timeout has not passed (#RTN15g1, #RTN15g2)](./spec/acceptance/realtime/connection_failures_spec.rb#L687)
|
651
|
+
* [clears the local connection state and uses a new connection when the connection_state_ttl + max_idle_interval period has passed since last activity (#RTN15g1, #RTN15g2)](./spec/acceptance/realtime/connection_failures_spec.rb#L721)
|
652
|
+
* [still reattaches the channels automatically following a new connection being established (#RTN15g2)](./spec/acceptance/realtime/connection_failures_spec.rb#L756)
|
653
653
|
* and subsequently fails to reconnect
|
654
|
-
* [retries every 15 seconds](./spec/acceptance/realtime/connection_failures_spec.rb#
|
654
|
+
* [retries every 15 seconds](./spec/acceptance/realtime/connection_failures_spec.rb#L815)
|
655
655
|
* when websocket transport is abruptly disconnected
|
656
|
-
* [reconnects automatically](./spec/acceptance/realtime/connection_failures_spec.rb#
|
656
|
+
* [reconnects automatically](./spec/acceptance/realtime/connection_failures_spec.rb#L858)
|
657
657
|
* hosts used
|
658
|
-
* [reconnects with the default host](./spec/acceptance/realtime/connection_failures_spec.rb#
|
658
|
+
* [reconnects with the default host](./spec/acceptance/realtime/connection_failures_spec.rb#L874)
|
659
659
|
* after successfully reconnecting and resuming
|
660
|
-
* [retains connection_id and updates the connection_key (#RTN15e, #RTN16d)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
661
|
-
* [includes the error received in the connection state change from Ably but leaves the channels attached](./spec/acceptance/realtime/connection_failures_spec.rb#
|
662
|
-
* [retains channel subscription state](./spec/acceptance/realtime/connection_failures_spec.rb#
|
663
|
-
* [retains the client_msg_serial (#RTN15c2, #RTN15c3)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
660
|
+
* [retains connection_id and updates the connection_key (#RTN15e, #RTN16d)](./spec/acceptance/realtime/connection_failures_spec.rb#L898)
|
661
|
+
* [includes the error received in the connection state change from Ably but leaves the channels attached](./spec/acceptance/realtime/connection_failures_spec.rb#L913)
|
662
|
+
* [retains channel subscription state](./spec/acceptance/realtime/connection_failures_spec.rb#L939)
|
663
|
+
* [retains the client_msg_serial (#RTN15c2, #RTN15c3)](./spec/acceptance/realtime/connection_failures_spec.rb#L1000)
|
664
664
|
* when messages were published whilst the client was disconnected
|
665
|
-
* [receives the messages published whilst offline](./spec/acceptance/realtime/connection_failures_spec.rb#
|
665
|
+
* [receives the messages published whilst offline](./spec/acceptance/realtime/connection_failures_spec.rb#L967)
|
666
666
|
* when failing to resume
|
667
667
|
* because the connection_key is not or no longer valid
|
668
|
-
* [updates the connection_id and connection_key](./spec/acceptance/realtime/connection_failures_spec.rb#
|
669
|
-
* [issue a reattach for all attached channels and fail all message awaiting an ACK (#RTN15c3)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
670
|
-
* [issue a reattach for all attaching channels and fail all queued messages (#RTN15c3)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
671
|
-
* [issue a attach for all suspended channels (#RTN15c3)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
672
|
-
* [sets the error reason on each channel](./spec/acceptance/realtime/connection_failures_spec.rb#
|
673
|
-
* [continues to use the client_msg_serial (#RTN15c3)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
668
|
+
* [updates the connection_id and connection_key](./spec/acceptance/realtime/connection_failures_spec.rb#L1040)
|
669
|
+
* [issue a reattach for all attached channels and fail all message awaiting an ACK (#RTN15c3)](./spec/acceptance/realtime/connection_failures_spec.rb#L1055)
|
670
|
+
* [issue a reattach for all attaching channels and fail all queued messages (#RTN15c3)](./spec/acceptance/realtime/connection_failures_spec.rb#L1093)
|
671
|
+
* [issue a attach for all suspended channels (#RTN15c3)](./spec/acceptance/realtime/connection_failures_spec.rb#L1129)
|
672
|
+
* [sets the error reason on each channel](./spec/acceptance/realtime/connection_failures_spec.rb#L1167)
|
673
|
+
* [continues to use the client_msg_serial (#RTN15c3)](./spec/acceptance/realtime/connection_failures_spec.rb#L1182)
|
674
674
|
* as the DISCONNECTED window to resume has passed
|
675
|
-
* [starts a new connection automatically and does not try and resume](./spec/acceptance/realtime/connection_failures_spec.rb#
|
675
|
+
* [starts a new connection automatically and does not try and resume](./spec/acceptance/realtime/connection_failures_spec.rb#L1219)
|
676
676
|
* when an ERROR protocol message is received
|
677
677
|
* whilst connecting
|
678
678
|
* with a token error code in the range 40140 <= code < 40150 (#RTN14b)
|
679
|
-
* [triggers a re-authentication](./spec/acceptance/realtime/connection_failures_spec.rb#
|
679
|
+
* [triggers a re-authentication](./spec/acceptance/realtime/connection_failures_spec.rb#L1250)
|
680
680
|
* with an error code indicating an error other than a token failure (#RTN14g, #RTN15i)
|
681
|
-
* [causes the connection to fail](./spec/acceptance/realtime/connection_failures_spec.rb#
|
681
|
+
* [causes the connection to fail](./spec/acceptance/realtime/connection_failures_spec.rb#L1266)
|
682
682
|
* with no error code indicating an error other than a token failure (#RTN14g, #RTN15i)
|
683
|
-
* [causes the connection to fail](./spec/acceptance/realtime/connection_failures_spec.rb#
|
683
|
+
* [causes the connection to fail](./spec/acceptance/realtime/connection_failures_spec.rb#L1279)
|
684
684
|
* whilst connected
|
685
685
|
* with a token error code in the range 40140 <= code < 40150 (#RTN14b)
|
686
|
-
* [triggers a re-authentication](./spec/acceptance/realtime/connection_failures_spec.rb#
|
686
|
+
* [triggers a re-authentication](./spec/acceptance/realtime/connection_failures_spec.rb#L1250)
|
687
687
|
* with an error code indicating an error other than a token failure (#RTN14g, #RTN15i)
|
688
|
-
* [causes the connection to fail](./spec/acceptance/realtime/connection_failures_spec.rb#
|
688
|
+
* [causes the connection to fail](./spec/acceptance/realtime/connection_failures_spec.rb#L1266)
|
689
689
|
* with no error code indicating an error other than a token failure (#RTN14g, #RTN15i)
|
690
|
-
* [causes the connection to fail](./spec/acceptance/realtime/connection_failures_spec.rb#
|
690
|
+
* [causes the connection to fail](./spec/acceptance/realtime/connection_failures_spec.rb#L1279)
|
691
691
|
* whilst resuming
|
692
692
|
* with a token error code in the region 40140 <= code < 40150 (RTN15c5)
|
693
|
-
* [triggers a re-authentication and then resumes the connection](./spec/acceptance/realtime/connection_failures_spec.rb#
|
693
|
+
* [triggers a re-authentication and then resumes the connection](./spec/acceptance/realtime/connection_failures_spec.rb#L1323)
|
694
694
|
* with any other error (#RTN15c4)
|
695
|
-
* [moves the connection to the failed state](./spec/acceptance/realtime/connection_failures_spec.rb#
|
695
|
+
* [moves the connection to the failed state](./spec/acceptance/realtime/connection_failures_spec.rb#L1355)
|
696
696
|
* fallback host feature
|
697
697
|
* with custom realtime websocket host option
|
698
|
-
* [never uses a fallback host](./spec/acceptance/realtime/connection_failures_spec.rb#
|
698
|
+
* [never uses a fallback host](./spec/acceptance/realtime/connection_failures_spec.rb#L1399)
|
699
699
|
* with custom realtime websocket port option
|
700
|
-
* [never uses a fallback host](./spec/acceptance/realtime/connection_failures_spec.rb#
|
700
|
+
* [never uses a fallback host](./spec/acceptance/realtime/connection_failures_spec.rb#L1417)
|
701
701
|
* with non-production environment
|
702
|
-
*
|
702
|
+
* :fallback_hosts_use_default is unset
|
703
|
+
* [uses fallback hosts by default](./spec/acceptance/realtime/connection_failures_spec.rb#L1441)
|
703
704
|
* :fallback_hosts_use_default is true
|
704
|
-
* [uses a fallback host on every subsequent disconnected attempt until suspended (#RTN17b, #TO3k7)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
705
|
-
* [does not use a fallback host if the connection connects on the default host and then later becomes disconnected](./spec/acceptance/realtime/connection_failures_spec.rb#
|
705
|
+
* [uses a fallback host on every subsequent disconnected attempt until suspended (#RTN17b, #TO3k7)](./spec/acceptance/realtime/connection_failures_spec.rb#L1459)
|
706
|
+
* [does not use a fallback host if the connection connects on the default host and then later becomes disconnected](./spec/acceptance/realtime/connection_failures_spec.rb#L1477)
|
706
707
|
* :fallback_hosts array is provided
|
707
|
-
* [uses a fallback host on every subsequent disconnected attempt until suspended (#RTN17b, #TO3k6)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
708
|
+
* [uses a fallback host on every subsequent disconnected attempt until suspended (#RTN17b, #TO3k6)](./spec/acceptance/realtime/connection_failures_spec.rb#L1505)
|
708
709
|
* with production environment
|
709
710
|
* when the Internet is down
|
710
|
-
* [never uses a fallback host](./spec/acceptance/realtime/connection_failures_spec.rb#
|
711
|
+
* [never uses a fallback host](./spec/acceptance/realtime/connection_failures_spec.rb#L1541)
|
711
712
|
* when the Internet is up
|
712
713
|
* and default options
|
713
|
-
* [uses a fallback host + the original host once on every subsequent disconnected attempt until suspended](./spec/acceptance/realtime/connection_failures_spec.rb#
|
714
|
-
* [uses the primary host when suspended, and then every fallback host and the primary host again on every subsequent suspended attempt](./spec/acceptance/realtime/connection_failures_spec.rb#
|
715
|
-
* [uses the correct host name for the WebSocket requests to the fallback hosts](./spec/acceptance/realtime/connection_failures_spec.rb#
|
714
|
+
* [uses a fallback host + the original host once on every subsequent disconnected attempt until suspended](./spec/acceptance/realtime/connection_failures_spec.rb#L1564)
|
715
|
+
* [uses the primary host when suspended, and then every fallback host and the primary host again on every subsequent suspended attempt](./spec/acceptance/realtime/connection_failures_spec.rb#L1583)
|
716
|
+
* [uses the correct host name for the WebSocket requests to the fallback hosts](./spec/acceptance/realtime/connection_failures_spec.rb#L1606)
|
716
717
|
* :fallback_hosts array is provided by an empty array
|
717
|
-
* [uses a fallback host on every subsequent disconnected attempt until suspended (#RTN17b, #TO3k6)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
718
|
+
* [uses a fallback host on every subsequent disconnected attempt until suspended (#RTN17b, #TO3k6)](./spec/acceptance/realtime/connection_failures_spec.rb#L1636)
|
718
719
|
* :fallback_hosts array is provided
|
719
|
-
* [uses a fallback host on every subsequent disconnected attempt until suspended (#RTN17b, #TO3k6)](./spec/acceptance/realtime/connection_failures_spec.rb#
|
720
|
+
* [uses a fallback host on every subsequent disconnected attempt until suspended (#RTN17b, #TO3k6)](./spec/acceptance/realtime/connection_failures_spec.rb#L1656)
|
720
721
|
|
721
722
|
### Ably::Realtime::Connection
|
722
723
|
_(see [spec/acceptance/realtime/connection_spec.rb](./spec/acceptance/realtime/connection_spec.rb))_
|
@@ -737,7 +738,7 @@ _(see [spec/acceptance/realtime/connection_spec.rb](./spec/acceptance/realtime/c
|
|
737
738
|
* opening a new connection
|
738
739
|
* with almost expired tokens
|
739
740
|
* [renews token every time after it expires](./spec/acceptance/realtime/connection_spec.rb#L106)
|
740
|
-
* with immediately expired token
|
741
|
+
* with immediately expired token and no fallback hosts
|
741
742
|
* [renews the token on connect, and makes one immediate subsequent attempt to obtain a new token (#RSA4b)](./spec/acceptance/realtime/connection_spec.rb#L136)
|
742
743
|
* when disconnected_retry_timeout is 0.5 seconds
|
743
744
|
* [renews the token on connect, and continues to attempt renew based on the retry schedule](./spec/acceptance/realtime/connection_spec.rb#L151)
|
@@ -769,176 +770,176 @@ _(see [spec/acceptance/realtime/connection_spec.rb](./spec/acceptance/realtime/c
|
|
769
770
|
* [are emitted in order](./spec/acceptance/realtime/connection_spec.rb#L431)
|
770
771
|
* with explicit #connect
|
771
772
|
* [are emitted in order](./spec/acceptance/realtime/connection_spec.rb#L437)
|
772
|
-
* #connect
|
773
|
-
* [returns a SafeDeferrable that catches exceptions in callbacks and logs them](./spec/acceptance/realtime/connection_spec.rb#
|
774
|
-
* [calls the Deferrable callback on success](./spec/acceptance/realtime/connection_spec.rb#
|
775
|
-
* [calls the provided block on success even if state changes to disconnected first](./spec/acceptance/realtime/connection_spec.rb#
|
773
|
+
* #connect with no fallbacks
|
774
|
+
* [returns a SafeDeferrable that catches exceptions in callbacks and logs them](./spec/acceptance/realtime/connection_spec.rb#L447)
|
775
|
+
* [calls the Deferrable callback on success](./spec/acceptance/realtime/connection_spec.rb#L452)
|
776
|
+
* [calls the provided block on success even if state changes to disconnected first](./spec/acceptance/realtime/connection_spec.rb#L459)
|
776
777
|
* with invalid auth details
|
777
|
-
* [calls the Deferrable errback only once on connection failure](./spec/acceptance/realtime/connection_spec.rb#
|
778
|
+
* [calls the Deferrable errback only once on connection failure](./spec/acceptance/realtime/connection_spec.rb#L488)
|
778
779
|
* when already connected
|
779
|
-
* [does nothing and no further state changes are emitted](./spec/acceptance/realtime/connection_spec.rb#
|
780
|
+
* [does nothing and no further state changes are emitted](./spec/acceptance/realtime/connection_spec.rb#L504)
|
780
781
|
* connection#id
|
781
|
-
* [is null before connecting](./spec/acceptance/realtime/connection_spec.rb#
|
782
|
+
* [is null before connecting](./spec/acceptance/realtime/connection_spec.rb#L518)
|
782
783
|
* connection#key
|
783
|
-
* [is null before connecting](./spec/acceptance/realtime/connection_spec.rb#
|
784
|
+
* [is null before connecting](./spec/acceptance/realtime/connection_spec.rb#L525)
|
784
785
|
* once connected
|
785
786
|
* connection#id
|
786
|
-
* [is a string](./spec/acceptance/realtime/connection_spec.rb#
|
787
|
-
* [is unique from the connection#key](./spec/acceptance/realtime/connection_spec.rb#
|
788
|
-
* [is unique for every connection](./spec/acceptance/realtime/connection_spec.rb#
|
787
|
+
* [is a string](./spec/acceptance/realtime/connection_spec.rb#L536)
|
788
|
+
* [is unique from the connection#key](./spec/acceptance/realtime/connection_spec.rb#L543)
|
789
|
+
* [is unique for every connection](./spec/acceptance/realtime/connection_spec.rb#L550)
|
789
790
|
* connection#key
|
790
|
-
* [is a string](./spec/acceptance/realtime/connection_spec.rb#
|
791
|
-
* [is unique from the connection#id](./spec/acceptance/realtime/connection_spec.rb#
|
792
|
-
* [is unique for every connection](./spec/acceptance/realtime/connection_spec.rb#
|
791
|
+
* [is a string](./spec/acceptance/realtime/connection_spec.rb#L559)
|
792
|
+
* [is unique from the connection#id](./spec/acceptance/realtime/connection_spec.rb#L566)
|
793
|
+
* [is unique for every connection](./spec/acceptance/realtime/connection_spec.rb#L573)
|
793
794
|
* following a previous connection being opened and closed
|
794
|
-
* [reconnects and is provided with a new connection ID and connection key from the server](./spec/acceptance/realtime/connection_spec.rb#
|
795
|
+
* [reconnects and is provided with a new connection ID and connection key from the server](./spec/acceptance/realtime/connection_spec.rb#L583)
|
795
796
|
* when closing
|
796
|
-
* [fails the deferrable before the connection is closed](./spec/acceptance/realtime/connection_spec.rb#
|
797
|
+
* [fails the deferrable before the connection is closed](./spec/acceptance/realtime/connection_spec.rb#L600)
|
797
798
|
* #serial connection serial
|
798
|
-
* [is set to -1 when a new connection is opened](./spec/acceptance/realtime/connection_spec.rb#
|
799
|
-
* [is set to 0 when a message is received back](./spec/acceptance/realtime/connection_spec.rb#
|
800
|
-
* [is set to 1 when the second message is received](./spec/acceptance/realtime/connection_spec.rb#
|
799
|
+
* [is set to -1 when a new connection is opened](./spec/acceptance/realtime/connection_spec.rb#L617)
|
800
|
+
* FAILED: ~~[is set to 0 when a message is received back](./spec/acceptance/realtime/connection_spec.rb#L640)~~
|
801
|
+
* [is set to 1 when the second message is received](./spec/acceptance/realtime/connection_spec.rb#L648)
|
801
802
|
* when a message is sent but the ACK has not yet been received
|
802
|
-
* [the sent message msgSerial is 0 but the connection serial remains at -1](./spec/acceptance/realtime/connection_spec.rb#
|
803
|
+
* [the sent message msgSerial is 0 but the connection serial remains at -1](./spec/acceptance/realtime/connection_spec.rb#L625)
|
803
804
|
* #msgSerial
|
804
805
|
* when messages are queued for publish before a connection is established
|
805
|
-
* [the msgSerial is always incrementing (and not reset when the new connection is established) ensuring messages are never de-duped by the realtime service](./spec/acceptance/realtime/connection_spec.rb#
|
806
|
+
* [the msgSerial is always incrementing (and not reset when the new connection is established) ensuring messages are never de-duped by the realtime service](./spec/acceptance/realtime/connection_spec.rb#L676)
|
806
807
|
* #close
|
807
|
-
* [returns a SafeDeferrable that catches exceptions in callbacks and logs them](./spec/acceptance/realtime/connection_spec.rb#
|
808
|
-
* [calls the Deferrable callback on success](./spec/acceptance/realtime/connection_spec.rb#
|
808
|
+
* [returns a SafeDeferrable that catches exceptions in callbacks and logs them](./spec/acceptance/realtime/connection_spec.rb#L696)
|
809
|
+
* [calls the Deferrable callback on success](./spec/acceptance/realtime/connection_spec.rb#L703)
|
809
810
|
* when already closed
|
810
|
-
* [does nothing and no further state changes are emitted](./spec/acceptance/realtime/connection_spec.rb#
|
811
|
+
* [does nothing and no further state changes are emitted](./spec/acceptance/realtime/connection_spec.rb#L714)
|
811
812
|
* when connection state is
|
812
813
|
* :initialized
|
813
|
-
* [changes the connection state to :closing and then immediately :closed without sending a ProtocolMessage CLOSE](./spec/acceptance/realtime/connection_spec.rb#
|
814
|
+
* [changes the connection state to :closing and then immediately :closed without sending a ProtocolMessage CLOSE](./spec/acceptance/realtime/connection_spec.rb#L741)
|
814
815
|
* :connected
|
815
|
-
* [changes the connection state to :closing and waits for the server to confirm connection is :closed with a ProtocolMessage](./spec/acceptance/realtime/connection_spec.rb#
|
816
|
+
* [changes the connection state to :closing and waits for the server to confirm connection is :closed with a ProtocolMessage](./spec/acceptance/realtime/connection_spec.rb#L758)
|
816
817
|
* with an unresponsive connection
|
817
|
-
* [force closes the connection when a :closed ProtocolMessage response is not received](./spec/acceptance/realtime/connection_spec.rb#
|
818
|
+
* [force closes the connection when a :closed ProtocolMessage response is not received](./spec/acceptance/realtime/connection_spec.rb#L785)
|
818
819
|
* #ping
|
819
|
-
* [echoes a heart beat (#RTN13a)](./spec/acceptance/realtime/connection_spec.rb#
|
820
|
-
* [sends a unique ID in each protocol message (#RTN13e)](./spec/acceptance/realtime/connection_spec.rb#
|
821
|
-
* [waits until the connection becomes CONNECTED when in the CONNETING state](./spec/acceptance/realtime/connection_spec.rb#
|
820
|
+
* [echoes a heart beat (#RTN13a)](./spec/acceptance/realtime/connection_spec.rb#L807)
|
821
|
+
* [sends a unique ID in each protocol message (#RTN13e)](./spec/acceptance/realtime/connection_spec.rb#L817)
|
822
|
+
* [waits until the connection becomes CONNECTED when in the CONNETING state](./spec/acceptance/realtime/connection_spec.rb#L841)
|
822
823
|
* with incompatible states
|
823
824
|
* when not connected
|
824
|
-
* [fails the deferrable (#RTN13b)](./spec/acceptance/realtime/connection_spec.rb#
|
825
|
+
* [fails the deferrable (#RTN13b)](./spec/acceptance/realtime/connection_spec.rb#L854)
|
825
826
|
* when suspended
|
826
|
-
* [fails the deferrable (#RTN13b)](./spec/acceptance/realtime/connection_spec.rb#
|
827
|
+
* [fails the deferrable (#RTN13b)](./spec/acceptance/realtime/connection_spec.rb#L863)
|
827
828
|
* when failed
|
828
|
-
* [fails the deferrable (#RTN13b)](./spec/acceptance/realtime/connection_spec.rb#
|
829
|
+
* [fails the deferrable (#RTN13b)](./spec/acceptance/realtime/connection_spec.rb#L875)
|
829
830
|
* when closed
|
830
|
-
* [fails the deferrable (#RTN13b)](./spec/acceptance/realtime/connection_spec.rb#
|
831
|
+
* [fails the deferrable (#RTN13b)](./spec/acceptance/realtime/connection_spec.rb#L887)
|
831
832
|
* when it becomes closed
|
832
|
-
* [fails the deferrable (#RTN13b)](./spec/acceptance/realtime/connection_spec.rb#
|
833
|
+
* [fails the deferrable (#RTN13b)](./spec/acceptance/realtime/connection_spec.rb#L901)
|
833
834
|
* with a success block that raises an exception
|
834
|
-
* [catches the exception and logs the error](./spec/acceptance/realtime/connection_spec.rb#
|
835
|
+
* [catches the exception and logs the error](./spec/acceptance/realtime/connection_spec.rb#L914)
|
835
836
|
* when ping times out
|
836
|
-
* [fails the deferrable logs a warning (#RTN13a, #RTN13c)](./spec/acceptance/realtime/connection_spec.rb#
|
837
|
-
* [yields to the block with a nil value](./spec/acceptance/realtime/connection_spec.rb#
|
837
|
+
* [fails the deferrable logs a warning (#RTN13a, #RTN13c)](./spec/acceptance/realtime/connection_spec.rb#L928)
|
838
|
+
* [yields to the block with a nil value](./spec/acceptance/realtime/connection_spec.rb#L947)
|
838
839
|
* Heartbeats (#RTN23)
|
839
840
|
* heartbeat interval
|
840
841
|
* when reduced artificially
|
841
|
-
* [is the sum of the max_idle_interval and realtime_request_timeout (#RTN23a)](./spec/acceptance/realtime/connection_spec.rb#
|
842
|
-
* [disconnects the transport if no heartbeat received since connected (#RTN23a)](./spec/acceptance/realtime/connection_spec.rb#
|
843
|
-
* [disconnects the transport if no heartbeat received since last event received (#RTN23a)](./spec/acceptance/realtime/connection_spec.rb#
|
842
|
+
* [is the sum of the max_idle_interval and realtime_request_timeout (#RTN23a)](./spec/acceptance/realtime/connection_spec.rb#L974)
|
843
|
+
* [disconnects the transport if no heartbeat received since connected (#RTN23a)](./spec/acceptance/realtime/connection_spec.rb#L984)
|
844
|
+
* [disconnects the transport if no heartbeat received since last event received (#RTN23a)](./spec/acceptance/realtime/connection_spec.rb#L995)
|
844
845
|
* transport-level heartbeats are supported in the websocket transport
|
845
|
-
* [provides the heartbeats argument in the websocket connection params (#RTN23b)](./spec/acceptance/realtime/connection_spec.rb#
|
846
|
-
* [receives websocket heartbeat messages (#RTN23b) [slow test as need to wait for heartbeat]](./spec/acceptance/realtime/connection_spec.rb#
|
846
|
+
* [provides the heartbeats argument in the websocket connection params (#RTN23b)](./spec/acceptance/realtime/connection_spec.rb#L1010)
|
847
|
+
* [receives websocket heartbeat messages (#RTN23b) [slow test as need to wait for heartbeat]](./spec/acceptance/realtime/connection_spec.rb#L1019)
|
847
848
|
* with websocket heartbeats disabled (undocumented)
|
848
|
-
* [does not provide the heartbeats argument in the websocket connection params (#RTN23b)](./spec/acceptance/realtime/connection_spec.rb#
|
849
|
-
* [receives websocket protocol messages (#RTN23b) [slow test as need to wait for heartbeat]](./spec/acceptance/realtime/connection_spec.rb#
|
849
|
+
* [does not provide the heartbeats argument in the websocket connection params (#RTN23b)](./spec/acceptance/realtime/connection_spec.rb#L1035)
|
850
|
+
* [receives websocket protocol messages (#RTN23b) [slow test as need to wait for heartbeat]](./spec/acceptance/realtime/connection_spec.rb#L1044)
|
850
851
|
* #details
|
851
|
-
* [is nil before connected](./spec/acceptance/realtime/connection_spec.rb#
|
852
|
-
* [contains the ConnectionDetails object once connected (#RTN21)](./spec/acceptance/realtime/connection_spec.rb#
|
853
|
-
* [contains the new ConnectionDetails object once a subsequent connection is created (#RTN21)](./spec/acceptance/realtime/connection_spec.rb#
|
852
|
+
* [is nil before connected](./spec/acceptance/realtime/connection_spec.rb#L1062)
|
853
|
+
* [contains the ConnectionDetails object once connected (#RTN21)](./spec/acceptance/realtime/connection_spec.rb#L1069)
|
854
|
+
* [contains the new ConnectionDetails object once a subsequent connection is created (#RTN21)](./spec/acceptance/realtime/connection_spec.rb#L1078)
|
854
855
|
* with a different default connection_state_ttl
|
855
|
-
* [updates the private Connection#connection_state_ttl when received from Ably in ConnectionDetails](./spec/acceptance/realtime/connection_spec.rb#
|
856
|
+
* [updates the private Connection#connection_state_ttl when received from Ably in ConnectionDetails](./spec/acceptance/realtime/connection_spec.rb#L1099)
|
856
857
|
* recovery
|
857
858
|
* #recovery_key
|
858
|
-
* [is composed of connection key and serial that is kept up to date with each message ACK received](./spec/acceptance/realtime/connection_spec.rb#
|
859
|
-
* [is available when connection is in one of the states: connecting, connected, disconnected](./spec/acceptance/realtime/connection_spec.rb#
|
860
|
-
* [is nil when connection is explicitly CLOSED](./spec/acceptance/realtime/connection_spec.rb#
|
859
|
+
* [is composed of connection key and serial that is kept up to date with each message ACK received](./spec/acceptance/realtime/connection_spec.rb#L1136)
|
860
|
+
* [is available when connection is in one of the states: connecting, connected, disconnected](./spec/acceptance/realtime/connection_spec.rb#L1164)
|
861
|
+
* [is nil when connection is explicitly CLOSED](./spec/acceptance/realtime/connection_spec.rb#L1194)
|
861
862
|
* opening a new connection using a recently disconnected connection's #recovery_key
|
862
863
|
* connection#id after recovery
|
863
|
-
* [remains the same](./spec/acceptance/realtime/connection_spec.rb#
|
864
|
+
* [remains the same](./spec/acceptance/realtime/connection_spec.rb#L1206)
|
864
865
|
* when messages have been sent whilst the old connection is disconnected
|
865
866
|
* the new connection
|
866
|
-
* [recovers server-side queued messages](./spec/acceptance/realtime/connection_spec.rb#
|
867
|
+
* [recovers server-side queued messages](./spec/acceptance/realtime/connection_spec.rb#L1242)
|
867
868
|
* when messages have been published
|
868
869
|
* the new connection
|
869
|
-
* [uses the correct msgSerial from the old connection](./spec/acceptance/realtime/connection_spec.rb#
|
870
|
+
* [uses the correct msgSerial from the old connection](./spec/acceptance/realtime/connection_spec.rb#L1271)
|
870
871
|
* when messages are published before the new connection is recovered
|
871
872
|
* the new connection
|
872
|
-
* [uses the correct msgSerial from the old connection for the queued messages](./spec/acceptance/realtime/connection_spec.rb#
|
873
|
+
* [uses the correct msgSerial from the old connection for the queued messages](./spec/acceptance/realtime/connection_spec.rb#L1301)
|
873
874
|
* with :recover option
|
874
875
|
* with invalid syntax
|
875
|
-
* [raises an exception](./spec/acceptance/realtime/connection_spec.rb#
|
876
|
+
* [raises an exception](./spec/acceptance/realtime/connection_spec.rb#L1348)
|
876
877
|
* with invalid formatted value sent to server
|
877
|
-
* [sets the #error_reason and moves the connection to FAILED](./spec/acceptance/realtime/connection_spec.rb#
|
878
|
+
* [sets the #error_reason and moves the connection to FAILED](./spec/acceptance/realtime/connection_spec.rb#L1357)
|
878
879
|
* with expired (missing) value sent to server
|
879
|
-
* [connects but sets the error reason and includes the reason in the state change](./spec/acceptance/realtime/connection_spec.rb#
|
880
|
+
* [connects but sets the error reason and includes the reason in the state change](./spec/acceptance/realtime/connection_spec.rb#L1372)
|
880
881
|
* with many connections simultaneously
|
881
|
-
* [opens each with a unique connection#id and connection#key](./spec/acceptance/realtime/connection_spec.rb#
|
882
|
+
* [opens each with a unique connection#id and connection#key](./spec/acceptance/realtime/connection_spec.rb#L1391)
|
882
883
|
* when a state transition is unsupported
|
883
|
-
* [logs the invalid state change as fatal](./spec/acceptance/realtime/connection_spec.rb#
|
884
|
+
* [logs the invalid state change as fatal](./spec/acceptance/realtime/connection_spec.rb#L1411)
|
884
885
|
* protocol failure
|
885
886
|
* receiving an invalid ProtocolMessage
|
886
|
-
* [emits an error on the connection and logs a fatal error message](./spec/acceptance/realtime/connection_spec.rb#
|
887
|
+
* [emits an error on the connection and logs a fatal error message](./spec/acceptance/realtime/connection_spec.rb#L1427)
|
887
888
|
* undocumented method
|
888
889
|
* #internet_up?
|
889
|
-
* [returns a Deferrable](./spec/acceptance/realtime/connection_spec.rb#
|
890
|
+
* [returns a Deferrable](./spec/acceptance/realtime/connection_spec.rb#L1445)
|
890
891
|
* internet up URL protocol
|
891
892
|
* when using TLS for the connection
|
892
|
-
* [uses TLS for the Internet check to https://internet-up.ably-realtime.com/is-the-internet-up.txt](./spec/acceptance/realtime/connection_spec.rb#
|
893
|
+
* [uses TLS for the Internet check to https://internet-up.ably-realtime.com/is-the-internet-up.txt](./spec/acceptance/realtime/connection_spec.rb#L1456)
|
893
894
|
* when using a non-secured connection
|
894
|
-
* [uses TLS for the Internet check to http://internet-up.ably-realtime.com/is-the-internet-up.txt](./spec/acceptance/realtime/connection_spec.rb#
|
895
|
+
* [uses TLS for the Internet check to http://internet-up.ably-realtime.com/is-the-internet-up.txt](./spec/acceptance/realtime/connection_spec.rb#L1466)
|
895
896
|
* when the Internet is up
|
896
|
-
* [calls the block with true](./spec/acceptance/realtime/connection_spec.rb#
|
897
|
-
* [calls the success callback of the Deferrable](./spec/acceptance/realtime/connection_spec.rb#
|
897
|
+
* [calls the block with true](./spec/acceptance/realtime/connection_spec.rb#L1497)
|
898
|
+
* [calls the success callback of the Deferrable](./spec/acceptance/realtime/connection_spec.rb#L1504)
|
898
899
|
* with a TLS connection
|
899
|
-
* [checks the Internet up URL over TLS](./spec/acceptance/realtime/connection_spec.rb#
|
900
|
+
* [checks the Internet up URL over TLS](./spec/acceptance/realtime/connection_spec.rb#L1480)
|
900
901
|
* with a non-TLS connection
|
901
|
-
* [checks the Internet up URL over TLS](./spec/acceptance/realtime/connection_spec.rb#
|
902
|
+
* [checks the Internet up URL over TLS](./spec/acceptance/realtime/connection_spec.rb#L1490)
|
902
903
|
* when the Internet is down
|
903
|
-
* [calls the block with false](./spec/acceptance/realtime/connection_spec.rb#
|
904
|
-
* [calls the failure callback of the Deferrable](./spec/acceptance/realtime/connection_spec.rb#
|
904
|
+
* [calls the block with false](./spec/acceptance/realtime/connection_spec.rb#L1519)
|
905
|
+
* [calls the failure callback of the Deferrable](./spec/acceptance/realtime/connection_spec.rb#L1526)
|
905
906
|
* state change side effects
|
906
907
|
* when connection enters the :disconnected state
|
907
|
-
* [queues messages to be sent and all channels remain attached](./spec/acceptance/realtime/connection_spec.rb#
|
908
|
+
* [queues messages to be sent and all channels remain attached](./spec/acceptance/realtime/connection_spec.rb#L1540)
|
908
909
|
* when connection enters the :suspended state
|
909
|
-
* [moves the channels into the suspended state and prevents publishing of messages on those channels](./spec/acceptance/realtime/connection_spec.rb#
|
910
|
+
* [moves the channels into the suspended state and prevents publishing of messages on those channels](./spec/acceptance/realtime/connection_spec.rb#L1573)
|
910
911
|
* when connection enters the :failed state
|
911
|
-
* [sets all channels to failed and prevents publishing of messages on those channels](./spec/acceptance/realtime/connection_spec.rb#
|
912
|
+
* [sets all channels to failed and prevents publishing of messages on those channels](./spec/acceptance/realtime/connection_spec.rb#L1604)
|
912
913
|
* connection state change
|
913
|
-
* [emits event to all and single subscribers](./spec/acceptance/realtime/connection_spec.rb#
|
914
|
-
* [emits a ConnectionStateChange object](./spec/acceptance/realtime/connection_spec.rb#
|
914
|
+
* [emits event to all and single subscribers](./spec/acceptance/realtime/connection_spec.rb#L1618)
|
915
|
+
* [emits a ConnectionStateChange object](./spec/acceptance/realtime/connection_spec.rb#L1633)
|
915
916
|
* ConnectionStateChange object
|
916
|
-
* [has current state](./spec/acceptance/realtime/connection_spec.rb#
|
917
|
-
* [has a previous state](./spec/acceptance/realtime/connection_spec.rb#
|
918
|
-
* [has the event that generated the state change (#TH5)](./spec/acceptance/realtime/connection_spec.rb#
|
919
|
-
* [has an empty reason when there is no error](./spec/acceptance/realtime/connection_spec.rb#
|
917
|
+
* [has current state](./spec/acceptance/realtime/connection_spec.rb#L1641)
|
918
|
+
* [has a previous state](./spec/acceptance/realtime/connection_spec.rb#L1649)
|
919
|
+
* [has the event that generated the state change (#TH5)](./spec/acceptance/realtime/connection_spec.rb#L1657)
|
920
|
+
* [has an empty reason when there is no error](./spec/acceptance/realtime/connection_spec.rb#L1673)
|
920
921
|
* on failure
|
921
|
-
* [has a reason Error object when there is an error on the connection](./spec/acceptance/realtime/connection_spec.rb#
|
922
|
+
* [has a reason Error object when there is an error on the connection](./spec/acceptance/realtime/connection_spec.rb#L1686)
|
922
923
|
* retry_in
|
923
|
-
* [is nil when a retry is not required](./spec/acceptance/realtime/connection_spec.rb#
|
924
|
-
* [is 0 when first attempt to connect fails](./spec/acceptance/realtime/connection_spec.rb#
|
925
|
-
* [is 0 when an immediate reconnect will occur](./spec/acceptance/realtime/connection_spec.rb#
|
926
|
-
* [contains the next retry period when an immediate reconnect will not occur](./spec/acceptance/realtime/connection_spec.rb#
|
924
|
+
* [is nil when a retry is not required](./spec/acceptance/realtime/connection_spec.rb#L1701)
|
925
|
+
* [is 0 when first attempt to connect fails](./spec/acceptance/realtime/connection_spec.rb#L1708)
|
926
|
+
* [is 0 when an immediate reconnect will occur](./spec/acceptance/realtime/connection_spec.rb#L1718)
|
927
|
+
* [contains the next retry period when an immediate reconnect will not occur](./spec/acceptance/realtime/connection_spec.rb#L1728)
|
927
928
|
* whilst CONNECTED
|
928
929
|
* when a CONNECTED message is received (#RTN24)
|
929
|
-
* [emits an UPDATE event](./spec/acceptance/realtime/connection_spec.rb#
|
930
|
-
* [updates the ConnectionDetail and Connection attributes (#RTC8a1)](./spec/acceptance/realtime/connection_spec.rb#
|
930
|
+
* [emits an UPDATE event](./spec/acceptance/realtime/connection_spec.rb#L1763)
|
931
|
+
* [updates the ConnectionDetail and Connection attributes (#RTC8a1)](./spec/acceptance/realtime/connection_spec.rb#L1778)
|
931
932
|
* when a CONNECTED message with an error is received
|
932
|
-
* [emits an UPDATE event](./spec/acceptance/realtime/connection_spec.rb#
|
933
|
+
* [emits an UPDATE event](./spec/acceptance/realtime/connection_spec.rb#L1813)
|
933
934
|
* version params
|
934
|
-
* [sends the protocol version param v (#G4, #RTN2f)](./spec/acceptance/realtime/connection_spec.rb#
|
935
|
-
* [sends the lib version param lib (#RTN2g)](./spec/acceptance/realtime/connection_spec.rb#
|
935
|
+
* [sends the protocol version param v (#G4, #RTN2f)](./spec/acceptance/realtime/connection_spec.rb#L1834)
|
936
|
+
* [sends the lib version param lib (#RTN2g)](./spec/acceptance/realtime/connection_spec.rb#L1843)
|
936
937
|
* with variant
|
937
|
-
* [sends the lib version param lib with the variant (#RTN2g + #RSC7b)](./spec/acceptance/realtime/connection_spec.rb#
|
938
|
+
* [sends the lib version param lib with the variant (#RTN2g + #RSC7b)](./spec/acceptance/realtime/connection_spec.rb#L1863)
|
938
939
|
* transport_params (#RTC1f)
|
939
|
-
* [pases transport_params to query](./spec/acceptance/realtime/connection_spec.rb#
|
940
|
+
* [pases transport_params to query](./spec/acceptance/realtime/connection_spec.rb#L1877)
|
940
941
|
* when changing default param
|
941
|
-
* [overrides default param (#RTC1f1)](./spec/acceptance/realtime/connection_spec.rb#
|
942
|
+
* [overrides default param (#RTC1f1)](./spec/acceptance/realtime/connection_spec.rb#L1890)
|
942
943
|
|
943
944
|
### Ably::Realtime::Channel Message
|
944
945
|
_(see [spec/acceptance/realtime/message_spec.rb](./spec/acceptance/realtime/message_spec.rb))_
|
@@ -1579,7 +1580,7 @@ _(see [spec/acceptance/realtime/presence_spec.rb](./spec/acceptance/realtime/pre
|
|
1579
1580
|
* local PresenceMap for presence members entered by this client
|
1580
1581
|
* [maintains a copy of the member map for any member that shares this connection's connection ID (#RTP17)](./spec/acceptance/realtime/presence_spec.rb#L2427)
|
1581
1582
|
* #RTP17b
|
1582
|
-
*
|
1583
|
+
* [updates presence members on leave](./spec/acceptance/realtime/presence_spec.rb#L2455)
|
1583
1584
|
* [does no update presence members on fabricated leave](./spec/acceptance/realtime/presence_spec.rb#L2480)
|
1584
1585
|
* when a channel becomes attached again
|
1585
1586
|
* and the resume flag is true
|
@@ -1909,14 +1910,14 @@ _(see [spec/acceptance/rest/base_spec.rb](./spec/acceptance/rest/base_spec.rb))_
|
|
1909
1910
|
* due to invalid Auth
|
1910
1911
|
* [should raise an InvalidRequest exception with a valid error message and code](./spec/acceptance/rest/base_spec.rb#L75)
|
1911
1912
|
* server error with JSON error response body
|
1912
|
-
* [should raise a ServerError exception](./spec/acceptance/rest/base_spec.rb#
|
1913
|
+
* [should raise a ServerError exception](./spec/acceptance/rest/base_spec.rb#L96)
|
1913
1914
|
* 500 server error without a valid JSON response body
|
1914
|
-
* [should raise a ServerError exception](./spec/acceptance/rest/base_spec.rb#
|
1915
|
+
* [should raise a ServerError exception](./spec/acceptance/rest/base_spec.rb#L109)
|
1915
1916
|
* token authentication failures
|
1916
1917
|
* when auth#token_renewable?
|
1917
|
-
* [should automatically reissue a token](./spec/acceptance/rest/base_spec.rb#
|
1918
|
+
* [should automatically reissue a token](./spec/acceptance/rest/base_spec.rb#L147)
|
1918
1919
|
* when NOT auth#token_renewable?
|
1919
|
-
* [should raise an TokenExpired exception](./spec/acceptance/rest/base_spec.rb#
|
1920
|
+
* [should raise an TokenExpired exception](./spec/acceptance/rest/base_spec.rb#L162)
|
1920
1921
|
|
1921
1922
|
### Ably::Rest::Channel
|
1922
1923
|
_(see [spec/acceptance/rest/channel_spec.rb](./spec/acceptance/rest/channel_spec.rb))_
|
@@ -2099,121 +2100,126 @@ _(see [spec/acceptance/rest/client_spec.rb](./spec/acceptance/rest/client_spec.r
|
|
2099
2100
|
* [is configured to timeout connection requests in 10 seconds](./spec/acceptance/rest/client_spec.rb#L290)
|
2100
2101
|
* fallback hosts
|
2101
2102
|
* configured
|
2102
|
-
* [should make connection attempts to
|
2103
|
+
* [should make connection attempts to a.ably-realtime.com, b.ably-realtime.com, c.ably-realtime.com, d.ably-realtime.com, e.ably-realtime.com (#RSC15a)](./spec/acceptance/rest/client_spec.rb#L304)
|
2103
2104
|
* when environment is NOT production (#RSC15b)
|
2104
|
-
*
|
2105
|
+
* and custom fallback hosts are empty
|
2106
|
+
* [does not retry failed requests with fallback hosts when there is a connection error](./spec/acceptance/rest/client_spec.rb#L322)
|
2107
|
+
* and no custom fallback hosts are provided
|
2108
|
+
* [should make connection attempts to sandbox-a-fallback.ably-realtime.com, sandbox-b-fallback.ably-realtime.com, sandbox-c-fallback.ably-realtime.com, sandbox-d-fallback.ably-realtime.com, sandbox-e-fallback.ably-realtime.com (#RSC15a)](./spec/acceptance/rest/client_spec.rb#L330)
|
2105
2109
|
* when environment is production
|
2106
2110
|
* and connection times out
|
2107
|
-
* [tries fallback hosts 3 times (#RSC15b, #RSC15b)](./spec/acceptance/rest/client_spec.rb#
|
2111
|
+
* [tries fallback hosts 3 times (#RSC15b, #RSC15b)](./spec/acceptance/rest/client_spec.rb#L374)
|
2108
2112
|
* and the total request time exeeds 15 seconds
|
2109
|
-
* [makes no further attempts to any fallback hosts](./spec/acceptance/rest/client_spec.rb#
|
2113
|
+
* [makes no further attempts to any fallback hosts](./spec/acceptance/rest/client_spec.rb#L389)
|
2110
2114
|
* and connection fails
|
2111
|
-
* [tries fallback hosts 3 times](./spec/acceptance/rest/client_spec.rb#
|
2115
|
+
* [tries fallback hosts 3 times](./spec/acceptance/rest/client_spec.rb#L405)
|
2112
2116
|
* and first request to primary endpoint fails
|
2113
|
-
* [tries a fallback host, and for the next request tries the primary endpoint again (#RSC15e)](./spec/acceptance/rest/client_spec.rb#
|
2117
|
+
* [tries a fallback host, and for the next request tries the primary endpoint again (#RSC15e)](./spec/acceptance/rest/client_spec.rb#L439)
|
2114
2118
|
* and basic authentication fails
|
2115
|
-
* [does not attempt the fallback hosts as this is an authentication failure](./spec/acceptance/rest/client_spec.rb#
|
2119
|
+
* [does not attempt the fallback hosts as this is an authentication failure](./spec/acceptance/rest/client_spec.rb#L466)
|
2116
2120
|
* and server returns a 50x error
|
2117
|
-
* [attempts the fallback hosts as this is an authentication failure (#RSC15d)](./spec/acceptance/rest/client_spec.rb#
|
2121
|
+
* [attempts the fallback hosts as this is an authentication failure (#RSC15d)](./spec/acceptance/rest/client_spec.rb#L488)
|
2118
2122
|
* when environment is production and server returns a 50x error
|
2119
2123
|
* with custom fallback hosts provided
|
2120
|
-
* [attempts the fallback hosts as this is an authentication failure (#RSC15b, #RSC15a, #TO3k6)](./spec/acceptance/rest/client_spec.rb#
|
2124
|
+
* [attempts the fallback hosts as this is an authentication failure (#RSC15b, #RSC15a, #TO3k6)](./spec/acceptance/rest/client_spec.rb#L537)
|
2121
2125
|
* with an empty array of fallback hosts provided (#RSC15b, #RSC15a, #TO3k6)
|
2122
|
-
* [does not attempt the fallback hosts as this is an authentication failure](./spec/acceptance/rest/client_spec.rb#
|
2126
|
+
* [does not attempt the fallback hosts as this is an authentication failure](./spec/acceptance/rest/client_spec.rb#L550)
|
2123
2127
|
* using a local web-server
|
2124
2128
|
* and timing out the primary host
|
2125
2129
|
* POST with request timeout less than max_retry_duration
|
2126
|
-
* [tries the primary host, then both fallback hosts (#RSC15d)](./spec/acceptance/rest/client_spec.rb#
|
2130
|
+
* [tries the primary host, then both fallback hosts (#RSC15d)](./spec/acceptance/rest/client_spec.rb#L614)
|
2127
2131
|
* GET with request timeout less than max_retry_duration
|
2128
|
-
* [tries the primary host, then both fallback hosts (#RSC15d)](./spec/acceptance/rest/client_spec.rb#
|
2132
|
+
* [tries the primary host, then both fallback hosts (#RSC15d)](./spec/acceptance/rest/client_spec.rb#L637)
|
2129
2133
|
* POST with request timeout more than max_retry_duration
|
2130
|
-
* [does not try any fallback hosts (#RSC15d)](./spec/acceptance/rest/client_spec.rb#
|
2134
|
+
* [does not try any fallback hosts (#RSC15d)](./spec/acceptance/rest/client_spec.rb#L660)
|
2131
2135
|
* GET with request timeout more than max_retry_duration
|
2132
|
-
* [does not try any fallback hosts (#RSC15d)](./spec/acceptance/rest/client_spec.rb#
|
2136
|
+
* [does not try any fallback hosts (#RSC15d)](./spec/acceptance/rest/client_spec.rb#L682)
|
2133
2137
|
* and failing the primary host
|
2134
|
-
* [tries one of the fallback hosts](./spec/acceptance/rest/client_spec.rb#
|
2138
|
+
* [tries one of the fallback hosts](./spec/acceptance/rest/client_spec.rb#L727)
|
2135
2139
|
* to fail the primary host, allow a fallback to succeed, then later trigger a fallback to the primary host (#RSC15f)
|
2136
|
-
* [succeeds and remembers fallback host preferences across requests](./spec/acceptance/rest/client_spec.rb#
|
2140
|
+
* [succeeds and remembers fallback host preferences across requests](./spec/acceptance/rest/client_spec.rb#L783)
|
2137
2141
|
* with custom :fallback_retry_timeout
|
2138
|
-
* [stops using the preferred fallback after this time](./spec/acceptance/rest/client_spec.rb#
|
2142
|
+
* [stops using the preferred fallback after this time](./spec/acceptance/rest/client_spec.rb#L820)
|
2139
2143
|
* when environment is not production and server returns a 50x error
|
2144
|
+
* with no fallback hosts provided (#TBC, see https://github.com/ably/wiki/issues/361)
|
2145
|
+
* [uses the default fallback hosts for that environment as this is not an authentication failure](./spec/acceptance/rest/client_spec.rb#L874)
|
2140
2146
|
* with custom fallback hosts provided (#RSC15b, #TO3k6)
|
2141
|
-
* [attempts the fallback hosts as this is not an authentication failure](./spec/acceptance/rest/client_spec.rb#
|
2147
|
+
* [attempts the fallback hosts as this is not an authentication failure](./spec/acceptance/rest/client_spec.rb#L902)
|
2142
2148
|
* with an empty array of fallback hosts provided (#RSC15b, #TO3k6)
|
2143
|
-
* [does not attempt the fallback hosts as this is an authentication failure](./spec/acceptance/rest/client_spec.rb#
|
2149
|
+
* [does not attempt the fallback hosts as this is an authentication failure](./spec/acceptance/rest/client_spec.rb#L915)
|
2144
2150
|
* with fallback_hosts_use_default: true (#RSC15b, #TO3k7)
|
2145
|
-
* [attempts the default fallback hosts as this is an authentication failure](./spec/acceptance/rest/client_spec.rb#
|
2151
|
+
* [attempts the default fallback hosts as this is an authentication failure](./spec/acceptance/rest/client_spec.rb#L940)
|
2146
2152
|
* with a custom host
|
2147
2153
|
* that does not exist
|
2148
|
-
* [fails immediately and raises a Faraday Error](./spec/acceptance/rest/client_spec.rb#
|
2154
|
+
* [fails immediately and raises a Faraday Error](./spec/acceptance/rest/client_spec.rb#L956)
|
2149
2155
|
* fallback hosts
|
2150
|
-
* [are never used](./spec/acceptance/rest/client_spec.rb#
|
2156
|
+
* [are never used](./spec/acceptance/rest/client_spec.rb#L977)
|
2151
2157
|
* that times out
|
2152
|
-
* [fails immediately and raises a Faraday Error](./spec/acceptance/rest/client_spec.rb#
|
2158
|
+
* [fails immediately and raises a Faraday Error](./spec/acceptance/rest/client_spec.rb#L992)
|
2153
2159
|
* fallback hosts
|
2154
|
-
* [are never used](./spec/acceptance/rest/client_spec.rb#
|
2160
|
+
* [are never used](./spec/acceptance/rest/client_spec.rb#L1005)
|
2155
2161
|
* HTTP configuration options
|
2156
|
-
* [is frozen](./spec/acceptance/rest/client_spec.rb#
|
2162
|
+
* [is frozen](./spec/acceptance/rest/client_spec.rb#L1062)
|
2157
2163
|
* defaults
|
2158
|
-
* [#http_open_timeout is 4s](./spec/acceptance/rest/client_spec.rb#
|
2159
|
-
* [#http_request_timeout is 10s](./spec/acceptance/rest/client_spec.rb#
|
2160
|
-
* [#http_max_retry_count is 3](./spec/acceptance/rest/client_spec.rb#
|
2161
|
-
* [#http_max_retry_duration is 15s](./spec/acceptance/rest/client_spec.rb#
|
2164
|
+
* [#http_open_timeout is 4s](./spec/acceptance/rest/client_spec.rb#L1017)
|
2165
|
+
* [#http_request_timeout is 10s](./spec/acceptance/rest/client_spec.rb#L1021)
|
2166
|
+
* [#http_max_retry_count is 3](./spec/acceptance/rest/client_spec.rb#L1025)
|
2167
|
+
* [#http_max_retry_duration is 15s](./spec/acceptance/rest/client_spec.rb#L1029)
|
2162
2168
|
* configured
|
2163
|
-
* [#http_open_timeout uses provided value](./spec/acceptance/rest/client_spec.rb#
|
2164
|
-
* [#http_request_timeout uses provided value](./spec/acceptance/rest/client_spec.rb#
|
2165
|
-
* [#http_max_retry_count uses provided value](./spec/acceptance/rest/client_spec.rb#
|
2166
|
-
* [#http_max_retry_duration uses provided value](./spec/acceptance/rest/client_spec.rb#
|
2169
|
+
* [#http_open_timeout uses provided value](./spec/acceptance/rest/client_spec.rb#L1045)
|
2170
|
+
* [#http_request_timeout uses provided value](./spec/acceptance/rest/client_spec.rb#L1049)
|
2171
|
+
* [#http_max_retry_count uses provided value](./spec/acceptance/rest/client_spec.rb#L1053)
|
2172
|
+
* [#http_max_retry_duration uses provided value](./spec/acceptance/rest/client_spec.rb#L1057)
|
2167
2173
|
* #auth
|
2168
|
-
* [is provides access to the Auth object](./spec/acceptance/rest/client_spec.rb#
|
2169
|
-
* [configures the Auth object with all ClientOptions passed to client in the initializer](./spec/acceptance/rest/client_spec.rb#
|
2174
|
+
* [is provides access to the Auth object](./spec/acceptance/rest/client_spec.rb#L1073)
|
2175
|
+
* [configures the Auth object with all ClientOptions passed to client in the initializer](./spec/acceptance/rest/client_spec.rb#L1077)
|
2170
2176
|
* version headers
|
2171
2177
|
* with variant none
|
2172
|
-
* [sends a protocol version and lib version header (#G4, #RSC7a, #RSC7b)](./spec/acceptance/rest/client_spec.rb#
|
2178
|
+
* [sends a protocol version and lib version header (#G4, #RSC7a, #RSC7b)](./spec/acceptance/rest/client_spec.rb#L1111)
|
2173
2179
|
* with variant foo
|
2174
|
-
* [sends a protocol version and lib version header (#G4, #RSC7a, #RSC7b)](./spec/acceptance/rest/client_spec.rb#
|
2180
|
+
* [sends a protocol version and lib version header (#G4, #RSC7a, #RSC7b)](./spec/acceptance/rest/client_spec.rb#L1111)
|
2175
2181
|
* #request (#RSC19*)
|
2176
2182
|
* get
|
2177
|
-
* [returns an HttpPaginatedResponse object](./spec/acceptance/rest/client_spec.rb#
|
2183
|
+
* [returns an HttpPaginatedResponse object](./spec/acceptance/rest/client_spec.rb#L1126)
|
2178
2184
|
* 404 request to invalid URL
|
2179
|
-
* [returns an object with 404 status code and error message](./spec/acceptance/rest/client_spec.rb#
|
2185
|
+
* [returns an object with 404 status code and error message](./spec/acceptance/rest/client_spec.rb#L1133)
|
2180
2186
|
* paged results
|
2181
|
-
* [provides paging](./spec/acceptance/rest/client_spec.rb#
|
2187
|
+
* [provides paging](./spec/acceptance/rest/client_spec.rb#L1145)
|
2182
2188
|
* post
|
2183
|
-
* [supports post](./spec/acceptance/rest/client_spec.rb#
|
2189
|
+
* [supports post](./spec/acceptance/rest/client_spec.rb#L1170)
|
2184
2190
|
* delete
|
2185
|
-
* [supports delete](./spec/acceptance/rest/client_spec.rb#
|
2191
|
+
* [supports delete](./spec/acceptance/rest/client_spec.rb#L1183)
|
2186
2192
|
* patch
|
2187
|
-
* [supports patch](./spec/acceptance/rest/client_spec.rb#
|
2193
|
+
* [supports patch](./spec/acceptance/rest/client_spec.rb#L1199)
|
2188
2194
|
* put
|
2189
|
-
* [supports put](./spec/acceptance/rest/client_spec.rb#
|
2195
|
+
* [supports put](./spec/acceptance/rest/client_spec.rb#L1222)
|
2190
2196
|
* request_id generation
|
2191
2197
|
* Timeout error
|
2192
|
-
* with option add_request_ids: true
|
2193
|
-
* [has an error with the same request_id of the request](./spec/acceptance/rest/client_spec.rb#
|
2198
|
+
* with option add_request_ids: true and no fallback hosts
|
2199
|
+
* [has an error with the same request_id of the request](./spec/acceptance/rest/client_spec.rb#L1245)
|
2194
2200
|
* with option add_request_ids: true and REST operations with a message body
|
2195
2201
|
* with mocks to inspect the params
|
2196
2202
|
* with a single publish
|
2197
|
-
* [succeeds and sends the request_id as a param](./spec/acceptance/rest/client_spec.rb#
|
2203
|
+
* [succeeds and sends the request_id as a param](./spec/acceptance/rest/client_spec.rb#L1267)
|
2198
2204
|
* with an array publish
|
2199
|
-
* [succeeds and sends the request_id as a param](./spec/acceptance/rest/client_spec.rb#
|
2205
|
+
* [succeeds and sends the request_id as a param](./spec/acceptance/rest/client_spec.rb#L1274)
|
2200
2206
|
* without mocks to ensure the requests are accepted
|
2201
2207
|
* with a single publish
|
2202
|
-
* [succeeds and sends the request_id as a param](./spec/acceptance/rest/client_spec.rb#
|
2208
|
+
* [succeeds and sends the request_id as a param](./spec/acceptance/rest/client_spec.rb#L1283)
|
2203
2209
|
* with an array publish
|
2204
|
-
* [succeeds and sends the request_id as a param](./spec/acceptance/rest/client_spec.rb#
|
2210
|
+
* [succeeds and sends the request_id as a param](./spec/acceptance/rest/client_spec.rb#L1290)
|
2205
2211
|
* option add_request_ids: true and specified fallback hosts
|
2206
|
-
* [request_id is the same across retries](./spec/acceptance/rest/client_spec.rb#
|
2207
|
-
* without request_id
|
2208
|
-
* [does not include request_id in ConnectionTimeout error](./spec/acceptance/rest/client_spec.rb#
|
2212
|
+
* [request_id is the same across retries](./spec/acceptance/rest/client_spec.rb#L1315)
|
2213
|
+
* without request_id and no fallback hosts
|
2214
|
+
* [does not include request_id in ConnectionTimeout error](./spec/acceptance/rest/client_spec.rb#L1327)
|
2209
2215
|
* UnauthorizedRequest nonce error
|
2210
|
-
* [includes request_id in UnauthorizedRequest error due to replayed nonce](./spec/acceptance/rest/client_spec.rb#
|
2216
|
+
* [includes request_id in UnauthorizedRequest error due to replayed nonce](./spec/acceptance/rest/client_spec.rb#L1340)
|
2211
2217
|
* failed request logging
|
2212
|
-
* [is absent when requests do not fail](./spec/acceptance/rest/client_spec.rb#
|
2218
|
+
* [is absent when requests do not fail](./spec/acceptance/rest/client_spec.rb#L1357)
|
2213
2219
|
* with the first request failing
|
2214
|
-
* [is present with success message when requests do not actually fail](./spec/acceptance/rest/client_spec.rb#
|
2220
|
+
* [is present with success message when requests do not actually fail](./spec/acceptance/rest/client_spec.rb#L1372)
|
2215
2221
|
* with all requests failing
|
2216
|
-
* [is present when all requests fail](./spec/acceptance/rest/client_spec.rb#
|
2222
|
+
* [is present when all requests fail](./spec/acceptance/rest/client_spec.rb#L1389)
|
2217
2223
|
|
2218
2224
|
### Ably::Models::MessageEncoders
|
2219
2225
|
_(see [spec/acceptance/rest/encoders_spec.rb](./spec/acceptance/rest/encoders_spec.rb))_
|
@@ -3847,9 +3853,40 @@ _(see [spec/unit/realtime/client_spec.rb](./spec/unit/realtime/client_spec.rb))_
|
|
3847
3853
|
* with custom logger and log_level
|
3848
3854
|
* [uses the custom logger](./spec/shared/client_initializer_behaviour.rb#L259)
|
3849
3855
|
* [sets the custom log level](./spec/shared/client_initializer_behaviour.rb#L263)
|
3856
|
+
* environment
|
3857
|
+
* when set without custom fallback hosts configured
|
3858
|
+
* [sets the environment attribute](./spec/shared/client_initializer_behaviour.rb#L275)
|
3859
|
+
* [uses the default fallback hosts (#TBC, see https://github.com/ably/wiki/issues/361)](./spec/shared/client_initializer_behaviour.rb#L279)
|
3860
|
+
* when set with custom fallback hosts configured
|
3861
|
+
* [sets the environment attribute](./spec/shared/client_initializer_behaviour.rb#L289)
|
3862
|
+
* [uses the custom provided fallback hosts (#RSC15a)](./spec/shared/client_initializer_behaviour.rb#L293)
|
3863
|
+
* when set with fallback_hosts_use_default
|
3864
|
+
* [sets the environment attribute](./spec/shared/client_initializer_behaviour.rb#L304)
|
3865
|
+
* [uses the production default fallback hosts (#RTN17b)](./spec/shared/client_initializer_behaviour.rb#L308)
|
3866
|
+
* rest_host
|
3867
|
+
* when set without custom fallback hosts configured
|
3868
|
+
* [sets the custom_host attribute](./spec/shared/client_initializer_behaviour.rb#L319)
|
3869
|
+
* [has no default fallback hosts](./spec/shared/client_initializer_behaviour.rb#L323)
|
3870
|
+
* when set with environment and without custom fallback hosts configured
|
3871
|
+
* [sets the environment attribute](./spec/shared/client_initializer_behaviour.rb#L333)
|
3872
|
+
* [sets the custom_host attribute](./spec/shared/client_initializer_behaviour.rb#L337)
|
3873
|
+
* [has no default fallback hosts](./spec/shared/client_initializer_behaviour.rb#L341)
|
3874
|
+
* when set with custom fallback hosts configured
|
3875
|
+
* [sets the custom_host attribute](./spec/shared/client_initializer_behaviour.rb#L351)
|
3876
|
+
* [has no default fallback hosts](./spec/shared/client_initializer_behaviour.rb#L355)
|
3877
|
+
* realtime_host
|
3878
|
+
* when set without custom fallback hosts configured
|
3879
|
+
* [sets the realtime_host option](./spec/shared/client_initializer_behaviour.rb#L368)
|
3880
|
+
* [has no default fallback hosts](./spec/shared/client_initializer_behaviour.rb#L372)
|
3881
|
+
* custom port
|
3882
|
+
* when set without custom fallback hosts configured
|
3883
|
+
* [has no default fallback hosts](./spec/shared/client_initializer_behaviour.rb#L383)
|
3884
|
+
* custom TLS port
|
3885
|
+
* when set without custom fallback hosts configured
|
3886
|
+
* [has no default fallback hosts](./spec/shared/client_initializer_behaviour.rb#L394)
|
3850
3887
|
* delegators
|
3851
|
-
* [delegates :client_id to .auth](./spec/shared/client_initializer_behaviour.rb#
|
3852
|
-
* [delegates :auth_options to .auth](./spec/shared/client_initializer_behaviour.rb#
|
3888
|
+
* [delegates :client_id to .auth](./spec/shared/client_initializer_behaviour.rb#L408)
|
3889
|
+
* [delegates :auth_options to .auth](./spec/shared/client_initializer_behaviour.rb#L413)
|
3853
3890
|
* delegation to the REST Client
|
3854
3891
|
* [passes on the options to the initializer](./spec/unit/realtime/client_spec.rb#L15)
|
3855
3892
|
* for attribute
|
@@ -4055,9 +4092,40 @@ _(see [spec/unit/rest/client_spec.rb](./spec/unit/rest/client_spec.rb))_
|
|
4055
4092
|
* with custom logger and log_level
|
4056
4093
|
* [uses the custom logger](./spec/shared/client_initializer_behaviour.rb#L259)
|
4057
4094
|
* [sets the custom log level](./spec/shared/client_initializer_behaviour.rb#L263)
|
4095
|
+
* environment
|
4096
|
+
* when set without custom fallback hosts configured
|
4097
|
+
* [sets the environment attribute](./spec/shared/client_initializer_behaviour.rb#L275)
|
4098
|
+
* [uses the default fallback hosts (#TBC, see https://github.com/ably/wiki/issues/361)](./spec/shared/client_initializer_behaviour.rb#L279)
|
4099
|
+
* when set with custom fallback hosts configured
|
4100
|
+
* [sets the environment attribute](./spec/shared/client_initializer_behaviour.rb#L289)
|
4101
|
+
* [uses the custom provided fallback hosts (#RSC15a)](./spec/shared/client_initializer_behaviour.rb#L293)
|
4102
|
+
* when set with fallback_hosts_use_default
|
4103
|
+
* [sets the environment attribute](./spec/shared/client_initializer_behaviour.rb#L304)
|
4104
|
+
* [uses the production default fallback hosts (#RTN17b)](./spec/shared/client_initializer_behaviour.rb#L308)
|
4105
|
+
* rest_host
|
4106
|
+
* when set without custom fallback hosts configured
|
4107
|
+
* [sets the custom_host attribute](./spec/shared/client_initializer_behaviour.rb#L319)
|
4108
|
+
* [has no default fallback hosts](./spec/shared/client_initializer_behaviour.rb#L323)
|
4109
|
+
* when set with environment and without custom fallback hosts configured
|
4110
|
+
* [sets the environment attribute](./spec/shared/client_initializer_behaviour.rb#L333)
|
4111
|
+
* [sets the custom_host attribute](./spec/shared/client_initializer_behaviour.rb#L337)
|
4112
|
+
* [has no default fallback hosts](./spec/shared/client_initializer_behaviour.rb#L341)
|
4113
|
+
* when set with custom fallback hosts configured
|
4114
|
+
* [sets the custom_host attribute](./spec/shared/client_initializer_behaviour.rb#L351)
|
4115
|
+
* [has no default fallback hosts](./spec/shared/client_initializer_behaviour.rb#L355)
|
4116
|
+
* realtime_host
|
4117
|
+
* when set without custom fallback hosts configured
|
4118
|
+
* [sets the realtime_host option](./spec/shared/client_initializer_behaviour.rb#L368)
|
4119
|
+
* [has no default fallback hosts](./spec/shared/client_initializer_behaviour.rb#L372)
|
4120
|
+
* custom port
|
4121
|
+
* when set without custom fallback hosts configured
|
4122
|
+
* [has no default fallback hosts](./spec/shared/client_initializer_behaviour.rb#L383)
|
4123
|
+
* custom TLS port
|
4124
|
+
* when set without custom fallback hosts configured
|
4125
|
+
* [has no default fallback hosts](./spec/shared/client_initializer_behaviour.rb#L394)
|
4058
4126
|
* delegators
|
4059
|
-
* [delegates :client_id to .auth](./spec/shared/client_initializer_behaviour.rb#
|
4060
|
-
* [delegates :auth_options to .auth](./spec/shared/client_initializer_behaviour.rb#
|
4127
|
+
* [delegates :client_id to .auth](./spec/shared/client_initializer_behaviour.rb#L408)
|
4128
|
+
* [delegates :auth_options to .auth](./spec/shared/client_initializer_behaviour.rb#L413)
|
4061
4129
|
* initializer options
|
4062
4130
|
* TLS
|
4063
4131
|
* disabled
|
@@ -4145,6 +4213,6 @@ _(see [spec/unit/util/pub_sub_spec.rb](./spec/unit/util/pub_sub_spec.rb))_
|
|
4145
4213
|
|
4146
4214
|
## Test summary
|
4147
4215
|
|
4148
|
-
* Passing tests:
|
4216
|
+
* Passing tests: 2109
|
4149
4217
|
* Pending tests: 5
|
4150
4218
|
* Failing tests: 1
|