diff --git a/deps/rabbitmq_web_dispatch/BUILD.bazel b/deps/rabbitmq_web_dispatch/BUILD.bazel index fa3baabebb..152a5445cf 100644 --- a/deps/rabbitmq_web_dispatch/BUILD.bazel +++ b/deps/rabbitmq_web_dispatch/BUILD.bazel @@ -1,16 +1,94 @@ -load("@bazel-erlang//:ct.bzl", "ct_test") -load("//:rabbitmq.bzl", "APP_VERSION", "RABBITMQ_ERLC_OPTS", "rabbitmq_lib") +load("@bazel-erlang//:bazel_erlang_lib.bzl", "erlang_lib", "test_erlang_lib") +load("@bazel-erlang//:ct.bzl", "ct_suite") +load("//:rabbitmq_home.bzl", "rabbitmq_home") +load("//:rabbitmq_run.bzl", "rabbitmq_run") +load( + "//:rabbitmq.bzl", + "APP_VERSION", + "RABBITMQ_ERLC_OPTS", + "RABBITMQ_TEST_ERLC_OPTS", +) -rabbitmq_lib( - app_description = "RabbitMQ Web Dispatcher", - app_module = "rabbit_web_dispatch_app", - app_name = "rabbitmq_web_dispatch", - extra_apps = [ - "inets", +APP_NAME = "rabbitmq_web_dispatch" + +APP_DESCRIPTION = "RabbitMQ Web Dispatcher" + +APP_MODULE = "rabbit_web_dispatch_app" + +EXTRA_APPS = [ + "inets", +] + +DEPS = [ + "//deps/rabbit:bazel_erlang_lib", + "//deps/rabbit_common:bazel_erlang_lib", + "@cowboy//:bazel_erlang_lib", +] + +erlang_lib( + app_description = APP_DESCRIPTION, + app_module = APP_MODULE, + app_name = APP_NAME, + app_version = APP_VERSION, + extra_apps = EXTRA_APPS, + deps = DEPS, +) + +test_erlang_lib( + app_description = APP_DESCRIPTION, + app_module = APP_MODULE, + app_name = APP_NAME, + app_version = APP_VERSION, + extra_apps = EXTRA_APPS, + extra_priv = [ + "test/priv/www/index.html", ], - deps = [ + deps = DEPS, +) + +rabbitmq_home( + name = "broker-for-tests-home", + testonly = True, + plugins = [ "//deps/rabbit:bazel_erlang_lib", - "//deps/rabbit_common:bazel_erlang_lib", - "@cowboy//:bazel_erlang_lib", + ":test_bazel_erlang_lib", ], ) + +rabbitmq_run( + name = "rabbitmq-for-tests-run", + testonly = True, + home = ":broker-for-tests-home", +) + +ct_suite( + name = "rabbit_web_dispatch_SUITE", + data = [ + "@rabbitmq_ct_helpers//tools/tls-certs:Makefile", + "@rabbitmq_ct_helpers//tools/tls-certs:openssl.cnf.in", + ], + erlc_opts = RABBITMQ_TEST_ERLC_OPTS, + test_env = { + "RABBITMQ_CT_SKIP_AS_ERROR": "true", + "RABBITMQ_RUN": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_web_dispatch/rabbitmq-for-tests-run", + "RABBITMQCTL": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_web_dispatch/broker-for-tests-home/sbin/rabbitmqctl", + "RABBITMQ_PLUGINS": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_web_dispatch/broker-for-tests-home/sbin/rabbitmq-plugins", + }, + tools = [ + ":rabbitmq-for-tests-run", + ], + runtime_deps = [ + "//deps/rabbitmq_cli:elixir_as_bazel_erlang_lib", + "//deps/rabbitmq_cli:rabbitmqctl", + "@rabbitmq_ct_helpers//:bazel_erlang_lib", + ], +) + +ct_suite( + name = "rabbit_web_dispatch_unit_SUITE", + size = "small", + erlc_opts = RABBITMQ_TEST_ERLC_OPTS, + test_env = { + "RABBITMQ_CT_SKIP_AS_ERROR": "true", + }, +)