mirror of
				https://github.com/1Password/onepassword-operator.git
				synced 2025-10-31 11:49:40 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			71 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package onepassword
 | |
| 
 | |
| import (
 | |
| 	"testing"
 | |
| 
 | |
| 	appsv1 "k8s.io/api/apps/v1"
 | |
| 	corev1 "k8s.io/api/core/v1"
 | |
| )
 | |
| 
 | |
| func TestIsDeploymentUsingSecretsUsingVolumes(t *testing.T) {
 | |
| 	secretNamesToSearch := map[string]*corev1.Secret{
 | |
| 		"onepassword-database-secret":  {},
 | |
| 		"onepassword-api-key":          {},
 | |
| 		"onepassword-app-token":        {},
 | |
| 		"onepassword-user-credentials": {},
 | |
| 	}
 | |
| 
 | |
| 	volumeSecretNames := []string{
 | |
| 		"onepassword-database-secret",
 | |
| 		"onepassword-api-key",
 | |
| 	}
 | |
| 
 | |
| 	volumes := generateVolumes(volumeSecretNames)
 | |
| 
 | |
| 	volumeProjectedSecretNames := []string{
 | |
| 		"onepassword-app-token",
 | |
| 		"onepassword-user-credentials",
 | |
| 	}
 | |
| 
 | |
| 	volumeProjected := generateVolumesProjected(volumeProjectedSecretNames)
 | |
| 
 | |
| 	volumes = append(volumes, volumeProjected)
 | |
| 
 | |
| 	deployment := &appsv1.Deployment{}
 | |
| 	deployment.Spec.Template.Spec.Volumes = volumes
 | |
| 	if !IsDeploymentUsingSecrets(deployment, secretNamesToSearch) {
 | |
| 		t.Errorf("Expected that deployment was using secrets but they were not detected.")
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func TestIsDeploymentUsingSecretsUsingContainers(t *testing.T) {
 | |
| 	secretNamesToSearch := map[string]*corev1.Secret{
 | |
| 		"onepassword-database-secret": {},
 | |
| 		"onepassword-api-key":         {},
 | |
| 	}
 | |
| 
 | |
| 	containerSecretNames := []string{
 | |
| 		"onepassword-database-secret",
 | |
| 		"onepassword-api-key",
 | |
| 		"some_other_key",
 | |
| 	}
 | |
| 
 | |
| 	deployment := &appsv1.Deployment{}
 | |
| 	deployment.Spec.Template.Spec.Containers = generateContainersWithSecretRefsFromEnv(containerSecretNames)
 | |
| 	if !IsDeploymentUsingSecrets(deployment, secretNamesToSearch) {
 | |
| 		t.Errorf("Expected that deployment was using secrets but they were not detected.")
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func TestIsDeploymentNotUSingSecrets(t *testing.T) {
 | |
| 	secretNamesToSearch := map[string]*corev1.Secret{
 | |
| 		"onepassword-database-secret": {},
 | |
| 		"onepassword-api-key":         {},
 | |
| 	}
 | |
| 
 | |
| 	deployment := &appsv1.Deployment{}
 | |
| 	if IsDeploymentUsingSecrets(deployment, secretNamesToSearch) {
 | |
| 		t.Errorf("Expected that deployment was using not secrets but they were detected.")
 | |
| 	}
 | |
| }
 | 
