def test_no_discretionary_pass_schema( self, reassess_passed_suppliers, reassess_failed_suppliers, dry_run, ): mark_definite_framework_results( self.mock_data_client, "Blazes Boylan", "h-cloud-99", self._declaration_definite_pass_schema(), declaration_discretionary_pass_schema=None, dry_run=dry_run, reassess_passed_suppliers=reassess_passed_suppliers, reassess_failed_suppliers=reassess_failed_suppliers, ) expected_set_framework_actions = ( (3456, True), (4321, True), (4567, False), (5432, False), (8765, True), ) _assert_set_framework_result_actions(self.mock_data_client, expected_set_framework_actions, dry_run=dry_run)
def test_without_ds_schema(self, reassess_passed, reassess_failed, reassess_failed_ds, dry_run,): mark_definite_framework_results( self.mock_data_client, "Blazes Boylan", "h-cloud-99", self._declaration_definite_pass_schema(), declaration_baseline_schema=self._declaration_definite_pass_schema()["definitions"]["baseline"], service_schema=None, dry_run=dry_run, reassess_passed=reassess_passed, reassess_failed=reassess_failed, reassess_failed_draft_services=reassess_failed_ds, ) expected_sf_actions = { 2345: False, 3456: True, 4321: True, 4567: False, 5432: False, 6543: True, 8765: True, } expected_ds_actions = {} self._assert_actions(expected_sf_actions, expected_ds_actions, dry_run=dry_run)
def test_reassess_all_no_service_schema( self, dry_run, ): mark_definite_framework_results( self.mock_data_client, "Blazes Boylan", "h-cloud-99", self._declaration_definite_pass_schema(), declaration_discretionary_pass_schema=self. _declaration_definite_pass_schema()["definitions"]["baseline"], dry_run=dry_run, reassess_passed_suppliers=True, reassess_failed_suppliers=True, ) expected_set_framework_actions = ( (2345, False), (4321, True), (5432, False), (8765, True), ) _assert_set_framework_result_actions(self.mock_data_client, expected_set_framework_actions, dry_run=dry_run)
def test_prev_results_reassess_all_no_service_schema(mock_data_client, dry_run,): mock_supplier_frameworks = _base_supplier_frameworks("h-cloud-99") mock_draft_services = _base_draft_services("h-cloud-99") _setup_GET_mocks(mock_data_client, mock_supplier_frameworks, mock_draft_services) mark_definite_framework_results( mock_data_client, "Blazes Boylan", "h-cloud-99", _declaration_definite_pass_schema(), declaration_baseline_schema=_declaration_definite_pass_schema()["definitions"]["baseline"], service_schema=None, dry_run=dry_run, reassess_passed=True, reassess_failed=True, reassess_failed_draft_services=True, ) expected_sf_actions = { 2345: False, 4321: True, 5432: False, 6543: True, 8765: True, } expected_ds_actions = { 999010: True, 999012: True, 999014: True, } _assert_actions(mock_data_client, expected_sf_actions, expected_ds_actions, dry_run=dry_run)
def test_no_prev_results_no_baseline_schema( mock_data_client, reassess_passed, reassess_failed, reassess_failed_ds, dry_run, ): # no onFramework values should be set yet mock_supplier_frameworks = { k: dict(v, onFramework=None) for k, v in _base_supplier_frameworks("h-cloud-99").items() } # no draft services should have been failed yet mock_draft_services = { k: tuple( dict(s, status=("submitted" if s["status"] == "failed" else s["status"])) for s in v ) for k, v in _base_draft_services("h-cloud-99").items() } _setup_GET_mocks(mock_data_client, mock_supplier_frameworks, mock_draft_services) mark_definite_framework_results( mock_data_client, "Blazes Boylan", "h-cloud-99", _declaration_definite_pass_schema(), declaration_baseline_schema=None, service_schema=_draft_service_schema(), dry_run=dry_run, reassess_passed=reassess_passed, reassess_failed=reassess_failed, reassess_failed_draft_services=reassess_failed_ds, ) expected_sf_actions = { 3456: False, 4321: True, 5432: False, 6543: True, 8765: True, } expected_ds_actions = { 999003: False, 999005: False, 999012: False, } _assert_actions(mock_data_client, expected_sf_actions, expected_ds_actions, dry_run=dry_run)
if __name__ == "__main__": from docopt import docopt args = docopt(__doc__) client = DataAPIClient(get_api_endpoint_from_stage(args["<stage>"], "api"), args["<api_token>"]) updated_by = args["--updated-by"] or getpass.getuser() declaration_definite_pass_schema = json.load(open(args["<declaration_definite_pass_schema_path>"], "r")) declaration_baseline_schema = \ (declaration_definite_pass_schema.get("definitions") or {}).get("baseline") service_schema = json.load( open(args["<draft_service_schema_path>"], "r") ) if args["<draft_service_schema_path>"] else None configure_logger({"script": loglevel_DEBUG if args["--verbose"] else loglevel_INFO}) mark_definite_framework_results( client, updated_by, args["<framework_slug>"], declaration_definite_pass_schema, declaration_baseline_schema=declaration_baseline_schema, service_schema=service_schema, reassess_passed=args["--reassess-passed-sf"], reassess_failed=args["--reassess-failed-sf"], reassess_failed_draft_services=args["--reassess-failed-draft-services"], dry_run=args["--dry-run"], )
client = DataAPIClient(get_api_endpoint_from_stage(args["<stage>"], "api"), get_auth_token('api', args['<stage>'])) updated_by = args["--updated-by"] or getpass.getuser() declaration_definite_pass_schema = json.load(open(args["<declaration_definite_pass_schema_path>"], "r")) declaration_baseline_schema = \ (declaration_definite_pass_schema.get("definitions") or {}).get("baseline") service_schema = json.load( open(args["<draft_service_schema_path>"], "r") ) if args["<draft_service_schema_path>"] else None supplier_id_file = args["--supplier-id-file"] supplier_ids = get_supplier_ids_from_file(supplier_id_file) configure_logger({"script": loglevel_DEBUG if args["--verbose"] else loglevel_INFO}) mark_definite_framework_results( client, updated_by, args["<framework_slug>"], declaration_definite_pass_schema, declaration_baseline_schema=declaration_baseline_schema, service_schema=service_schema, reassess_passed=args["--reassess-passed-sf"], reassess_failed=args["--reassess-failed-sf"], reassess_failed_draft_services=args["--reassess-failed-draft-services"], dry_run=args["--dry-run"], supplier_ids=supplier_ids, )
if __name__ == "__main__": from docopt import docopt args = docopt(__doc__) client = DataAPIClient(get_api_endpoint_from_stage(args["<stage>"], "api"), get_auth_token('api', args['<stage>'])) updated_by = args["--updated-by"] or getpass.getuser() declaration_definite_pass_schema = json.load(open(args["<declaration_definite_pass_schema_path>"], "r")) declaration_discretionary_pass_schema = \ (declaration_definite_pass_schema.get("definitions") or {}).get("baseline") supplier_id_file = args["--supplier-id-file"] supplier_ids = get_supplier_ids_from_file(supplier_id_file) configure_logger({"script": loglevel_DEBUG if args["--verbose"] else loglevel_INFO}) mark_definite_framework_results( client, updated_by, args["<framework_slug>"], declaration_definite_pass_schema, declaration_discretionary_pass_schema=declaration_discretionary_pass_schema, reassess_passed_suppliers=args["--reassess-passed-sf"], reassess_failed_suppliers=args["--reassess-failed-sf"], dry_run=args["--dry-run"], supplier_ids=supplier_ids, excluded_supplier_ids=args["--excluded-supplier-ids"], )