anyt 0.8.2 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/MIT-LICENSE +1 -1
- data/README.md +4 -1
- data/lib/anyt/cli.rb +33 -7
- data/lib/anyt/client.rb +13 -7
- data/lib/anyt/command.rb +31 -18
- data/lib/anyt/config.rb +15 -7
- data/lib/anyt/dummy/application.rb +9 -11
- data/lib/anyt/dummy/config.ru +4 -0
- data/lib/anyt/dummy/routes.rb +4 -0
- data/lib/anyt/dummy/tmp/development_secret.txt +1 -0
- data/lib/anyt/ext/minitest.rb +23 -6
- data/lib/anyt/remote_control.rb +33 -0
- data/lib/anyt/rpc.rb +4 -6
- data/lib/anyt/tests.rb +5 -7
- data/lib/anyt/tests/core/ping_test.rb +2 -2
- data/lib/anyt/tests/core/welcome_test.rb +3 -3
- data/lib/anyt/tests/features/channel_state_test.rb +47 -0
- data/lib/anyt/tests/features/remote_disconnect_test.rb +30 -0
- data/lib/anyt/tests/features/server_restart_test.rb +28 -0
- data/lib/anyt/tests/request/channel_test.rb +28 -0
- data/lib/anyt/tests/request/connection_test.rb +23 -21
- data/lib/anyt/tests/request/disconnect_reasons_test.rb +23 -0
- data/lib/anyt/tests/request/disconnection_test.rb +50 -32
- data/lib/anyt/tests/streams/broadcast_test.rb +13 -13
- data/lib/anyt/tests/streams/multiple_clients_test.rb +10 -10
- data/lib/anyt/tests/streams/multiple_test.rb +10 -10
- data/lib/anyt/tests/streams/single_test.rb +35 -10
- data/lib/anyt/tests/streams/stop_test.rb +57 -0
- data/lib/anyt/tests/subscriptions/ack_test.rb +9 -11
- data/lib/anyt/tests/subscriptions/params_test.rb +6 -7
- data/lib/anyt/tests/subscriptions/perform_test.rb +16 -18
- data/lib/anyt/tests/subscriptions/transmissions_test.rb +6 -7
- data/lib/anyt/version.rb +1 -1
- metadata +32 -74
- data/.gitignore +0 -43
- data/.rubocop.yml +0 -80
- data/Gemfile +0 -6
- data/LICENSE.txt +0 -21
- data/Makefile +0 -5
- data/anyt.gemspec +0 -42
- data/circle.yml +0 -14
- data/etc/tests/channel_broadcast_test.rb +0 -51
@@ -8,24 +8,23 @@ feature "Subscription transmissions" do
|
|
8
8
|
end
|
9
9
|
end
|
10
10
|
|
11
|
-
scenario %
|
11
|
+
scenario %(
|
12
12
|
Client receives transmissions from #subscribed callback
|
13
|
-
|
14
|
-
|
15
|
-
subscribe_request = { command: "subscribe", identifier: { channel: channel }.to_json }
|
13
|
+
) do
|
14
|
+
subscribe_request = {command: "subscribe", identifier: {channel: channel}.to_json}
|
16
15
|
|
17
16
|
client.send(subscribe_request)
|
18
17
|
|
19
|
-
msg = {
|
18
|
+
msg = {"identifier" => {channel: channel}.to_json, "message" => "hello"}
|
20
19
|
|
21
20
|
assert_equal msg, client.receive
|
22
21
|
|
23
|
-
msg = {
|
22
|
+
msg = {"identifier" => {channel: channel}.to_json, "message" => "world"}
|
24
23
|
|
25
24
|
assert_equal msg, client.receive
|
26
25
|
|
27
26
|
ack = {
|
28
|
-
"identifier" => {
|
27
|
+
"identifier" => {channel: channel}.to_json, "type" => "confirm_subscription"
|
29
28
|
}
|
30
29
|
|
31
30
|
assert_equal ack, client.receive
|
data/lib/anyt/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: anyt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- palkan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-07-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rack
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '2'
|
19
|
+
version: '2.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '2'
|
26
|
+
version: '2.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: minitest
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 5.10
|
33
|
+
version: '5.10'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 5.10
|
40
|
+
version: '5.10'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: minitest-reporters
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -56,30 +56,30 @@ dependencies:
|
|
56
56
|
name: rails
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '5.0'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '5.0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: anycable-rails
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.
|
75
|
+
version: 1.0.0
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0.
|
82
|
+
version: 1.0.0
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: redis
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -137,75 +137,47 @@ dependencies:
|
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: 1.0.0
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
140
|
+
name: childprocess
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
143
|
- - "~>"
|
144
144
|
- !ruby/object:Gem::Version
|
145
|
-
version: '
|
146
|
-
type: :
|
147
|
-
prerelease: false
|
148
|
-
version_requirements: !ruby/object:Gem::Requirement
|
149
|
-
requirements:
|
150
|
-
- - "~>"
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: '1'
|
153
|
-
- !ruby/object:Gem::Dependency
|
154
|
-
name: rake
|
155
|
-
requirement: !ruby/object:Gem::Requirement
|
156
|
-
requirements:
|
157
|
-
- - "~>"
|
158
|
-
- !ruby/object:Gem::Version
|
159
|
-
version: '10.0'
|
160
|
-
type: :development
|
145
|
+
version: '3.0'
|
146
|
+
type: :runtime
|
161
147
|
prerelease: false
|
162
148
|
version_requirements: !ruby/object:Gem::Requirement
|
163
149
|
requirements:
|
164
150
|
- - "~>"
|
165
151
|
- !ruby/object:Gem::Version
|
166
|
-
version: '
|
152
|
+
version: '3.0'
|
167
153
|
- !ruby/object:Gem::Dependency
|
168
|
-
name:
|
169
|
-
requirement: !ruby/object:Gem::Requirement
|
170
|
-
requirements:
|
171
|
-
- - ">="
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
version: 0.3.8
|
174
|
-
type: :development
|
175
|
-
prerelease: false
|
176
|
-
version_requirements: !ruby/object:Gem::Requirement
|
177
|
-
requirements:
|
178
|
-
- - ">="
|
179
|
-
- !ruby/object:Gem::Version
|
180
|
-
version: 0.3.8
|
181
|
-
- !ruby/object:Gem::Dependency
|
182
|
-
name: rubocop
|
154
|
+
name: bundler
|
183
155
|
requirement: !ruby/object:Gem::Requirement
|
184
156
|
requirements:
|
185
157
|
- - "~>"
|
186
158
|
- !ruby/object:Gem::Version
|
187
|
-
version:
|
159
|
+
version: '2'
|
188
160
|
type: :development
|
189
161
|
prerelease: false
|
190
162
|
version_requirements: !ruby/object:Gem::Requirement
|
191
163
|
requirements:
|
192
164
|
- - "~>"
|
193
165
|
- !ruby/object:Gem::Version
|
194
|
-
version:
|
166
|
+
version: '2'
|
195
167
|
- !ruby/object:Gem::Dependency
|
196
|
-
name:
|
168
|
+
name: rake
|
197
169
|
requirement: !ruby/object:Gem::Requirement
|
198
170
|
requirements:
|
199
171
|
- - "~>"
|
200
172
|
- !ruby/object:Gem::Version
|
201
|
-
version: 0
|
173
|
+
version: '13.0'
|
202
174
|
type: :development
|
203
175
|
prerelease: false
|
204
176
|
version_requirements: !ruby/object:Gem::Requirement
|
205
177
|
requirements:
|
206
178
|
- - "~>"
|
207
179
|
- !ruby/object:Gem::Version
|
208
|
-
version: 0
|
180
|
+
version: '13.0'
|
209
181
|
- !ruby/object:Gem::Dependency
|
210
182
|
name: puma
|
211
183
|
requirement: !ruby/object:Gem::Requirement
|
@@ -220,20 +192,6 @@ dependencies:
|
|
220
192
|
- - "~>"
|
221
193
|
- !ruby/object:Gem::Version
|
222
194
|
version: '3.6'
|
223
|
-
- !ruby/object:Gem::Dependency
|
224
|
-
name: pry-byebug
|
225
|
-
requirement: !ruby/object:Gem::Requirement
|
226
|
-
requirements:
|
227
|
-
- - ">="
|
228
|
-
- !ruby/object:Gem::Version
|
229
|
-
version: '0'
|
230
|
-
type: :development
|
231
|
-
prerelease: false
|
232
|
-
version_requirements: !ruby/object:Gem::Requirement
|
233
|
-
requirements:
|
234
|
-
- - ">="
|
235
|
-
- !ruby/object:Gem::Version
|
236
|
-
version: '0'
|
237
195
|
description: Anycable conformance testing tool
|
238
196
|
email:
|
239
197
|
- dementiev.vm@gmail.com
|
@@ -242,19 +200,11 @@ executables:
|
|
242
200
|
extensions: []
|
243
201
|
extra_rdoc_files: []
|
244
202
|
files:
|
245
|
-
- ".gitignore"
|
246
|
-
- ".rubocop.yml"
|
247
|
-
- Gemfile
|
248
|
-
- LICENSE.txt
|
249
203
|
- MIT-LICENSE
|
250
|
-
- Makefile
|
251
204
|
- README.md
|
252
|
-
- anyt.gemspec
|
253
205
|
- bin/anyt
|
254
206
|
- bin/console
|
255
207
|
- bin/setup
|
256
|
-
- circle.yml
|
257
|
-
- etc/tests/channel_broadcast_test.rb
|
258
208
|
- lib/anyt.rb
|
259
209
|
- lib/anyt/cli.rb
|
260
210
|
- lib/anyt/client.rb
|
@@ -262,17 +212,26 @@ files:
|
|
262
212
|
- lib/anyt/config.rb
|
263
213
|
- lib/anyt/dummy/application.rb
|
264
214
|
- lib/anyt/dummy/config.ru
|
215
|
+
- lib/anyt/dummy/routes.rb
|
216
|
+
- lib/anyt/dummy/tmp/development_secret.txt
|
265
217
|
- lib/anyt/ext/minitest.rb
|
218
|
+
- lib/anyt/remote_control.rb
|
266
219
|
- lib/anyt/rpc.rb
|
267
220
|
- lib/anyt/tests.rb
|
268
221
|
- lib/anyt/tests/core/ping_test.rb
|
269
222
|
- lib/anyt/tests/core/welcome_test.rb
|
223
|
+
- lib/anyt/tests/features/channel_state_test.rb
|
224
|
+
- lib/anyt/tests/features/remote_disconnect_test.rb
|
225
|
+
- lib/anyt/tests/features/server_restart_test.rb
|
226
|
+
- lib/anyt/tests/request/channel_test.rb
|
270
227
|
- lib/anyt/tests/request/connection_test.rb
|
228
|
+
- lib/anyt/tests/request/disconnect_reasons_test.rb
|
271
229
|
- lib/anyt/tests/request/disconnection_test.rb
|
272
230
|
- lib/anyt/tests/streams/broadcast_test.rb
|
273
231
|
- lib/anyt/tests/streams/multiple_clients_test.rb
|
274
232
|
- lib/anyt/tests/streams/multiple_test.rb
|
275
233
|
- lib/anyt/tests/streams/single_test.rb
|
234
|
+
- lib/anyt/tests/streams/stop_test.rb
|
276
235
|
- lib/anyt/tests/subscriptions/ack_test.rb
|
277
236
|
- lib/anyt/tests/subscriptions/params_test.rb
|
278
237
|
- lib/anyt/tests/subscriptions/perform_test.rb
|
@@ -299,8 +258,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
299
258
|
- !ruby/object:Gem::Version
|
300
259
|
version: '0'
|
301
260
|
requirements: []
|
302
|
-
|
303
|
-
rubygems_version: 2.7.7
|
261
|
+
rubygems_version: 3.0.6
|
304
262
|
signing_key:
|
305
263
|
specification_version: 4
|
306
264
|
summary: Anycable conformance testing tool
|
data/.gitignore
DELETED
@@ -1,43 +0,0 @@
|
|
1
|
-
# Numerous always-ignore extensions
|
2
|
-
*.diff
|
3
|
-
*.err
|
4
|
-
*.orig
|
5
|
-
*.log
|
6
|
-
*.rej
|
7
|
-
*.swo
|
8
|
-
*.swp
|
9
|
-
*.vi
|
10
|
-
*~
|
11
|
-
*.sass-cache
|
12
|
-
*.iml
|
13
|
-
.idea/
|
14
|
-
|
15
|
-
# Sublime
|
16
|
-
*.sublime-project
|
17
|
-
*.sublime-workspace
|
18
|
-
|
19
|
-
# OS or Editor folders
|
20
|
-
.DS_Store
|
21
|
-
.cache
|
22
|
-
.project
|
23
|
-
.settings
|
24
|
-
.tmproj
|
25
|
-
Thumbs.db
|
26
|
-
|
27
|
-
.bundle/
|
28
|
-
log/*.log
|
29
|
-
*.gz
|
30
|
-
pkg/
|
31
|
-
spec/dummy/db/*.sqlite3
|
32
|
-
spec/dummy/db/*.sqlite3-journal
|
33
|
-
spec/dummy/tmp/
|
34
|
-
|
35
|
-
Gemfile.local
|
36
|
-
Gemfile.lock
|
37
|
-
.rspec
|
38
|
-
*.gem
|
39
|
-
tmp/
|
40
|
-
coverage/
|
41
|
-
|
42
|
-
# ctags tags
|
43
|
-
tags
|
data/.rubocop.yml
DELETED
@@ -1,80 +0,0 @@
|
|
1
|
-
AllCops:
|
2
|
-
# Include gemspec and Rakefile
|
3
|
-
Include:
|
4
|
-
- 'lib/**/*.rb'
|
5
|
-
- 'lib/**/*.rake'
|
6
|
-
- 'spec/**/*.rb'
|
7
|
-
Exclude:
|
8
|
-
- 'bin/**/*'
|
9
|
-
- 'spec/dummy/**/*'
|
10
|
-
- 'tmp/**/*'
|
11
|
-
- 'vendor/**/*'
|
12
|
-
- 'bench/**/*'
|
13
|
-
- 'lib/anycable/rpc/**/*'
|
14
|
-
- '*.gemspec'
|
15
|
-
- 'Rakefile'
|
16
|
-
- 'Gemfile'
|
17
|
-
DisplayCopNames: true
|
18
|
-
StyleGuideCopsOnly: false
|
19
|
-
TargetRubyVersion: 2.4
|
20
|
-
|
21
|
-
Rails:
|
22
|
-
Enabled: false
|
23
|
-
|
24
|
-
Lint/MissingCopEnableDirective:
|
25
|
-
Enabled: false
|
26
|
-
|
27
|
-
Naming/UncommunicativeMethodParamName:
|
28
|
-
Enabled: false
|
29
|
-
|
30
|
-
Naming/VariableNumber:
|
31
|
-
Enabled: false
|
32
|
-
|
33
|
-
Naming/AccessorMethodName:
|
34
|
-
Enabled: false
|
35
|
-
|
36
|
-
Style/TrivialAccessors:
|
37
|
-
Enabled: false
|
38
|
-
|
39
|
-
Style/AccessModifierDeclarations:
|
40
|
-
Enabled: false
|
41
|
-
|
42
|
-
Style/Documentation:
|
43
|
-
Exclude:
|
44
|
-
- 'spec/**/*.rb'
|
45
|
-
- 'lib/**/*_test.rb'
|
46
|
-
- 'lib/anyt/dummy/**/*'
|
47
|
-
|
48
|
-
Style/StringLiterals:
|
49
|
-
Enabled: false
|
50
|
-
|
51
|
-
Style/BlockDelimiters:
|
52
|
-
Exclude:
|
53
|
-
- 'spec/**/*.rb'
|
54
|
-
|
55
|
-
Style/PercentLiteralDelimiters:
|
56
|
-
Enabled: false
|
57
|
-
|
58
|
-
Style/FormatString:
|
59
|
-
Enabled: false
|
60
|
-
|
61
|
-
Style/ClassAndModuleChildren:
|
62
|
-
Enabled: false
|
63
|
-
|
64
|
-
Lint/AmbiguousRegexpLiteral:
|
65
|
-
Enabled: false
|
66
|
-
|
67
|
-
Metrics/MethodLength:
|
68
|
-
Exclude:
|
69
|
-
- 'spec/**/*.rb'
|
70
|
-
- 'lib/**/*_test.rb'
|
71
|
-
|
72
|
-
Metrics/BlockLength:
|
73
|
-
Exclude:
|
74
|
-
- 'spec/**/*.rb'
|
75
|
-
- 'lib/**/*_test.rb'
|
76
|
-
|
77
|
-
Metrics/LineLength:
|
78
|
-
Max: 100
|
79
|
-
Exclude:
|
80
|
-
- 'spec/**/*.rb'
|
data/Gemfile
DELETED
data/LICENSE.txt
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
The MIT License (MIT)
|
2
|
-
|
3
|
-
Copyright (c) 2017 palkan
|
4
|
-
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
7
|
-
in the Software without restriction, including without limitation the rights
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
10
|
-
furnished to do so, subject to the following conditions:
|
11
|
-
|
12
|
-
The above copyright notice and this permission notice shall be included in
|
13
|
-
all copies or substantial portions of the Software.
|
14
|
-
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
-
THE SOFTWARE.
|