def test_5_query_predictor(self): print(f'\nExecuting {inspect.stack()[0].function}') fields = get_all_pridict_fields(TO_PREDICT) res = fetch(f""" select {','.join(fields)} from {MINDSDB_DATABASE}.{TEST_PREDICTOR_NAME} where {condition_dict_to_str(CONDITION)}; """) self.assertTrue(len(res) == 1) self.assertTrue(check_prediction_values(res[0], TO_PREDICT))
def test_6_range_query(self): print(f'\nExecuting {inspect.stack()[0].function}') fields = get_all_pridict_fields(TO_PREDICT) res = fetch(f""" select {','.join(fields)} from {MINDSDB_DATABASE}.{TEST_PREDICTOR_NAME} where select_data_query='select * from test_data.{TEST_DATA_TABLE} limit 3'; """) self.assertTrue(len(res) == 3) for r in res: self.assertTrue(check_prediction_values(r, TO_PREDICT))
def test_3_query_predictor(self): print(f'\nExecuting {inspect.stack()[0].function}') fields = get_all_pridict_fields(TO_PREDICT) conditions = json.dumps(CONDITION) res = fetch(f""" select {','.join(fields)} from {MINDSDB_DATABASE}.{TEST_PREDICTOR_NAME} where when_data='{conditions}'; """, as_dict=True) print('check result') self.assertTrue(len(res) == 1) self.assertTrue(check_prediction_values(res[0], TO_PREDICT))
def test_3_externael_ds(self): name = f'{TEST_PREDICTOR_NAME}_external' models = self.mdb.get_models() models = [x['name'] for x in models] if name in models: self.mdb.delete_model(name) query(f""" insert into {MINDSDB_DATABASE}.predictors (name, predict, external_datasource, training_options) values ( '{name}', '{','.join(to_predict_column_names)}', '{EXTERNAL_DS_NAME}', '{{"join_learn_process": true, "stop_training_in_x_seconds": 3}}' ); """) print('predictor record in mindsdb.predictors') res = fetch( f"select status from {MINDSDB_DATABASE}.predictors where name = '{name}'", as_dict=True) self.assertTrue(len(res) == 1) self.assertTrue(res[0]['status'] == 'complete') print('predictor table in mindsdb db') self.assertTrue(name in self.get_tables_in(MINDSDB_DATABASE)) fields = get_all_pridict_fields(TO_PREDICT) res = fetch(f""" select {','.join(fields)} from {MINDSDB_DATABASE}.{name} where external_datasource='{EXTERNAL_DS_NAME}' """, as_dict=True) print('check result') self.assertTrue(len(res) > 0) for r in res: self.assertTrue(check_prediction_values(r, TO_PREDICT))