Skip to content
Snippets Groups Projects
Verified Commit 01e3ee8a authored by Antoine R. Dumont's avatar Antoine R. Dumont
Browse files

Add tests around the loader-metadata chart

Refs. swh/infra/sysadm-environment#4794
parent f506f82c
No related branches found
No related tags found
No related merge requests found
suite: test loader_metadata configmap deployment
templates:
- loader-metadata/configmap.yaml
tests:
- it: loader-metadata configmap should be deployed when activated
# set:
# loader_metadata.enabled: true
values:
- values/loader-metadata.yaml
asserts:
# - containsDocument:
# kind: ConfigMap
# apiVersion: v1
# name: loader-metadata-utils
# namespace: swh
- containsDocument:
kind: ConfigMap
apiVersion: v1
name: loader-metadata-template
namespace: swh
# not testable as there is a dot in the entry name
# - contains:
# path: data.config.yml
# content:
# debug: false
# count: 1
- it: loader metadata configmap namespace should be overridable
values:
- values/loader-metadata.yaml
set:
namespace: mynamespace
asserts:
- equal:
path: metadata.namespace
value: mynamespace
- hasDocuments:
count: 1
suite: test loader_metadata configmap utils deployment
templates:
- loader-metadata/configmap-utils.yaml
tests:
- it: loader-metadata configmap utils should be deployed when activated
values:
- values/loader-metadata.yaml
asserts:
- containsDocument:
kind: ConfigMap
apiVersion: v1
name: loader-metadata-utils
namespace: swh
- it: loader metadata configmap utils namespace should be overridable
values:
- values/loader-metadata.yaml
set:
namespace: mynamespace
asserts:
- equal:
path: metadata.namespace
value: mynamespace
- hasDocuments:
count: 1
suite: test loader_metadata deployment
templates:
- loader-metadata/configmap.yaml
- loader-metadata/configmap-utils.yaml
- loader-metadata/deployment.yaml
tests:
- it: Loader metadata deployment should be deployed with default values
templates:
- loader-metadata/deployment.yaml
values:
- ./values/loader-metadata.yaml
asserts:
- containsDocument:
kind: Deployment
apiVersion: apps/v1
namespace: swh
name: loader-metadata
- lengthEqual:
path: spec.template.spec.containers
count: 1
- equal:
path: spec.template.spec.containers[?(@.name == "loader_metadata")].image
value: image:version
- equal:
path: spec.template.spec.containers[?(@.name == "loader_metadata")].resources.requests.memory
value: "512Mi"
- equal:
path: spec.template.spec.containers[?(@.name == "loader_metadata")].resources.requests.cpu
value: "500m"
- equal:
path: spec.template.spec.containers[?(@.name == "loader_metadata")].env[?(@.name == "STATSD_HOST")].value
value: "prometheus-statsd-exporter"
- equal:
path: spec.template.spec.containers[?(@.name == "loader_metadata")].env[?(@.name == "STATSD_PORT")].value
value: "9125"
- equal:
path: spec.template.spec.containers[?(@.name == "loader_metadata")].env[?(@.name == "LOGLEVEL")].value
value: INFO
- equal:
path: spec.template.spec.containers[?(@.name == "loader_metadata")].env[?(@.name == "SWH_SENTRY_ENVIRONMENT")].value
value: production
- isNull:
path: spec.template.spec.containers[?(@.name == "loader_metadata")].env[?(@.name == "SWH_MAIN_PACKAGE")].value
- equal:
path: spec.template.spec.containers[?(@.name == "loader_metadata")].env[?(@.name == "SWH_SENTRY_DSN")].valueFrom.secretKeyRef.name
value: common-secrets
- equal:
path: spec.template.spec.containers[?(@.name == "loader_metadata")].env[?(@.name == "SWH_SENTRY_DSN")].valueFrom.secretKeyRef.key
value: loader-metadata-sentry-dsn
- it: Loader metadata deployment should be deployed with overriden values
templates:
- loader-metadata/deployment.yaml
set:
# global values
namespace: test
statsdExternalHost: testing-statsd-exporter
statsdPort: 5219
sentry:
environment: testing
swh_loader_metadata_image: test.image
swh_loader_metadata_image_version: test.version
# specific values
loader_metadata:
enabled: true
logLevel: DEBUG
storage:
host: test.storage.org
port: 2005
scheduler:
host: test.scheduler.org
port: 8005
consumerGroup: test.loader_metadata.journal_client
prefix: test.journal.objects
journalBrokers:
hosts:
- journal.test.org
user: ""
autoScaling:
maxReplicaCount: 2
requestedMemory: "256Mi"
requestedCpu: "250m"
sentrySwhPackage: test.swh.loader.metadata
asserts:
- containsDocument:
kind: Deployment
apiVersion: apps/v1
namespace: test
name: loader-metadata
- lengthEqual:
path: spec.template.spec.containers
count: 1
- equal:
path: spec.template.spec.containers[?(@.name == "loader_metadata")].image
value: test.image:test.version
- equal:
path: spec.template.spec.containers[?(@.name == "loader_metadata")].resources.requests.memory
value: "256Mi"
- equal:
path: spec.template.spec.containers[?(@.name == "loader_metadata")].resources.requests.cpu
value: "250m"
- equal:
path: spec.template.spec.containers[?(@.name == "loader_metadata")].env[?(@.name == "STATSD_HOST")].value
value: "testing-statsd-exporter"
- equal:
path: spec.template.spec.containers[?(@.name == "loader_metadata")].env[?(@.name == "STATSD_PORT")].value
value: "5219"
- equal:
path: spec.template.spec.containers[?(@.name == "loader_metadata")].env[?(@.name == "LOGLEVEL")].value
value: DEBUG
- equal:
path: spec.template.spec.containers[?(@.name == "loader_metadata")].env[?(@.name == "SWH_SENTRY_ENVIRONMENT")].value
value: testing
- equal:
path: spec.template.spec.containers[?(@.name == "loader_metadata")].env[?(@.name == "SWH_MAIN_PACKAGE")].value
value: test.swh.loader.metadata
- equal:
path: spec.template.spec.containers[?(@.name == "loader_metadata")].env[?(@.name == "SWH_SENTRY_DSN")].valueFrom.secretKeyRef.name
value: common-secrets
- equal:
path: spec.template.spec.containers[?(@.name == "loader_metadata")].env[?(@.name == "SWH_SENTRY_DSN")].valueFrom.secretKeyRef.key
value: loader-metadata-sentry-dsn
suite: test global loader metadata deployment
templates:
- loader-metadata/deployment.yaml
- loader-metadata/configmap.yaml
- loader-metadata/configmap-utils.yaml
- loader-metadata/keda-autoscaling.yaml
tests:
- it: Metadata Loader is not deployed by default
values:
- ../values.yaml
asserts:
- hasDocuments:
count: 0
loader_metadata:
enabled: true
storage:
host: storage.test.org
port: 2005
scheduler:
host: scheduler.test.org
port: 8005
consumerGroup: test.loader_metadata.journal_client
prefix: test.journal.objects
journalBrokers:
hosts:
- journal.test.org
user: ""
autoScaling:
maxReplicaCount: 2
swh_loader_metadata_image: image
swh_loader_metadata_image_version: version
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment