def test_model_to_tests(): # Local imports are recommended when using moto from emmaa.model_tests import model_to_tests, load_tests_from_s3, \ StatementCheckingTest from emmaa.model import save_config_to_s3, load_config_from_s3 client = setup_bucket(add_model=True, add_mm=True) test_dict = model_to_tests('test', bucket=TEST_BUCKET_NAME) assert isinstance(test_dict, dict) assert 'test_data' in test_dict assert 'tests' in test_dict tests = test_dict['tests'] # With default config get tests for each statement assert len(tests) == 2 # Modify config to filter config = load_config_from_s3('test', bucket=TEST_BUCKET_NAME) config['make_tests'] = { 'filter': { 'conditions': { 'curated': False }, 'evid_policy': 'any' } } save_config_to_s3('test', config, bucket=TEST_BUCKET_NAME) test_dict = model_to_tests('test', bucket=TEST_BUCKET_NAME) assert isinstance(test_dict, dict) assert 'test_data' in test_dict assert 'tests' in test_dict tests = test_dict['tests'] # With modified config statements are filtered assert len(tests) == 1 assert isinstance(tests[0], StatementCheckingTest) loaded_tests, _ = load_tests_from_s3('test_tests', bucket=TEST_BUCKET_NAME) assert loaded_tests assert isinstance(loaded_tests, dict) assert 'test_data' in loaded_tests assert 'tests' in loaded_tests
def test_model_to_tests(): # Local imports are recommended when using moto from emmaa.model_tests import model_to_tests, load_tests_from_s3, \ StatementCheckingTest client = setup_bucket(add_model=True) test_dict = model_to_tests('test', bucket=TEST_BUCKET_NAME) assert isinstance(test_dict, dict) assert 'test_data' in test_dict assert 'tests' in test_dict tests = test_dict['tests'] assert len(tests) == 2 assert isinstance(tests[0], StatementCheckingTest) loaded_tests, _ = load_tests_from_s3('test_tests', bucket=TEST_BUCKET_NAME) assert loaded_tests assert isinstance(loaded_tests, dict) assert 'test_data' in loaded_tests assert 'tests' in loaded_tests
import argparse from emmaa.model_tests import model_to_tests if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument('--model', help='Model name', required=True) args = parser.parse_args() tests = model_to_tests(args.model, upload=True)