forked from External/greenlight
more testing and code cleanup and enable coverage reports on circle
This commit is contained in:
parent
bee42c8148
commit
7c86aa8e7f
|
@ -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
|
||||
|
|
|
@ -15,27 +15,10 @@
|
|||
# with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
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
|
||||
|
|
|
@ -15,12 +15,10 @@
|
|||
# with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
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
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -11,3 +11,7 @@ deployment:
|
|||
branch: master
|
||||
commands:
|
||||
- ./scripts/build_image_master.sh
|
||||
|
||||
test:
|
||||
pre:
|
||||
- cp env .env
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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__)
|
||||
|
|
Loading…
Reference in New Issue