--- suite: test job behavior templates: - job.yaml tests: - it: "should render with default value (global)" asserts: - isKind: of: Job - matchRegex: path: metadata.name pattern: -mariadb-init-config-job$ - equal: path: metadata.namespace value: NAMESPACE - matchRegex: path: metadata.labels.app pattern: mariadb-init - matchRegex: path: spec.template.metadata.labels.app pattern: mariadb-init - matchRegex: path: spec.template.metadata.name pattern: mariadb-init - isNull: path: spec.template.spec.nodeSelector - isNull: path: spec.template.spec.affinity - it: "should render with default value (init container)" asserts: - matchRegex: path: spec.template.spec.initContainers[0].name pattern: mariadb-init-readiness - contains: path: spec.template.spec.initContainers[0].args content: mariadb-galera - equal: path: spec.template.spec.initContainers[0].image value: oomk8s/readiness-check:2.0.2 - equal: path: spec.template.spec.initContainers[0].imagePullPolicy value: IfNotPresent - it: "should render with default value (container)" asserts: - matchRegex: path: spec.template.spec.containers[0].name pattern: mariadb-init - equal: path: spec.template.spec.containers[0].image value: nexus3.onap.org:10001/mariadb:10.1.38 - equal: path: spec.template.spec.containers[0].imagePullPolicy value: IfNotPresent - contains: path: spec.template.spec.containers[0].env content: name: DB_HOST value: mariadb-galera - contains: path: spec.template.spec.containers[0].env content: name: DB_PORT value: "3306" - contains: path: spec.template.spec.containers[0].env content: name: MYSQL_ROOT_PASSWORD valueFrom: secretKeyRef: name: RELEASE-NAME-mariadb-galera-mariadb-galera key: db-root-password - contains: path: spec.template.spec.containers[0].env content: name: MYSQL_PASSWORD valueFrom: secretKeyRef: name: RELEASE-NAME-mariadb-init-secret key: db-user-password - contains: path: spec.template.spec.containers[0].volumeMounts content: name: mariadb-conf mountPath: /db_init/ readOnly: true - equal: path: spec.template.spec.containers[0].resources.limits.cpu value: 100m - equal: path: spec.template.spec.containers[0].resources.limits.memory value: 500Mbi - equal: path: spec.template.spec.containers[0].resources.requests.cpu value: 10m - equal: path: spec.template.spec.containers[0].resources.requests.memory value: 10Mbi - it: "should render with default value (volumes)" asserts: - contains: path: spec.template.spec.volumes content: name: mariadb-conf configMap: name: RELEASE-NAME-mariadb-init - it: "should render with nameOverride set" set: nameOverride: myJob asserts: - matchRegex: path: metadata.name pattern: -myJob-config-job$ - matchRegex: path: metadata.labels.app pattern: myJob - matchRegex: path: spec.template.metadata.labels.app pattern: myJob - matchRegex: path: spec.template.metadata.name pattern: myJob - matchRegex: path: spec.template.spec.initContainers[0].name pattern: myJob-readiness - matchRegex: path: spec.template.spec.containers[0].name pattern: myJob - contains: path: spec.template.spec.containers[0].env content: name: MYSQL_PASSWORD valueFrom: secretKeyRef: # replicating name from mariadb galera cluster, kind of hardcoded... name: RELEASE-NAME-myJob-secret key: db-user-password - contains: path: spec.template.spec.volumes content: name: mariadb-conf configMap: name: RELEASE-NAME-myJob - it: "should render with configmap set" set: config: config_map: myCM asserts: - contains: path: spec.template.spec.volumes content: name: mariadb-conf configMap: name: RELEASE-NAME-myCM - it: "should render with mariadbGalera changes" set: global: mariadbGalera: nameOverride: myMaria servicePort: 545 asserts: - contains: path: spec.template.spec.initContainers[0].args content: myMaria - contains: path: spec.template.spec.containers[0].env content: name: DB_HOST value: myMaria - contains: path: spec.template.spec.containers[0].env content: name: DB_PORT value: "545" - contains: path: spec.template.spec.containers[0].env content: name: MYSQL_ROOT_PASSWORD valueFrom: secretKeyRef: name: RELEASE-NAME-mariadb-galera-myMaria key: db-root-password - it: "should render with full mariadbGalera changes" set: global: mariadbGalera: nameOverride: myMaria servicePort: 545 userRootSecret: galera-secret userRootSecretKey: root-password asserts: - contains: path: spec.template.spec.initContainers[0].args content: myMaria - contains: path: spec.template.spec.containers[0].env content: name: DB_HOST value: myMaria - contains: path: spec.template.spec.containers[0].env content: name: DB_PORT value: "545" - contains: path: spec.template.spec.containers[0].env content: name: MYSQL_ROOT_PASSWORD valueFrom: secretKeyRef: name: galera-secret key: root-password - it: "should set the right nodeSelector" set: nodeSelector: disktype: ssd asserts: - equal: path: spec.template.spec.nodeSelector.disktype value: ssd - it: "should set the right affinity" set: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/e2e-az-name operator: In values: - e2e-az1 - e2e-az2 asserts: - equal: path: spec.template.spec.affinity value: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/e2e-az-name operator: In values: - e2e-az1 - e2e-az2 - it: "should use large flavor" set: flavor: large asserts: - equal: path: spec.template.spec.containers[0].resources.limits.cpu value: 200m - equal: path: spec.template.spec.containers[0].resources.limits.memory value: 500Mbi - equal: path: spec.template.spec.containers[0].resources.requests.cpu value: 20m - equal: path: spec.template.spec.containers[0].resources.requests.memory value: 20Mbi - it: "should use unlimited flavor" set: flavor: unlimited asserts: - isEmpty: path: spec.template.spec.containers[0].resources - it: "shoud render with other databases" set: config: mysqlAdditionalDatabases: dbOne: user: one password: pwd1 dbTwo: user: two password: pwd2 asserts: - contains: path: spec.template.spec.containers[0].env content: name: MYSQL_PASSWORD valueFrom: secretKeyRef: name: RELEASE-NAME-mariadb-init-secret key: db-user-password - contains: path: spec.template.spec.containers[0].env content: name: MYSQL_PASSWORD_DBONE valueFrom: secretKeyRef: name: RELEASE-NAME-mariadb-init-secret key: db-dbOne-user-password - contains: path: spec.template.spec.containers[0].env content: name: MYSQL_PASSWORD_DBTWO valueFrom: secretKeyRef: name: RELEASE-NAME-mariadb-init-secret key: db-dbTwo-user-password