ruby_rabbitmq_janus 3.0.0.pre.336 → 3.0.0.pre.351

Sign up to get free protection for your applications and to get access to all the features.
Files changed (202) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +80 -29
  3. data/bin/ruby_rabbitmq_janus +1 -1
  4. data/config/default.yml +1 -3
  5. data/config/requests/admin/allow_token.json +2 -1
  6. data/config/requests/admin/disallow_token.json +2 -1
  7. data/config/requests/admin/set_session_timeout.json +2 -3
  8. data/config/requests/peer/trickles.json +7 -0
  9. data/lib/rrj/admin.rb +0 -2
  10. data/lib/rrj/errors/error.rb +7 -2
  11. data/lib/rrj/errors/janus/janus.rb +3 -17
  12. data/lib/rrj/errors/janus/messages/message.rb +1 -1
  13. data/lib/rrj/errors/janus/responses/admin.rb +67 -23
  14. data/lib/rrj/errors/janus/responses/base.rb +15 -0
  15. data/lib/rrj/errors/janus/responses/code.rb +41 -0
  16. data/lib/rrj/errors/janus/responses/event.rb +23 -28
  17. data/lib/rrj/errors/janus/responses/standard.rb +43 -32
  18. data/lib/rrj/errors/janus/transactions/transaction.rb +1 -1
  19. data/lib/rrj/errors/process/concurency.rb +1 -1
  20. data/lib/rrj/errors/rabbit/listener/base.rb +8 -1
  21. data/lib/rrj/init.rb +5 -8
  22. data/lib/rrj/janus/janus.rb +6 -6
  23. data/lib/rrj/janus/messages/admin.rb +1 -5
  24. data/lib/rrj/janus/messages/message.rb +0 -10
  25. data/lib/rrj/janus/messages/standard.rb +0 -4
  26. data/lib/rrj/janus/responses/admin.rb +50 -9
  27. data/lib/rrj/janus/responses/error.rb +159 -0
  28. data/lib/rrj/janus/responses/event.rb +14 -14
  29. data/lib/rrj/janus/responses/response.rb +43 -13
  30. data/lib/rrj/janus/responses/standard.rb +46 -14
  31. data/lib/rrj/janus/transactions/admin.rb +0 -6
  32. data/lib/rrj/janus/transactions/handle.rb +0 -10
  33. data/lib/rrj/janus/transactions/session.rb +0 -6
  34. data/lib/rrj/janus/transactions/transaction.rb +0 -2
  35. data/lib/rrj/models/concerns/instances.rb +0 -4
  36. data/lib/rrj/process/concurrency.rb +0 -2
  37. data/lib/rrj/process/event.rb +0 -4
  38. data/lib/rrj/process/event_admin.rb +0 -4
  39. data/lib/rrj/rabbit/base_event.rb +0 -2
  40. data/lib/rrj/rabbit/connect.rb +0 -12
  41. data/lib/rrj/rabbit/listener/base.rb +10 -8
  42. data/lib/rrj/rabbit/listener/from.rb +0 -3
  43. data/lib/rrj/rabbit/listener/from_admin.rb +0 -3
  44. data/lib/rrj/rabbit/propertie.rb +7 -9
  45. data/lib/rrj/rabbit/publisher/admin.rb +0 -4
  46. data/lib/rrj/rabbit/publisher/base.rb +0 -4
  47. data/lib/rrj/rabbit/publisher/exclusive.rb +0 -4
  48. data/lib/rrj/rabbit/publisher/keepalive.rb +0 -4
  49. data/lib/rrj/rabbit/publisher/non_exclusive.rb +0 -4
  50. data/lib/rrj/task.rb +0 -2
  51. data/lib/rrj/tools/bin/config.rb +2 -1
  52. data/lib/rrj/tools/gem/cluster.rb +0 -4
  53. data/lib/rrj/tools/gem/config/queues.rb +0 -5
  54. data/lib/rrj/tools/gem/{log.rb → logger.rb} +0 -0
  55. data/lib/rrj/tools/gem/option.rb +1 -6
  56. data/lib/rrj/tools/gem/requests.rb +0 -2
  57. data/lib/rrj/tools/replaces/admin.rb +2 -5
  58. data/lib/rrj/tools/replaces/handle.rb +0 -6
  59. data/lib/rrj/tools/replaces/replace.rb +0 -10
  60. data/lib/rrj/tools/replaces/session.rb +0 -4
  61. data/lib/rrj/tools/replaces/type.rb +5 -4
  62. data/spec/config/database.rb +1 -2
  63. data/spec/config/initializer.rb +5 -5
  64. data/spec/rrj/ruby_rabbitmq_janus_spec.rb +1 -1
  65. data/spec/ruby_rabbitmq_janus/janus/responses/admin_handles_spec.rb +22 -0
  66. data/spec/ruby_rabbitmq_janus/janus/responses/admin_info_spec.rb +22 -0
  67. data/spec/ruby_rabbitmq_janus/janus/responses/admin_level_spec.rb +22 -0
  68. data/spec/ruby_rabbitmq_janus/janus/responses/admin_libnice_debug_spec.rb +22 -0
  69. data/spec/ruby_rabbitmq_janus/janus/responses/admin_locking_debug_spec.rb +22 -0
  70. data/spec/ruby_rabbitmq_janus/janus/responses/admin_log_colors_spec.rb +22 -0
  71. data/spec/ruby_rabbitmq_janus/janus/responses/admin_log_timestamps_spec.rb +22 -0
  72. data/spec/ruby_rabbitmq_janus/janus/responses/admin_max_nack_queue_spec.rb +22 -0
  73. data/spec/ruby_rabbitmq_janus/janus/responses/admin_no_media_timer_spec.rb +22 -0
  74. data/spec/ruby_rabbitmq_janus/janus/responses/admin_sessions_spec.rb +22 -0
  75. data/spec/ruby_rabbitmq_janus/janus/responses/admin_spec.rb +1 -34
  76. data/spec/ruby_rabbitmq_janus/janus/responses/admin_timeout_spec.rb +22 -0
  77. data/spec/ruby_rabbitmq_janus/janus/responses/event_data_spec.rb +22 -0
  78. data/spec/ruby_rabbitmq_janus/janus/responses/event_event_spec.rb +22 -0
  79. data/spec/ruby_rabbitmq_janus/janus/responses/event_jsep_spec.rb +22 -0
  80. data/spec/ruby_rabbitmq_janus/janus/responses/event_keys_spec.rb +28 -0
  81. data/spec/ruby_rabbitmq_janus/janus/responses/response_spec.rb +27 -15
  82. data/spec/ruby_rabbitmq_janus/janus/responses/standard_data_spec.rb +22 -0
  83. data/spec/ruby_rabbitmq_janus/janus/responses/standard_plugin_data_spec.rb +28 -0
  84. data/spec/ruby_rabbitmq_janus/janus/responses/standard_plugin_spec.rb +22 -0
  85. data/spec/ruby_rabbitmq_janus/janus/responses/standard_sdp_spec.rb +28 -0
  86. data/spec/ruby_rabbitmq_janus/janus/responses/standard_sender_spec.rb +28 -0
  87. data/spec/ruby_rabbitmq_janus/janus/responses/standard_session_id_spec.rb +22 -0
  88. data/spec/ruby_rabbitmq_janus/janus/responses/standard_session_spec.rb +28 -0
  89. data/spec/ruby_rabbitmq_janus/models/janus_instance_spec.rb +7 -2
  90. data/spec/ruby_rabbitmq_janus/rabbit/connect_spec.rb +0 -4
  91. data/spec/ruby_rabbitmq_janus/rabbit/propertie_instance_classic_spec.rb +12 -0
  92. data/spec/ruby_rabbitmq_janus/rabbit/propertie_instance_token_spec.rb +12 -0
  93. data/spec/ruby_rabbitmq_janus/rrj_admin_add_token_spec.rb +31 -0
  94. data/spec/ruby_rabbitmq_janus/rrj_admin_allow_token_spec.rb +43 -0
  95. data/spec/ruby_rabbitmq_janus/rrj_admin_disallow_token_spec.rb +43 -0
  96. data/spec/ruby_rabbitmq_janus/rrj_admin_handle_info_spec.rb +32 -0
  97. data/spec/ruby_rabbitmq_janus/rrj_admin_list_handles_spec.Rb +32 -0
  98. data/spec/ruby_rabbitmq_janus/rrj_admin_list_sessions_spec.rb +25 -0
  99. data/spec/ruby_rabbitmq_janus/rrj_admin_list_tokens_spec.rb +33 -0
  100. data/spec/ruby_rabbitmq_janus/rrj_admin_remove_token_spec.rb +43 -0
  101. data/spec/ruby_rabbitmq_janus/rrj_admin_set_libnice_debug_spec.rb +20 -0
  102. data/spec/ruby_rabbitmq_janus/rrj_admin_set_locking_debug_spec.rb +20 -0
  103. data/spec/ruby_rabbitmq_janus/rrj_admin_set_log_colors_spec.rb +20 -0
  104. data/spec/ruby_rabbitmq_janus/rrj_admin_set_log_level_spec.rb +75 -0
  105. data/spec/ruby_rabbitmq_janus/rrj_admin_set_log_timestamps_spec.rb +20 -0
  106. data/spec/ruby_rabbitmq_janus/rrj_admin_set_max_nack_queue_spec.rb +56 -0
  107. data/spec/ruby_rabbitmq_janus/rrj_admin_set_no_media_timer_spec.rb +47 -0
  108. data/spec/ruby_rabbitmq_janus/rrj_admin_set_session_timeout_spec.rb +47 -0
  109. data/spec/ruby_rabbitmq_janus/rrj_admin_start_pcap_spec.rb +38 -0
  110. data/spec/ruby_rabbitmq_janus/rrj_admin_start_text2pcap_spec.rb +38 -0
  111. data/spec/ruby_rabbitmq_janus/rrj_admin_stop_pcap_spec.rb +43 -0
  112. data/spec/ruby_rabbitmq_janus/rrj_admin_stop_text2pcap_spec.rb +43 -0
  113. data/spec/ruby_rabbitmq_janus/rrj_answer_spec.rb +79 -0
  114. data/spec/ruby_rabbitmq_janus/rrj_attach_spec.rb +56 -0
  115. data/spec/ruby_rabbitmq_janus/rrj_create_spec.rb +25 -0
  116. data/spec/ruby_rabbitmq_janus/rrj_destroy_spec.rb +56 -0
  117. data/spec/ruby_rabbitmq_janus/rrj_detach_spec.rb +56 -0
  118. data/spec/ruby_rabbitmq_janus/rrj_info_spec.rb +36 -0
  119. data/spec/ruby_rabbitmq_janus/rrj_keepalive_spec.rb +56 -0
  120. data/spec/ruby_rabbitmq_janus/rrj_offer_spec.rb +57 -0
  121. data/spec/ruby_rabbitmq_janus/rrj_trickle_spec.rb +41 -0
  122. data/spec/ruby_rabbitmq_janus/rrj_trickles_spec.rb +43 -0
  123. data/spec/ruby_rabbitmq_janus/tools/cluster_spec.rb +12 -7
  124. data/spec/ruby_rabbitmq_janus/tools/config_gem_spec.rb +94 -0
  125. data/spec/ruby_rabbitmq_janus/tools/config_janus_spec.rb +44 -0
  126. data/spec/ruby_rabbitmq_janus/tools/config_queues_spec.rb +34 -0
  127. data/spec/ruby_rabbitmq_janus/tools/config_rabbit_spec.rb +28 -0
  128. data/spec/ruby_rabbitmq_janus/tools/config_spec.rb +4 -77
  129. data/spec/ruby_rabbitmq_janus/tools/replaces/admin_spec.rb +13 -12
  130. data/spec/ruby_rabbitmq_janus/tools/replaces/handle_spec.rb +12 -11
  131. data/spec/ruby_rabbitmq_janus/tools/replaces/replace_spec.rb +15 -14
  132. data/spec/ruby_rabbitmq_janus/tools/replaces/session_spec.rb +12 -11
  133. data/spec/ruby_rabbitmq_janus/tools/type_spec.rb +20 -1
  134. data/spec/spec_helper.rb +23 -8
  135. data/spec/support/examples_admin.rb +43 -0
  136. data/spec/support/examples_base.rb +65 -0
  137. data/spec/support/examples_config.rb +4 -2
  138. data/spec/support/examples_message.rb +4 -2
  139. data/spec/support/initialize_janus_instance.rb +80 -0
  140. data/spec/support/schemas/config/{rabbit_options_admin.json → rabbit_options_admin_instance_classic.json} +0 -0
  141. data/spec/support/schemas/config/{rabbit_options_admin2.json → rabbit_options_admin_instance_token.json} +0 -0
  142. data/spec/support/schemas/config/{rabbit_options.json → rabbit_options_instance_classic.json} +0 -0
  143. data/spec/support/schemas/config/{rabbit_options2.json → rabbit_options_instance_token.json} +0 -0
  144. data/spec/support/schemas/request/admin/set_libnice_debug.json +13 -0
  145. data/spec/support/schemas/request/admin/set_log_colors.json +13 -0
  146. data/spec/support/schemas/request/admin/set_log_level.json +4 -2
  147. data/spec/support/schemas/request/admin/set_log_timestamps.json +13 -0
  148. data/spec/support/schemas/request/admin/set_max_nack_queue.json +13 -0
  149. data/spec/support/schemas/request/admin/set_no_media_timer.json +13 -0
  150. data/spec/support/schemas/request/admin/set_session_timeout.json +13 -0
  151. data/spec/support/schemas/request/peer/trickles.json +13 -0
  152. data/spec/support/sdp.rb +2 -0
  153. data/spec/support/type.rb +9 -7
  154. metadata +93 -55
  155. data/lib/rrj/errors/janus/responses/response.rb +0 -44
  156. data/spec/config/instance.rb +0 -63
  157. data/spec/request/admin/request_add_token_spec.rb +0 -29
  158. data/spec/request/admin/request_allow_token_spec.rb +0 -21
  159. data/spec/request/admin/request_disallow_token_spec.rb +0 -21
  160. data/spec/request/admin/request_handle_info_spec.rb +0 -21
  161. data/spec/request/admin/request_list_handles_spec.rb +0 -20
  162. data/spec/request/admin/request_list_sessions_spec.rb +0 -21
  163. data/spec/request/admin/request_list_tokens_spec.rb +0 -18
  164. data/spec/request/admin/request_remove_token_spec.rb +0 -18
  165. data/spec/request/admin/request_set_libnice_debug_spec.rb +0 -28
  166. data/spec/request/admin/request_set_locking_debug_spec.rb +0 -28
  167. data/spec/request/admin/request_set_log_colors_spec.rb +0 -28
  168. data/spec/request/admin/request_set_log_level_spec.rb +0 -70
  169. data/spec/request/admin/request_set_log_timestamps_spec.rb +0 -28
  170. data/spec/request/admin/request_set_max_nack_queue_spec.rb +0 -28
  171. data/spec/request/admin/request_set_no_media_timer_spec.rb +0 -28
  172. data/spec/request/admin/request_set_session_timeout_spec.rb +0 -35
  173. data/spec/request/admin/request_start_pcap_spec.rb +0 -28
  174. data/spec/request/admin/request_start_text2pcap_spec.rb +0 -27
  175. data/spec/request/admin/request_stop_pcap_spec.rb +0 -21
  176. data/spec/request/admin/request_stop_text2pcap_spec.rb +0 -28
  177. data/spec/request/base/request_attach_spec.rb +0 -27
  178. data/spec/request/base/request_create_spec.rb +0 -22
  179. data/spec/request/base/request_destroy_spec.rb +0 -23
  180. data/spec/request/base/request_detach_spec.rb +0 -27
  181. data/spec/request/base/request_info_spec.rb +0 -22
  182. data/spec/request/base/request_keepalive_spec.rb +0 -23
  183. data/spec/request/peer/request_offer_spec.rb +0 -27
  184. data/spec/request/peer/request_trickle_spec.rb +0 -30
  185. data/spec/request/peer/request_trickles_spec.rb +0 -30
  186. data/spec/responses/admin_handle_info.json +0 -32
  187. data/spec/responses/admin_list_handles.json +0 -4
  188. data/spec/responses/admin_list_sessions.json +0 -4
  189. data/spec/responses/admin_set_libnice_debug.json +0 -4
  190. data/spec/responses/admin_set_locking_debug.json +0 -4
  191. data/spec/responses/admin_set_log_colors.json +0 -4
  192. data/spec/responses/admin_set_log_level.json +0 -4
  193. data/spec/responses/base_info.json +0 -5
  194. data/spec/ruby_rabbitmq_janus/janus/responses/event_spec.rb +0 -26
  195. data/spec/ruby_rabbitmq_janus/janus/responses/standard_spec.rb +0 -44
  196. data/spec/ruby_rabbitmq_janus/rabbit/propertie_2_spec.rb +0 -28
  197. data/spec/ruby_rabbitmq_janus/rabbit/propertie_spec.rb +0 -29
  198. data/spec/ruby_rabbitmq_janus/tools/logger_spec.rb +0 -84
  199. data/spec/support/admin_requester.rb +0 -48
  200. data/spec/support/aruba.rb +0 -3
  201. data/spec/support/examples_request.rb +0 -65
  202. data/spec/support/examples_response.rb +0 -30
@@ -2,7 +2,8 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe RubyRabbitmqJanus::Tools::Replaces::Admin, type: :tools, name: :replace_admin do
5
+ describe RubyRabbitmqJanus::Tools::Replaces::Admin, type: :tools,
6
+ name: :replace do
6
7
  subject(:replace) do
7
8
  # Get request JSON file
8
9
  rqe = RubyRabbitmqJanus::Tools::Requests.instance.requests['test::replace']
@@ -35,51 +36,51 @@ describe RubyRabbitmqJanus::Tools::Replaces::Admin, type: :tools, name: :replace
35
36
  }
36
37
  end
37
38
 
38
- context 'with ransform request' do
39
+ context 'with transform request' do
39
40
  it do
40
41
  expect(replace.transform_request).to be_kind_of(Hash)
41
42
  end
42
43
  end
43
44
 
44
- context 'with ransform request session_id' do
45
+ context 'with transform request session_id' do
45
46
  include_examples 'test replace in request', 'session_id', Integer
46
47
  end
47
48
 
48
- context 'with ransform request transaction' do
49
+ context 'with transform request transaction' do
49
50
  include_examples 'test replace in request nil', 'transaction'
50
51
  end
51
52
 
52
- context 'with ransform request handle_id' do
53
+ context 'with transform request handle_id' do
53
54
  include_examples 'test replace in request', 'handle_id', Integer
54
55
  end
55
56
 
56
- context 'with ransform request plugin' do
57
+ context 'with transform request plugin' do
57
58
  include_examples 'test replace in request', 'plugin', String
58
59
  end
59
60
 
60
- context 'with ransform request candidates' do
61
+ context 'with transform request candidates' do
61
62
  include_examples 'test replace in request', 'candidates', Array
62
63
  end
63
64
 
64
- context 'with ransform request audio' do
65
+ context 'with transform request audio' do
65
66
  include_examples 'test replace in request nil', 'audio'
66
67
  end
67
68
 
68
- context 'with ransform request sdp' do
69
+ context 'with transform request sdp' do
69
70
  let(:key) { 'jsep' }
70
71
 
71
72
  include_examples 'test replace in request', 'sdp', String
72
73
  end
73
74
 
74
- context 'with ransform request debug' do
75
+ context 'with transform request debug' do
75
76
  include_examples 'test replace in request', 'debug', TrueClass
76
77
  end
77
78
 
78
- context 'with ransform request level' do
79
+ context 'with transform request level' do
79
80
  include_examples 'test replace in request', 'level', Integer
80
81
  end
81
82
 
82
- context 'with ransform request transaction' do
83
+ context 'with transform request transaction' do
83
84
  include_examples 'test replace in request nil', 'admin_secret'
84
85
  end
85
86
  end
@@ -2,7 +2,8 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe RubyRabbitmqJanus::Tools::Replaces::Handle, type: :tools, name: :replace_handle do
5
+ describe RubyRabbitmqJanus::Tools::Replaces::Handle, type: :tools,
6
+ name: :replace do
6
7
  subject(:replace) do
7
8
  # Get request JSON file
8
9
  rqe = RubyRabbitmqJanus::Tools::Requests.instance.requests['test::replace']
@@ -31,47 +32,47 @@ describe RubyRabbitmqJanus::Tools::Replaces::Handle, type: :tools, name: :replac
31
32
  }
32
33
  end
33
34
 
34
- context 'with ransform request' do
35
+ context 'with transform request' do
35
36
  it do
36
37
  expect(replace.transform_request).to be_kind_of(Hash)
37
38
  end
38
39
  end
39
40
 
40
- context 'with ransform request session_id' do
41
+ context 'with transform request session_id' do
41
42
  include_examples 'test replace in request', 'session_id', Integer
42
43
  end
43
44
 
44
- context 'with ransform request transaction' do
45
+ context 'with transform request transaction' do
45
46
  include_examples 'test replace in request nil', 'transaction'
46
47
  end
47
48
 
48
- context 'with ransform request handle_id' do
49
+ context 'with transform request handle_id' do
49
50
  include_examples 'test replace in request', 'handle_id', Integer
50
51
  end
51
52
 
52
- context 'with ransform request plugin' do
53
+ context 'with transform request plugin' do
53
54
  include_examples 'test replace in request', 'plugin', String
54
55
  end
55
56
 
56
- context 'with ransform request candidates' do
57
+ context 'with transform request candidates' do
57
58
  include_examples 'test replace in request', 'candidates', Array
58
59
  end
59
60
 
60
- context 'with ransform request audio' do
61
+ context 'with transform request audio' do
61
62
  include_examples 'test replace in request nil', 'audio'
62
63
  end
63
64
 
64
- context 'with ransform request sdp' do
65
+ context 'with transform request sdp' do
65
66
  let(:key) { 'jsep' }
66
67
 
67
68
  include_examples 'test replace in request', 'sdp', String
68
69
  end
69
70
 
70
- context 'with ransform request debug' do
71
+ context 'with transform request debug' do
71
72
  include_examples 'test replace in request nil', 'debug'
72
73
  end
73
74
 
74
- context 'with ransform request level' do
75
+ context 'with transform request level' do
75
76
  include_examples 'test replace in request nil', 'level'
76
77
  end
77
78
  end
@@ -2,7 +2,8 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe RubyRabbitmqJanus::Tools::Replaces::Replace, type: :tools, name: :replace do
5
+ describe RubyRabbitmqJanus::Tools::Replaces::Replace, type: :tools,
6
+ name: :replace do
6
7
  subject(:replace) do
7
8
  # Get request JSON file
8
9
  rqe = RubyRabbitmqJanus::Tools::Requests.instance.requests['test::type']
@@ -13,55 +14,55 @@ describe RubyRabbitmqJanus::Tools::Replaces::Replace, type: :tools, name: :repla
13
14
  context 'when replace classic element' do
14
15
  let(:options) { { 'replace' => {}, 'add' => {} } }
15
16
 
16
- context 'with ransform request' do
17
+ context 'with transform request' do
17
18
  it { expect(replace.transform_request).to be_kind_of(Hash) }
18
19
  end
19
20
 
20
- context 'with ransform request session_id' do
21
+ context 'with transform request session_id' do
21
22
  include_examples 'test replace in request nil', 'session_id'
22
23
  end
23
24
 
24
- context 'with ransform request transaction' do
25
+ context 'with transform request transaction' do
25
26
  include_examples 'test replace in request nil', 'transaction'
26
27
  end
27
28
 
28
- context 'with ransform request handle_id' do
29
+ context 'with transform request handle_id' do
29
30
  include_examples 'test replace in request nil', 'handle_id'
30
31
  end
31
32
 
32
- context 'with ransform request plugin' do
33
+ context 'with transform request plugin' do
33
34
  include_examples 'test replace in request nil', 'plugin'
34
35
  end
35
36
 
36
- context 'with ransform request candidate' do
37
+ context 'with transform request candidate' do
37
38
  include_examples 'test replace in request nil', 'candidate'
38
39
  end
39
40
 
40
- context 'with ransform request candidates' do
41
+ context 'with transform request candidates' do
41
42
  include_examples 'test replace in request nil', 'candidates'
42
43
  end
43
44
 
44
- context 'with ransform request audio' do
45
+ context 'with transform request audio' do
45
46
  include_examples 'test replace in request nil', 'audio'
46
47
  end
47
48
 
48
- context 'with ransform request plugin1' do
49
+ context 'with transform request plugin1' do
49
50
  include_examples 'test replace in request nil', 'plugin1'
50
51
  end
51
52
 
52
- context 'with ransform request first_plugin' do
53
+ context 'with transform request first_plugin' do
53
54
  include_examples 'test replace in request nil', 'first_plugin'
54
55
  end
55
56
 
56
- context 'with ransform request sdp' do
57
+ context 'with transform request sdp' do
57
58
  include_examples 'test replace in request nil', 'sdp'
58
59
  end
59
60
 
60
- context 'with ransform request debug' do
61
+ context 'with transform request debug' do
61
62
  include_examples 'test replace in request nil', 'debug'
62
63
  end
63
64
 
64
- context 'with ransform request level' do
65
+ context 'with transform request level' do
65
66
  include_examples 'test replace in request nil', 'level'
66
67
  end
67
68
  end
@@ -2,7 +2,8 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe RubyRabbitmqJanus::Tools::Replaces::Session, type: :tools, name: :replace_session do
5
+ describe RubyRabbitmqJanus::Tools::Replaces::Session, type: :tools,
6
+ name: :replace do
6
7
  subject(:replace) do
7
8
  # Get request JSON file
8
9
  rqe = RubyRabbitmqJanus::Tools::Requests.instance.requests['test::replace']
@@ -21,45 +22,45 @@ describe RubyRabbitmqJanus::Tools::Replaces::Session, type: :tools, name: :repla
21
22
  }
22
23
  end
23
24
 
24
- context 'with ransform request' do
25
+ context 'with transform request' do
25
26
  it { expect(replace.transform_request).to be_kind_of(Hash) }
26
27
  end
27
28
 
28
- context 'with ransform request session_id' do
29
+ context 'with transform request session_id' do
29
30
  include_examples 'test replace in request', 'session_id', Integer
30
31
  end
31
32
 
32
- context 'with ransform request transaction' do
33
+ context 'with transform request transaction' do
33
34
  include_examples 'test replace in request nil', 'transaction'
34
35
  end
35
36
 
36
- context 'with ransform request handle_id' do
37
+ context 'with transform request handle_id' do
37
38
  include_examples 'test replace in request nil', 'handle_id'
38
39
  end
39
40
 
40
- context 'with ransform request plugin' do
41
+ context 'with transform request plugin' do
41
42
  include_examples 'test replace in request', 'plugin', String
42
43
  end
43
44
 
44
- context 'with ransform request candidates' do
45
+ context 'with transform request candidates' do
45
46
  include_examples 'test replace in request nil', 'candidates'
46
47
  end
47
48
 
48
- context 'with ransform request audio' do
49
+ context 'with transform request audio' do
49
50
  include_examples 'test replace in request nil', 'audio'
50
51
  end
51
52
 
52
- context 'with ransform request sdp' do
53
+ context 'with transform request sdp' do
53
54
  let(:key) { 'jsep' }
54
55
 
55
56
  include_examples 'test replace in request nil', 'sdp'
56
57
  end
57
58
 
58
- context 'with ransform request debug' do
59
+ context 'with transform request debug' do
59
60
  include_examples 'test replace in request nil', 'debug'
60
61
  end
61
62
 
62
- context 'with ransform request level' do
63
+ context 'with transform request level' do
63
64
  include_examples 'test replace in request nil', 'level'
64
65
  end
65
66
  end
@@ -2,7 +2,8 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe RubyRabbitmqJanus::Tools::Type, type: :tools, name: :type do
5
+ describe RubyRabbitmqJanus::Tools::Type, type: :tools,
6
+ name: :replace do
6
7
  subject(:converter) do
7
8
  # Get request JSON file
8
9
  rqe = RubyRabbitmqJanus::Tools::Requests.instance.requests['test::type']
@@ -147,4 +148,22 @@ describe RubyRabbitmqJanus::Tools::Type, type: :tools, name: :type do
147
148
 
148
149
  include_examples 'test convert type', Integer
149
150
  end
151
+
152
+ context 'when convert plugins' do
153
+ let(:key) { 'plugins' }
154
+
155
+ context 'when one plugin value' do
156
+ let(:value) { ['just one'] }
157
+ let(:size) { 1 }
158
+
159
+ include_examples 'test convert type array', Array
160
+ end
161
+
162
+ context 'when many plugin values' do
163
+ let(:value) { ['many', 'plugin', '(s)'] }
164
+ let(:size) { 3 }
165
+
166
+ include_examples 'test convert type array', Array
167
+ end
168
+ end
150
169
  end
@@ -1,5 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ unless ENV['TRAVIS'].eql?('true')
4
+ require 'simplecov'
5
+ SimpleCov.start
6
+ end
7
+
8
+ # Load gems dependencies
3
9
  require 'bundler/setup'
4
10
  require 'pry'
5
11
  require 'json-schema-rspec'
@@ -10,10 +16,14 @@ ENV['MONGO'] = 'true' if ENV['MONGO'].nil?
10
16
  require ENV['MONGO'].match?('true') ? 'mongoid' : 'active_record'
11
17
  require 'timeout'
12
18
 
19
+ # Load gem RubyRabbitmqJanus
13
20
  require 'ruby_rabbitmq_janus'
21
+
22
+ # Configure application for testing
14
23
  require 'config/initializer'
15
24
  require 'config/database'
16
- require 'config/instance'
25
+
26
+ require 'aruba/rspec'
17
27
 
18
28
  $LOAD_PATH.unshift File.expand_path('../lib', __dir__)
19
29
 
@@ -26,13 +36,23 @@ end
26
36
  end
27
37
 
28
38
  RSpec.configure do |config|
39
+ config.fail_fast = if ENV.key?('SPEC_DEBUG')
40
+ (ENV['SPEC_DEBUG'].match?('true') ? true : false)
41
+ else
42
+ false
43
+ end
29
44
  DatabaseCleaner.strategy = :truncation
30
45
  ENV['MONGO'].match?('true') ? load_mongo : load_active_record
31
46
 
32
47
  config.expect_with :rspec do |c|
33
48
  c.syntax = :expect
49
+ c.include_chain_clauses_in_custom_matcher_descriptions = true
34
50
  end
35
- config.include Aruba::Api
51
+
52
+ # https://relishapp.com/rspec/rspec-core/docs/example-groups/shared-contexty
53
+ config.shared_context_metadata_behavior = :apply_to_host_groups
54
+
55
+ # config.include Aruba::Api
36
56
  config.include JSON::SchemaMatchers
37
57
 
38
58
  # Add JSONs for gem configuration test
@@ -64,12 +84,7 @@ RSpec.configure do |config|
64
84
 
65
85
  # Configure Initializer RRJ and create session with Janus Instance
66
86
  config.before do |example|
67
- unless example.metadata[:type].match?(/tools/)
68
- after_load_database
69
- initializer_rrj(example.metadata)
70
- clear
71
- find_instance
72
- end
87
+ after_load_database unless example.metadata[:type].match?(/tools/)
73
88
  end
74
89
 
75
90
  # Use timeout for requester
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Shared example for ADMIN request
4
+ # Prepare Janus instance with data before
5
+ # execute transaction or other test.
6
+
7
+ RSpec.shared_context 'when transaction admin' do
8
+ let(:transaction) do
9
+ response = nil
10
+
11
+ RubyRabbitmqJanus::RRJAdmin.new.admin_endpoint(opt_instance) do |tr|
12
+ response = tr.publish_message(type, opt_message)
13
+ end
14
+
15
+ response
16
+ end
17
+ end
18
+
19
+ RSpec.shared_examples 'when transaction admin exception' do
20
+ include_examples 'with instance'
21
+ include_examples 'when transaction admin'
22
+
23
+ it { expect { transaction }.to raise_error(exception_class, exception_message) }
24
+ end
25
+
26
+ RSpec.shared_examples 'when transaction admin success' do
27
+ include_examples 'with instance'
28
+ include_examples 'when transaction admin'
29
+
30
+ it { expect(transaction.to_json).to match_json_schema(schema_success) }
31
+ end
32
+
33
+ RSpec.shared_examples 'when transaction admin success info' do
34
+ include_examples 'when transaction admin success'
35
+
36
+ it { expect(transaction.send(info)).to be_a(info_type) }
37
+ end
38
+
39
+ RSpec.shared_examples 'when transaction admin success boolean' do
40
+ include_examples 'when transaction admin success'
41
+
42
+ it { expect(transaction.send(info)).to be_in([true, false]) }
43
+ end
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.shared_context 'with instance' do
4
+ let(:instance) { RubyRabbitmqJanus::Models::JanusInstance.find(number) }
5
+ let(:opt_instance) { { 'instance' => instance.id.to_s } }
6
+ let(:opt_message) { opt_instance.merge!(parameter) }
7
+ end
8
+
9
+ ## Transaction EXCLUSIVE ###
10
+ ############################
11
+
12
+ RSpec.shared_context 'when transaction exclusive' do
13
+ let(:transaction) do
14
+ response = nil
15
+
16
+ RubyRabbitmqJanus::RRJ.new.session_endpoint_private(opt_instance) do |tr|
17
+ response = tr.publish_message(type, opt_message)
18
+ end
19
+
20
+ response
21
+ end
22
+ end
23
+
24
+ RSpec.shared_examples 'when transaction exclusive success' do
25
+ include_examples 'with instance'
26
+ include_examples 'when transaction exclusive'
27
+
28
+ it { expect(transaction.to_json).to match_json_schema(schema_success) }
29
+ end
30
+
31
+ RSpec.shared_examples 'when transaction exclusive exception' do
32
+ include_examples 'with instance'
33
+ include_examples 'when transaction exclusive'
34
+
35
+ it { expect { transaction }.to raise_error(exception_class, exception_message) }
36
+ end
37
+
38
+ ## Transaction NOT EXCLUSIVE
39
+ ############################
40
+
41
+ RSpec.shared_context 'when transaction not exclusive' do
42
+ let(:transaction) do
43
+ response = nil
44
+
45
+ RubyRabbitmqJanus::RRJ.new.session_endpoint_public(opt_instance) do |tr|
46
+ response = tr.publish_message(type, opt_message)
47
+ end
48
+
49
+ response
50
+ end
51
+ end
52
+
53
+ RSpec.shared_examples 'when transaction not exclusive success' do
54
+ include_examples 'with instance'
55
+ include_examples 'when transaction not exclusive'
56
+
57
+ it { expect(transaction.to_json).to eql('{}') }
58
+ end
59
+
60
+ RSpec.shared_examples 'when transaction not exclusive exception' do
61
+ include_examples 'with instance'
62
+ include_examples 'when transaction exclusive'
63
+
64
+ it { expect { transaction }.to raise_error(exception_class, exception_message) }
65
+ end