Skip to content

Commit eb966e0

Browse files
authored
chore: move test env vars to profile (#4108)
1 parent b65305d commit eb966e0

File tree

96 files changed

+1970
-791
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

96 files changed

+1970
-791
lines changed

.github/workflows/code-health.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -317,6 +317,8 @@ jobs:
317317
config: ${{ vars.PERMISSIONS_CONFIG }}
318318
- name: Checkout repository
319319
uses: actions/checkout@v4
320+
with:
321+
fetch-depth: 0
320322
- name: Install Go
321323
uses: actions/setup-go@v5
322324
with:
@@ -330,6 +332,37 @@ jobs:
330332
with:
331333
app-id: ${{ secrets.APIXBOT_APP_ID }}
332334
private-key: ${{ secrets.APIXBOT_APP_PEM }}
335+
- run: make build
336+
- id: config-path
337+
env:
338+
EDITOR: echo
339+
run: echo "CONFIG_PATH=$(./bin/atlas config edit 2>/dev/null)" >> "$GITHUB_OUTPUT"
340+
- env:
341+
CONFIG_PATH: ${{ steps.config-path.outputs.CONFIG_PATH }}
342+
CONFIG_CONTENT: |
343+
skip_update_check = true
344+
345+
[__e2e]
346+
org_id = 'a0123456789abcdef012345a'
347+
project_id = 'b0123456789abcdef012345b'
348+
public_api_key = 'ABCDEF01'
349+
private_api_key = '12345678-abcd-ef01-2345-6789abcdef01'
350+
ops_manager_url = 'http://localhost:8080/'
351+
service = 'cloud'
352+
telemetry_enabled = false
353+
output = 'plaintext'
354+
355+
[__e2e_snapshot]
356+
org_id = 'a0123456789abcdef012345a'
357+
project_id = 'b0123456789abcdef012345b'
358+
public_api_key = 'ABCDEF01'
359+
private_api_key = '12345678-abcd-ef01-2345-6789abcdef01'
360+
ops_manager_url = 'http://localhost:8080/'
361+
service = 'cloud'
362+
telemetry_enabled = false
363+
output = 'plaintext'
364+
run: |
365+
echo "$CONFIG_CONTENT" > "$CONFIG_PATH"
333366
- run: |
334367
set +e
335368
make e2e-test-snapshots

.github/workflows/update-e2e-tests.yml

Lines changed: 64 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -75,17 +75,42 @@ jobs:
7575
go-version-file: 'go.mod'
7676
- run: go install gotest.tools/gotestsum@latest
7777
- run: rm -rf test/e2e/testdata/.snapshots
78+
- run: make build
79+
- id: config-path
80+
env:
81+
EDITOR: echo
82+
run: echo "CONFIG_PATH=$(./bin/atlas config edit 2>/dev/null)" >> "$GITHUB_OUTPUT"
83+
- env:
84+
CONFIG_PATH: ${{ steps.config-path.outputs.CONFIG_PATH }}
85+
CONFIG_CONTENT: |
86+
skip_update_check = true
87+
88+
[__e2e]
89+
org_id = '${{ secrets.MONGODB_ATLAS_ORG_ID }}'
90+
project_id = '${{ secrets.MONGODB_ATLAS_PROJECT_ID }}'
91+
public_api_key = '${{ secrets.MONGODB_ATLAS_PROJECT_ID }}'
92+
private_api_key = '${{ secrets.MONGODB_ATLAS_PRIVATE_API_KEY }}'
93+
ops_manager_url = '${{ secrets.MONGODB_ATLAS_OPS_MANAGER_URL }}'
94+
service = 'cloud'
95+
telemetry_enabled = false
96+
output = 'plaintext'
97+
98+
[__e2e_snapshot]
99+
org_id = 'a0123456789abcdef012345a'
100+
project_id = 'b0123456789abcdef012345b'
101+
public_api_key = 'ABCDEF01'
102+
private_api_key = '12345678-abcd-ef01-2345-6789abcdef01'
103+
ops_manager_url = 'http://localhost:8080/'
104+
service = 'cloud'
105+
telemetry_enabled = false
106+
output = 'plaintext'
107+
EOF
108+
run: |
109+
echo "$CONFIG_CONTENT" > "$CONFIG_PATH"
78110
- run: make e2e-test
79111
env:
80112
TEST_CMD: gotestsum --junitfile e2e-tests.xml --format standard-verbose --
81113
E2E_TEST_PACKAGES: ./test/e2e/${{ matrix.package }}/...
82-
MONGODB_ATLAS_ORG_ID: ${{ secrets.MONGODB_ATLAS_ORG_ID }}
83-
MONGODB_ATLAS_PROJECT_ID: ${{ secrets.MONGODB_ATLAS_PROJECT_ID }}
84-
MONGODB_ATLAS_PUBLIC_API_KEY: ${{ secrets.MONGODB_ATLAS_PUBLIC_API_KEY }}
85-
MONGODB_ATLAS_PRIVATE_API_KEY: ${{ secrets.MONGODB_ATLAS_PRIVATE_API_KEY }}
86-
MONGODB_ATLAS_OPS_MANAGER_URL: ${{ secrets.MONGODB_ATLAS_OPS_MANAGER_URL }}
87-
MONGODB_ATLAS_SERVICE: cloud
88-
DO_NOT_TRACK: 1
89114
TEST_MODE: record
90115
E2E_CLOUD_ROLE_ID: ${{ secrets.E2E_CLOUD_ROLE_ID }}
91116
E2E_TEST_BUCKET: ${{ secrets.E2E_TEST_BUCKET }}
@@ -132,17 +157,42 @@ jobs:
132157
with:
133158
go-version-file: 'go.mod'
134159
- run: go install gotest.tools/gotestsum@latest
160+
- run: make build
161+
- id: config-path
162+
env:
163+
EDITOR: echo
164+
run: echo "CONFIG_PATH=$(./bin/atlas config edit 2>/dev/null)" >> "$GITHUB_OUTPUT"
165+
- env:
166+
CONFIG_PATH: ${{ steps.config-path.outputs.CONFIG_PATH }}
167+
CONFIG_CONTENT: |
168+
skip_update_check = true
169+
170+
[__e2e]
171+
org_id = '${{ secrets.MONGODB_ATLAS_ORG_ID }}'
172+
project_id = '${{ secrets.MONGODB_ATLAS_PROJECT_ID }}'
173+
public_api_key = '${{ secrets.MONGODB_ATLAS_PROJECT_ID }}'
174+
private_api_key = '${{ secrets.MONGODB_ATLAS_PRIVATE_API_KEY }}'
175+
ops_manager_url = '${{ secrets.MONGODB_ATLAS_OPS_MANAGER_URL }}'
176+
service = 'cloud'
177+
telemetry_enabled = false
178+
output = 'plaintext'
179+
180+
[__e2e_snapshot]
181+
org_id = 'a0123456789abcdef012345a'
182+
project_id = 'b0123456789abcdef012345b'
183+
public_api_key = 'ABCDEF01'
184+
private_api_key = '12345678-abcd-ef01-2345-6789abcdef01'
185+
ops_manager_url = 'http://localhost:8080/'
186+
service = 'cloud'
187+
telemetry_enabled = false
188+
output = 'plaintext'
189+
EOF
190+
run: |
191+
echo "$CONFIG_CONTENT" > "$CONFIG_PATH"
135192
- run: make e2e-test
136193
env:
137194
TEST_CMD: gotestsum --junitfile e2e-tests.xml --format standard-verbose --
138195
E2E_TEST_PACKAGES: ./test/internal/...
139-
MONGODB_ATLAS_ORG_ID: ${{ secrets.MONGODB_ATLAS_ORG_ID }}
140-
MONGODB_ATLAS_PROJECT_ID: ${{ secrets.MONGODB_ATLAS_PROJECT_ID }}
141-
MONGODB_ATLAS_PUBLIC_API_KEY: ${{ secrets.MONGODB_ATLAS_PUBLIC_API_KEY }}
142-
MONGODB_ATLAS_PRIVATE_API_KEY: ${{ secrets.MONGODB_ATLAS_PRIVATE_API_KEY }}
143-
MONGODB_ATLAS_OPS_MANAGER_URL: ${{ secrets.MONGODB_ATLAS_OPS_MANAGER_URL }}
144-
MONGODB_ATLAS_SERVICE: cloud
145-
DO_NOT_TRACK: 1
146196
E2E_CLOUD_ROLE_ID: ${{ secrets.E2E_CLOUD_ROLE_ID }}
147197
E2E_TEST_BUCKET: ${{ secrets.E2E_TEST_BUCKET }}
148198
E2E_FLEX_INSTANCE_NAME: ${{ secrets.E2E_FLEX_INSTANCE_NAME }}

CONTRIBUTING.md

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,11 @@ Review and replace the command name and arguments depending on the command you w
115115

116116
To debug e2e tests.
117117

118-
```shell
118+
Update e2e profiles by running `make add-e2e-profiles`.
119+
120+
Add needed env vars by:
121+
122+
```shell
119123
touch .vscode/settings.json
120124
```
121125

@@ -125,18 +129,15 @@ Review and replace the atlas settings.
125129
```json
126130
{
127131
"go.testEnvVars": {
128-
"ATLAS_E2E_BINARY": "${workspaceFolder}/bin/atlas",
129-
"TEST_MODE": "live",
130-
"SNAPSHOTS_DIR": "${workspaceFolder}/test/e2e/testdata/.snapshots",
131-
"GOCOVERDIR": "${workspaceFolder}/cov",
132-
"DO_NOT_TRACK": "1",
133-
"MONGODB_ATLAS_SKIP_UPDATE_CHECK": "yes",
134-
"MONGODB_ATLAS_ORG_ID": "<default org id>",
135-
"MONGODB_ATLAS_PROJECT_ID": "<default project id>",
136-
"MONGODB_ATLAS_PRIVATE_API_KEY": "<private key>",
137-
"MONGODB_ATLAS_PUBLIC_API_KEY": "<public key>",
138-
"MONGODB_ATLAS_OPS_MANAGER_URL": "https://cloud.mongodb.com/",
139-
"MONGODB_ATLAS_SERVICE": "cloud",
132+
"ATLAS_E2E_BINARY": "${workspaceFolder}/bin/atlas", // required
133+
"SNAPSHOTS_DIR": "${workspaceFolder}/test/e2e/testdata/.snapshots", // required
134+
"TEST_MODE": "live", // optional default is 'live'
135+
"GOCOVERDIR": "${workspaceFolder}/cov", // optional used for coverage counting
136+
"MONGODB_ATLAS_SKIP_UPDATE_CHECK": "yes", // optional but recommended
137+
"E2E_CLOUD_ROLE_ID": "<value here>", // needed just for a few tests
138+
"E2E_TEST_BUCKET": "<value here>", // needed just for a few tests
139+
"E2E_FLEX_INSTANCE_NAME": "<value here>", // needed just for a few tests
140+
"IDENTITY_PROVIDER_ID": "<value here>" // needed just for a few tests
140141
}
141142
}
142143
```

Makefile

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,6 @@ E2E_TIMEOUT?=60m
3030
E2E_PARALLEL?=1
3131
E2E_EXTRA_ARGS?=
3232
export TEST_MODE?=live
33-
export MONGODB_ATLAS_ORG_ID?=a0123456789abcdef012345a
34-
export MONGODB_ATLAS_PROJECT_ID?=b0123456789abcdef012345b
35-
export MONGODB_ATLAS_PUBLIC_API_KEY?=ABCDEF01
36-
export MONGODB_ATLAS_PRIVATE_API_KEY?=12345678-abcd-ef01-2345-6789abcdef01
37-
export MONGODB_ATLAS_OPS_MANAGER_URL?=http://localhost:8080/
38-
export MONGODB_ATLAS_SERVICE?=cloud
39-
export E2E_CLOUD_ROLE_ID?=c0123456789abcdef012345c
40-
export E2E_TEST_BUCKET?=test-bucket
41-
export E2E_FLEX_INSTANCE_NAME?=test-flex
42-
export IDENTITY_PROVIDER_ID?=d0123456789abcdef012345d
4333

4434
ifeq ($(OS),Windows_NT)
4535
export PATH := .\bin;$(shell go env GOPATH)\bin;$(PATH)
@@ -170,6 +160,7 @@ e2e-test: build-debug ## Run E2E tests
170160
# the target assumes the MCLI_* environment variables are exported
171161
@echo "==> Running E2E tests..."
172162
$(TEST_CMD) -v -p 1 -parallel $(E2E_PARALLEL) -v -timeout $(E2E_TIMEOUT) ${E2E_TEST_PACKAGES} $(E2E_EXTRA_ARGS)
163+
go tool covdata textfmt -i $(GOCOVERDIR) -o $(COVERAGE)
173164

174165
.PHONY: e2e-test-snapshots
175166
e2e-test-snapshots: build-debug ## Run E2E tests
@@ -205,6 +196,10 @@ update-atlas-sdk: ## Update the atlas-sdk dependency
205196
update-openapi-spec: ## Update the openapi spec
206197
./scripts/update-openapi-spec.sh
207198

199+
.PHONY: add-e2e-profiles
200+
add-e2e-profiles: build ## Add e2e profiles
201+
./scripts/add-e2e-profiles.sh
202+
208203
.PHONY: help
209204
.DEFAULT_GOAL := help
210205
help:

0 commit comments

Comments
 (0)