Esempio n. 1
0
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})
Esempio n. 2
0
    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
Esempio n. 3
0
 def test_find_with_invalid_uuid(self):
     with self.assertRaises(ClientException):
         CustomResultData.find(db=None, sequence_id='', model_name=None)