end
end
+module ApiMockHelpers
+ def self.included base
+ base.class_eval do
+ def stub_api_calls_with_body body, status_code=200
+ resp = mock
+ stubbed_client = ArvadosApiClient.new
+ stubbed_client.instance_eval do
+ resp.responds_like_instance_of HTTP::Message
+ resp.stubs(:content).returns body
+ resp.stubs(:status_code).returns status_code
+ @api_client = HTTPClient.new
+ @api_client.stubs(:post).returns resp
+ end
+ ArvadosApiClient.stubs(:new_or_current).returns(stubbed_client)
+ end
+
+ def stub_api_calls_with_invalid_json
+ stub_api_calls_with_body ']"omg,bogus"['
+ end
+ end
+ end
+end
+class ActiveSupport::TestCase
+ include ApiMockHelpers
+end
+
class ActiveSupport::TestCase
include ApiFixtureLoader
def session_for api_client_auth_name
def run_test_server
env_script = nil
Dir.chdir PYTHON_TESTS_DIR do
- env = {
- 'RAILS_ENV' => 'test',
- 'ARVADOS_WEBSOCKETS' => 'yes'
- }
- cmd = ['python', './run_test_server.py', 'start', '--auth', 'admin']
- env_script = check_call({}.merge(ENV).merge(env), cmd)
+ env_script = check_call %w(python ./run_test_server.py start --auth admin)
end
test_env = {}
env_script.each_line do |line|
def stop_test_server
Dir.chdir PYTHON_TESTS_DIR do
# This is a no-op if we're running within run-tests.sh
- check_call ['python', './run_test_server.py', 'stop']
+ check_call %w(python ./run_test_server.py stop)
end
@@server_is_running = false
end