ruby_rabbitmq_janus 1.2.9 → 2.0.0.pre.42
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|