ruby_rabbitmq_janus 1.2.9 → 2.0.0.pre.42
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +2 -0
- data/README.md +145 -32
- data/config/default.yml +2 -0
- data/config/requests.md +2 -1
- data/config/requests/admin/add_token.json +6 -0
- data/config/requests/admin/allow_token.json +6 -0
- data/config/requests/admin/disallow_token.json +6 -0
- data/config/requests/admin/handle_info.json +1 -1
- data/config/requests/admin/handles.json +1 -1
- data/config/requests/admin/remove_token.json +6 -0
- data/config/requests/admin/sessions.json +1 -1
- data/config/requests/admin/set_locking_debug.json +6 -0
- data/config/requests/admin/{log_level.json → set_log_level.json} +1 -1
- data/config/requests/admin/tokens.json +5 -0
- data/config/requests/base/attach.json +1 -1
- data/config/requests/base/create.json +1 -1
- data/config/requests/base/destroy.json +1 -1
- data/config/requests/base/detach.json +1 -1
- data/config/requests/base/info.json +1 -1
- data/config/requests/base/keepalive.json +1 -1
- data/config/requests/peer/answer.json +1 -1
- data/config/requests/peer/offer.json +1 -1
- data/config/requests/peer/trickle.json +1 -1
- data/lib/generators/ruby_rabbitmq_janus/initializer_generator.rb +3 -0
- data/lib/rrj/admin.rb +34 -0
- data/lib/rrj/errors/error.rb +2 -1
- data/lib/rrj/errors/init.rb +6 -0
- data/lib/rrj/errors/janus/janus.rb +1 -0
- data/lib/rrj/errors/janus/janus_message.rb +8 -4
- data/lib/rrj/errors/janus/janus_processus_keepalive.rb +1 -0
- data/lib/rrj/errors/janus/janus_response.rb +27 -6
- data/lib/rrj/errors/janus/janus_transaction.rb +4 -0
- data/lib/rrj/errors/rabbit/rabbit.rb +3 -1
- data/lib/rrj/errors/tools/config.rb +1 -0
- data/lib/rrj/info.rb +1 -1
- data/lib/rrj/init.rb +37 -169
- data/lib/rrj/janus/messages/admin.rb +1 -2
- data/lib/rrj/janus/messages/message.rb +4 -4
- data/lib/rrj/janus/messages/standard.rb +3 -5
- data/lib/rrj/janus/processus/concurrency.rb +1 -1
- data/lib/rrj/janus/processus/keepalive.rb +10 -4
- data/lib/rrj/janus/responses/admin.rb +31 -0
- data/lib/rrj/janus/responses/event.rb +23 -5
- data/lib/rrj/janus/responses/response.rb +2 -0
- data/lib/rrj/janus/responses/standard.rb +26 -5
- data/lib/rrj/janus/transactions/admin.rb +22 -26
- data/lib/rrj/janus/transactions/handle.rb +13 -8
- data/lib/rrj/janus/transactions/session.rb +25 -7
- data/lib/rrj/janus/transactions/transaction.rb +2 -1
- data/lib/rrj/rabbit/connect.rb +2 -3
- data/lib/rrj/rabbit/publish/admin.rb +1 -6
- data/lib/rrj/rabbit/publish/base_publisher.rb +6 -11
- data/lib/rrj/rabbit/publish/exclusive.rb +1 -0
- data/lib/rrj/rabbit/publish/listener.rb +10 -27
- data/lib/rrj/rabbit/publish/non_exclusive.rb +2 -6
- data/lib/rrj/rabbit/publish/publisher.rb +4 -17
- data/lib/rrj/tools/{config.rb → gem/config.rb} +5 -5
- data/lib/rrj/tools/{log.rb → gem/log.rb} +21 -6
- data/lib/rrj/tools/gem/option.rb +57 -0
- data/lib/rrj/tools/{requests.rb → gem/requests.rb} +0 -0
- data/lib/rrj/tools/replaces/admin.rb +7 -13
- data/lib/rrj/tools/replaces/handle.rb +61 -0
- data/lib/rrj/tools/replaces/replace.rb +57 -27
- data/lib/rrj/tools/replaces/session.rb +34 -0
- data/lib/rrj/tools/replaces/type.rb +63 -11
- data/lib/rrj/tools/tools.rb +4 -3
- data/lib/ruby_rabbitmq_janus.rb +1 -0
- data/spec/request/admin/request_handle_info_spec.rb +13 -7
- data/spec/request/admin/request_handles_spec.rb +20 -0
- data/spec/request/admin/request_sessions_spec.rb +5 -4
- data/spec/request/admin/request_set_locking_debug_spec.rb +16 -0
- data/spec/request/admin/request_set_log_level_spec.rb +16 -0
- data/spec/request/admin/request_tokens_spec.rb +13 -0
- data/spec/request/base/request_attach_spec.rb +6 -9
- data/spec/request/base/request_create_spec.rb +5 -3
- data/spec/request/base/request_destroy_spec.rb +5 -3
- data/spec/request/base/request_detach_spec.rb +6 -7
- data/spec/request/base/request_info_spec.rb +5 -3
- data/spec/request/base/request_keepalive_spec.rb +5 -3
- data/spec/request/peer/request_offer_spec.rb +18 -92
- data/spec/request/peer/request_trickle_spec.rb +9 -28
- data/spec/request/peer/request_trickles_spec.rb +23 -0
- data/spec/rrj/responses/responses_admin_spec.rb +39 -0
- data/spec/rrj/responses/responses_event_spec.rb +25 -0
- data/spec/rrj/responses/responses_response_spec.rb +31 -0
- data/spec/rrj/responses/responses_standard_spec.rb +43 -0
- data/spec/rrj/rrj_config_spec.rb +7 -7
- data/spec/rrj/rrj_rabbitmq_spec.rb +1 -1
- data/spec/rrj/tools/replace_admin_spec.rb +86 -0
- data/spec/rrj/tools/replace_handle_spec.rb +78 -0
- data/spec/rrj/tools/replace_session_spec.rb +66 -0
- data/spec/rrj/tools/replace_spec.rb +69 -0
- data/spec/rrj/tools/type_spec.rb +150 -0
- data/spec/spec_helper.rb +46 -7
- data/spec/support/examples_request.rb +33 -61
- data/spec/support/examples_response.rb +30 -0
- data/spec/support/schemas/request/admin/handles.json +15 -0
- data/spec/support/schemas/request/admin/set_locking_debug.json +13 -0
- data/spec/support/schemas/request/admin/set_log_level.json +11 -0
- data/spec/support/schemas/request/admin/tokens.json +13 -0
- data/spec/support/type.rb +66 -0
- metadata +41 -69
- data/config/requests/peer/trickles.json +0 -7
- data/lib/rrj/tools/replaces/standard.rb +0 -101
- data/spec/fixtures/config/requests/admin/handle_info.json +0 -3
- data/spec/fixtures/config/requests/admin/handles.json +0 -3
- data/spec/fixtures/config/requests/admin/log_level.json +0 -3
- data/spec/fixtures/config/requests/admin/sessions.json +0 -3
- data/spec/fixtures/config/requests/base/attach.json +0 -3
- data/spec/fixtures/config/requests/base/create.json +0 -4
- data/spec/fixtures/config/requests/base/destroy.json +0 -3
- data/spec/fixtures/config/requests/base/detach.json +0 -3
- data/spec/fixtures/config/requests/base/info.json +0 -3
- data/spec/fixtures/config/requests/base/keepalive.json +0 -3
- data/spec/fixtures/config/requests/peer/answer.json +0 -3
- data/spec/fixtures/config/requests/peer/offer.json +0 -3
- data/spec/fixtures/config/requests/peer/trickle.json +0 -3
@@ -0,0 +1,43 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe RubyRabbitmqJanus::Janus::Responses::Standard, type: :responses,
|
6
|
+
name: :standard do
|
7
|
+
let(:message) do
|
8
|
+
@gateway.start_transaction do |transaction|
|
9
|
+
@response = transaction.publish_message(type)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
context 'just session' do
|
14
|
+
describe '#session' do
|
15
|
+
let(:type) { 'base::create' }
|
16
|
+
let(:response) { @response.session }
|
17
|
+
|
18
|
+
include_examples 'response is', Integer
|
19
|
+
end
|
20
|
+
|
21
|
+
describe '#sender' do
|
22
|
+
let(:type) { 'base::create' }
|
23
|
+
let(:response) { @response.sender }
|
24
|
+
|
25
|
+
include_examples 'response is', Integer
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
context 'session and sender' do
|
30
|
+
before(:example) do
|
31
|
+
@gateway.start_transaction do |transaction|
|
32
|
+
@response = transaction.publish_message('base::create')
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
describe '#session_id' do
|
37
|
+
let(:type) { 'base::attach' }
|
38
|
+
let(:response) { @response.session_id }
|
39
|
+
|
40
|
+
include_examples 'response with sender is', Integer
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
data/spec/rrj/rrj_config_spec.rb
CHANGED
@@ -13,7 +13,7 @@ describe RubyRabbitmqJanus::Tools::Config, type: :config, name: :config do
|
|
13
13
|
expect(@cfg.ttl).to be_a(Integer)
|
14
14
|
end
|
15
15
|
|
16
|
-
it 'When janus/session/keepalive default value is
|
16
|
+
it 'When janus/session/keepalive default value is 55' do
|
17
17
|
expect(@cfg.ttl).to eq 55
|
18
18
|
end
|
19
19
|
|
@@ -21,7 +21,7 @@ describe RubyRabbitmqJanus::Tools::Config, type: :config, name: :config do
|
|
21
21
|
expect(@cfg.plugin_at).to be_a(String)
|
22
22
|
end
|
23
23
|
|
24
|
-
it 'When janus/plugins/0 default value is
|
24
|
+
it 'When janus/plugins/0 default value is janus.plugin.echotest' do
|
25
25
|
expect(@cfg.plugin_at).to eq 'janus.plugin.echotest'
|
26
26
|
end
|
27
27
|
|
@@ -29,7 +29,7 @@ describe RubyRabbitmqJanus::Tools::Config, type: :config, name: :config do
|
|
29
29
|
expect(@cfg.queue_from).to be_a(String)
|
30
30
|
end
|
31
31
|
|
32
|
-
it 'When queues/standard/from default value is
|
32
|
+
it 'When queues/standard/from default value is from-janus' do
|
33
33
|
expect(@cfg.queue_from).to eq 'from-janus'
|
34
34
|
end
|
35
35
|
|
@@ -37,7 +37,7 @@ describe RubyRabbitmqJanus::Tools::Config, type: :config, name: :config do
|
|
37
37
|
expect(@cfg.queue_to).to be_a(String)
|
38
38
|
end
|
39
39
|
|
40
|
-
it 'When queues/standard/to default value is
|
40
|
+
it 'When queues/standard/to default value is to-janus' do
|
41
41
|
expect(@cfg.queue_to).to eq 'to-janus'
|
42
42
|
end
|
43
43
|
|
@@ -45,7 +45,7 @@ describe RubyRabbitmqJanus::Tools::Config, type: :config, name: :config do
|
|
45
45
|
expect(@cfg.queue_admin_from).to be_a(String)
|
46
46
|
end
|
47
47
|
|
48
|
-
it 'When queues/admin/from default value is
|
48
|
+
it 'When queues/admin/from default value is from-janus-admin' do
|
49
49
|
expect(@cfg.queue_admin_from).to eq 'from-janus-admin'
|
50
50
|
end
|
51
51
|
|
@@ -53,7 +53,7 @@ describe RubyRabbitmqJanus::Tools::Config, type: :config, name: :config do
|
|
53
53
|
expect(@cfg.queue_admin_to).to be_a(String)
|
54
54
|
end
|
55
55
|
|
56
|
-
it 'When queues/admin/to default value is
|
56
|
+
it 'When queues/admin/to default value is to-janus-admin' do
|
57
57
|
expect(@cfg.queue_admin_to).to eq 'to-janus-admin'
|
58
58
|
end
|
59
59
|
|
@@ -61,7 +61,7 @@ describe RubyRabbitmqJanus::Tools::Config, type: :config, name: :config do
|
|
61
61
|
expect(@cfg.log_level).to be_a(Symbol)
|
62
62
|
end
|
63
63
|
|
64
|
-
it 'When gem/log/level default value is
|
64
|
+
it 'When gem/log/level default value is INFO' do
|
65
65
|
expect(@cfg.log_level).to eq :INFO
|
66
66
|
end
|
67
67
|
end
|
@@ -9,7 +9,7 @@ describe 'RubyRabbitmqJanus::RabitMQ', type: :config, name: :rabbit do
|
|
9
9
|
end
|
10
10
|
|
11
11
|
it 'Close connection with RabbitMQ Server' do
|
12
|
-
expect(RubyRabbitmqJanus::Rabbit::Connect.new.close).to eq
|
12
|
+
expect(RubyRabbitmqJanus::Rabbit::Connect.new.close).to eq(true)
|
13
13
|
end
|
14
14
|
|
15
15
|
it 'Propertie to message sending in rabbit' do
|
@@ -0,0 +1,86 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe 'RubyRabbitmqJanus::Log', type: :tools, name: :replace_admin do
|
6
|
+
subject(:replace) do
|
7
|
+
# Get request JSON file
|
8
|
+
rqe = RubyRabbitmqJanus::Tools::Requests.instance.requests['test::replace']
|
9
|
+
# Open request file
|
10
|
+
RubyRabbitmqJanus::Tools::Replaces::Admin.new(JSON.parse(File.read(rqe)),
|
11
|
+
options)
|
12
|
+
end
|
13
|
+
|
14
|
+
context 'replace classic element' do
|
15
|
+
let(:opt_session) { Random.rand(123_456_789..987_654_321) }
|
16
|
+
let(:opt_handle) { Random.rand(123_456_789..987_654_321) }
|
17
|
+
let(:opt_plugin) { 'janus.plugin.echotest' }
|
18
|
+
let(:opt_level) { Random.rand(1..7) }
|
19
|
+
let(:opt_debug) { true }
|
20
|
+
let(:opt_candidates) do
|
21
|
+
array = []
|
22
|
+
Random.rand(2..35).times { array.push('hdg': 'kjhdgf') }
|
23
|
+
array
|
24
|
+
end
|
25
|
+
let(:opt_sdp) { 'v=0\r\no=[..more sdp stuff..]' }
|
26
|
+
let(:options) do
|
27
|
+
{
|
28
|
+
'session_id' => opt_session,
|
29
|
+
'plugin' => opt_plugin,
|
30
|
+
'handle_id' => opt_handle,
|
31
|
+
'candidates' => opt_candidates,
|
32
|
+
'sdp' => opt_sdp,
|
33
|
+
'level' => opt_level,
|
34
|
+
'debug' => opt_debug,
|
35
|
+
'replace' => {}, 'add' => {}
|
36
|
+
}
|
37
|
+
end
|
38
|
+
|
39
|
+
context 'transform request' do
|
40
|
+
it do
|
41
|
+
expect(replace.transform_request).to be_kind_of(Hash)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
context 'transform request session_id' do
|
46
|
+
include_examples 'test replace in request', 'session_id', Integer
|
47
|
+
end
|
48
|
+
|
49
|
+
context 'transform request transaction' do
|
50
|
+
include_examples 'test replace in request nil', 'transaction'
|
51
|
+
end
|
52
|
+
|
53
|
+
context 'transform request handle_id' do
|
54
|
+
include_examples 'test replace in request', 'handle_id', Integer
|
55
|
+
end
|
56
|
+
|
57
|
+
context 'transform request plugin' do
|
58
|
+
include_examples 'test replace in request', 'plugin', String
|
59
|
+
end
|
60
|
+
|
61
|
+
context 'transform request candidates' do
|
62
|
+
include_examples 'test replace in request', 'candidates', Array
|
63
|
+
end
|
64
|
+
|
65
|
+
context 'transform request audio' do
|
66
|
+
include_examples 'test replace in request nil', 'audio'
|
67
|
+
end
|
68
|
+
|
69
|
+
context 'transform request sdp' do
|
70
|
+
let(:key) { 'jsep' }
|
71
|
+
include_examples 'test replace in request', 'sdp', String
|
72
|
+
end
|
73
|
+
|
74
|
+
context 'transform request debug' do
|
75
|
+
include_examples 'test replace in request', 'debug', TrueClass
|
76
|
+
end
|
77
|
+
|
78
|
+
context 'transform request level' do
|
79
|
+
include_examples 'test replace in request', 'level', Integer
|
80
|
+
end
|
81
|
+
|
82
|
+
context 'transform request transaction' do
|
83
|
+
include_examples 'test replace in request nil', 'admin_secret'
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
@@ -0,0 +1,78 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe 'RubyRabbitmqJanus::Log', type: :tools, name: :replace_handle do
|
6
|
+
subject(:replace) do
|
7
|
+
# Get request JSON file
|
8
|
+
rqe = RubyRabbitmqJanus::Tools::Requests.instance.requests['test::replace']
|
9
|
+
# Open request file
|
10
|
+
RubyRabbitmqJanus::Tools::Replaces::Handle.new(JSON.parse(File.read(rqe)),
|
11
|
+
options)
|
12
|
+
end
|
13
|
+
|
14
|
+
context 'replace classic element' do
|
15
|
+
let(:opt_session) { Random.rand(123_456_789..987_654_321) }
|
16
|
+
let(:opt_handle) { Random.rand(123_456_789..987_654_321) }
|
17
|
+
let(:opt_plugin) { 'janus.plugin.echotest' }
|
18
|
+
let(:opt_candidates) do
|
19
|
+
array = []
|
20
|
+
Random.rand(2..35).times { array.push('hdg': 'kjhdgf') }
|
21
|
+
array
|
22
|
+
end
|
23
|
+
let(:opt_sdp) { 'v=0\r\no=[..more sdp stuff..]' }
|
24
|
+
let(:options) do
|
25
|
+
{
|
26
|
+
'session_id' => opt_session,
|
27
|
+
'plugin' => opt_plugin,
|
28
|
+
'handle_id' => opt_handle,
|
29
|
+
'candidates' => opt_candidates,
|
30
|
+
'sdp' => opt_sdp,
|
31
|
+
'replace' => {}, 'add' => {}
|
32
|
+
}
|
33
|
+
end
|
34
|
+
|
35
|
+
context 'transform request' do
|
36
|
+
it do
|
37
|
+
expect(replace.transform_request).to be_kind_of(Hash)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
context 'transform request session_id' do
|
42
|
+
include_examples 'test replace in request', 'session_id', Integer
|
43
|
+
end
|
44
|
+
|
45
|
+
context 'transform request transaction' do
|
46
|
+
include_examples 'test replace in request nil', 'transaction'
|
47
|
+
end
|
48
|
+
|
49
|
+
context 'transform request handle_id' do
|
50
|
+
include_examples 'test replace in request', 'handle_id', Integer
|
51
|
+
end
|
52
|
+
|
53
|
+
context 'transform request plugin' do
|
54
|
+
include_examples 'test replace in request', 'plugin', String
|
55
|
+
end
|
56
|
+
|
57
|
+
context 'transform request candidates' do
|
58
|
+
include_examples 'test replace in request', 'candidates', Array
|
59
|
+
end
|
60
|
+
|
61
|
+
context 'transform request audio' do
|
62
|
+
include_examples 'test replace in request nil', 'audio'
|
63
|
+
end
|
64
|
+
|
65
|
+
context 'transform request sdp' do
|
66
|
+
let(:key) { 'jsep' }
|
67
|
+
include_examples 'test replace in request', 'sdp', String
|
68
|
+
end
|
69
|
+
|
70
|
+
context 'transform request debug' do
|
71
|
+
include_examples 'test replace in request nil', 'debug'
|
72
|
+
end
|
73
|
+
|
74
|
+
context 'transform request level' do
|
75
|
+
include_examples 'test replace in request nil', 'level'
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe 'RubyRabbitmqJanus::Log', type: :tools, name: :replace_session do
|
6
|
+
subject(:replace) do
|
7
|
+
# Get request JSON file
|
8
|
+
rqe = RubyRabbitmqJanus::Tools::Requests.instance.requests['test::replace']
|
9
|
+
# Open request file
|
10
|
+
RubyRabbitmqJanus::Tools::Replaces::Session.new(JSON.parse(File.read(rqe)),
|
11
|
+
options)
|
12
|
+
end
|
13
|
+
|
14
|
+
context 'replace classic element' do
|
15
|
+
let(:opt_session) { Random.rand(123_456_789..987_654_321) }
|
16
|
+
let(:opt_plugin) { 'janus.plugin.echotest' }
|
17
|
+
let(:options) do
|
18
|
+
{
|
19
|
+
'session_id' => opt_session,
|
20
|
+
'plugin' => opt_plugin,
|
21
|
+
'replace' => {}, 'add' => {}
|
22
|
+
}
|
23
|
+
end
|
24
|
+
|
25
|
+
context 'transform request' do
|
26
|
+
it { expect(replace.transform_request).to be_kind_of(Hash) }
|
27
|
+
end
|
28
|
+
|
29
|
+
context 'transform request session_id' do
|
30
|
+
include_examples 'test replace in request', 'session_id', Integer
|
31
|
+
end
|
32
|
+
|
33
|
+
context 'transform request transaction' do
|
34
|
+
include_examples 'test replace in request nil', 'transaction'
|
35
|
+
end
|
36
|
+
|
37
|
+
context 'transform request handle_id' do
|
38
|
+
include_examples 'test replace in request nil', 'handle_id'
|
39
|
+
end
|
40
|
+
|
41
|
+
context 'transform request plugin' do
|
42
|
+
include_examples 'test replace in request', 'plugin', String
|
43
|
+
end
|
44
|
+
|
45
|
+
context 'transform request candidates' do
|
46
|
+
include_examples 'test replace in request nil', 'candidates'
|
47
|
+
end
|
48
|
+
|
49
|
+
context 'transform request audio' do
|
50
|
+
include_examples 'test replace in request nil', 'audio'
|
51
|
+
end
|
52
|
+
|
53
|
+
context 'transform request sdp' do
|
54
|
+
let(:key) { 'jsep' }
|
55
|
+
include_examples 'test replace in request nil', 'sdp'
|
56
|
+
end
|
57
|
+
|
58
|
+
context 'transform request debug' do
|
59
|
+
include_examples 'test replace in request nil', 'debug'
|
60
|
+
end
|
61
|
+
|
62
|
+
context 'transform request level' do
|
63
|
+
include_examples 'test replace in request nil', 'level'
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe 'RubyRabbitmqJanus::Log', type: :tools, name: :replace do
|
6
|
+
subject(:replace) do
|
7
|
+
# Get request JSON file
|
8
|
+
rqe = RubyRabbitmqJanus::Tools::Requests.instance.requests['test::type']
|
9
|
+
# Open request file
|
10
|
+
RubyRabbitmqJanus::Tools::Replaces::Replace.new(JSON.parse(File.read(rqe)),
|
11
|
+
options)
|
12
|
+
end
|
13
|
+
|
14
|
+
context 'replace classic element' do
|
15
|
+
let(:options) { { 'replace' => {}, 'add' => {} } }
|
16
|
+
|
17
|
+
context 'transform request' do
|
18
|
+
it { expect(replace.transform_request).to be_kind_of(Hash) }
|
19
|
+
end
|
20
|
+
|
21
|
+
context 'transform request session_id' do
|
22
|
+
include_examples 'test replace in request nil', 'session_id'
|
23
|
+
end
|
24
|
+
|
25
|
+
context 'transform request transaction' do
|
26
|
+
include_examples 'test replace in request nil', 'transaction'
|
27
|
+
end
|
28
|
+
|
29
|
+
context 'transform request handle_id' do
|
30
|
+
include_examples 'test replace in request nil', 'handle_id'
|
31
|
+
end
|
32
|
+
|
33
|
+
context 'transform request plugin' do
|
34
|
+
include_examples 'test replace in request nil', 'plugin'
|
35
|
+
end
|
36
|
+
|
37
|
+
context 'transform request candidate' do
|
38
|
+
include_examples 'test replace in request nil', 'candidate'
|
39
|
+
end
|
40
|
+
|
41
|
+
context 'transform request candidates' do
|
42
|
+
include_examples 'test replace in request nil', 'candidates'
|
43
|
+
end
|
44
|
+
|
45
|
+
context 'transform request audio' do
|
46
|
+
include_examples 'test replace in request nil', 'audio'
|
47
|
+
end
|
48
|
+
|
49
|
+
context 'transform request plugin1' do
|
50
|
+
include_examples 'test replace in request nil', 'plugin1'
|
51
|
+
end
|
52
|
+
|
53
|
+
context 'transform request first_plugin' do
|
54
|
+
include_examples 'test replace in request nil', 'first_plugin'
|
55
|
+
end
|
56
|
+
|
57
|
+
context 'transform request sdp' do
|
58
|
+
include_examples 'test replace in request nil', 'sdp'
|
59
|
+
end
|
60
|
+
|
61
|
+
context 'transform request debug' do
|
62
|
+
include_examples 'test replace in request nil', 'debug'
|
63
|
+
end
|
64
|
+
|
65
|
+
context 'transform request level' do
|
66
|
+
include_examples 'test replace in request nil', 'level'
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
@@ -0,0 +1,150 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe 'RubyRabbitmqJanus::Log', type: :tools, name: :type do
|
6
|
+
subject(:converter) do
|
7
|
+
# Get request JSON file
|
8
|
+
rqe = RubyRabbitmqJanus::Tools::Requests.instance.requests['test::type']
|
9
|
+
# Open request file
|
10
|
+
RubyRabbitmqJanus::Tools::Type.new(JSON.parse(File.read(rqe)))
|
11
|
+
end
|
12
|
+
|
13
|
+
context 'convert transaction' do
|
14
|
+
let(:key) { 'transaction' }
|
15
|
+
let(:value) { /.*[A-Z][0-9]/ }
|
16
|
+
|
17
|
+
include_examples 'match convert type', String, 10
|
18
|
+
end
|
19
|
+
|
20
|
+
context 'convert string' do
|
21
|
+
let(:key) { 'sdp' }
|
22
|
+
let(:value) { 'v=0\r\no=[..more sdp stuff..]' }
|
23
|
+
|
24
|
+
include_examples 'test convert type', String
|
25
|
+
end
|
26
|
+
|
27
|
+
context 'convert number' do
|
28
|
+
let(:key) { 'handle_id' }
|
29
|
+
let(:value) { Random.rand(123_456_789..987_654_321) }
|
30
|
+
|
31
|
+
include_examples 'test convert type', Integer
|
32
|
+
end
|
33
|
+
|
34
|
+
context 'convert integer' do
|
35
|
+
let(:key) { 'session_id' }
|
36
|
+
let(:value) { Random.rand(123_456_789..987_654_321) }
|
37
|
+
|
38
|
+
include_examples 'test convert type', Integer
|
39
|
+
end
|
40
|
+
|
41
|
+
context 'convert boolean true' do
|
42
|
+
let(:key) { 'audio' }
|
43
|
+
let(:value) { true }
|
44
|
+
|
45
|
+
include_examples 'test convert type', TrueClass
|
46
|
+
end
|
47
|
+
|
48
|
+
context 'convert boolean false' do
|
49
|
+
let(:key) { 'audio' }
|
50
|
+
let(:value) { false }
|
51
|
+
|
52
|
+
include_examples 'test convert type', FalseClass
|
53
|
+
end
|
54
|
+
|
55
|
+
context 'convert boolean "true"' do
|
56
|
+
let(:key) { 'audio' }
|
57
|
+
let(:value) { 'true' }
|
58
|
+
let(:value_return) { true }
|
59
|
+
|
60
|
+
include_examples 'test convert type', TrueClass
|
61
|
+
end
|
62
|
+
|
63
|
+
context 'convert boolean "false"' do
|
64
|
+
let(:key) { 'audio' }
|
65
|
+
let(:value) { 'false' }
|
66
|
+
let(:value_return) { false }
|
67
|
+
|
68
|
+
include_examples 'test convert type', FalseClass
|
69
|
+
end
|
70
|
+
|
71
|
+
context 'convert plugin #0' do
|
72
|
+
let(:key) { 'first_plugin' }
|
73
|
+
let(:value) { 'janus.plugin.echotest' }
|
74
|
+
|
75
|
+
include_examples 'test convert type', String
|
76
|
+
end
|
77
|
+
|
78
|
+
context 'convert plugin #1' do
|
79
|
+
let(:key) { 'plugin1' }
|
80
|
+
let(:value) { 'janus.plugin.videoroom' }
|
81
|
+
|
82
|
+
include_examples 'test convert type', String
|
83
|
+
end
|
84
|
+
|
85
|
+
context 'convert plugin #2' do
|
86
|
+
let(:key) { 'plugin' }
|
87
|
+
let(:value) { 'janus.plugin.sip' }
|
88
|
+
|
89
|
+
include_examples 'test convert type', String
|
90
|
+
end
|
91
|
+
|
92
|
+
context 'convert array with one data' do
|
93
|
+
let(:key) { 'candidate' }
|
94
|
+
let(:value) { { super: 'top', array: 'alone' } }
|
95
|
+
let(:value_return) { [key, value] }
|
96
|
+
|
97
|
+
include_examples 'test convert type', Array
|
98
|
+
end
|
99
|
+
|
100
|
+
context 'convert array with many data' do
|
101
|
+
let(:size) { 2 }
|
102
|
+
let(:key) { 'candidates' }
|
103
|
+
let(:value) do
|
104
|
+
[
|
105
|
+
{ super: 'top', array: 'with' },
|
106
|
+
{ many: 'data', and: 'smiley', cool: ':-)' }
|
107
|
+
]
|
108
|
+
end
|
109
|
+
let(:value_return) { [key, value] }
|
110
|
+
|
111
|
+
include_examples 'test convert type array', Array, 2
|
112
|
+
end
|
113
|
+
|
114
|
+
context 'convert array random value candidate' do
|
115
|
+
let(:size) { Random.rand(1..99) }
|
116
|
+
let(:key) { 'candidates' }
|
117
|
+
let(:value) do
|
118
|
+
array = []
|
119
|
+
candidate = { super: 'top', array: 'with', many: 'data' }
|
120
|
+
size.times { array.push(candidate) }
|
121
|
+
array
|
122
|
+
end
|
123
|
+
let(:value_return) { [key, value] }
|
124
|
+
|
125
|
+
include_examples 'test convert type array', Array
|
126
|
+
end
|
127
|
+
|
128
|
+
context 'convert array with one data' do
|
129
|
+
let(:key) { 'candidates' }
|
130
|
+
let(:value) { [{ one: 'data', and: 'smiley', cool: ':-)' }] }
|
131
|
+
let(:value_hash) { value[0] }
|
132
|
+
let(:value_return) { [key, value_hash] }
|
133
|
+
|
134
|
+
include_examples 'test convert type hash', Array
|
135
|
+
end
|
136
|
+
|
137
|
+
context 'convert debug' do
|
138
|
+
let(:key) { 'debug' }
|
139
|
+
let(:value) { false }
|
140
|
+
|
141
|
+
include_examples 'test convert type', FalseClass
|
142
|
+
end
|
143
|
+
|
144
|
+
context 'convert level' do
|
145
|
+
let(:key) { 'level' }
|
146
|
+
let(:value) { Random.rand(1..7) }
|
147
|
+
|
148
|
+
include_examples 'test convert type', Integer
|
149
|
+
end
|
150
|
+
end
|