#28 Improve e2e tests
This commit is contained in:
		
							parent
							
								
									0e4ae15506
								
							
						
					
					
						commit
						6a357e28e3
					
				|  | @ -3,20 +3,21 @@ package e2e | ||||||
| import ( | import ( | ||||||
| 	"context" | 	"context" | ||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/groovy" |  | ||||||
| 	"testing" | 	"testing" | ||||||
| 
 | 
 | ||||||
| 	"github.com/bndr/gojenkins" |  | ||||||
| 	"github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2" | 	"github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2" | ||||||
|  | 	"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/groovy" | ||||||
| 	jenkinsclient "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/client" | 	jenkinsclient "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/client" | ||||||
| 	"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/base" | 	"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/base" | ||||||
| 	"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/base/resources" | 	"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/base/resources" | ||||||
| 	"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/plugins" | 	"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/plugins" | ||||||
|  | 
 | ||||||
|  | 	corev1 "k8s.io/api/core/v1" | ||||||
|  | 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | ||||||
|  | 	"github.com/bndr/gojenkins" | ||||||
|  | 	"k8s.io/apimachinery/pkg/api/resource" | ||||||
| 	framework "github.com/operator-framework/operator-sdk/pkg/test" | 	framework "github.com/operator-framework/operator-sdk/pkg/test" | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| 	corev1 "k8s.io/api/core/v1" |  | ||||||
| 	"k8s.io/apimachinery/pkg/api/resource" |  | ||||||
| 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" |  | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| func TestConfiguration(t *testing.T) { | func TestConfiguration(t *testing.T) { | ||||||
|  | @ -27,6 +28,7 @@ func TestConfiguration(t *testing.T) { | ||||||
| 
 | 
 | ||||||
| 	jenkinsCRName := "e2e" | 	jenkinsCRName := "e2e" | ||||||
| 	numberOfExecutors := 6 | 	numberOfExecutors := 6 | ||||||
|  | 	numberOfExecutorsEnvName := "NUMBER_OF_EXECUTORS" | ||||||
| 	systemMessage := "Configuration as Code integration works!!!" | 	systemMessage := "Configuration as Code integration works!!!" | ||||||
| 	systemMessageEnvName := "SYSTEM_MESSAGE" | 	systemMessageEnvName := "SYSTEM_MESSAGE" | ||||||
| 	mySeedJob := seedJobConfig{ | 	mySeedJob := seedJobConfig{ | ||||||
|  | @ -66,8 +68,12 @@ func TestConfiguration(t *testing.T) { | ||||||
| 		}, | 		}, | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | 	stringData := make(map[string]string) | ||||||
|  | 	stringData[systemMessageEnvName] = systemMessage | ||||||
|  | 	stringData[numberOfExecutorsEnvName] = fmt.Sprintf("%d", numberOfExecutors) | ||||||
|  | 
 | ||||||
| 	// base
 | 	// base
 | ||||||
| 	createUserConfigurationSecret(t, namespace, systemMessageEnvName, systemMessage) | 	createUserConfigurationSecret(t, namespace, stringData) | ||||||
| 	createUserConfigurationConfigMap(t, namespace, numberOfExecutors, fmt.Sprintf("${%s}", systemMessageEnvName)) | 	createUserConfigurationConfigMap(t, namespace, numberOfExecutors, fmt.Sprintf("${%s}", systemMessageEnvName)) | ||||||
| 	jenkins := createJenkinsCR(t, jenkinsCRName, namespace, &[]v1alpha2.SeedJob{mySeedJob.SeedJob}, groovyScripts, casc) | 	jenkins := createJenkinsCR(t, jenkinsCRName, namespace, &[]v1alpha2.SeedJob{mySeedJob.SeedJob}, groovyScripts, casc) | ||||||
| 	createDefaultLimitsForContainersInNamespace(t, namespace) | 	createDefaultLimitsForContainersInNamespace(t, namespace) | ||||||
|  | @ -83,16 +89,13 @@ func TestConfiguration(t *testing.T) { | ||||||
| 	verifyJenkinsSeedJobs(t, client, []seedJobConfig{mySeedJob}) | 	verifyJenkinsSeedJobs(t, client, []seedJobConfig{mySeedJob}) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func createUserConfigurationSecret(t *testing.T, namespace string, systemMessageEnvName, systemMessage string) { | func createUserConfigurationSecret(t *testing.T, namespace string, stringData map[string]string) { | ||||||
| 	userConfiguration := &corev1.Secret{ | 	userConfiguration := &corev1.Secret{ | ||||||
| 		ObjectMeta: metav1.ObjectMeta{ | 		ObjectMeta: metav1.ObjectMeta{ | ||||||
| 			Name:      userConfigurationSecretName, | 			Name:      userConfigurationSecretName, | ||||||
| 			Namespace: namespace, | 			Namespace: namespace, | ||||||
| 		}, | 		}, | ||||||
| 		StringData: map[string]string{ | 		StringData: stringData, | ||||||
| 			systemMessageEnvName: systemMessage, |  | ||||||
| 			"numberOfExecutors": "3", |  | ||||||
| 		}, |  | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	t.Logf("User configuration secret %+v", *userConfiguration) | 	t.Logf("User configuration secret %+v", *userConfiguration) | ||||||
|  | @ -276,8 +279,8 @@ if (!new Integer(%d).equals(Jenkins.instance.numExecutors)) { | ||||||
| 	assert.NoError(t, err, logs) | 	assert.NoError(t, err, logs) | ||||||
| 
 | 
 | ||||||
| 	checkSecretLoaderViaGroovyScript := fmt.Sprintf(` | 	checkSecretLoaderViaGroovyScript := fmt.Sprintf(` | ||||||
| if (new Integer(%d).equals(secrets['numberOfExecutors'])) { | if (!new Integer(%d).equals(new Integer(secrets['NUMBER_OF_EXECUTORS']))) { | ||||||
| 	throw new Exception("Falied") | 	throw new Exception("Falied to check secrets by groovy secret loader") | ||||||
| }`, amountOfExecutors) | }`, amountOfExecutors) | ||||||
| 
 | 
 | ||||||
| 	loader := groovy.AddSecretsLoaderToGroovyScript("/var/jenkins/groovy-scripts-secrets") | 	loader := groovy.AddSecretsLoaderToGroovyScript("/var/jenkins/groovy-scripts-secrets") | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue