Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add e2e tests #342

Open
wants to merge 53 commits into
base: release-1.2
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
e69f12c
Add files for e2e test
pvannierop Oct 25, 2024
f86501a
Update test scripts
pvannierop Oct 28, 2024
62267cd
Add MockServer service
pvannierop Oct 30, 2024
51f52f3
Add wait for Minio
pvannierop Oct 30, 2024
aa9c807
Add utils script
pvannierop Oct 30, 2024
1efa6c0
Fitbit registration tests
pvannierop Nov 1, 2024
00bfdc5
WIP
pvannierop Nov 3, 2024
3b9ddb1
Fix output restructure index cache
pvannierop Nov 3, 2024
264ee30
WIP add mockserver
pvannierop Nov 3, 2024
39c9732
Use 0.6 version of ligfx/k3d-registry-dockerd
pvannierop Nov 15, 2024
8188a53
WIP
pvannierop Nov 15, 2024
05a22ab
WIP2
pvannierop Nov 20, 2024
52ab601
Allow e2e test config to enable certain services
pvannierop Dec 10, 2024
d76780b
Fix fitbit test
pvannierop Dec 10, 2024
0da6996
Fix config for mockserver
ewelinagr Dec 10, 2024
7d8beb1
Fix fitbit test script
pvannierop Dec 11, 2024
0026862
Fix mistake in comments for ksql_server deployment
pvannierop Dec 12, 2024
021cb48
Fix whitespace
pvannierop Dec 18, 2024
254da19
Add tests for data-dashboard-backend
pvannierop Dec 18, 2024
06f2141
Fix start of timescaledbs
pvannierop Dec 19, 2024
00ca863
Fix start of ksql-server
pvannierop Dec 19, 2024
b94ca40
Remove monitoring from ksql-server
pvannierop Dec 19, 2024
eeedb4c
Up chart version of radar-output
pvannierop Dec 19, 2024
58cdd94
Fix test logic for check in s3 output storage
pvannierop Dec 19, 2024
5b13b0f
Up chart version of radar-fitbit-connector
pvannierop Dec 20, 2024
9eb1b56
Update fitbit timings
pvannierop Dec 20, 2024
3ed28ca
Refactor fitbit test
pvannierop Dec 20, 2024
85aea76
Add grafana-metrics database test
pvannierop Dec 20, 2024
71108ce
WIP python behave tests
pvannierop Jan 3, 2025
846fa92
WIP python behave tests 2
pvannierop Jan 3, 2025
4850b29
WIP python behave tests 3
pvannierop Jan 3, 2025
6c43c6c
WIP python behave tests 4
pvannierop Jan 3, 2025
6763ad7
WIP python behave tests 4
pvannierop Jan 5, 2025
112a385
WIP python behave tests 5
pvannierop Jan 5, 2025
c7362e4
WIP python behave tests 6
pvannierop Jan 6, 2025
a038331
WIP python behave tests 7
pvannierop Jan 7, 2025
e283b61
Turn of deduplication on output-storage
pvannierop Jan 16, 2025
291c57d
WIP Fitbit 2
pvannierop Jan 17, 2025
ea01f05
WIP
pvannierop Jan 17, 2025
a87cc45
WIP Fitbit 3
pvannierop Jan 20, 2025
afa3a5e
WIP Fitbit 4
pvannierop Jan 20, 2025
3128cf1
WIP data dashboard backend 1
pvannierop Jan 20, 2025
1f803fa
WIP grafana metrics 1
pvannierop Jan 20, 2025
fb93c1a
Update requirements
pvannierop Jan 21, 2025
779f1f0
Clean
pvannierop Jan 21, 2025
3c9bfb2
Add behave test to Github action
pvannierop Jan 21, 2025
5780e5a
Fix path to chart
pvannierop Jan 21, 2025
1e1a29b
Add behave test to Github action
pvannierop Jan 21, 2025
f7d9230
Enable e2e-profile in installation test
pvannierop Jan 21, 2025
d74aa6d
Retrieve s3 secrets from secrets file
pvannierop Jan 21, 2025
33f9cb3
Fix path to secrets file
pvannierop Jan 21, 2025
13925ee
Fix url
pvannierop Jan 21, 2025
d163a41
Try concurrency 1
pvannierop Jan 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ci_config/k3d-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ volumes:
- server:0
registries:
create:
image: ligfx/k3d-registry-dockerd:v0.5
image: ligfx/k3d-registry-dockerd:v0.6
proxy:
remoteURL: "*"
volumes:
Expand Down
13 changes: 12 additions & 1 deletion .github/workflows/push.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,12 @@ jobs:

- uses: actions/checkout@v3

- uses: actions/setup-python@v5
with:
python-version: '3.13'
cache: 'pip'
- run: pip install -r test/features/requirements.txt

- name: Install dependencies
env:
HELM_VERSION: "v3.16.3"
Expand All @@ -46,6 +52,7 @@ jobs:
sed -i "/secrets.yaml/a $helmfile_mods" environments.yaml
sed -i '/_install: /s/false/true/' etc/production.yaml
sed -i '/enable_logging_monitoring: /s/false/true/' etc/production.yaml
sed -i '/e2e_test: /s/false/true/' etc/production.yaml

- name: Run helmfile template
env:
Expand All @@ -68,9 +75,13 @@ jobs:
run: |
echo "kubeconfig: $KUBECONFIG"
kubectl get pods --all-namespaces

helmfile sync --concurrency 1

- name: Run end-to-end tests
run: |
cd test/features
behave -D secrets_file=$GITHUB_WORKSPACE/etc/secrets.yaml -D url=https://example.com

# Enable tmate debugging of manually-triggered workflows if the input option was provided
- name: Manually triggered tmate session
uses: mxschmitt/action-tmate@v3
Expand Down
3 changes: 3 additions & 0 deletions environments.yaml.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ environments:
- ../mods/minimal_kafka.yaml.gotmpl
- ../mods/fast_deploy.yaml
{{ end }}
{{ if .Values.e2e_test }}
- ../mods/e2e.yaml
{{ end }}

---

Expand Down
12 changes: 8 additions & 4 deletions etc/base.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ enable_tls: true

# Minimal deployment for development (disables TLS, monitoring and logging, sets kafka and minio brokers to 1).
dev_deployment: false

e2e_test: false

# --------------------------------------------------------- 00-init.yaml ---------------------------------------------------------

Expand Down Expand Up @@ -271,7 +271,7 @@ radar_appserver:
# The charts in 20-fitbit.yaml only need to be installed if you will use a Fitbit, Garmin, or Oura API integration.
radar_fitbit_connector:
_install: false
_chart_version: 0.4.0
_chart_version: 0.6.0
_extra_timeout: 0
replicaCount: 1
oauthClientId: radar_fitbit_connector
Expand Down Expand Up @@ -372,7 +372,6 @@ realtime_dashboard_timescaledb:
# Make sure to set:
#- grafana_metrics_timescaledb._install to true
#- radar_jdbc_connector_grafana._install to true
#- ksql_server._install to true
radar_grafana:
_install: false
_chart_version: 8.3.7
Expand Down Expand Up @@ -517,7 +516,7 @@ s3_proxy:

radar_output:
_install: true
_chart_version: 1.0.1
_chart_version: 1.1.0
_extra_timeout: 0
replicaCount: 1
source:
Expand Down Expand Up @@ -604,3 +603,8 @@ velero:
bucket: radar-base-backups
config:
s3Url: https://s3.amazon.com # protocol should be specified

radar_mockserver:
_install: false
_chart_version: 0.1.0
_extra_timeout: 0
10 changes: 5 additions & 5 deletions helmfile.d/10-services.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -384,7 +384,7 @@ releases:
installed: {{ .Values.radar_appserver._install }}
timeout: {{ add .Values.base_timeout .Values.radar_appserver._extra_timeout }}
{{ if .Values.radar_appserver_postgresql._install }}needs: [radar-appserver-postgresql]{{ end }}
<<: *logFailedRelease
<<: *logFailedRelease
values:
- {{ .Values.radar_appserver | toYaml | indent 8 | trim }}
set:
Expand Down Expand Up @@ -652,7 +652,7 @@ releases:
installed: {{ .Values.radar_rest_sources_backend._install }}
timeout: {{ add .Values.base_timeout .Values.radar_rest_sources_backend._extra_timeout }}
{{ if .Values.postgresql._install }}needs: [postgresql]{{ end }}
<<: *logFailedRelease
<<: *logFailedRelease
values:
- {{ .Values.radar_rest_sources_backend | toYaml | indent 8 | trim }}
set:
Expand Down Expand Up @@ -710,7 +710,7 @@ releases:
installed: {{ .Values.radar_gateway._install }}
timeout: {{ add .Values.base_timeout .Values.radar_gateway._extra_timeout }}
{{ if .Values.cp_schema_registry._install }}needs: [cp-schema-registry]{{ end }}
<<: *logFailedRelease
<<: *logFailedRelease
values:
- {{ .Values.radar_gateway | toYaml | indent 8 | trim }}
- {{ .Values.confluent_cloud | toYaml | indent 8 | trim }}
Expand Down Expand Up @@ -751,7 +751,7 @@ releases:
needs:
# When catalog server is 'ready', kafka can be used.
- catalog-server
<<: *logFailedRelease
<<: *logFailedRelease
values:
- "../etc/radar-backend-stream/values.yaml"
- {{ .Values.radar_backend_stream | toYaml | indent 8 | trim }}
Expand All @@ -764,7 +764,7 @@ releases:
version: {{ .Values.radar_integration._chart_version }}
installed: {{ .Values.radar_integration._install }}
timeout: {{ add .Values.base_timeout .Values.radar_integration._extra_timeout }}
<<: *logFailedRelease
<<: *logFailedRelease
values:
- {{ .Values.radar_integration | toYaml | indent 8 | trim }}
set:
Expand Down
17 changes: 17 additions & 0 deletions helmfile.d/20-test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
bases:
- ../environments.yaml

---

{{ readFile "../etc/helmfile-templates.yaml" }}

releases:
- name: mockserver
namespace: mockserver
chart: radar/radar-mockserver
version: {{ .Values.radar_mockserver._chart_version }}
installed: {{ .Values.radar_mockserver._install }}
timeout: {{ add .Values.base_timeout .Values.radar_mockserver._extra_timeout }}
<<: *logFailedRelease
values:
- {{ .Values.radar_mockserver | toYaml | indent 8 | trim }}
7 changes: 7 additions & 0 deletions mods/disable_monitoring_logging.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -82,3 +82,10 @@ radar_upload_postgresql:
enabled: false
primary:
sidecars: []
gateway:
serviceMonitor:
enabled: false
ksql_server:
prometheus:
jmx:
enabled: false
Loading
Loading