anyt 0.8.5 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/MIT-LICENSE +1 -1
  3. data/README.md +4 -1
  4. data/lib/anyt/cli.rb +32 -6
  5. data/lib/anyt/client.rb +12 -7
  6. data/lib/anyt/command.rb +31 -18
  7. data/lib/anyt/config.rb +15 -7
  8. data/lib/anyt/dummy/application.rb +8 -6
  9. data/lib/anyt/dummy/config.ru +4 -0
  10. data/lib/anyt/dummy/tmp/development_secret.txt +1 -0
  11. data/lib/anyt/ext/minitest.rb +23 -6
  12. data/lib/anyt/remote_control.rb +33 -0
  13. data/lib/anyt/rpc.rb +4 -6
  14. data/lib/anyt/tests.rb +5 -7
  15. data/lib/anyt/tests/core/ping_test.rb +2 -2
  16. data/lib/anyt/tests/core/welcome_test.rb +2 -2
  17. data/lib/anyt/tests/features/channel_state_test.rb +47 -0
  18. data/lib/anyt/tests/features/remote_disconnect_test.rb +30 -0
  19. data/lib/anyt/tests/features/server_restart_test.rb +28 -0
  20. data/lib/anyt/tests/request/channel_test.rb +28 -0
  21. data/lib/anyt/tests/request/connection_test.rb +23 -21
  22. data/lib/anyt/tests/request/disconnect_reasons_test.rb +23 -0
  23. data/lib/anyt/tests/request/disconnection_test.rb +50 -32
  24. data/lib/anyt/tests/streams/broadcast_test.rb +13 -13
  25. data/lib/anyt/tests/streams/multiple_clients_test.rb +10 -10
  26. data/lib/anyt/tests/streams/multiple_test.rb +10 -10
  27. data/lib/anyt/tests/streams/single_test.rb +10 -10
  28. data/lib/anyt/tests/streams/stop_test.rb +57 -0
  29. data/lib/anyt/tests/subscriptions/ack_test.rb +9 -11
  30. data/lib/anyt/tests/subscriptions/params_test.rb +6 -7
  31. data/lib/anyt/tests/subscriptions/perform_test.rb +16 -18
  32. data/lib/anyt/tests/subscriptions/transmissions_test.rb +6 -7
  33. data/lib/anyt/version.rb +1 -1
  34. metadata +26 -68
  35. data/.gitignore +0 -43
  36. data/.rubocop.yml +0 -80
  37. data/Gemfile +0 -6
  38. data/LICENSE.txt +0 -21
  39. data/Makefile +0 -5
  40. data/anyt.gemspec +0 -42
  41. data/circle.yml +0 -14
  42. 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
- } do
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 = { "identifier" => { channel: channel }.to_json, "message" => "hello" }
18
+ msg = {"identifier" => {channel: channel}.to_json, "message" => "hello"}
20
19
 
21
20
  assert_equal msg, client.receive
22
21
 
23
- msg = { "identifier" => { channel: channel }.to_json, "message" => "world" }
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" => { channel: channel }.to_json, "type" => "confirm_subscription"
27
+ "identifier" => {channel: channel}.to_json, "type" => "confirm_subscription"
29
28
  }
30
29
 
31
30
  assert_equal ack, client.receive
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Anyt
4
- VERSION = "0.8.5"
4
+ VERSION = "1.0.0"
5
5
  end
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.8.5
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - palkan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-11 00:00:00.000000000 Z
11
+ date: 2020-07-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack
@@ -16,14 +16,14 @@ 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
@@ -70,16 +70,16 @@ dependencies:
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.6.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.6.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: bundler
140
+ name: childprocess
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: '1'
146
- type: :development
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: '10.0'
152
+ version: '3.0'
167
153
  - !ruby/object:Gem::Dependency
168
- name: simplecov
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: 0.59.0
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: 0.59.0
166
+ version: '2'
195
167
  - !ruby/object:Gem::Dependency
196
- name: pry
168
+ name: rake
197
169
  requirement: !ruby/object:Gem::Requirement
198
170
  requirements:
199
171
  - - "~>"
200
172
  - !ruby/object:Gem::Version
201
- version: 0.10.4
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.10.4
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
@@ -263,17 +213,25 @@ files:
263
213
  - lib/anyt/dummy/application.rb
264
214
  - lib/anyt/dummy/config.ru
265
215
  - lib/anyt/dummy/routes.rb
216
+ - lib/anyt/dummy/tmp/development_secret.txt
266
217
  - lib/anyt/ext/minitest.rb
218
+ - lib/anyt/remote_control.rb
267
219
  - lib/anyt/rpc.rb
268
220
  - lib/anyt/tests.rb
269
221
  - lib/anyt/tests/core/ping_test.rb
270
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
271
227
  - lib/anyt/tests/request/connection_test.rb
228
+ - lib/anyt/tests/request/disconnect_reasons_test.rb
272
229
  - lib/anyt/tests/request/disconnection_test.rb
273
230
  - lib/anyt/tests/streams/broadcast_test.rb
274
231
  - lib/anyt/tests/streams/multiple_clients_test.rb
275
232
  - lib/anyt/tests/streams/multiple_test.rb
276
233
  - lib/anyt/tests/streams/single_test.rb
234
+ - lib/anyt/tests/streams/stop_test.rb
277
235
  - lib/anyt/tests/subscriptions/ack_test.rb
278
236
  - lib/anyt/tests/subscriptions/params_test.rb
279
237
  - lib/anyt/tests/subscriptions/perform_test.rb
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
@@ -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
@@ -1,6 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- source "https://rubygems.org"
4
-
5
- # Specify your gem's dependencies in anyt.gemspec
6
- gemspec
@@ -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.
data/Makefile DELETED
@@ -1,5 +0,0 @@
1
- lint:
2
- bundle exec rubocop
3
-
4
- test:
5
- bin/anyt --self-check --require=etc/tests/*.rb
@@ -1,42 +0,0 @@
1
- # coding: utf-8
2
- # frozen_string_literal: true
3
-
4
- lib = File.expand_path("../lib", __FILE__)
5
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
6
-
7
- require "anyt/version"
8
-
9
- Gem::Specification.new do |spec|
10
- spec.name = "anyt"
11
- spec.version = Anyt::VERSION
12
- spec.authors = ["palkan"]
13
- spec.email = ["dementiev.vm@gmail.com"]
14
-
15
- spec.summary = "Anycable conformance testing tool"
16
- spec.description = "Anycable conformance testing tool"
17
- spec.homepage = "http://github.com/anycable/anyt"
18
- spec.license = "MIT"
19
-
20
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
21
- spec.require_paths = ["lib"]
22
-
23
- spec.executables << "anyt"
24
-
25
- spec.add_dependency "rack", "~> 2"
26
- spec.add_dependency "minitest", "~> 5.10"
27
- spec.add_dependency "minitest-reporters", "~> 1.1.0"
28
- spec.add_dependency "rails", ">= 5.0"
29
- spec.add_dependency "anycable-rails", "~> 0.6.0"
30
- spec.add_dependency "redis", "~> 4.0"
31
- spec.add_dependency "websocket", "~> 1.2.4"
32
- spec.add_dependency "websocket-client-simple", "~> 0.3.0"
33
- spec.add_dependency "concurrent-ruby", "~> 1.0.0"
34
-
35
- spec.add_development_dependency "bundler", "~> 1"
36
- spec.add_development_dependency "rake", "~> 10.0"
37
- spec.add_development_dependency "simplecov", ">= 0.3.8"
38
- spec.add_development_dependency "rubocop", "~> 0.59.0"
39
- spec.add_development_dependency "pry", "~> 0.10.4"
40
- spec.add_development_dependency "puma", "~> 3.6"
41
- spec.add_development_dependency "pry-byebug"
42
- end