def METHOD_NAME(self, cfngin_context: CfnginContext, mocker: MockerFixture) -> None:
    """Test bucket."""
    mocker.patch.object(
        CfnginBucket,
        "variables",
        {
            "AccessControl": Mock(ref="Ref(AccessControl)"),
            "VersioningStatus": Mock(ref="Ref(VersioningStatus)"),
        },
    )
    mock_bucket = Mock(
        get_att=Mock(return_value="get_att"), ref=Mock(return_value="ref")
    )
    mock_bucket.return_value = mock_bucket
    mocker.patch(f"{MODULE}.s3", Bucket=mock_bucket)
    bucket_encryption = mocker.patch.object(
        CfnginBucket,
        "bucket_encryption",
        "bucket_encryption",
    )
    bucket_name = mocker.patch.object(
        CfnginBucket,
        "bucket_name",
        "bucket_name",
    )
    bucket_tags = mocker.patch.object(
        CfnginBucket,
        "bucket_tags",
        "bucket_tags",
    )
    obj = CfnginBucket("test", cfngin_context)
    assert obj.bucket == mock_bucket
    mock_bucket.assert_called_once_with(
        "Bucket",
        AccessControl="Ref(AccessControl)",
        BucketEncryption=bucket_encryption,
        BucketName=bucket_name,
        OwnershipControls=ANY,  # troposphere objects can't be compared atm
        Tags=bucket_tags,
        VersioningConfiguration=ANY,  # troposphere objects can't be compared atm
    )
    assert "BucketArn" in obj.template.outputs
    assert "BucketDomainName" in obj.template.outputs
    assert "BucketName" in obj.template.outputs
    assert "BucketRegionalDomainName" in obj.template.outputs