angular/aio/scripts/local_server_test.bzl
Derek Cormier c777fa7e22 build(bazel): fix a11y and pwa tests on Windows
Needed to use absoulte paths and fix a separator.
2022-11-22 13:51:16 -07:00

34 lines
1.2 KiB
Python

load("//tools:defaults.bzl", "nodejs_test")
def local_server_test(name, entry_point, serve_target, data = [], args = [], **kwargs):
"""Run a test script alongside a locally running http server.
Args:
name: Name of the test target
entry_point: The test script to run
serve_target: The contents to serve
data: Additional data required by the test script
args: Args to pass to the test script. Note: The special argument LOCALHOST_URL
will be substituted with the url pointing to the served contents.
**kwargs: remaining args to pass to test
"""
nodejs_test(
name = name,
testonly = True,
args = [
"$(rootpath @aio_npm//light-server/bin:light-server)",
"$(rootpath %s)" % serve_target,
"$(rootpath %s)" % entry_point,
] + args,
data = [
entry_point,
serve_target,
"//aio/scripts:run-with-local-server.mjs",
"@aio_npm//get-port",
"@aio_npm//light-server/bin:light-server",
"@aio_npm//shelljs",
"@aio_npm//tree-kill",
] + data,
entry_point = "//aio/scripts:run-with-local-server.mjs",
**kwargs
)