bigbluebutton_rails 1.3.0 → 1.4.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +2 -0
- data/.rspec +2 -2
- data/.ruby-version +1 -1
- data/CHANGELOG.rdoc +31 -6
- data/Gemfile +13 -3
- data/Gemfile.lock +88 -42
- data/README.rdoc +84 -15
- data/Rakefile +22 -25
- data/{TODO_08 → TODO.rdoc} +6 -2
- data/app/assets/images/badges/apple_store_en.png +0 -0
- data/app/assets/images/badges/apple_store_pt-br.png +0 -0
- data/app/assets/images/badges/google_play_en.png +0 -0
- data/app/assets/images/badges/google_play_pt-br.png +0 -0
- data/app/controllers/bigbluebutton/recordings_controller.rb +25 -10
- data/app/controllers/bigbluebutton/rooms_controller.rb +158 -141
- data/app/controllers/bigbluebutton/servers_controller.rb +25 -12
- data/app/helpers/bigbluebutton_rails_helper.rb +20 -0
- data/app/models/bigbluebutton_meeting.rb +28 -0
- data/app/models/bigbluebutton_metadata.rb +2 -2
- data/app/models/bigbluebutton_playback_format.rb +2 -2
- data/app/models/bigbluebutton_recording.rb +29 -4
- data/app/models/bigbluebutton_room.rb +153 -22
- data/app/models/bigbluebutton_room_options.rb +46 -0
- data/app/models/bigbluebutton_server.rb +4 -2
- data/app/views/bigbluebutton/recordings/_form.html.erb +4 -0
- data/app/views/bigbluebutton/recordings/_recordings.html.erb +1 -0
- data/app/views/bigbluebutton/recordings/show.html.erb +5 -0
- data/app/views/bigbluebutton/rooms/join_mobile.html.erb +29 -5
- data/app/workers/bigbluebutton_meeting_updater.rb +31 -0
- data/bigbluebutton_rails.gemspec +5 -1
- data/config/locales/en.yml +6 -5
- data/config/schedule.rb +4 -0
- data/lib/bigbluebutton_rails/controller_methods.rb +29 -10
- data/lib/bigbluebutton_rails/internal_controller_methods.rb +56 -0
- data/lib/bigbluebutton_rails/rails/routes.rb +1 -5
- data/lib/bigbluebutton_rails/version.rb +1 -1
- data/lib/bigbluebutton_rails.rb +11 -0
- data/lib/generators/bigbluebutton_rails/templates/migration.rb +28 -0
- data/lib/generators/bigbluebutton_rails/templates/migration_1_4_0.rb +37 -0
- data/lib/tasks/bigbluebutton_rails/meetings.rake +22 -0
- data/lib/tasks/bigbluebutton_rails/recordings.rake +2 -1
- data/spec/classes/bigbluebutton_attendee_spec.rb +1 -1
- data/spec/controllers/bigbluebutton/recordings_controller_json_responses_spec.rb +10 -9
- data/spec/controllers/bigbluebutton/recordings_controller_spec.rb +103 -16
- data/spec/controllers/bigbluebutton/rooms_controller_exception_handling_spec.rb +15 -5
- data/spec/controllers/bigbluebutton/rooms_controller_json_responses_spec.rb +17 -12
- data/spec/controllers/bigbluebutton/rooms_controller_spec.rb +485 -432
- data/spec/controllers/bigbluebutton/servers_controller_json_responses_spec.rb +20 -13
- data/spec/controllers/bigbluebutton/servers_controller_spec.rb +174 -16
- data/spec/factories/bigbluebutton_meeting.rb +13 -0
- data/spec/factories/bigbluebutton_recording.rb +4 -2
- data/spec/factories/bigbluebutton_room.rb +5 -1
- data/spec/factories/bigbluebutton_room_options.rb +6 -0
- data/spec/generators/install_generator_spec.rb +1 -1
- data/spec/generators/views_generator_spec.rb +0 -1
- data/spec/lib/tasks/meetings_rake_spec.rb +5 -0
- data/spec/lib/tasks/recordings_rake_spec.rb +5 -0
- data/spec/models/bigbluebutton_meeting_db_spec.rb +24 -0
- data/spec/models/bigbluebutton_meeting_spec.rb +52 -0
- data/spec/models/bigbluebutton_metadata_db_spec.rb +2 -0
- data/spec/models/bigbluebutton_metadata_spec.rb +18 -22
- data/spec/models/bigbluebutton_playback_format_db_spec.rb +2 -0
- data/spec/models/bigbluebutton_playback_format_spec.rb +0 -4
- data/spec/models/bigbluebutton_recording_db_spec.rb +3 -0
- data/spec/models/bigbluebutton_recording_spec.rb +69 -16
- data/spec/models/bigbluebutton_room_db_spec.rb +2 -0
- data/spec/models/bigbluebutton_room_options_db_spec.rb +16 -0
- data/spec/models/bigbluebutton_room_options_spec.rb +206 -0
- data/spec/models/bigbluebutton_room_spec.rb +420 -80
- data/spec/models/bigbluebutton_server_db_spec.rb +2 -0
- data/spec/models/bigbluebutton_server_spec.rb +22 -24
- data/spec/rails_app/config/application.rb +3 -0
- data/spec/rails_app/config/database.yml.example +28 -0
- data/spec/rails_app/config/environments/test.rb +1 -1
- data/spec/rails_app/db/seeds.rb +1 -0
- data/spec/rails_app/features/step_definitions/activity_monitor_servers_step.rb +0 -2
- data/spec/rails_app/features/step_definitions/common_steps.rb +6 -0
- data/spec/rails_app/features/step_definitions/join_rooms_steps.rb +0 -6
- data/spec/rails_app/features/support/locales.rb +4 -2
- data/spec/rails_app/features/support/paths.rb +0 -2
- data/spec/rails_app/features/support/templates.rb +2 -17
- data/spec/rails_app/lib/tasks/db/populate.rake +2 -0
- data/spec/rails_app/lib/tasks/resque.rake +3 -0
- data/spec/routing/bigbluebutton/custom_controllers_routing_spec.rb +1 -10
- data/spec/routing/bigbluebutton/rooms_only_routing_spec.rb +1 -9
- data/spec/routing/bigbluebutton/rooms_routing_spec.rb +3 -31
- data/spec/spec_helper.rb +40 -24
- data/spec/support/matchers/array_with_key.rb +7 -0
- data/spec/support/matchers/array_without_key.rb +7 -0
- data/spec/support/matchers/delegate_matcher.rb +62 -0
- data/spec/support/matchers/respond_with_content_type.rb +8 -0
- data/spec/support/matchers/shoulda/assign_to_matcher.rb +131 -0
- data/spec/support/mocked_server.rb +2 -2
- data/spec/support/models/user.rb +11 -0
- data/spec/workers/bigbluebutton_meeting_updater_spec.rb +9 -0
- metadata +86 -16
- data/app/views/bigbluebutton/rooms/external.html.erb +0 -25
- data/spec/rails_app/config/database.yml +0 -25
- data/spec/rails_app/features/join_external_rooms.feature +0 -61
@@ -0,0 +1,131 @@
|
|
1
|
+
# This matcher was removed from shoulda-matchers v2.x.
|
2
|
+
# This file was copied from shoulda-matchers v1.5.6, removing the deprecation messages.
|
3
|
+
# https://github.com/thoughtbot/shoulda-matchers/blob/v1.5.6/lib/shoulda/matchers/action_controller/assign_to_matcher.rb
|
4
|
+
|
5
|
+
module Shoulda # :nodoc:
|
6
|
+
module Matchers
|
7
|
+
module ActionController # :nodoc:
|
8
|
+
# Ensures that the controller assigned to the named instance variable.
|
9
|
+
#
|
10
|
+
# Options:
|
11
|
+
# * <tt>with_kind_of</tt> - The expected class of the instance variable
|
12
|
+
# being checked.
|
13
|
+
# * <tt>with</tt> - The value that should be assigned.
|
14
|
+
#
|
15
|
+
# Example:
|
16
|
+
#
|
17
|
+
# it { should assign_to(:user) }
|
18
|
+
# it { should_not assign_to(:user) }
|
19
|
+
# it { should assign_to(:user).with_kind_of(User) }
|
20
|
+
# it { should assign_to(:user).with(@user) }
|
21
|
+
def assign_to(variable)
|
22
|
+
AssignToMatcher.new(variable)
|
23
|
+
end
|
24
|
+
|
25
|
+
class AssignToMatcher # :nodoc:
|
26
|
+
attr_reader :failure_message_for_should, :failure_message_for_should_not
|
27
|
+
|
28
|
+
def initialize(variable)
|
29
|
+
@variable = variable.to_s
|
30
|
+
@options = {}
|
31
|
+
@options[:check_value] = false
|
32
|
+
end
|
33
|
+
|
34
|
+
def with_kind_of(expected_class)
|
35
|
+
@options[:expected_class] = expected_class
|
36
|
+
self
|
37
|
+
end
|
38
|
+
|
39
|
+
def with(expected_value = nil, &block)
|
40
|
+
@options[:check_value] = true
|
41
|
+
@options[:expected_value] = expected_value
|
42
|
+
@options[:expectation_block] = block
|
43
|
+
self
|
44
|
+
end
|
45
|
+
|
46
|
+
def matches?(controller)
|
47
|
+
@controller = controller
|
48
|
+
normalize_expected_value!
|
49
|
+
assigned_value? &&
|
50
|
+
kind_of_expected_class? &&
|
51
|
+
equal_to_expected_value?
|
52
|
+
end
|
53
|
+
|
54
|
+
def description
|
55
|
+
description = "assign @#{@variable}"
|
56
|
+
if @options.key?(:expected_class)
|
57
|
+
description << " with a kind of #{@options[:expected_class]}"
|
58
|
+
end
|
59
|
+
description
|
60
|
+
end
|
61
|
+
|
62
|
+
def in_context(context)
|
63
|
+
@context = context
|
64
|
+
self
|
65
|
+
end
|
66
|
+
|
67
|
+
private
|
68
|
+
|
69
|
+
def assigned_value?
|
70
|
+
if @controller.instance_variables.map(&:to_s).include?("@#{@variable}")
|
71
|
+
@failure_message_for_should_not =
|
72
|
+
"Didn't expect action to assign a value for @#{@variable}, " <<
|
73
|
+
"but it was assigned to #{assigned_value.inspect}"
|
74
|
+
true
|
75
|
+
else
|
76
|
+
@failure_message_for_should =
|
77
|
+
"Expected action to assign a value for @#{@variable}"
|
78
|
+
false
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
def kind_of_expected_class?
|
83
|
+
if @options.key?(:expected_class)
|
84
|
+
if assigned_value.kind_of?(@options[:expected_class])
|
85
|
+
@failure_message_for_should_not =
|
86
|
+
"Didn't expect action to assign a kind of #{@options[:expected_class]} " <<
|
87
|
+
"for #{@variable}, but got one anyway"
|
88
|
+
true
|
89
|
+
else
|
90
|
+
@failure_message_for_should =
|
91
|
+
"Expected action to assign a kind of #{@options[:expected_class]} " <<
|
92
|
+
"for #{@variable}, but got #{assigned_value.inspect} " <<
|
93
|
+
"(#{assigned_value.class.name})"
|
94
|
+
false
|
95
|
+
end
|
96
|
+
else
|
97
|
+
true
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
101
|
+
def equal_to_expected_value?
|
102
|
+
if @options[:check_value]
|
103
|
+
if @options[:expected_value] == assigned_value
|
104
|
+
@failure_message_for_should_not =
|
105
|
+
"Didn't expect action to assign #{@options[:expected_value].inspect} " <<
|
106
|
+
"for #{@variable}, but got it anyway"
|
107
|
+
true
|
108
|
+
else
|
109
|
+
@failure_message_for_should =
|
110
|
+
"Expected action to assign #{@options[:expected_value].inspect} " <<
|
111
|
+
"for #{@variable}, but got #{assigned_value.inspect}"
|
112
|
+
false
|
113
|
+
end
|
114
|
+
else
|
115
|
+
true
|
116
|
+
end
|
117
|
+
end
|
118
|
+
|
119
|
+
def normalize_expected_value!
|
120
|
+
if @options[:expectation_block]
|
121
|
+
@options[:expected_value] = @context.instance_eval(&@options[:expectation_block])
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
125
|
+
def assigned_value
|
126
|
+
@controller.instance_variable_get("@#{@variable}")
|
127
|
+
end
|
128
|
+
end
|
129
|
+
end
|
130
|
+
end
|
131
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
def mock_server_and_api
|
2
2
|
# standard server mocks
|
3
|
-
@api_mock =
|
4
|
-
@server_mock =
|
3
|
+
@api_mock = double(BigBlueButton::BigBlueButtonApi)
|
4
|
+
@server_mock = stub_model(BigbluebuttonServer, :id => 1, :param => "any")
|
5
5
|
@server_mock.stub(:api) { @api_mock }
|
6
6
|
BigbluebuttonServer.stub(:find) { @server_mock }
|
7
7
|
BigbluebuttonServer.stub(:find_by_param) { @server_mock }
|
@@ -0,0 +1,9 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe BigbluebuttonMeetingUpdater do
|
4
|
+
it "waits the amount of time specified before starting"
|
5
|
+
it "calls fetch_meeting_info in the target room"
|
6
|
+
it "calls finish_meetings if fetch_meeting_info throws an exception"
|
7
|
+
it "calls update_current_meetings if fetch_meeting_info is successful"
|
8
|
+
it "doesn't break if the room is not found"
|
9
|
+
end
|
metadata
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bigbluebutton_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
5
|
-
prerelease:
|
4
|
+
version: 1.4.0.beta1
|
5
|
+
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Mconf
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2014-07-28 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rails
|
@@ -35,7 +35,7 @@ dependencies:
|
|
35
35
|
requirements:
|
36
36
|
- - ~>
|
37
37
|
- !ruby/object:Gem::Version
|
38
|
-
version: 1.
|
38
|
+
version: 1.3.0
|
39
39
|
type: :runtime
|
40
40
|
prerelease: false
|
41
41
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -43,7 +43,55 @@ dependencies:
|
|
43
43
|
requirements:
|
44
44
|
- - ~>
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: 1.
|
46
|
+
version: 1.3.0
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: strong_parameters
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.2.0
|
55
|
+
type: :runtime
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
59
|
+
requirements:
|
60
|
+
- - ~>
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 0.2.0
|
63
|
+
- !ruby/object:Gem::Dependency
|
64
|
+
name: resque
|
65
|
+
requirement: !ruby/object:Gem::Requirement
|
66
|
+
none: false
|
67
|
+
requirements:
|
68
|
+
- - ~>
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: 1.25.1
|
71
|
+
type: :runtime
|
72
|
+
prerelease: false
|
73
|
+
version_requirements: !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
75
|
+
requirements:
|
76
|
+
- - ~>
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: 1.25.1
|
79
|
+
- !ruby/object:Gem::Dependency
|
80
|
+
name: browser
|
81
|
+
requirement: !ruby/object:Gem::Requirement
|
82
|
+
none: false
|
83
|
+
requirements:
|
84
|
+
- - ~>
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: 0.5.0
|
87
|
+
type: :runtime
|
88
|
+
prerelease: false
|
89
|
+
version_requirements: !ruby/object:Gem::Requirement
|
90
|
+
none: false
|
91
|
+
requirements:
|
92
|
+
- - ~>
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: 0.5.0
|
47
95
|
description: It allows you to interact with BigBlueButton from your Ruby on Rails
|
48
96
|
application
|
49
97
|
email: mconf-dev@googlegroups.com
|
@@ -62,16 +110,22 @@ files:
|
|
62
110
|
- LICENSE
|
63
111
|
- README.rdoc
|
64
112
|
- Rakefile
|
65
|
-
-
|
113
|
+
- TODO.rdoc
|
114
|
+
- app/assets/images/badges/apple_store_en.png
|
115
|
+
- app/assets/images/badges/apple_store_pt-br.png
|
116
|
+
- app/assets/images/badges/google_play_en.png
|
117
|
+
- app/assets/images/badges/google_play_pt-br.png
|
66
118
|
- app/assets/stylesheets/bigbluebutton_rails.css
|
67
119
|
- app/controllers/bigbluebutton/recordings_controller.rb
|
68
120
|
- app/controllers/bigbluebutton/rooms_controller.rb
|
69
121
|
- app/controllers/bigbluebutton/servers_controller.rb
|
70
122
|
- app/helpers/bigbluebutton_rails_helper.rb
|
123
|
+
- app/models/bigbluebutton_meeting.rb
|
71
124
|
- app/models/bigbluebutton_metadata.rb
|
72
125
|
- app/models/bigbluebutton_playback_format.rb
|
73
126
|
- app/models/bigbluebutton_recording.rb
|
74
127
|
- app/models/bigbluebutton_room.rb
|
128
|
+
- app/models/bigbluebutton_room_options.rb
|
75
129
|
- app/models/bigbluebutton_server.rb
|
76
130
|
- app/views/bigbluebutton/recordings/_form.html.erb
|
77
131
|
- app/views/bigbluebutton/recordings/_recordings.html.erb
|
@@ -81,7 +135,6 @@ files:
|
|
81
135
|
- app/views/bigbluebutton/rooms/_form.html.erb
|
82
136
|
- app/views/bigbluebutton/rooms/_rooms.html.erb
|
83
137
|
- app/views/bigbluebutton/rooms/edit.html.erb
|
84
|
-
- app/views/bigbluebutton/rooms/external.html.erb
|
85
138
|
- app/views/bigbluebutton/rooms/index.html.erb
|
86
139
|
- app/views/bigbluebutton/rooms/invite.html.erb
|
87
140
|
- app/views/bigbluebutton/rooms/join.html.erb
|
@@ -98,12 +151,14 @@ files:
|
|
98
151
|
- app/views/bigbluebutton/servers/recordings.html.erb
|
99
152
|
- app/views/bigbluebutton/servers/rooms.html.erb
|
100
153
|
- app/views/bigbluebutton/servers/show.html.erb
|
154
|
+
- app/workers/bigbluebutton_meeting_updater.rb
|
101
155
|
- bigbluebutton_rails.gemspec
|
102
156
|
- config/locales/en.yml
|
103
157
|
- config/schedule.rb
|
104
158
|
- lib/bigbluebutton_rails.rb
|
105
159
|
- lib/bigbluebutton_rails/controller_methods.rb
|
106
160
|
- lib/bigbluebutton_rails/exceptions.rb
|
161
|
+
- lib/bigbluebutton_rails/internal_controller_methods.rb
|
107
162
|
- lib/bigbluebutton_rails/rails.rb
|
108
163
|
- lib/bigbluebutton_rails/rails/routes.rb
|
109
164
|
- lib/bigbluebutton_rails/utils.rb
|
@@ -115,7 +170,9 @@ files:
|
|
115
170
|
- lib/generators/bigbluebutton_rails/templates/migration_0_0_5.rb
|
116
171
|
- lib/generators/bigbluebutton_rails/templates/migration_1_3_0.rb
|
117
172
|
- lib/generators/bigbluebutton_rails/templates/migration_1_3_0_b.rb
|
173
|
+
- lib/generators/bigbluebutton_rails/templates/migration_1_4_0.rb
|
118
174
|
- lib/generators/bigbluebutton_rails/views_generator.rb
|
175
|
+
- lib/tasks/bigbluebutton_rails/meetings.rake
|
119
176
|
- lib/tasks/bigbluebutton_rails/recordings.rake
|
120
177
|
- spec/bigbluebutton_rails_spec.rb
|
121
178
|
- spec/classes/bigbluebutton_attendee_spec.rb
|
@@ -126,15 +183,21 @@ files:
|
|
126
183
|
- spec/controllers/bigbluebutton/rooms_controller_spec.rb
|
127
184
|
- spec/controllers/bigbluebutton/servers_controller_json_responses_spec.rb
|
128
185
|
- spec/controllers/bigbluebutton/servers_controller_spec.rb
|
186
|
+
- spec/factories/bigbluebutton_meeting.rb
|
129
187
|
- spec/factories/bigbluebutton_metadata.rb
|
130
188
|
- spec/factories/bigbluebutton_playback_format.rb
|
131
189
|
- spec/factories/bigbluebutton_recording.rb
|
132
190
|
- spec/factories/bigbluebutton_room.rb
|
191
|
+
- spec/factories/bigbluebutton_room_options.rb
|
133
192
|
- spec/factories/bigbluebutton_server.rb
|
134
193
|
- spec/factories/user.rb
|
135
194
|
- spec/generators/install_generator_spec.rb
|
136
195
|
- spec/generators/views_generator_spec.rb
|
137
196
|
- spec/helpers/bigbluebutton_rails_helper_spec.rb
|
197
|
+
- spec/lib/tasks/meetings_rake_spec.rb
|
198
|
+
- spec/lib/tasks/recordings_rake_spec.rb
|
199
|
+
- spec/models/bigbluebutton_meeting_db_spec.rb
|
200
|
+
- spec/models/bigbluebutton_meeting_spec.rb
|
138
201
|
- spec/models/bigbluebutton_metadata_db_spec.rb
|
139
202
|
- spec/models/bigbluebutton_metadata_spec.rb
|
140
203
|
- spec/models/bigbluebutton_playback_format_db_spec.rb
|
@@ -142,6 +205,8 @@ files:
|
|
142
205
|
- spec/models/bigbluebutton_recording_db_spec.rb
|
143
206
|
- spec/models/bigbluebutton_recording_spec.rb
|
144
207
|
- spec/models/bigbluebutton_room_db_spec.rb
|
208
|
+
- spec/models/bigbluebutton_room_options_db_spec.rb
|
209
|
+
- spec/models/bigbluebutton_room_options_spec.rb
|
145
210
|
- spec/models/bigbluebutton_room_spec.rb
|
146
211
|
- spec/models/bigbluebutton_server_db_spec.rb
|
147
212
|
- spec/models/bigbluebutton_server_spec.rb
|
@@ -165,7 +230,7 @@ files:
|
|
165
230
|
- spec/rails_app/config/application.rb
|
166
231
|
- spec/rails_app/config/boot.rb
|
167
232
|
- spec/rails_app/config/cucumber.yml
|
168
|
-
- spec/rails_app/config/database.yml
|
233
|
+
- spec/rails_app/config/database.yml.example
|
169
234
|
- spec/rails_app/config/environment.rb
|
170
235
|
- spec/rails_app/config/environments/development.rb
|
171
236
|
- spec/rails_app/config/environments/production.rb
|
@@ -188,7 +253,6 @@ files:
|
|
188
253
|
- spec/rails_app/features/destroy_servers.feature
|
189
254
|
- spec/rails_app/features/edit_rooms.feature
|
190
255
|
- spec/rails_app/features/edit_servers.feature
|
191
|
-
- spec/rails_app/features/join_external_rooms.feature
|
192
256
|
- spec/rails_app/features/join_mobile.feature
|
193
257
|
- spec/rails_app/features/join_rooms.feature
|
194
258
|
- spec/rails_app/features/list_and_show_rooms.feature
|
@@ -221,6 +285,7 @@ files:
|
|
221
285
|
- spec/rails_app/features/support/within.rb
|
222
286
|
- spec/rails_app/lib/tasks/cucumber.rake
|
223
287
|
- spec/rails_app/lib/tasks/db/populate.rake
|
288
|
+
- spec/rails_app/lib/tasks/resque.rake
|
224
289
|
- spec/rails_app/public/404.html
|
225
290
|
- spec/rails_app/public/422.html
|
226
291
|
- spec/rails_app/public/500.html
|
@@ -240,12 +305,20 @@ files:
|
|
240
305
|
- spec/routing/bigbluebutton/servers_routing_spec.rb
|
241
306
|
- spec/spec_helper.rb
|
242
307
|
- spec/support/controllers/bigbluebutton/rooms_controller.rb
|
308
|
+
- spec/support/matchers/array_with_key.rb
|
309
|
+
- spec/support/matchers/array_without_key.rb
|
310
|
+
- spec/support/matchers/delegate_matcher.rb
|
243
311
|
- spec/support/matchers/have_same_attributes_as.rb
|
312
|
+
- spec/support/matchers/respond_with_content_type.rb
|
313
|
+
- spec/support/matchers/shoulda/assign_to_matcher.rb
|
244
314
|
- spec/support/matchers/shoulda/be_boolean_matcher.rb
|
245
315
|
- spec/support/matchers/shoulda/respond_with_json_matcher.rb
|
246
316
|
- spec/support/mocked_server.rb
|
317
|
+
- spec/support/models/user.rb
|
318
|
+
- spec/workers/bigbluebutton_meeting_updater_spec.rb
|
247
319
|
homepage: http://github.com/mconf/bigbluebutton_rails
|
248
|
-
licenses:
|
320
|
+
licenses:
|
321
|
+
- MIT
|
249
322
|
post_install_message:
|
250
323
|
rdoc_options: []
|
251
324
|
require_paths:
|
@@ -258,16 +331,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
258
331
|
version: '0'
|
259
332
|
segments:
|
260
333
|
- 0
|
261
|
-
hash:
|
334
|
+
hash: -2192814937283850383
|
262
335
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
263
336
|
none: false
|
264
337
|
requirements:
|
265
|
-
- - ! '
|
338
|
+
- - ! '>'
|
266
339
|
- !ruby/object:Gem::Version
|
267
|
-
version:
|
268
|
-
segments:
|
269
|
-
- 0
|
270
|
-
hash: 4548361948436062604
|
340
|
+
version: 1.3.1
|
271
341
|
requirements: []
|
272
342
|
rubyforge_project:
|
273
343
|
rubygems_version: 1.8.23
|
@@ -1,25 +0,0 @@
|
|
1
|
-
<h1>Join the meeting <%= @room.name %></h1>
|
2
|
-
|
3
|
-
<div id="error_explanation"><%= flash[:error] %></div>
|
4
|
-
|
5
|
-
<p>This meeting was created from another application.<br/>You must provide a name and a password to join:</p>
|
6
|
-
|
7
|
-
<%= form_tag external_bigbluebutton_rooms_path do %>
|
8
|
-
<%= hidden_field_tag "server_id", params[:server_id] %>
|
9
|
-
<%= hidden_field_tag "meeting", params[:meeting] %>
|
10
|
-
|
11
|
-
<div class="field">
|
12
|
-
<label for="user_name">Name:</label><br />
|
13
|
-
<% if bigbluebutton_user.nil? %>
|
14
|
-
<%= text_field_tag "user[name]", "" %>
|
15
|
-
<% else %>
|
16
|
-
<%= text_field_tag "user[name]", bigbluebutton_user.name %>
|
17
|
-
<% end %>
|
18
|
-
</div>
|
19
|
-
<div class="field">
|
20
|
-
<label for="user_password">Password:</label><br />
|
21
|
-
<%= password_field_tag "user[password]", "" %>
|
22
|
-
</div>
|
23
|
-
|
24
|
-
<%= submit_tag "Submit" %>
|
25
|
-
<% end %>
|
@@ -1,25 +0,0 @@
|
|
1
|
-
# SQLite version 3.x
|
2
|
-
# gem install sqlite3
|
3
|
-
development:
|
4
|
-
adapter: sqlite3
|
5
|
-
database: db/development.sqlite3
|
6
|
-
pool: 5
|
7
|
-
timeout: 5000
|
8
|
-
|
9
|
-
# Warning: The database defined as "test" will be erased and
|
10
|
-
# re-generated from your development database when you run "rake".
|
11
|
-
# Do not set this db to the same as development or production.
|
12
|
-
test: &test
|
13
|
-
adapter: sqlite3
|
14
|
-
database: db/test.sqlite3
|
15
|
-
pool: 5
|
16
|
-
timeout: 5000
|
17
|
-
|
18
|
-
production:
|
19
|
-
adapter: sqlite3
|
20
|
-
database: db/production.sqlite3
|
21
|
-
pool: 5
|
22
|
-
timeout: 5000
|
23
|
-
|
24
|
-
cucumber:
|
25
|
-
<<: *test
|
@@ -1,61 +0,0 @@
|
|
1
|
-
Feature: Join external webconference rooms
|
2
|
-
In order to join webconferences that were created from another application
|
3
|
-
One needs to enter his name and a password, that will define his role
|
4
|
-
|
5
|
-
@mechanize
|
6
|
-
Scenario: Joining an external room as moderator (a room that is not in the database)
|
7
|
-
Given an anonymous user
|
8
|
-
And a real server
|
9
|
-
And an external room in this server
|
10
|
-
When the user goes to the join external room page
|
11
|
-
And enters his name and the moderator password
|
12
|
-
And clicks in the button "Submit"
|
13
|
-
Then he should join the conference room
|
14
|
-
|
15
|
-
Scenario: Joining an external room that is NOT running as attendee
|
16
|
-
Given an anonymous user
|
17
|
-
And a real server
|
18
|
-
And an external room in this server
|
19
|
-
When the user goes to the join external room page
|
20
|
-
And enters his name and the attendee password
|
21
|
-
And clicks in the button "Submit"
|
22
|
-
Then he should NOT join the conference room
|
23
|
-
And should see an error message with the message "The meeting is not running"
|
24
|
-
|
25
|
-
@mechanize @need-bot
|
26
|
-
Scenario: Joining an external room that is running as attendee
|
27
|
-
Given an anonymous user
|
28
|
-
And a real server
|
29
|
-
And an external room in this server
|
30
|
-
And a meeting is running in this room
|
31
|
-
When the user goes to the join external room page
|
32
|
-
And enters his name and the attendee password
|
33
|
-
And clicks in the button "Submit"
|
34
|
-
Then he should join the conference room
|
35
|
-
|
36
|
-
Scenario: Joining an external room without entering a user name
|
37
|
-
Given an anonymous user
|
38
|
-
And a real server
|
39
|
-
And an external room in this server
|
40
|
-
When the user goes to the join external room page
|
41
|
-
And enters only the moderator password
|
42
|
-
And clicks in the button "Submit"
|
43
|
-
Then he should NOT join the conference room
|
44
|
-
And should see an error message with the message "Authentication failure"
|
45
|
-
|
46
|
-
Scenario: Joining an external room without entering a password (wrong password)
|
47
|
-
Given an anonymous user
|
48
|
-
And a real server
|
49
|
-
And an external room in this server
|
50
|
-
When the user goes to the join external room page
|
51
|
-
And enters only the user name
|
52
|
-
And clicks in the button "Submit"
|
53
|
-
Then he should NOT join the conference room
|
54
|
-
And should see an error message with the message "Authentication failure"
|
55
|
-
|
56
|
-
Scenario: Uses the current user's name as the default name to join an external room
|
57
|
-
Given a user named "test user"
|
58
|
-
And a real server
|
59
|
-
And an external room in this server
|
60
|
-
When the user goes to the join external room page
|
61
|
-
Then he should see his name in the user name input
|