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)
コード例 #2
0
    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"],
    )
コード例 #7
0
    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"],
    )