def find_custom_results_for_sequence_and_model_name(): """ Find a custom results for a sequence_id. request['sequence_id'] str: sequence id to use when searching custom results request['model_name'] str: optional model name to filter with :return: json response with results array of dict with keys resultId,modelName,sequenceId """ sequence_id = request.args.get('sequence_id') model_name = request.args.get('model_name') if not sequence_id: raise ValueError("Missing required sequence_id field.") custom_result_ids = CustomResultData.find(get_db(), sequence_id, model_name) return make_ok_json_response({'results': custom_result_ids})
def test_find_with_model_filter(self): self.query_sql = '' self.query_params = '' def fake_read_database(db, sql, params): self.query_sql = sql self.query_params = params return [ ('123', 'ELK1') ] sv_read_database = pred.webserver.customresult.read_database try: pred.webserver.customresult.read_database = fake_read_database uid = '8B9836B5-8E3D-4346-AB12-69DD10313C77' results = CustomResultData.find(db=None, sequence_id=uid, model_name='ELK1') self.assertEqual(1, len(results)) item = results[0] self.assertEqual('123', item['resultId']) self.assertEqual('ELK1', item['modelName']) self.assertEqual('8B9836B5-8E3D-4346-AB12-69DD10313C77', item['sequenceId']) self.assertIn('custom_result.model_name =', self.query_sql) self.assertEqual(['8B9836B5-8E3D-4346-AB12-69DD10313C77', 'ELK1'], self.query_params) finally: pred.webserver.customresult.read_database = sv_read_database
def test_find_with_invalid_uuid(self): with self.assertRaises(ClientException): CustomResultData.find(db=None, sequence_id='', model_name=None)