Fix tests
This commit is contained in:
		
							parent
							
								
									501beb8385
								
							
						
					
					
						commit
						23685a774d
					
				|  | @ -32,6 +32,9 @@ func (c *AppConfig) tidy() *AppConfig { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (c *AppConfig) Validate() error { | func (c *AppConfig) Validate() error { | ||||||
|  | 	if c == nil { | ||||||
|  | 		return fmt.Errorf("missing app config") | ||||||
|  | 	} | ||||||
| 	hasToken := len(c.Token) > 0 | 	hasToken := len(c.Token) > 0 | ||||||
| 	hasGitHubAppAuth := c.hasGitHubAppAuth() | 	hasGitHubAppAuth := c.hasGitHubAppAuth() | ||||||
| 	if hasToken && hasGitHubAppAuth { | 	if hasToken && hasGitHubAppAuth { | ||||||
|  |  | ||||||
|  | @ -116,7 +116,7 @@ func (c *Config) Validate() error { | ||||||
| 		return fmt.Errorf("VaultLookupKey is required when VaultType is set to %q", c.VaultType) | 		return fmt.Errorf("VaultLookupKey is required when VaultType is set to %q", c.VaultType) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if c.VaultType != "" && c.VaultLookupKey == "" { | 	if c.VaultType == "" && c.VaultLookupKey == "" { | ||||||
| 		if err := c.AppConfig.Validate(); err != nil { | 		if err := c.AppConfig.Validate(); err != nil { | ||||||
| 			return fmt.Errorf("AppConfig validation failed: %w", err) | 			return fmt.Errorf("AppConfig validation failed: %w", err) | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
|  | @ -33,7 +33,7 @@ func TestConfigValidationMissingToken(t *testing.T) { | ||||||
| 		RunnerScaleSetId:            1, | 		RunnerScaleSetId:            1, | ||||||
| 	} | 	} | ||||||
| 	err := config.Validate() | 	err := config.Validate() | ||||||
| 	expectedError := fmt.Sprintf(`GitHub auth credential is missing, token length: "%d", appId: %q, installationId: "%d", private key length: "%d"`, len(config.Token), config.AppID, config.AppInstallationID, len(config.AppPrivateKey)) | 	expectedError := fmt.Sprintf("AppConfig validation failed: missing app config") | ||||||
| 	assert.ErrorContains(t, err, expectedError, "Expected error about missing auth") | 	assert.ErrorContains(t, err, expectedError, "Expected error about missing auth") | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -15,6 +15,7 @@ import ( | ||||||
| 	logf "sigs.k8s.io/controller-runtime/pkg/log" | 	logf "sigs.k8s.io/controller-runtime/pkg/log" | ||||||
| 
 | 
 | ||||||
| 	ghalistenerconfig "github.com/actions/actions-runner-controller/cmd/ghalistener/config" | 	ghalistenerconfig "github.com/actions/actions-runner-controller/cmd/ghalistener/config" | ||||||
|  | 	"github.com/actions/actions-runner-controller/github/actions/fake" | ||||||
| 	. "github.com/onsi/ginkgo/v2" | 	. "github.com/onsi/ginkgo/v2" | ||||||
| 	. "github.com/onsi/gomega" | 	. "github.com/onsi/gomega" | ||||||
| 	kerrors "k8s.io/apimachinery/pkg/api/errors" | 	kerrors "k8s.io/apimachinery/pkg/api/errors" | ||||||
|  | @ -43,10 +44,17 @@ var _ = Describe("Test AutoScalingListener controller", func() { | ||||||
| 		autoscalingNS, mgr = createNamespace(GinkgoT(), k8sClient) | 		autoscalingNS, mgr = createNamespace(GinkgoT(), k8sClient) | ||||||
| 		configSecret = createDefaultSecret(GinkgoT(), k8sClient, autoscalingNS.Name) | 		configSecret = createDefaultSecret(GinkgoT(), k8sClient, autoscalingNS.Name) | ||||||
| 
 | 
 | ||||||
|  | 		secretResolver := NewSecretResolver(mgr.GetClient(), fake.NewMultiClient()) | ||||||
|  | 
 | ||||||
|  | 		rb := ResourceBuilder{ | ||||||
|  | 			SecretResolver: secretResolver, | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
| 		controller := &AutoscalingListenerReconciler{ | 		controller := &AutoscalingListenerReconciler{ | ||||||
| 			Client: mgr.GetClient(), | 			Client:          mgr.GetClient(), | ||||||
| 			Scheme: mgr.GetScheme(), | 			Scheme:          mgr.GetScheme(), | ||||||
| 			Log:    logf.Log, | 			Log:             logf.Log, | ||||||
|  | 			ResourceBuilder: rb, | ||||||
| 		} | 		} | ||||||
| 		err := controller.SetupWithManager(mgr) | 		err := controller.SetupWithManager(mgr) | ||||||
| 		Expect(err).NotTo(HaveOccurred(), "failed to setup controller") | 		Expect(err).NotTo(HaveOccurred(), "failed to setup controller") | ||||||
|  | @ -426,10 +434,17 @@ var _ = Describe("Test AutoScalingListener customization", func() { | ||||||
| 		autoscalingNS, mgr = createNamespace(GinkgoT(), k8sClient) | 		autoscalingNS, mgr = createNamespace(GinkgoT(), k8sClient) | ||||||
| 		configSecret = createDefaultSecret(GinkgoT(), k8sClient, autoscalingNS.Name) | 		configSecret = createDefaultSecret(GinkgoT(), k8sClient, autoscalingNS.Name) | ||||||
| 
 | 
 | ||||||
|  | 		secretResolver := NewSecretResolver(mgr.GetClient(), fake.NewMultiClient()) | ||||||
|  | 
 | ||||||
|  | 		rb := ResourceBuilder{ | ||||||
|  | 			SecretResolver: secretResolver, | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
| 		controller := &AutoscalingListenerReconciler{ | 		controller := &AutoscalingListenerReconciler{ | ||||||
| 			Client: mgr.GetClient(), | 			Client:          mgr.GetClient(), | ||||||
| 			Scheme: mgr.GetScheme(), | 			Scheme:          mgr.GetScheme(), | ||||||
| 			Log:    logf.Log, | 			Log:             logf.Log, | ||||||
|  | 			ResourceBuilder: rb, | ||||||
| 		} | 		} | ||||||
| 		err := controller.SetupWithManager(mgr) | 		err := controller.SetupWithManager(mgr) | ||||||
| 		Expect(err).NotTo(HaveOccurred(), "failed to setup controller") | 		Expect(err).NotTo(HaveOccurred(), "failed to setup controller") | ||||||
|  | @ -699,11 +714,17 @@ var _ = Describe("Test AutoScalingListener controller with proxy", func() { | ||||||
| 		ctx = context.Background() | 		ctx = context.Background() | ||||||
| 		autoscalingNS, mgr = createNamespace(GinkgoT(), k8sClient) | 		autoscalingNS, mgr = createNamespace(GinkgoT(), k8sClient) | ||||||
| 		configSecret = createDefaultSecret(GinkgoT(), k8sClient, autoscalingNS.Name) | 		configSecret = createDefaultSecret(GinkgoT(), k8sClient, autoscalingNS.Name) | ||||||
|  | 		secretResolver := NewSecretResolver(mgr.GetClient(), fake.NewMultiClient()) | ||||||
|  | 
 | ||||||
|  | 		rb := ResourceBuilder{ | ||||||
|  | 			SecretResolver: secretResolver, | ||||||
|  | 		} | ||||||
| 
 | 
 | ||||||
| 		controller := &AutoscalingListenerReconciler{ | 		controller := &AutoscalingListenerReconciler{ | ||||||
| 			Client: mgr.GetClient(), | 			Client:          mgr.GetClient(), | ||||||
| 			Scheme: mgr.GetScheme(), | 			Scheme:          mgr.GetScheme(), | ||||||
| 			Log:    logf.Log, | 			Log:             logf.Log, | ||||||
|  | 			ResourceBuilder: rb, | ||||||
| 		} | 		} | ||||||
| 		err := controller.SetupWithManager(mgr) | 		err := controller.SetupWithManager(mgr) | ||||||
| 		Expect(err).NotTo(HaveOccurred(), "failed to setup controller") | 		Expect(err).NotTo(HaveOccurred(), "failed to setup controller") | ||||||
|  | @ -896,10 +917,17 @@ var _ = Describe("Test AutoScalingListener controller with template modification | ||||||
| 		autoscalingNS, mgr = createNamespace(GinkgoT(), k8sClient) | 		autoscalingNS, mgr = createNamespace(GinkgoT(), k8sClient) | ||||||
| 		configSecret = createDefaultSecret(GinkgoT(), k8sClient, autoscalingNS.Name) | 		configSecret = createDefaultSecret(GinkgoT(), k8sClient, autoscalingNS.Name) | ||||||
| 
 | 
 | ||||||
|  | 		secretResolver := NewSecretResolver(mgr.GetClient(), fake.NewMultiClient()) | ||||||
|  | 
 | ||||||
|  | 		rb := ResourceBuilder{ | ||||||
|  | 			SecretResolver: secretResolver, | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
| 		controller := &AutoscalingListenerReconciler{ | 		controller := &AutoscalingListenerReconciler{ | ||||||
| 			Client: mgr.GetClient(), | 			Client:          mgr.GetClient(), | ||||||
| 			Scheme: mgr.GetScheme(), | 			Scheme:          mgr.GetScheme(), | ||||||
| 			Log:    logf.Log, | 			Log:             logf.Log, | ||||||
|  | 			ResourceBuilder: rb, | ||||||
| 		} | 		} | ||||||
| 		err := controller.SetupWithManager(mgr) | 		err := controller.SetupWithManager(mgr) | ||||||
| 		Expect(err).NotTo(HaveOccurred(), "failed to setup controller") | 		Expect(err).NotTo(HaveOccurred(), "failed to setup controller") | ||||||
|  | @ -992,6 +1020,12 @@ var _ = Describe("Test GitHub Server TLS configuration", func() { | ||||||
| 		autoscalingNS, mgr = createNamespace(GinkgoT(), k8sClient) | 		autoscalingNS, mgr = createNamespace(GinkgoT(), k8sClient) | ||||||
| 		configSecret = createDefaultSecret(GinkgoT(), k8sClient, autoscalingNS.Name) | 		configSecret = createDefaultSecret(GinkgoT(), k8sClient, autoscalingNS.Name) | ||||||
| 
 | 
 | ||||||
|  | 		secretResolver := NewSecretResolver(mgr.GetClient(), fake.NewMultiClient()) | ||||||
|  | 
 | ||||||
|  | 		rb := ResourceBuilder{ | ||||||
|  | 			SecretResolver: secretResolver, | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
| 		cert, err := os.ReadFile(filepath.Join( | 		cert, err := os.ReadFile(filepath.Join( | ||||||
| 			"../../", | 			"../../", | ||||||
| 			"github", | 			"github", | ||||||
|  | @ -1013,9 +1047,10 @@ var _ = Describe("Test GitHub Server TLS configuration", func() { | ||||||
| 		Expect(err).NotTo(HaveOccurred(), "failed to create configmap with root CAs") | 		Expect(err).NotTo(HaveOccurred(), "failed to create configmap with root CAs") | ||||||
| 
 | 
 | ||||||
| 		controller := &AutoscalingListenerReconciler{ | 		controller := &AutoscalingListenerReconciler{ | ||||||
| 			Client: mgr.GetClient(), | 			Client:          mgr.GetClient(), | ||||||
| 			Scheme: mgr.GetScheme(), | 			Scheme:          mgr.GetScheme(), | ||||||
| 			Log:    logf.Log, | 			Log:             logf.Log, | ||||||
|  | 			ResourceBuilder: rb, | ||||||
| 		} | 		} | ||||||
| 		err = controller.SetupWithManager(mgr) | 		err = controller.SetupWithManager(mgr) | ||||||
| 		Expect(err).NotTo(HaveOccurred(), "failed to setup controller") | 		Expect(err).NotTo(HaveOccurred(), "failed to setup controller") | ||||||
|  |  | ||||||
|  | @ -37,17 +37,17 @@ func NewSecretResolver(k8sClient client.Client, multiClient actions.MultiClient, | ||||||
| 		panic("k8sClient must not be nil") | 		panic("k8sClient must not be nil") | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	pool := &SecretResolver{ | 	secretResolver := &SecretResolver{ | ||||||
| 		k8sClient:      k8sClient, | 		k8sClient:      k8sClient, | ||||||
| 		multiClient:    multiClient, | 		multiClient:    multiClient, | ||||||
| 		vaultResolvers: make(map[vault.VaultType]resolver), | 		vaultResolvers: make(map[vault.VaultType]resolver), | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	for _, opt := range opts { | 	for _, opt := range opts { | ||||||
| 		opt(pool) | 		opt(secretResolver) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	return pool | 	return secretResolver | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| type ActionsGitHubObject interface { | type ActionsGitHubObject interface { | ||||||
|  | @ -162,12 +162,12 @@ func (sr *SecretResolver) GetActionsService(ctx context.Context, obj ActionsGitH | ||||||
| 	) | 	) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (p *SecretResolver) resolverForObject(obj ActionsGitHubObject) (resolver, error) { | func (sr *SecretResolver) resolverForObject(obj ActionsGitHubObject) (resolver, error) { | ||||||
| 	ty, ok := obj.GetAnnotations()[AnnotationKeyGitHubVaultType] | 	ty, ok := obj.GetAnnotations()[AnnotationKeyGitHubVaultType] | ||||||
| 	if !ok { | 	if !ok { | ||||||
| 		return &k8sResolver{ | 		return &k8sResolver{ | ||||||
| 			namespace: obj.GetNamespace(), | 			namespace: obj.GetNamespace(), | ||||||
| 			client:    p.k8sClient, | 			client:    sr.k8sClient, | ||||||
| 		}, nil | 		}, nil | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | @ -176,7 +176,7 @@ func (p *SecretResolver) resolverForObject(obj ActionsGitHubObject) (resolver, e | ||||||
| 		return nil, fmt.Errorf("invalid vault type %q: %v", ty, err) | 		return nil, fmt.Errorf("invalid vault type %q: %v", ty, err) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	vault, ok := p.vaultResolvers[vaultType] | 	vault, ok := sr.vaultResolvers[vaultType] | ||||||
| 	if !ok { | 	if !ok { | ||||||
| 		return nil, fmt.Errorf("unknown vault resolver %q", ty) | 		return nil, fmt.Errorf("unknown vault resolver %q", ty) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue