diff --git a/app/controllers/bbb_controller.rb b/app/controllers/bbb_controller.rb
index 825db8dc..ea93b172 100644
--- a/app/controllers/bbb_controller.rb
+++ b/app/controllers/bbb_controller.rb
@@ -153,7 +153,7 @@ class BbbController < ApplicationController
metadata = params.select{ |k, v| k.match(/^meta_/) }
bbb_res = bbb_update_recordings(params[:record_id], published, metadata)
if bbb_res[:returncode]
- RecordingUpdatesJob.perform_later(@user.encrypted_id, params[:record_id], params[:id])
+ RecordingUpdatesJob.perform_later(@user.encrypted_id, params[:record_id])
end
render_bbb_response bbb_res
end
diff --git a/app/jobs/end_meeting_job.rb b/app/jobs/end_meeting_job.rb
index 66711057..6cf7c251 100644
--- a/app/jobs/end_meeting_job.rb
+++ b/app/jobs/end_meeting_job.rb
@@ -15,27 +15,10 @@
# with BigBlueButton; if not, see .
class EndMeetingJob < ApplicationJob
- include BbbApi
-
queue_as :default
def perform(room, meeting)
- tries = 0
- sleep_time = 2
-
- while tries < 4
- bbb_res = bbb_get_meeting_info("#{room}-#{meeting}")
-
- if !bbb_res[:returncode]
- ActionCable.server.broadcast "#{room}-#{meeting}_meeting_updates_channel",
- action: 'meeting_ended'
- break
- end
-
- sleep sleep_time
- sleep_time = sleep_time * 2
- tries += 1
- end
-
+ ActionCable.server.broadcast "#{room}-#{meeting}_meeting_updates_channel",
+ action: 'meeting_ended'
end
end
diff --git a/app/jobs/recording_deletes_job.rb b/app/jobs/recording_deletes_job.rb
index 79217fd9..32c1b03c 100644
--- a/app/jobs/recording_deletes_job.rb
+++ b/app/jobs/recording_deletes_job.rb
@@ -15,12 +15,10 @@
# with BigBlueButton; if not, see .
class RecordingDeletesJob < ApplicationJob
- include BbbApi
-
queue_as :default
- def perform(room, record_id, meeting=nil)
- full_id = "#{room}-#{meeting}"
+ def perform(room, record_id, meeting_name)
+ full_id = "#{room}-#{meeting_name}"
ActionCable.server.broadcast "#{room}_recording_updates_channel",
action: 'delete',
id: record_id
diff --git a/app/jobs/recording_updates_job.rb b/app/jobs/recording_updates_job.rb
index 319d016c..e059a2bb 100644
--- a/app/jobs/recording_updates_job.rb
+++ b/app/jobs/recording_updates_job.rb
@@ -19,11 +19,9 @@ class RecordingUpdatesJob < ApplicationJob
queue_as :default
- def perform(room, record_id, meeting=nil)
- bbb_res = bbb_get_recordings({recordID: record_id})
- recording = bbb_res[:recordings].first
- full_id = room
- full_id += "-#{recording[:metadata][:"meeting-name"]}"
+ def perform(room, record_id)
+ recording = bbb_get_recordings({recordID: record_id})[:recordings].first
+ full_id = "#{room}-#{recording[:metadata][:"meeting-name"]}"
ActionCable.server.broadcast "#{room}_recording_updates_channel",
action: 'update',
id: record_id,
diff --git a/circle.yml b/circle.yml
index 5667afd2..014df8c7 100644
--- a/circle.yml
+++ b/circle.yml
@@ -11,3 +11,7 @@ deployment:
branch: master
commands:
- ./scripts/build_image_master.sh
+
+test:
+ pre:
+ - cp env .env
diff --git a/config/environments/test.rb b/config/environments/test.rb
index 2b239219..30587ef6 100644
--- a/config/environments/test.rb
+++ b/config/environments/test.rb
@@ -37,8 +37,6 @@ Rails.application.configure do
# Print deprecation notices to the stderr.
config.active_support.deprecation = :stderr
- config.mail_notifications = true
-
# Raises error for missing translations
# config.action_view.raise_on_missing_translations = true
end
diff --git a/test/controllers/bbb_controller_test.rb b/test/controllers/bbb_controller_test.rb
index 74962cd4..44cc5363 100644
--- a/test/controllers/bbb_controller_test.rb
+++ b/test/controllers/bbb_controller_test.rb
@@ -19,6 +19,8 @@ require 'test_helper'
class BbbControllerTest < ActionController::TestCase
include BbbApi
+ RETURNCODE_SUCCESS = 'SUCCESS'
+
setup do
@meeting_id = 'test_id'
@user = users :user1
@@ -51,7 +53,7 @@ class BbbControllerTest < ActionController::TestCase
assert_response :success
end
- test "should wati for moderator on join for authenticated meeting when not room owner" do
+ test "should wait for moderator on join for authenticated meeting when not room owner" do
BbbController.any_instance.expects(:bbb_join_url)
.with() do |token, full_name, opts|
opts[:wait_for_moderator] && !opts[:user_is_moderator]
@@ -67,7 +69,7 @@ class BbbControllerTest < ActionController::TestCase
BbbController.any_instance.expects(:bbb_end_meeting)
.with() do |token|
token == meeting_token(@user, @meeting_id)
- end.returns({status: :ok}).once
+ end.returns({status: :ok, returncode: RETURNCODE_SUCCESS}).once
get :end, params: { room_id: @user.encrypted_id, id: @meeting_id, resource: 'rooms' }
assert_response :success
@@ -84,7 +86,7 @@ class BbbControllerTest < ActionController::TestCase
BbbController.any_instance.expects(:bbb_get_recordings)
.returns({status: :ok, recordings: []}).once
- get :recordings, params: { room_id: @user.encrypted_id, resource: 'rooms' }
+ get :recordings, params: { room_id: @user.encrypted_id, resource: 'rooms', id: @meeting_id }
assert_response :success
end
@@ -94,7 +96,7 @@ class BbbControllerTest < ActionController::TestCase
BbbController.any_instance.expects(:bbb_get_recordings)
.returns({status: :ok, recordings: [{recordID: @recording}]}).once
BbbController.any_instance.expects(:bbb_update_recordings)
- .returns({status: :ok}).once
+ .returns({status: :ok, returncode: RETURNCODE_SUCCESS}).once
patch :update_recordings, params: { room_id: @user.encrypted_id, resource: 'rooms', record_id: @recording }
assert_response :success
@@ -104,9 +106,9 @@ class BbbControllerTest < ActionController::TestCase
login @user
BbbController.any_instance.expects(:bbb_get_recordings)
- .returns({status: :ok, recordings: [{recordID: @recording}]}).at_least_once
+ .returns({status: :ok, recordings: [{recordID: @recording, metadata: {'meeting-name': @meeting_id}}]}).twice
BbbController.any_instance.expects(:bbb_delete_recordings)
- .returns({status: :ok}).once
+ .returns({status: :ok, returncode: RETURNCODE_SUCCESS}).once
delete :delete_recordings, params: { room_id: @user.encrypted_id, resource: 'rooms', record_id: @recording }
assert_response :success
diff --git a/test/controllers/landing_controller_test.rb b/test/controllers/landing_controller_test.rb
index 648921b9..b5321449 100644
--- a/test/controllers/landing_controller_test.rb
+++ b/test/controllers/landing_controller_test.rb
@@ -43,6 +43,11 @@ class LandingControllerTest < ActionController::TestCase
assert_response :success
end
+ test "should not get room for invalid user" do
+ get :resource, params: { room_id: 'invalid id', id: @meeting_id, resource: 'rooms' }
+ assert_response :redirect
+ end
+
test "should get wait for moderator" do
get :wait_for_moderator, params: { room_id: @user.encrypted_id, id: @meeting_id, resource: 'rooms' }
assert_response :success
diff --git a/test/test_helper.rb b/test/test_helper.rb
index 61a1b471..63273dd4 100644
--- a/test/test_helper.rb
+++ b/test/test_helper.rb
@@ -17,13 +17,18 @@
ENV['RAILS_ENV'] ||= 'test'
require 'simplecov'
+if ENV['CIRCLE_ARTIFACTS']
+ dir = File.join(ENV['CIRCLE_ARTIFACTS'], "coverage")
+ SimpleCov.coverage_dir(dir)
+end
SimpleCov.start do
- add_group 'Models', 'app/models'
- add_group 'Controllers', 'app/controllers'
- add_group 'Helpers', 'app/helpers'
+ add_group 'Models', 'app/models/'
+ add_group 'Controllers', 'app/controllers/'
+ add_group 'Helpers', 'app/helpers/'
add_group 'Config', 'config/'
add_group 'Libraries', 'lib/'
add_group 'Tests', 'test/'
+ add_group 'Jobs', 'app/jobs/'
end
require File.expand_path('../../config/environment', __FILE__)