Class: SqliteTestHook
- Inherits:
-
Mumukit::Templates::FileHook
- Object
- Mumukit::Templates::FileHook
- SqliteTestHook
- Includes:
- Sqlite::TestHelper
- Defined in:
- lib/test_hook.rb
Overview
This Hook allow to run Sqlite Worker from an ad-hoc program that receives .json files.
Instance Method Summary collapse
- #command_line(filename) ⇒ Object
-
#compile_file_content(request) ⇒ Object
Transform Mumuki Request into Docker file style.
-
#post_process_file(_file, result, status) ⇒ Object
Transform Docker result into Response to Mumuki.
- #tempfile_extension ⇒ Object
Methods included from Sqlite::TestHelper
#collect_tests, #fail!, #parsers
Instance Method Details
#command_line(filename) ⇒ Object
15 16 17 |
# File 'lib/test_hook.rb', line 15 def command_line(filename) "runsql #{filename}" end |
#compile_file_content(request) ⇒ Object
Transform Mumuki Request into Docker file style
20 21 22 23 24 25 26 27 28 |
# File 'lib/test_hook.rb', line 20 def compile_file_content(request) parse_tests request.test student_code = parse_student_code "#{request.content&.strip}#{get_final_query}" { init: "#{request.extra&.strip}", student: student_code, tests: get_tests }.to_json end |
#post_process_file(_file, result, status) ⇒ Object
Transform Docker result into Response to Mumuki
31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/test_hook.rb', line 31 def post_process_file(_file, result, status) output = JSON.parse result case status when :passed expected, student = parse_output output framework.test expected, student when :failed [output['output'], status] else [output, status] end end |
#tempfile_extension ⇒ Object
11 12 13 |
# File 'lib/test_hook.rb', line 11 def tempfile_extension '.json' end |