def process_dos_results(client, content_loader, user): content_loader.load_manifest(FRAMEWORK_SLUG, 'declaration', 'declaration') declaration_content = content_loader.get_manifest(FRAMEWORK_SLUG, 'declaration') dos_registered_suppliers = client\ .get_interested_suppliers(FRAMEWORK_SLUG)\ .get('interestedSuppliers', None) for supplier_id in dos_registered_suppliers: print("SUPPLIER: {}".format(supplier_id)) declaration = client.get_supplier_declaration(supplier_id, FRAMEWORK_SLUG)['declaration'] declaration_result = check_declaration_answers(declaration_content, declaration) if declaration else FAIL supplier_has_submitted_services = process_submitted_drafts(client, supplier_id, user) if declaration_result == PASS and supplier_has_submitted_services: print(" PASSED") res = set_framework_result(client, FRAMEWORK_SLUG, supplier_id, True, user) print(res) elif declaration_result == DISCRETIONARY and supplier_has_submitted_services: print(" DISCRETIONARY") # No-op here: leave result as NULL in the database else: print(" FAILED") res = set_framework_result(client, FRAMEWORK_SLUG, supplier_id, False, user) print(res)
def process_g8_results(client, user): g8_registered_suppliers = client.get_interested_suppliers(FRAMEWORK_SLUG).get('interestedSuppliers', None) for supplier_id in g8_registered_suppliers: print("SUPPLIER: {}".format(supplier_id)) declaration = client.get_supplier_declaration(supplier_id, FRAMEWORK_SLUG)['declaration'] declaration_result = check_declaration_answers(declaration) if declaration else FAIL supplier_has_submitted_services = has_supplier_submitted_services(client, FRAMEWORK_SLUG, supplier_id) if declaration_result == PASS and supplier_has_submitted_services: print(" PASSED") res = set_framework_result(client, FRAMEWORK_SLUG, supplier_id, True, user) print(res) elif declaration_result == DISCRETIONARY and supplier_has_submitted_services: print(" DISCRETIONARY") # No-op here: leave result as NULL in the database else: print(" FAILED") res = set_framework_result(client, FRAMEWORK_SLUG, supplier_id, False, user) print(res)
sys.path.insert(0, '.') import getpass from docopt import docopt from dmapiclient import DataAPIClient from dmscripts.env import get_api_endpoint_from_stage from dmscripts.logging import configure_logger from dmscripts.framework_utils import set_framework_result logger = configure_logger() if __name__ == '__main__': arguments = docopt(__doc__) framework_slug = arguments['<framework>'] data_api_url = get_api_endpoint_from_stage(arguments['<stage>'], 'api') client = DataAPIClient(data_api_url, arguments['--api-token']) user = getpass.getuser() result = True if arguments['--pass'] else False with open(arguments['<ids_file>'], 'r') as f: supplier_ids = filter(None, [l.strip() for l in f.readlines()]) for supplier_id in supplier_ids: logger.info(set_framework_result(client, framework_slug, supplier_id, result, user)) logger.info("DONE")
def test_set_framework_result_returns_error_message_if_update_fails(mock_data_client): mock_data_client.set_framework_result.side_effect = HTTPError() assert set_framework_result(mock_data_client, 'g-whizz-6', 123456, True, 'user') == \ ' Error inserting result for 123456 (True): Request failed (status: 503)'
def test_set_framework_result_calls_with_correct_arguments(mock_data_client): assert set_framework_result(mock_data_client, 'g-whizz-6', 123456, True, 'user') == \ ' Result set OK: 123456 - PASS' mock_data_client.set_framework_result.assert_called_with(123456, 'g-whizz-6', True, 'user')