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.
- checksums.yaml +4 -4
- data/README.md +14 -3
- data/Rakefile +98 -0
- data/config/default.md +6 -3
- data/config/default.yml +7 -1
- data/lib/generators/ruby_rabbitmq_janus/install_generator.rb +3 -0
- data/lib/generators/ruby_rabbitmq_janus/migration_generator.rb +30 -0
- data/lib/generators/ruby_rabbitmq_janus/templates/migration.rb +14 -0
- data/lib/rrj/admin.rb +2 -0
- data/lib/rrj/errors/base/admin.rb +24 -0
- data/lib/rrj/errors/base/base.rb +5 -0
- data/lib/rrj/errors/base/init.rb +46 -0
- data/lib/rrj/errors/base/task.rb +32 -0
- data/lib/rrj/errors/error.rb +4 -3
- data/lib/rrj/errors/janus/janus.rb +20 -7
- data/lib/rrj/errors/janus/messages/admin.rb +33 -0
- data/lib/rrj/errors/janus/messages/message.rb +51 -0
- data/lib/rrj/errors/janus/messages/standard.rb +33 -0
- data/lib/rrj/errors/janus/processus/concurency.rb +23 -0
- data/lib/rrj/errors/janus/processus/event.rb +30 -0
- data/lib/rrj/errors/janus/processus/keepalive.rb +33 -0
- data/lib/rrj/errors/janus/responses/admin.rb +39 -0
- data/lib/rrj/errors/janus/responses/event.rb +46 -0
- data/lib/rrj/errors/janus/responses/response.rb +44 -0
- data/lib/rrj/errors/janus/responses/standard.rb +58 -0
- data/lib/rrj/errors/janus/transactions/admin.rb +37 -0
- data/lib/rrj/errors/janus/transactions/handle.rb +52 -0
- data/lib/rrj/errors/janus/transactions/session.rb +38 -0
- data/lib/rrj/errors/janus/transactions/transaction.rb +23 -0
- data/lib/rrj/errors/rabbit/connect.rb +58 -0
- data/lib/rrj/errors/rabbit/propertie.rb +37 -0
- data/lib/rrj/errors/rabbit/publish/admin.rb +30 -0
- data/lib/rrj/errors/rabbit/publish/base_publisher.rb +23 -0
- data/lib/rrj/errors/rabbit/publish/exclusive.rb +31 -0
- data/lib/rrj/errors/rabbit/publish/listener.rb +30 -0
- data/lib/rrj/errors/rabbit/publish/non_exclusive.rb +31 -0
- data/lib/rrj/errors/rabbit/publish/publisher.rb +30 -0
- data/lib/rrj/errors/rabbit/rabbit.rb +14 -23
- data/lib/rrj/errors/tools/gem/cluster.rb +44 -0
- data/lib/rrj/errors/tools/gem/config.rb +89 -0
- data/lib/rrj/errors/tools/gem/log.rb +86 -0
- data/lib/rrj/errors/tools/gem/option.rb +37 -0
- data/lib/rrj/errors/tools/gem/request.rb +23 -0
- data/lib/rrj/errors/tools/replaces/replace.rb +30 -0
- data/lib/rrj/errors/tools/replaces/type.rb +30 -0
- data/lib/rrj/errors/tools/tools.rb +21 -1
- data/lib/rrj/info.rb +1 -1
- data/lib/rrj/init.rb +22 -4
- data/lib/rrj/janus/messages/admin.rb +9 -4
- data/lib/rrj/janus/messages/message.rb +20 -9
- data/lib/rrj/janus/messages/standard.rb +8 -2
- data/lib/rrj/janus/processus/concurrency.rb +2 -0
- data/lib/rrj/janus/processus/event.rb +8 -0
- data/lib/rrj/janus/processus/keepalive.rb +15 -23
- data/lib/rrj/janus/responses/admin.rb +6 -0
- data/lib/rrj/janus/responses/event.rb +8 -0
- data/lib/rrj/janus/responses/response.rb +8 -11
- data/lib/rrj/janus/responses/standard.rb +12 -0
- data/lib/rrj/janus/transactions/admin.rb +6 -0
- data/lib/rrj/janus/transactions/handle.rb +25 -3
- data/lib/rrj/janus/transactions/session.rb +6 -0
- data/lib/rrj/janus/transactions/transaction.rb +3 -9
- data/lib/rrj/models/active_record.rb +14 -0
- data/lib/rrj/models/concerns/janus_instance_concern.rb +47 -0
- data/lib/rrj/models/mongoid.rb +19 -0
- data/lib/rrj/rabbit/connect.rb +12 -8
- data/lib/rrj/rabbit/propertie.rb +23 -6
- data/lib/rrj/rabbit/publish/admin.rb +4 -0
- data/lib/rrj/rabbit/publish/base_publisher.rb +2 -1
- data/lib/rrj/rabbit/publish/exclusive.rb +4 -0
- data/lib/rrj/rabbit/publish/listener.rb +6 -0
- data/lib/rrj/rabbit/publish/non_exclusive.rb +4 -0
- data/lib/rrj/rabbit/publish/publisher.rb +4 -4
- data/lib/rrj/railtie.rb +15 -0
- data/lib/rrj/task.rb +51 -0
- data/lib/rrj/tools/gem/cluster.rb +65 -0
- data/lib/rrj/tools/gem/config.rb +38 -6
- data/lib/rrj/tools/gem/log.rb +24 -4
- data/lib/rrj/tools/gem/option.rb +21 -17
- data/lib/rrj/tools/gem/requests.rb +11 -7
- data/lib/rrj/tools/replaces/replace.rb +4 -0
- data/lib/rrj/tools/replaces/type.rb +4 -0
- data/lib/rrj/tools/tools.rb +1 -0
- data/lib/ruby_rabbitmq_janus.rb +3 -0
- data/lib/tasks/delete_all_instance.rake +12 -0
- data/spec/request/admin/request_handle_info_spec.rb +4 -3
- data/spec/request/admin/request_handles_spec.rb +4 -3
- data/spec/request/peer/request_trickle_spec.rb +1 -1
- data/spec/rrj/rabbit/propertie_spec.rb +37 -2
- data/spec/rrj/tools/gem/rrj_cluster_spec.rb +26 -0
- data/spec/rrj/tools/gem/rrj_config_spec.rb +78 -0
- data/spec/rrj/tools/gem/rrj_log_spec.rb +55 -0
- data/spec/rrj/tools/{replace_admin_spec.rb → replace/replace_admin_spec.rb} +0 -0
- data/spec/rrj/tools/{replace_handle_spec.rb → replace/replace_handle_spec.rb} +0 -0
- data/spec/rrj/tools/{replace_session_spec.rb → replace/replace_session_spec.rb} +0 -0
- data/spec/rrj/tools/{replace_spec.rb → replace/replace_spec.rb} +0 -0
- data/spec/rrj/tools/{type_spec.rb → replace/type_spec.rb} +0 -0
- data/spec/spec_helper.rb +33 -2
- data/spec/support/examples_config.rb +10 -0
- data/spec/support/examples_message.rb +0 -2
- data/spec/support/examples_request.rb +4 -4
- data/spec/support/schemas/config/config.json +4 -2
- data/spec/support/schemas/config/rabbit_options.json +1 -1
- data/spec/support/schemas/config/rabbit_options2.json +13 -0
- data/spec/support/schemas/config/rabbit_options_admin.json +1 -1
- data/spec/support/schemas/config/rabbit_options_admin2.json +13 -0
- metadata +98 -17
- data/lib/rrj/errors/init.rb +0 -69
- data/lib/rrj/errors/janus/janus_message.rb +0 -53
- data/lib/rrj/errors/janus/janus_processus_keepalive.rb +0 -48
- data/lib/rrj/errors/janus/janus_response.rb +0 -89
- data/lib/rrj/errors/janus/janus_transaction.rb +0 -29
- data/lib/rrj/errors/tools/config.rb +0 -43
- data/spec/rrj/rrj_config_spec.rb +0 -67
- data/spec/rrj/rrj_log_spec.rb +0 -16
data/lib/rrj/tools/gem/log.rb
CHANGED
@@ -24,7 +24,7 @@ module RubyRabbitmqJanus
|
|
24
24
|
}.freeze
|
25
25
|
|
26
26
|
# Sensitive data
|
27
|
-
SENSITIVES = %i
|
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
|
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/
|
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
|
data/lib/rrj/tools/gem/option.rb
CHANGED
@@ -1,6 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
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
|
-
|
19
|
-
|
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
|
-
|
39
|
-
|
40
|
-
|
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
|
-
|
52
|
-
|
53
|
-
|
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
|
28
|
-
|
29
|
-
|
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
|
data/lib/rrj/tools/tools.rb
CHANGED
data/lib/ruby_rabbitmq_janus.rb
CHANGED
@@ -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.
|
10
|
-
sender = transaction.publish_message('base::attach'
|
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.
|
10
|
-
sender = transaction.publish_message('base::attach'
|
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
|
-
|
15
|
-
|
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
|