def METHOD_NAME(
    data_context_id=None,
    nap_duration=1,
    block_network=False,
    enable_usage_statistics=True,
):
    if data_context_id is None:
        data_context_id = str(uuid.uuid4())
    if block_network:
        socket.socket = guard
    print("Beginning to construct a DataContext.")
    config = DataContextConfig(
        config_version=2,
        datasources={"pandas": {"class_name": "PandasDatasource"}},
        expectations_store_name="expectations",
        validations_store_name="validations",
        evaluation_parameter_store_name="evaluation_parameters",
        plugins_directory=None,
        validation_operators={
            "action_list_operator": {
                "class_name": "ActionListValidationOperator",
                "action_list": [
                    {
                        "name": "store_validation_result",
                        "action": {"class_name": "StoreValidationResultAction"},
                    }
                ],
            }
        },
        stores={
            "expectations": {"class_name": "ExpectationsStore"},
            "validations": {"class_name": "ValidationsStore"},
            "evaluation_parameters": {"class_name": "EvaluationParameterStore"},
        },
        data_docs_sites={},
        config_variables_file_path=None,
        anonymous_usage_statistics={
            "enabled": enable_usage_statistics,
            # Leaving data_context_id as none would cause a new id to be generated
            "data_context_id": data_context_id,
            # This will be overridden when tests set an environment variable
            "usage_statistics_url": "https://qa.stats.greatexpectations.io/great_expectations/v1/usage_statistics",
        },
        commented_map=None,
    )
    context = get_context(config)
    print("Done constructing a DataContext.")
    print("Building a suite and validating.")
    df = pd.DataFrame({"a": [1, 2, 3]})
    context.add_expectation_suite("testing.batch")
    batch = context._get_batch_v2(
        batch_kwargs={"datasource": "pandas", "dataset": df},
        expectation_suite_name="testing.batch",
    )
    batch.expect_column_values_to_be_between("a", 0, 5)
    batch.expect_column_to_exist("a")
    batch.save_expectation_suite()
    res = context.run_validation_operator("action_list_operator", [batch])
    print(res)
    print("Beginning a nap.")
    time.sleep(nap_duration)
    print("Ending a long nap.")