Exemplo n.º 1
0
 def test_run(self):
     mr = MethodRunner(self.cfg, '1234', logger=MockLogger())
     module_info = deepcopy(CATALOG_GET_MODULE_VERSION)
     module_info['docker_img_name'] = 'mock_app:latest'
     try:
         os.makedirs('/tmp/mr/')
     except:
         pass
     q = Queue()
     action = mr.run(self.conf, module_info, NJS_JOB_PARAMS[0], '1234',
                     fin_q=q)
     self.assertIn('name', action)
     out = q.get(timeout=10)
     self.assertEqual(out[0], 'finished')
     self.assertEqual('1234', out[1])
Exemplo n.º 2
0
 def test_secure_params(self):
     mr = MethodRunner(self.cfg, '1234', logger=MockLogger())
     module_info = deepcopy(CATALOG_GET_MODULE_VERSION)
     module_info['docker_img_name'] = 'mock_app:latest'
     module_info['secure_config_params'] = CATALOG_GET_SECURE_CONFIG_PARAMS
     try:
         os.makedirs('/tmp/mr/')
     except:
         pass
     if os.path.exists('/tmp/mr/workdir/output.json'):
         os.remove('/tmp/mr/workdir/output.json')
     q = Queue()
     params = deepcopy(NJS_JOB_PARAMS[0])
     params['method'] = 'echo_test.bogus'
     mockrunner = MockRunner()
     mr.runner = mockrunner
     action = mr.run(self.conf, module_info, params, '1234', fin_q=q)
     self.assertIn('KBASE_SECURE_CONFIG_PARAM_param1', mockrunner.env)
Exemplo n.º 3
0
 def test_no_output(self):
     mr = MethodRunner(self.cfg, '1234', logger=MockLogger())
     module_info = deepcopy(CATALOG_GET_MODULE_VERSION)
     module_info['docker_img_name'] = 'mock_app:latest'
     try:
         os.makedirs('/tmp/mr/')
     except:
         pass
     if os.path.exists('/tmp/mr/workdir/output.json'):
         os.remove('/tmp/mr/workdir/output.json')
     q = Queue()
     params = deepcopy(NJS_JOB_PARAMS[0])
     params['method'] = 'echo_test.noout'
     action = mr.run(self.conf, module_info, params, '1234', fin_q=q)
     self.assertIn('name', action)
     out = q.get(timeout=10)
     self.assertEqual(out[0], 'finished')
     self.assertEqual('1234', out[1])
     result = mr.get_output('1234', subjob=False)
     self.assertIn('error', result)
     self.assertEquals(result['error']['name'], 'Output not found')
Exemplo n.º 4
0
 def setUpClass(cls):
     cls.token = os.environ.get('KB_AUTH_TOKEN', '')
     # WARNING: don't call any logging metholsds on the context object,
     # it'll result in a NoneType error
     cls.cfg = {
         'catalog-service-url': 'http://localhost',
         'token': cls.token,
         'admin_token': os.environ.get('KB_ADMIN_AUTH_TOKEN'),
         'workdir': '/tmp/mr'
     }
     cls.logger = MockLogger()
     cls.mr = MethodRunner(cls.cfg, '1234', logger=cls.logger)
     base = 'https://ci.kbase.us/services/'
     cls.conf = {
         'kbase.endpoint': base,
         'workspace.srv.url': base,
         'shock.url': base,
         'handle.url': base,
         'auth-service-url': base,
         'auth-service-url-allow-insecure': True,
         'scratch': '/kb/module/work/tmp',
         'user': '******'
     }
Exemplo n.º 5
0
 def test_bad_runtime(self):
     cfg = deepcopy(self.cfg)
     cfg['runtime'] = 'bogus'
     with self.assertRaises(OSError):
         MethodRunner(cfg, '1234', logger=MockLogger())