Skip to content

Commit c2e7dad

Browse files
committed
address pr comment: expose PROFILE env var
1 parent a5f4798 commit c2e7dad

File tree

7 files changed

+51
-44
lines changed

7 files changed

+51
-44
lines changed

docs/howto/script_testing.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ a stack, starting agents and services and validating results.
7676

7777
## Environment variables
7878

79+
- `PROFILE`: the `elastic-package` profile being used
7980
- `CONFIG_ROOT`: the `elastic-package` configuration root path
8081
- `CONFIG_PROFILES`: the `elastic-package` profiles configuration root path
8182
- `HOME`: the user's home directory path

internal/testrunner/script/script.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import (
2929
"github.com/elastic/elastic-package/internal/cobraext"
3030
"github.com/elastic/elastic-package/internal/configuration/locations"
3131
"github.com/elastic/elastic-package/internal/elasticsearch/ingest"
32+
"github.com/elastic/elastic-package/internal/install"
3233
"github.com/elastic/elastic-package/internal/packages"
3334
"github.com/elastic/elastic-package/internal/packages/changelog"
3435
"github.com/elastic/elastic-package/internal/resources"
@@ -41,6 +42,10 @@ func Run(dst io.Writer, cmd *cobra.Command, args []string) error {
4142
if err != nil {
4243
return fmt.Errorf("could not find home: %w", err)
4344
}
45+
config, err := install.Configuration()
46+
if err != nil {
47+
return fmt.Errorf("could read configuration: %w", err)
48+
}
4449
loc, err := locations.NewLocationManager()
4550
if err != nil {
4651
return err
@@ -208,6 +213,7 @@ func Run(dst io.Writer, cmd *cobra.Command, args []string) error {
208213
"get_policy": getPolicyCommand,
209214
},
210215
Setup: func(e *testscript.Env) error {
216+
e.Setenv("PROFILE", config.CurrentProfile())
211217
e.Setenv("CONFIG_ROOT", loc.RootDir())
212218
e.Setenv("CONFIG_PROFILES", loc.ProfileDir())
213219
e.Setenv("HOME", home)

test/packages/other/with_script/data_stream/first/_dev/test/scripts/agent_up_down_external.txt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
[!external_stack] skip 'Skipping external stack test.'
22

33
# Register stack and check that we get the expected output.
4-
use_stack -profile ${CONFIG_PROFILES}/default
4+
use_stack -profile ${CONFIG_PROFILES}/${PROFILE}
55
! stderr .
66
cmpenv stdout want_use.json
77

88
# Install an agent.
9-
install_agent -profile ${CONFIG_PROFILES}/default
9+
install_agent -profile ${CONFIG_PROFILES}/${PROFILE}
1010
! stderr .
1111
cmp stdout want_agent_up.text
1212

1313
# Bring up a docker container and check that we get the expected output.
14-
docker_up -profile ${CONFIG_PROFILES}/default hello_service
14+
docker_up -profile ${CONFIG_PROFILES}/${PROFILE} hello_service
1515
! stderr .
1616
cp stdout got_up.text
1717
match_file want_up.pattern got_up.text
@@ -22,14 +22,14 @@ docker_down hello_service
2222
cmp stdout want_down.text
2323

2424
# Uninstall the agent.
25-
uninstall_agent -profile ${CONFIG_PROFILES}/default
25+
uninstall_agent -profile ${CONFIG_PROFILES}/${PROFILE}
2626
! stderr .
2727
stdout '^deleted agent policies for '${PKG}/${DATA_STREAM}
2828

2929
# Then attempt to take it down again.
30-
! stack_down -profile ${CONFIG_PROFILES}/default
30+
! stack_down -profile ${CONFIG_PROFILES}/${PROFILE}
3131
! stdout .
32-
stderr '^cannot take down externally run stack '${CONFIG_PROFILES}'/default$'
32+
stderr '^cannot take down externally run stack '${CONFIG_PROFILES}'/'${PROFILE}'$'
3333

3434
-- hello_service/docker-compose.yml --
3535
version: '3.8'
@@ -45,7 +45,7 @@ services:
4545
"elasticsearch_username": "elastic",
4646
"elasticsearch_password": "changeme",
4747
"kibana_host": "https://127.0.0.1:5601",
48-
"ca_cert_file": "${CONFIG_PROFILES}/default/certs/ca-cert.pem"
48+
"ca_cert_file": "${CONFIG_PROFILES}/${PROFILE}/certs/ca-cert.pem"
4949
}
5050
-- want_up.pattern --
5151
deployed elastic-package-service-[0-9]+:hello_service-1

test/packages/other/with_script/data_stream/first/_dev/test/scripts/get_docs_external.txt

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,30 +3,30 @@
33
[!exec:jq] skip 'Skipping test requiring absent jq command'
44

55
# Register stack and check that we get the expected output.
6-
use_stack -profile ${CONFIG_PROFILES}/default
6+
use_stack -profile ${CONFIG_PROFILES}/${PROFILE}
77
! stderr .
88
cmpenv stdout want_use.json
99

1010
# Install an agent.
11-
install_agent -profile ${CONFIG_PROFILES}/default NETWORK_NAME
11+
install_agent -profile ${CONFIG_PROFILES}/${PROFILE} NETWORK_NAME
1212
! stderr .
1313
cmp stdout want_agent_up.text
1414
# Check the network name is valid.
1515
exec echo ${NETWORK_NAME}
1616
stdout 'elastic-package-agent-with_script-first-[0-9]+_default'
1717

1818
# Bring up a docker container and check that we get the expected output.
19-
docker_up -profile ${CONFIG_PROFILES}/default -network ${NETWORK_NAME} test-hits
19+
docker_up -profile ${CONFIG_PROFILES}/${PROFILE} -network ${NETWORK_NAME} test-hits
2020
! stderr .
2121
cp stdout got_up.text
2222
match_file want_up.pattern got_up.text
2323

2424
# Add the package resources.
25-
add_package -profile ${CONFIG_PROFILES}/default
25+
add_package -profile ${CONFIG_PROFILES}/${PROFILE}
2626
! stderr .
2727

2828
# Add the data stream.
29-
add_data_stream -profile ${CONFIG_PROFILES}/default test_config.yaml DATA_STREAM_NAME
29+
add_data_stream -profile ${CONFIG_PROFILES}/${PROFILE} test_config.yaml DATA_STREAM_NAME
3030
! stderr .
3131
cmpenv stdout want_add_data_stream.text
3232
exec echo ${DATA_STREAM_NAME}
@@ -35,7 +35,7 @@ match_file want_data_stream_name.pattern got_data_stream_name.text
3535

3636
# Check that no policy exists yet.
3737
# No timeout so we do only a single poll.
38-
get_policy -profile ${CONFIG_PROFILES}/default ${DATA_STREAM_NAME}
38+
get_policy -profile ${CONFIG_PROFILES}/${PROFILE} ${DATA_STREAM_NAME}
3939
stdout 'not found'
4040

4141
# Start the service.
@@ -45,7 +45,7 @@ docker_signal test-hits SIGHUP
4545
docker_wait_exit -timeout 5m test-hits
4646

4747
# Check that we can see our policy.
48-
get_policy -profile ${CONFIG_PROFILES}/default -timeout 1m ${DATA_STREAM_NAME}
48+
get_policy -profile ${CONFIG_PROFILES}/${PROFILE} -timeout 1m ${DATA_STREAM_NAME}
4949
cp stdout got_policy.json
5050
exec jq '.name=="'${DATA_STREAM_NAME}'"' got_policy.json
5151
stdout true
@@ -57,32 +57,32 @@ cp stdout got_down.text
5757
match_file want_down.pattern got_down.text
5858

5959
# Get documents from the data stream.
60-
get_docs -profile ${CONFIG_PROFILES}/default -want 10 -timeout 5m ${DATA_STREAM_NAME}
60+
get_docs -profile ${CONFIG_PROFILES}/${PROFILE} -want 10 -timeout 5m ${DATA_STREAM_NAME}
6161
cp stdout got_docs.json
6262

6363
# Let's upgrade!
64-
upgrade_package_latest -profile ${CONFIG_PROFILES}/default
64+
upgrade_package_latest -profile ${CONFIG_PROFILES}/${PROFILE}
6565
! stderr .
6666
stdout 'upgraded package '${PKG}' from version '${CURRENT_VERSION@R}
6767

6868
# Remove the data stream.
69-
remove_data_stream -profile ${CONFIG_PROFILES}/default ${DATA_STREAM_NAME}
69+
remove_data_stream -profile ${CONFIG_PROFILES}/${PROFILE} ${DATA_STREAM_NAME}
7070
! stderr .
7171
cmpenv stdout want_remove_data_stream.text
7272

7373
# Uninstall the agent.
74-
uninstall_agent -profile ${CONFIG_PROFILES}/default -timeout 1m
74+
uninstall_agent -profile ${CONFIG_PROFILES}/${PROFILE} -timeout 1m
7575
stdout '^deleted agent policies for '${PKG}/${DATA_STREAM}
7676
! stderr .
7777

7878
# Remove the package resources.
79-
remove_package -profile ${CONFIG_PROFILES}/default
79+
remove_package -profile ${CONFIG_PROFILES}/${PROFILE}
8080
! stderr .
8181

8282
# Then attempt to take the stack down even though we don't own it.
83-
! stack_down -profile ${CONFIG_PROFILES}/default
83+
! stack_down -profile ${CONFIG_PROFILES}/${PROFILE}
8484
! stdout .
85-
stderr '^cannot take down externally run stack '${CONFIG_PROFILES}'/default$'
85+
stderr '^cannot take down externally run stack '${CONFIG_PROFILES}'/'${PROFILE}'$'
8686

8787
-- test-hits/docker-compose.yml --
8888
version: '2.3'
@@ -110,7 +110,7 @@ ntpd[2959]: ntpd gelit-r tatno
110110
"elasticsearch_username": "elastic",
111111
"elasticsearch_password": "changeme",
112112
"kibana_host": "https://127.0.0.1:5601",
113-
"ca_cert_file": "${CONFIG_PROFILES}/default/certs/ca-cert.pem"
113+
"ca_cert_file": "${CONFIG_PROFILES}/${PROFILE}/certs/ca-cert.pem"
114114
}
115115
-- want_up.pattern --
116116
deployed elastic-package-service-[0-9]+:test-hits-1

test/packages/other/with_script/data_stream/first/_dev/test/scripts/pipeline_external.txt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,37 +3,37 @@
33
date START
44

55
# Register stack and check that we get the expected output.
6-
use_stack -profile ${CONFIG_PROFILES}/default
6+
use_stack -profile ${CONFIG_PROFILES}/${PROFILE}
77
! stderr .
88
cmpenv stdout want_use.json
99

1010
# Install the data stream's pipeline.
11-
install_pipelines -profile ${CONFIG_PROFILES}/default ${DATA_STREAM_ROOT}
11+
install_pipelines -profile ${CONFIG_PROFILES}/${PROFILE} ${DATA_STREAM_ROOT}
1212
! stderr .
1313
stdout '^installed pipelines in '${DATA_STREAM}' with nonce'
1414

1515
# Run a simulation with the data.
16-
simulate -profile ${CONFIG_PROFILES}/default ${DATA_STREAM_ROOT} default data.json
16+
simulate -profile ${CONFIG_PROFILES}/${PROFILE} ${DATA_STREAM_ROOT} default data.json
1717
! stderr .
1818
cmp stdout want.json
1919

2020
# Uninstall pipelines.
21-
uninstall_pipelines -profile ${CONFIG_PROFILES}/default ${DATA_STREAM_ROOT}
21+
uninstall_pipelines -profile ${CONFIG_PROFILES}/${PROFILE} ${DATA_STREAM_ROOT}
2222
! stderr .
2323
stdout '^uninstalled pipelines in '${DATA_STREAM}
2424

2525
# Put logs in the work directory check for existence.
26-
dump_logs -profile ${CONFIG_PROFILES}/default -since ${START}
26+
dump_logs -profile ${CONFIG_PROFILES}/${PROFILE} -since ${START}
2727
exists ${WORK}/logs/elastic-agent.log
2828
exists ${WORK}/logs/elasticsearch.log
2929
exists ${WORK}/logs/fleet-server.log
3030
exists ${WORK}/logs/kibana.log
3131
exists ${WORK}/logs/package-registry.log
3232

3333
# Then attempt to take it down again.
34-
! stack_down -profile ${CONFIG_PROFILES}/default
34+
! stack_down -profile ${CONFIG_PROFILES}/${PROFILE}
3535
! stdout .
36-
stderr '^cannot take down externally run stack '${CONFIG_PROFILES}'/default$'
36+
stderr '^cannot take down externally run stack '${CONFIG_PROFILES}'/'${PROFILE}'$'
3737

3838
-- want_use.json --
3939
{
@@ -42,7 +42,7 @@ stderr '^cannot take down externally run stack '${CONFIG_PROFILES}'/default$'
4242
"elasticsearch_username": "elastic",
4343
"elasticsearch_password": "changeme",
4444
"kibana_host": "https://127.0.0.1:5601",
45-
"ca_cert_file": "${CONFIG_PROFILES}/default/certs/ca-cert.pem"
45+
"ca_cert_file": "${CONFIG_PROFILES}/${PROFILE}/certs/ca-cert.pem"
4646
}
4747
-- data.json --
4848
{

test/packages/other/with_script/data_stream/first/_dev/test/scripts/pipeline_txtar_external.txt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,37 +3,37 @@
33
date START
44

55
# Register stack and check that we get the expected output.
6-
use_stack -profile ${CONFIG_PROFILES}/default
6+
use_stack -profile ${CONFIG_PROFILES}/${PROFILE}
77
! stderr .
88
cmpenv stdout want_use.json
99

1010
# Install the data stream's pipeline.
11-
install_pipelines -profile ${CONFIG_PROFILES}/default ${WORK}
11+
install_pipelines -profile ${CONFIG_PROFILES}/${PROFILE} ${WORK}
1212
! stderr .
1313
stdout '^installed pipelines in .* with nonce'
1414

1515
# Run a simulation with the data.
16-
simulate -profile ${CONFIG_PROFILES}/default ${WORK} default data.json
16+
simulate -profile ${CONFIG_PROFILES}/${PROFILE} ${WORK} default data.json
1717
! stderr .
1818
cmp stdout want.json
1919

2020
# Uninstall pipelines.
21-
uninstall_pipelines -profile ${CONFIG_PROFILES}/default ${WORK}
21+
uninstall_pipelines -profile ${CONFIG_PROFILES}/${PROFILE} ${WORK}
2222
! stderr .
2323
stdout '^uninstalled pipelines in'
2424

2525
# Put logs in the work directory check for existence.
26-
dump_logs -profile ${CONFIG_PROFILES}/default -since ${START}
26+
dump_logs -profile ${CONFIG_PROFILES}/${PROFILE} -since ${START}
2727
exists ${WORK}/logs/elastic-agent.log
2828
exists ${WORK}/logs/elasticsearch.log
2929
exists ${WORK}/logs/fleet-server.log
3030
exists ${WORK}/logs/kibana.log
3131
exists ${WORK}/logs/package-registry.log
3232

3333
# Then attempt to take it down again.
34-
! stack_down -profile ${CONFIG_PROFILES}/default
34+
! stack_down -profile ${CONFIG_PROFILES}/${PROFILE}
3535
! stdout .
36-
stderr '^cannot take down externally run stack '${CONFIG_PROFILES}'/default$'
36+
stderr '^cannot take down externally run stack '${CONFIG_PROFILES}'/'${PROFILE}'$'
3737

3838
-- want_use.json --
3939
{
@@ -42,7 +42,7 @@ stderr '^cannot take down externally run stack '${CONFIG_PROFILES}'/default$'
4242
"elasticsearch_username": "elastic",
4343
"elasticsearch_password": "changeme",
4444
"kibana_host": "https://127.0.0.1:5601",
45-
"ca_cert_file": "${CONFIG_PROFILES}/default/certs/ca-cert.pem"
45+
"ca_cert_file": "${CONFIG_PROFILES}/${PROFILE}/certs/ca-cert.pem"
4646
}
4747
-- data.json --
4848
{

test/packages/other/with_script/data_stream/first/_dev/test/scripts/zip_package.txt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,24 @@
22
[!exec:curl] skip 'Skipping test requiring absent curl command'
33

44
# Register stack and check that we get the expected output.
5-
use_stack -profile ${CONFIG_PROFILES}/default
5+
use_stack -profile ${CONFIG_PROFILES}/${PROFILE}
66
! stderr .
77
cmpenv stdout want_use.json
88

99
exec curl -s -O 'https://epr.elastic.co/epr/cel/cel-0.1.0.zip'
1010

11-
add_package_zip -profile ${CONFIG_PROFILES}/default cel-0.1.0.zip
11+
add_package_zip -profile ${CONFIG_PROFILES}/${PROFILE} cel-0.1.0.zip
1212
! stderr .
1313
stdout 'added zipped package resources in '${WORK@R}'/cel-0\.1\.0\.zip for cel in test for with_script'
1414

15-
remove_package_zip -profile ${CONFIG_PROFILES}/default cel-0.1.0.zip
15+
remove_package_zip -profile ${CONFIG_PROFILES}/${PROFILE} cel-0.1.0.zip
1616
! stderr .
1717
stdout 'removed zipped package resources in '${WORK@R}'/cel-0\.1\.0\.zip for cel in test for with_script'
1818

1919
# Then attempt to take it down again.
20-
! stack_down -profile ${CONFIG_PROFILES}/default
20+
! stack_down -profile ${CONFIG_PROFILES}/${PROFILE}
2121
! stdout .
22-
stderr '^cannot take down externally run stack '${CONFIG_PROFILES}'/default$'
22+
stderr '^cannot take down externally run stack '${CONFIG_PROFILES}'/'${PROFILE}'$'
2323

2424
-- want_use.json --
2525
{
@@ -28,5 +28,5 @@ stderr '^cannot take down externally run stack '${CONFIG_PROFILES}'/default$'
2828
"elasticsearch_username": "elastic",
2929
"elasticsearch_password": "changeme",
3030
"kibana_host": "https://127.0.0.1:5601",
31-
"ca_cert_file": "${CONFIG_PROFILES}/default/certs/ca-cert.pem"
31+
"ca_cert_file": "${CONFIG_PROFILES}/${PROFILE}/certs/ca-cert.pem"
3232
}

0 commit comments

Comments
 (0)