load("@rules_proto//proto:defs.bzl", "proto_library")
load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")

# gazelle:ignore
package(default_testonly = True)

proto_library(
    name = "testing_proto",
    srcs = ["test.proto"],
    visibility = ["//visibility:public"],
    deps = [
        "@com_google_protobuf//:descriptor_proto",
        "@com_google_protobuf//:timestamp_proto",
    ],
)

go_proto_library(
    name = "ethereum_testing_go_proto",
    compiler = "//:cast_proto_compiler",
    importpath = "github.com/prysmaticlabs/prysm/v4/proto/testing",
    proto = ":testing_proto",
    visibility = ["//visibility:public"],
    deps = [
        "@com_github_golang_protobuf//proto:go_default_library",
        "@io_bazel_rules_go//proto/wkt:timestamp_go_proto",
        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
        "@org_golang_google_protobuf//types/descriptorpb:go_default_library",
        "@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
    ],
)

go_library(
    name = "go_default_library",
    testonly = True,
    embed = [":ethereum_testing_go_proto"],
    importpath = "github.com/prysmaticlabs/prysm/v4/proto/testing",
    visibility = ["//visibility:public"],
)

go_test(
    name = "go_default_test",
    size = "small",
    srcs = [
        "tags_test.go",
    ],
    data = [
        "@consensus_spec_tests_mainnet//:test_data",
        "@consensus_spec_tests_minimal//:test_data",
    ],
    embed = [":go_default_library"],
    tags = ["spectest"],
    deps = [
        "//beacon-chain/state/stateutil:go_default_library",
        "//config/fieldparams:go_default_library",
        "//config/params:go_default_library",
        "//encoding/bytesutil:go_default_library",
        "//proto/prysm/v1alpha1:go_default_library",
        "//testing/assert:go_default_library",
        "//testing/require:go_default_library",
        "//testing/util:go_default_library",
        "@com_github_ghodss_yaml//:go_default_library",
        "@com_github_golang_snappy//:go_default_library",
        "@com_github_prysmaticlabs_fastssz//:go_default_library",
        "@io_bazel_rules_go//go/tools/bazel:go_default_library",
    ],
)
