ruby_rabbitmq_janus 2.0.0 → 2.1.0.pre.128

Sign up to get free protection for your applications and to get access to all the features.
Files changed (115) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +14 -3
  3. data/Rakefile +98 -0
  4. data/config/default.md +6 -3
  5. data/config/default.yml +7 -1
  6. data/lib/generators/ruby_rabbitmq_janus/install_generator.rb +3 -0
  7. data/lib/generators/ruby_rabbitmq_janus/migration_generator.rb +30 -0
  8. data/lib/generators/ruby_rabbitmq_janus/templates/migration.rb +14 -0
  9. data/lib/rrj/admin.rb +2 -0
  10. data/lib/rrj/errors/base/admin.rb +24 -0
  11. data/lib/rrj/errors/base/base.rb +5 -0
  12. data/lib/rrj/errors/base/init.rb +46 -0
  13. data/lib/rrj/errors/base/task.rb +32 -0
  14. data/lib/rrj/errors/error.rb +4 -3
  15. data/lib/rrj/errors/janus/janus.rb +20 -7
  16. data/lib/rrj/errors/janus/messages/admin.rb +33 -0
  17. data/lib/rrj/errors/janus/messages/message.rb +51 -0
  18. data/lib/rrj/errors/janus/messages/standard.rb +33 -0
  19. data/lib/rrj/errors/janus/processus/concurency.rb +23 -0
  20. data/lib/rrj/errors/janus/processus/event.rb +30 -0
  21. data/lib/rrj/errors/janus/processus/keepalive.rb +33 -0
  22. data/lib/rrj/errors/janus/responses/admin.rb +39 -0
  23. data/lib/rrj/errors/janus/responses/event.rb +46 -0
  24. data/lib/rrj/errors/janus/responses/response.rb +44 -0
  25. data/lib/rrj/errors/janus/responses/standard.rb +58 -0
  26. data/lib/rrj/errors/janus/transactions/admin.rb +37 -0
  27. data/lib/rrj/errors/janus/transactions/handle.rb +52 -0
  28. data/lib/rrj/errors/janus/transactions/session.rb +38 -0
  29. data/lib/rrj/errors/janus/transactions/transaction.rb +23 -0
  30. data/lib/rrj/errors/rabbit/connect.rb +58 -0
  31. data/lib/rrj/errors/rabbit/propertie.rb +37 -0
  32. data/lib/rrj/errors/rabbit/publish/admin.rb +30 -0
  33. data/lib/rrj/errors/rabbit/publish/base_publisher.rb +23 -0
  34. data/lib/rrj/errors/rabbit/publish/exclusive.rb +31 -0
  35. data/lib/rrj/errors/rabbit/publish/listener.rb +30 -0
  36. data/lib/rrj/errors/rabbit/publish/non_exclusive.rb +31 -0
  37. data/lib/rrj/errors/rabbit/publish/publisher.rb +30 -0
  38. data/lib/rrj/errors/rabbit/rabbit.rb +14 -23
  39. data/lib/rrj/errors/tools/gem/cluster.rb +44 -0
  40. data/lib/rrj/errors/tools/gem/config.rb +89 -0
  41. data/lib/rrj/errors/tools/gem/log.rb +86 -0
  42. data/lib/rrj/errors/tools/gem/option.rb +37 -0
  43. data/lib/rrj/errors/tools/gem/request.rb +23 -0
  44. data/lib/rrj/errors/tools/replaces/replace.rb +30 -0
  45. data/lib/rrj/errors/tools/replaces/type.rb +30 -0
  46. data/lib/rrj/errors/tools/tools.rb +21 -1
  47. data/lib/rrj/info.rb +1 -1
  48. data/lib/rrj/init.rb +22 -4
  49. data/lib/rrj/janus/messages/admin.rb +9 -4
  50. data/lib/rrj/janus/messages/message.rb +20 -9
  51. data/lib/rrj/janus/messages/standard.rb +8 -2
  52. data/lib/rrj/janus/processus/concurrency.rb +2 -0
  53. data/lib/rrj/janus/processus/event.rb +8 -0
  54. data/lib/rrj/janus/processus/keepalive.rb +15 -23
  55. data/lib/rrj/janus/responses/admin.rb +6 -0
  56. data/lib/rrj/janus/responses/event.rb +8 -0
  57. data/lib/rrj/janus/responses/response.rb +8 -11
  58. data/lib/rrj/janus/responses/standard.rb +12 -0
  59. data/lib/rrj/janus/transactions/admin.rb +6 -0
  60. data/lib/rrj/janus/transactions/handle.rb +25 -3
  61. data/lib/rrj/janus/transactions/session.rb +6 -0
  62. data/lib/rrj/janus/transactions/transaction.rb +3 -9
  63. data/lib/rrj/models/active_record.rb +14 -0
  64. data/lib/rrj/models/concerns/janus_instance_concern.rb +47 -0
  65. data/lib/rrj/models/mongoid.rb +19 -0
  66. data/lib/rrj/rabbit/connect.rb +12 -8
  67. data/lib/rrj/rabbit/propertie.rb +23 -6
  68. data/lib/rrj/rabbit/publish/admin.rb +4 -0
  69. data/lib/rrj/rabbit/publish/base_publisher.rb +2 -1
  70. data/lib/rrj/rabbit/publish/exclusive.rb +4 -0
  71. data/lib/rrj/rabbit/publish/listener.rb +6 -0
  72. data/lib/rrj/rabbit/publish/non_exclusive.rb +4 -0
  73. data/lib/rrj/rabbit/publish/publisher.rb +4 -4
  74. data/lib/rrj/railtie.rb +15 -0
  75. data/lib/rrj/task.rb +51 -0
  76. data/lib/rrj/tools/gem/cluster.rb +65 -0
  77. data/lib/rrj/tools/gem/config.rb +38 -6
  78. data/lib/rrj/tools/gem/log.rb +24 -4
  79. data/lib/rrj/tools/gem/option.rb +21 -17
  80. data/lib/rrj/tools/gem/requests.rb +11 -7
  81. data/lib/rrj/tools/replaces/replace.rb +4 -0
  82. data/lib/rrj/tools/replaces/type.rb +4 -0
  83. data/lib/rrj/tools/tools.rb +1 -0
  84. data/lib/ruby_rabbitmq_janus.rb +3 -0
  85. data/lib/tasks/delete_all_instance.rake +12 -0
  86. data/spec/request/admin/request_handle_info_spec.rb +4 -3
  87. data/spec/request/admin/request_handles_spec.rb +4 -3
  88. data/spec/request/peer/request_trickle_spec.rb +1 -1
  89. data/spec/rrj/rabbit/propertie_spec.rb +37 -2
  90. data/spec/rrj/tools/gem/rrj_cluster_spec.rb +26 -0
  91. data/spec/rrj/tools/gem/rrj_config_spec.rb +78 -0
  92. data/spec/rrj/tools/gem/rrj_log_spec.rb +55 -0
  93. data/spec/rrj/tools/{replace_admin_spec.rb → replace/replace_admin_spec.rb} +0 -0
  94. data/spec/rrj/tools/{replace_handle_spec.rb → replace/replace_handle_spec.rb} +0 -0
  95. data/spec/rrj/tools/{replace_session_spec.rb → replace/replace_session_spec.rb} +0 -0
  96. data/spec/rrj/tools/{replace_spec.rb → replace/replace_spec.rb} +0 -0
  97. data/spec/rrj/tools/{type_spec.rb → replace/type_spec.rb} +0 -0
  98. data/spec/spec_helper.rb +33 -2
  99. data/spec/support/examples_config.rb +10 -0
  100. data/spec/support/examples_message.rb +0 -2
  101. data/spec/support/examples_request.rb +4 -4
  102. data/spec/support/schemas/config/config.json +4 -2
  103. data/spec/support/schemas/config/rabbit_options.json +1 -1
  104. data/spec/support/schemas/config/rabbit_options2.json +13 -0
  105. data/spec/support/schemas/config/rabbit_options_admin.json +1 -1
  106. data/spec/support/schemas/config/rabbit_options_admin2.json +13 -0
  107. metadata +98 -17
  108. data/lib/rrj/errors/init.rb +0 -69
  109. data/lib/rrj/errors/janus/janus_message.rb +0 -53
  110. data/lib/rrj/errors/janus/janus_processus_keepalive.rb +0 -48
  111. data/lib/rrj/errors/janus/janus_response.rb +0 -89
  112. data/lib/rrj/errors/janus/janus_transaction.rb +0 -29
  113. data/lib/rrj/errors/tools/config.rb +0 -43
  114. data/spec/rrj/rrj_config_spec.rb +0 -67
  115. data/spec/rrj/rrj_log_spec.rb +0 -16
@@ -24,7 +24,7 @@ module RubyRabbitmqJanus
24
24
  }.freeze
25
25
 
26
26
  # Sensitive data
27
- SENSITIVES = %i(admin_secret apisecret).freeze
27
+ SENSITIVES = %i[admin_secret apisecret].freeze
28
28
 
29
29
  attr_reader :level
30
30
 
@@ -40,6 +40,8 @@ module RubyRabbitmqJanus
40
40
  @level = logs.level
41
41
  @progname = logs.progname
42
42
  @logs = ActiveSupport::TaggedLogging.new(logs)
43
+ rescue
44
+ raise Errors::Tools::Log::Initialize
43
45
  end
44
46
 
45
47
  # Write a message in log with a `UNKNOWN` level
@@ -47,6 +49,8 @@ module RubyRabbitmqJanus
47
49
  # @param message [String] Message writing in warning level in log
48
50
  def unknown(message)
49
51
  write_tag { @logs.unknown(filter(message)) }
52
+ rescue
53
+ raise Errors::Tools::Log::Unknow
50
54
  end
51
55
 
52
56
  # Write a message in log with a `FATAL` level
@@ -54,6 +58,8 @@ module RubyRabbitmqJanus
54
58
  # @param message [String] Message writing in warning level in log
55
59
  def fatal(message)
56
60
  write_tag { @logs.fatal(filter(message)) } if test_level?(Logger::FATAL)
61
+ rescue
62
+ raise Errors::Tools::Log::Fatal
57
63
  end
58
64
 
59
65
  # Write a message in log with a `ERROR` level
@@ -61,12 +67,16 @@ module RubyRabbitmqJanus
61
67
  # @param message [String] Message writing in warning level in log
62
68
  def error(message)
63
69
  write_tag { @logs.error(filter(message)) } if test_level?(Logger::ERROR)
70
+ rescue
71
+ raise Errors::Tools::Log::Error
64
72
  end
65
73
 
66
74
  # Write a message in log with a `WARN` level
67
75
  # @param message [String] Message writing in warning level in log
68
76
  def warn(message)
69
77
  write_tag { @logs.warn(filter(message)) } if test_level?(Logger::WARN)
78
+ rescue
79
+ raise Errors::Tools::Log::Warn
70
80
  end
71
81
 
72
82
  # Write a message in log with a `INFO` level
@@ -74,6 +84,8 @@ module RubyRabbitmqJanus
74
84
  # @param message [String] Message writing in info level in log
75
85
  def info(message)
76
86
  write_tag { @logs.info(filter(message)) } if test_level?(Logger::INFO)
87
+ rescue
88
+ raise Errors::Tools::Log::Info
77
89
  end
78
90
 
79
91
  # Write a message in log with a `DEBUG` level
@@ -81,16 +93,22 @@ module RubyRabbitmqJanus
81
93
  # @param message [String] Message writing in debug level in log
82
94
  def debug(message)
83
95
  write_tag { @logs.debug(filter(message)) } if test_level?(Logger::DEBUG)
96
+ rescue
97
+ raise Errors::Tools::Log::Debug
84
98
  end
85
99
 
86
100
  # @return [RubyRabbitmqJanus::Tools::Log] the instance to logger
87
101
  def logger
88
102
  @logs
103
+ rescue
104
+ raise Errors::Tools::Log::Logger
89
105
  end
90
106
 
91
- # @return [String] name of file to lgger used
107
+ # @return [String] name of file to logger used
92
108
  def logdev
93
109
  @logs.instance_variable_get(:'@logdev').filename
110
+ rescue
111
+ raise Errors::Tools::Log::Logdev
94
112
  end
95
113
 
96
114
  # Save log level used in this gem
@@ -98,16 +116,18 @@ module RubyRabbitmqJanus
98
116
  # @param [Symbol] gem_level Level used for log in this gem
99
117
  def save_level(gem_level)
100
118
  @level = LEVELS[gem_level]
119
+ rescue
120
+ raise Errors::Tools::Log::SaveLevel
101
121
  end
102
122
 
103
123
  private
104
124
 
105
125
  def logger_rails
106
- Rails.logger
126
+ defined?(RSpec) ? logger_develop : Rails.logger
107
127
  end
108
128
 
109
129
  def logger_develop
110
- log = Logger.new('log/rails-rabbit-janus.log')
130
+ log = Logger.new('log/ruby-rabbitmq-janus.log')
111
131
  log.formatter = proc do |severity, _datetime, _progname, msg|
112
132
  "#{severity[0, 1].upcase}, #{msg}\n"
113
133
  end
@@ -1,6 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # :reek:FeatureEnvy :reek:UtilityFunction
3
+ require 'rrj/models/concerns/janus_instance_concern'
4
+ if defined?(Mongoid)
5
+ require 'rrj/models/mongoid'
6
+ else
7
+ require 'rrj/models/active_record'
8
+ end
9
+
10
+ # :reek:FeatureEnvy
4
11
 
5
12
  module RubyRabbitmqJanus
6
13
  module Tools
@@ -15,16 +22,9 @@ module RubyRabbitmqJanus
15
22
  Log.instance
16
23
  Config.instance
17
24
  Requests.instance
18
- @session = Janus::Concurrencies::Keepalive.instance.session
19
- end
20
-
21
- # Give number session to keepalive
22
- #
23
- # @return [Fixnum] Session ID
24
- #
25
- # @since 2.0.0
26
- def keepalive
27
- @session
25
+ Cluster.instance.create_sessions
26
+ rescue => error
27
+ raise Errors::Tools::Option::Initialize, error
28
28
  end
29
29
 
30
30
  # Determine session_id used
@@ -35,9 +35,13 @@ module RubyRabbitmqJanus
35
35
  #
36
36
  # @since 2.0.0
37
37
  def use_current_session?(options)
38
- hash = options
39
- hash['session_id'] = @session unless hash.key?('session_id')
40
- hash['session_id']
38
+ if options.key?('session_id')
39
+ options['session_id']
40
+ else
41
+ Models::JanusInstance.first.session
42
+ end
43
+ rescue
44
+ raise Errors::Tools::Option::UseCurrentSession, options
41
45
  end
42
46
 
43
47
  # Determine handle_id used
@@ -48,9 +52,9 @@ module RubyRabbitmqJanus
48
52
  #
49
53
  # @since 2.0.0
50
54
  def use_current_handle?(options)
51
- hash = options
52
- hash['handle_id'] = 0 unless hash.key?('handle_id')
53
- hash['handle_id']
55
+ options.key?('handle_id') ? options['handle_id'] : 0
56
+ rescue
57
+ raise Errors::Tools::Option::UseCurrentHandle, options
54
58
  end
55
59
  end
56
60
  end
@@ -24,13 +24,9 @@ module RubyRabbitmqJanus
24
24
  def initialize
25
25
  @requests = {}
26
26
  Tools::Log.instance.info "Loading all requests in : #{PATH_REQUEST}"
27
- Dir[File.join(PATH_REQUEST, '*')].count do |file|
28
- if File.file?(file)
29
- read_file(file)
30
- elsif File.directory?(file)
31
- each_folder(File.basename(file))
32
- end
33
- end
27
+ Dir[File.join(PATH_REQUEST, '*')].count { |file| each_files(file) }
28
+ rescue
29
+ raise Errors::Tools::Request::Initializer
34
30
  end
35
31
 
36
32
  private
@@ -52,6 +48,14 @@ module RubyRabbitmqJanus
52
48
  def read_folder(folder, file)
53
49
  @requests[folder + File.basename(file, '.json').to_s] = File.path(file)
54
50
  end
51
+
52
+ def each_files(file)
53
+ if File.file?(file)
54
+ read_file(file)
55
+ elsif File.directory?(file)
56
+ each_folder(File.basename(file))
57
+ end
58
+ end
55
59
  end
56
60
  end
57
61
  end
@@ -19,6 +19,8 @@ module RubyRabbitmqJanus
19
19
  @request = request
20
20
  @opts = options
21
21
  @type = Tools::Type.new(@request)
22
+ rescue
23
+ raise Errors::Tools::Replace::Initializer
22
24
  end
23
25
 
24
26
  # Replace element in hash request with information used for this
@@ -32,6 +34,8 @@ module RubyRabbitmqJanus
32
34
  add_other if test_presence?('add')
33
35
  end
34
36
  @request
37
+ rescue
38
+ raise Errors::Tools::Replace::TransformRequest
35
39
  end
36
40
 
37
41
  private
@@ -17,6 +17,8 @@ module RubyRabbitmqJanus
17
17
  def initialize(request)
18
18
  @request = request
19
19
  @key = @data = nil
20
+ rescue
21
+ raise Errors::Tools::Type::Initializer
20
22
  end
21
23
 
22
24
  # Return an data with a type corresponding to string in request
@@ -29,6 +31,8 @@ module RubyRabbitmqJanus
29
31
  @key = key
30
32
  @data = option[@key] if option.key?(@key)
31
33
  convert_data
34
+ rescue
35
+ raise Errors::Tools::Type::Convert
32
36
  end
33
37
 
34
38
  private
@@ -3,6 +3,7 @@
3
3
  require 'rrj/tools/gem/log'
4
4
  require 'rrj/tools/gem/config'
5
5
  require 'rrj/tools/gem/requests'
6
+ require 'rrj/tools/gem/cluster'
6
7
  require 'rrj/tools/gem/option'
7
8
  require 'rrj/tools/replaces/type'
8
9
  require 'rrj/tools/replaces/replace'
@@ -3,6 +3,7 @@
3
3
  # Load all tools necessary to good functionlaty to this gem
4
4
  require 'rrj/init'
5
5
  require 'rrj/admin'
6
+ require 'rrj/task'
6
7
 
7
8
  # Define tools for this gems
8
9
  require 'rrj/tools/tools'
@@ -15,3 +16,5 @@ require 'rrj/janus/janus'
15
16
 
16
17
  # Define errors in gems
17
18
  require 'rrj/errors/error'
19
+
20
+ require 'rrj/railtie' if defined?(Rails)
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ namespace :rrj do
4
+ desc 'Delete all instances in database.'
5
+ task delete_instances: :environment do
6
+ @timelaps = Time.now.utc
7
+
8
+ RubyRabbitmqJanus::Models::JanusInstance.destroy_all
9
+
10
+ Rails.logger.info "Executed in #{Time.now.utc - @timelaps} ms"
11
+ end
12
+ end
@@ -6,10 +6,11 @@ describe 'RubyRabbitmqJanus::RRJ -- message type handle info' do
6
6
  before(:example) do
7
7
  @type = 'admin::handle_info'
8
8
  sender = nil
9
- @gateway.start_transaction do |transaction|
10
- sender = transaction.publish_message('base::attach').sender
9
+ @gateway.start_transaction_admin(@session_instance) do |transaction|
10
+ sender = transaction.publish_message('base::attach',
11
+ @session_instance).sender
11
12
  end
12
- @options = { 'handle_id' => sender }
13
+ @options = { 'handle_id' => sender }.merge(@session_instance)
13
14
  end
14
15
 
15
16
  describe '#start_transaction_admin', type: :request,
@@ -6,10 +6,11 @@ describe 'RubyRabbitmqJanus::RRJ -- message type handles list' do
6
6
  before(:example) do
7
7
  @type = 'admin::handles'
8
8
  sender = nil
9
- @gateway.start_transaction do |transaction|
10
- sender = transaction.publish_message('base::attach').sender
9
+ @gateway.start_transaction_admin(@session_instance) do |transaction|
10
+ sender = transaction.publish_message('base::attach',
11
+ @session_instance).sender
11
12
  end
12
- @options = { 'handle_id' => sender }
13
+ @options = { 'handle_id' => sender }.merge(@session_instance)
13
14
  end
14
15
 
15
16
  describe '#start_transaction_admin', type: :request,
@@ -6,7 +6,7 @@ describe 'RubyRabbitmqJanus::RRJ -- message type trickle' do
6
6
  before(:example) do
7
7
  @type = 'peer::trickle'
8
8
  candidate = { 'sdpMid' => '..', 'sdpMLineIndex' => 1, 'candidate' => '..' }
9
- @options = { 'candidate' => candidate }
9
+ @options = { 'candidate' => candidate }.merge(@session_instance)
10
10
  end
11
11
 
12
12
  describe '#start_transaction_handle', type: :request,
@@ -11,8 +11,43 @@ describe RubyRabbitmqJanus::Rabbit::Propertie, type: :rabbit,
11
11
  end
12
12
 
13
13
  describe '#options_admin' do
14
- it do
15
- expect(rabbit.options_admin).to match_json_schema(:rabbit_options_admin)
14
+ context 'For admin request' do
15
+ it do
16
+ expect(rabbit.options_admin('admin::sessions')).to \
17
+ match_json_schema(:rabbit_options_admin)
18
+ end
19
+ end
20
+
21
+ context 'For base request' do
22
+ it do
23
+ expect(rabbit.options_admin('request::create')).to \
24
+ match_json_schema(:rabbit_options)
25
+ end
26
+ end
27
+ end
28
+ end
29
+ describe RubyRabbitmqJanus::Rabbit::Propertie, type: :rabbit,
30
+ name: :propertie,
31
+ instances: true do
32
+ let(:rabbit) { RubyRabbitmqJanus::Rabbit::Propertie.new(2) }
33
+
34
+ describe '#options' do
35
+ it { expect(rabbit.options).to match_json_schema(:rabbit_options2) }
36
+ end
37
+
38
+ describe '#options_admin' do
39
+ context 'For admin request' do
40
+ it do
41
+ expect(rabbit.options_admin('admin::sessions')).to \
42
+ match_json_schema(:rabbit_options_admin2)
43
+ end
44
+ end
45
+
46
+ context 'For base request' do
47
+ it do
48
+ expect(rabbit.options_admin('request::create')).to \
49
+ match_json_schema(:rabbit_options2)
50
+ end
16
51
  end
17
52
  end
18
53
  end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe RubyRabbitmqJanus::Tools::Cluster, type: :tools, name: :cluster do
6
+ it { expect(RubyRabbitmqJanus::Tools::Cluster.instance.enable).to eql(false) }
7
+
8
+ it { expect(RubyRabbitmqJanus::Tools::Cluster.instance.number).to eql(1) }
9
+
10
+ it do
11
+ expect(RubyRabbitmqJanus::Tools::Cluster.instance.queue_to(42)).to \
12
+ eql('to-janus-42')
13
+ end
14
+
15
+ it do
16
+ expect(RubyRabbitmqJanus::Tools::Cluster.instance.queue_admin_to(42)).to \
17
+ eql('to-janus-admin-42')
18
+ end
19
+
20
+ context 'when created sessions with active record' do
21
+ it do
22
+ expect(RubyRabbitmqJanus::Tools::Cluster.instance.create_sessions).to \
23
+ be_a(Range)
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,78 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe RubyRabbitmqJanus::Tools::Config, type: :tools, name: :config do
6
+ before(:context) { @cfg = RubyRabbitmqJanus::Tools::Config.instance }
7
+
8
+ it 'When file is correct' do
9
+ expect(@cfg.options).to match_json_schema(:config)
10
+ end
11
+
12
+ context 'janus/session/keepalive' do
13
+ context 'method time_to_live' do
14
+ let(:method) { @cfg.time_to_live }
15
+ it_behaves_like 'type and default value', Integer, 55
16
+ end
17
+
18
+ context 'method alias ttl' do
19
+ let(:method) { @cfg.ttl }
20
+ it_behaves_like 'type and default value', Integer, 55
21
+ end
22
+ end
23
+
24
+ context 'janus/plugins/0' do
25
+ let(:method) { @cfg.plugin_at }
26
+ it_behaves_like 'type and default value', String, 'janus.plugin.echotest'
27
+ end
28
+
29
+ context 'janus/plugins/1' do
30
+ let(:method) { @cfg.plugin_at(1) }
31
+ it_behaves_like 'type and default value', String, 'janus.plugin.videoroom'
32
+ end
33
+
34
+ context 'janus/plugins/2' do
35
+ let(:method) { @cfg.plugin_at(2) }
36
+ it_behaves_like 'type and default value', String, 'janus.plugin.sip'
37
+ end
38
+
39
+ context 'janus/plugins/3' do
40
+ let(:method) { @cfg.plugin_at(3) }
41
+ it_behaves_like 'type and default value', String, ''
42
+ end
43
+
44
+ context 'janus/cluster/enabled' do
45
+ let(:method) { @cfg.cluster }
46
+ it_behaves_like 'type and default value', FalseClass, false
47
+ end
48
+
49
+ context 'janus/cluster/count' do
50
+ let(:method) { @cfg.number_of_instance }
51
+ it_behaves_like 'type and default value', Integer, 1
52
+ end
53
+
54
+ context 'queues/standard/from' do
55
+ let(:method) { @cfg.queue_from }
56
+ it_behaves_like 'type and default value', String, 'from-janus'
57
+ end
58
+
59
+ context 'queues/standard/to' do
60
+ let(:method) { @cfg.queue_to }
61
+ it_behaves_like 'type and default value', String, 'to-janus'
62
+ end
63
+
64
+ context 'queues/admin/from' do
65
+ let(:method) { @cfg.queue_admin_from }
66
+ it_behaves_like 'type and default value', String, 'from-janus-admin'
67
+ end
68
+
69
+ context 'queues/admin/to' do
70
+ let(:method) { @cfg.queue_admin_to }
71
+ it_behaves_like 'type and default value', String, 'to-janus-admin'
72
+ end
73
+
74
+ context 'gem/log/level' do
75
+ let(:method) { @cfg.log_level }
76
+ it_behaves_like 'type and default value', Symbol, :DEBUG
77
+ end
78
+ end