anyt 0.8.5 → 1.1.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 +81 -14
  5. data/lib/anyt/client.rb +12 -7
  6. data/lib/anyt/command.rb +33 -18
  7. data/lib/anyt/config.rb +15 -7
  8. data/lib/anyt/dummy/application.rb +31 -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 +24 -7
  12. data/lib/anyt/remote_control.rb +33 -0
  13. data/lib/anyt/rpc.rb +6 -9
  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 +81 -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 +13 -13
  26. data/lib/anyt/tests/streams/multiple_test.rb +15 -15
  27. data/lib/anyt/tests/streams/single_test.rb +39 -14
  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 +38 -74
  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
data/anyt.gemspec DELETED
@@ -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
data/circle.yml DELETED
@@ -1,14 +0,0 @@
1
- machine:
2
- ruby:
3
- version: 2.4.2
4
- services:
5
- - redis
6
-
7
- dependencies:
8
- pre:
9
- - gem install bundler
10
-
11
- test:
12
- override:
13
- - make lint
14
- - make test
@@ -1,51 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- feature "Broadcast data from channel" do
4
- channel do
5
- def subscribed
6
- stream_from "a"
7
- end
8
-
9
- def speak(msg)
10
- ActionCable.server.broadcast "a", text: msg["msg"]
11
- end
12
- end
13
-
14
- let(:client2) { build_client(ignore: %w[ping welcome]) }
15
-
16
- before do
17
- subscribe_request = { command: "subscribe", identifier: { channel: channel }.to_json }
18
-
19
- client.send(subscribe_request)
20
- client2.send(subscribe_request)
21
-
22
- ack = {
23
- "identifier" => { channel: channel }.to_json, "type" => "confirm_subscription"
24
- }
25
-
26
- assert_equal ack, client.receive
27
- assert_equal ack, client2.receive
28
- end
29
-
30
- scenario %{
31
- Multiple clients receive messages from stream
32
- } do
33
- perform_request = {
34
- command: "message",
35
- identifier: { channel: channel }.to_json,
36
- "data" => { "action" => "speak", "msg" => "hey there!"}.to_json
37
- }
38
-
39
- client.send(perform_request)
40
-
41
- msg = {
42
- "identifier" => { channel: channel }.to_json,
43
- "message" => {
44
- "text" => "hey there!"
45
- }
46
- }
47
-
48
- assert_equal msg, client.receive
49
- assert_equal msg, client2.receive
50
- end
51
- end