You've already forked prometheus-postgres-exporter
							
							
		
			
				
	
	
		
			104 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| chart:
 | |
|   appVersion: 0.1.0
 | |
|   version: 0.1.0
 | |
| suite: Secret database template (basic)
 | |
| release:
 | |
|   name: prometheus-postgres-exporter-unittest
 | |
|   namespace: testing
 | |
| templates:
 | |
| - templates/secretDatabase.yaml
 | |
| tests:
 | |
| - it: Skip rendering by using existing secret.
 | |
|   set:
 | |
|     config.database.existingSecret.enabled: true
 | |
|   asserts:
 | |
|   - hasDocuments:
 | |
|       count: 0
 | |
| 
 | |
| - it: Expect error when no variable is defined.
 | |
|   asserts:
 | |
|   - failedTemplate:
 | |
|       errorMessage: No `databaseConnectionUrl` defined!
 | |
| 
 | |
| - it: Expect error when variable `databaseUsername` is not defined.
 | |
|   set:
 | |
|     # config.database.secret.databaseUsername: ""
 | |
|     config.database.secret.databasePassword: "postgres"
 | |
|     config.database.secret.databaseConnectionUrl: "localhost:5432/postgres?sslmode=disable"
 | |
|   asserts:
 | |
|   - failedTemplate:
 | |
|       errorMessage: No `databaseUsername` defined!
 | |
| 
 | |
| - it: Expect error when variable `databasePassword` is not defined.
 | |
|   set:
 | |
|     config.database.secret.databaseUsername: "postgres"
 | |
|     # config.database.secret.databasePassword: "postgres"
 | |
|     config.database.secret.databaseConnectionUrl: "localhost:5432/postgres?sslmode=disable"
 | |
|   asserts:
 | |
|   - failedTemplate:
 | |
|       errorMessage: No `databasePassword` defined!
 | |
| 
 | |
| - it: Expect error when variable `databaseConnectionUrl` is not defined.
 | |
|   set:
 | |
|     config.database.secret.databaseUsername: "postgres"
 | |
|     config.database.secret.databasePassword: "postgres"
 | |
|     # config.database.secret.databaseConnectionUrl: "localhost:5432/postgres?sslmode=disable"
 | |
|   asserts:
 | |
|   - failedTemplate:
 | |
|       errorMessage: No `databaseConnectionUrl` defined!
 | |
| 
 | |
| - it: Rendering database secret.
 | |
|   set:
 | |
|     config.database.secret.databaseUsername: "postgres"
 | |
|     config.database.secret.databasePassword: "postgres"
 | |
|     config.database.secret.databaseConnectionUrl: "localhost:5432/postgres?sslmode=disable"
 | |
|   asserts:
 | |
|   - hasDocuments:
 | |
|       count: 1
 | |
|   - containsDocument:
 | |
|       apiVersion: v1
 | |
|       kind: Secret
 | |
|       name: prometheus-postgres-exporter-unittest-database-env
 | |
|       namespace: testing
 | |
|   - notExists:
 | |
|       path: metadata.annotations
 | |
|   - equal:
 | |
|       path: metadata.labels
 | |
|       value:
 | |
|         app.kubernetes.io/instance: prometheus-postgres-exporter-unittest
 | |
|         app.kubernetes.io/managed-by: Helm
 | |
|         app.kubernetes.io/name: prometheus-postgres-exporter
 | |
|         app.kubernetes.io/version: 0.1.0
 | |
|         helm.sh/chart: prometheus-postgres-exporter-0.1.0
 | |
|   - equal:
 | |
|       path: stringData.DATA_SOURCE_URI
 | |
|       value: "localhost:5432/postgres?sslmode=disable"
 | |
|   - equal:
 | |
|       path: stringData.DATA_SOURCE_USER
 | |
|       value: "postgres"
 | |
|   - equal:
 | |
|       path: stringData.DATA_SOURCE_PASS
 | |
|       value: "postgres"
 | |
| 
 | |
| - it: Rendering custom annotations and labels.
 | |
|   set:
 | |
|     config.database.secret.annotations:
 | |
|       foo: bar
 | |
|       bar: foo
 | |
|     config.database.secret.databaseUsername: "postgres"
 | |
|     config.database.secret.databasePassword: "postgres"
 | |
|     config.database.secret.databaseConnectionUrl: "localhost:5432/postgres?sslmode=disable"
 | |
|     config.database.secret.labels:
 | |
|       foo: bar
 | |
|       bar: foo
 | |
|   asserts:
 | |
|   - equal:
 | |
|       path: metadata.annotations
 | |
|       value:
 | |
|         foo: bar
 | |
|         bar: foo
 | |
|   - isSubset:
 | |
|       path: metadata.labels
 | |
|       content:
 | |
|         foo: bar
 | |
|         bar: foo |