You've already forked helm-actions
							
							chore(core): refactor to make all unit tests pass (#6)
_This is the first time I ever messed with helm and is an experiment to show what prevents the tests to pass and how far it still depends on the gitea chart_ ### Description of the change - Deletes a single test that seems to depend directly on gitea - make all tests pass - Moves all value accesses from `actions` one level up - Copies content of the gitea chart required by the existing test - Reveals all dependencies that needs to be decoupled - Fixes readme generation - add package.json - copy dependent readme section from helm-gitea - Removes all dependencies - giteaRootURL is now required to be provided - consistency check that this value has been provided - added test for consistency failure - nc command no longer uses an hardcoded dns name and is checked in tests - added test - Copied yamllint from helm-gitea - added pnpm lock file exclusion - Installed pnpm in the workflow - Updated make unittest command in CI to unittest-helm ### Benefits The existing tests are passing ### Possible drawbacks The provision job might still not work. ### Applicable issues - Fixes #5 ### Additional information The following usage should now deploy ```yaml existingSecret: "somesecret" existingSecretKey: "key" ## Specify the root URL of the Gitea instance giteaRootURL: "http://somedomain:3000" ``` ### ⚠ BREAKING - giteaRootURL is now required to be provided - Moves all value accesses from `actions` one level up - The values.yml had this change without updating tests / dev Readme Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/6 Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com> Reviewed-by: justusbunsi <justusbunsi@noreply.gitea.com> Reviewed-by: volker.raschek <markus.pesch@web.de> Co-authored-by: Christopher Homberger <christopher.homberger@web.de> Co-committed-by: Christopher Homberger <christopher.homberger@web.de>
This commit is contained in:
		
				
					committed by
					
						
						Lunny Xiao
					
				
			
			
				
	
			
			
			
						parent
						
							81716ac783
						
					
				
				
					commit
					5b19636034
				
			@@ -3,16 +3,15 @@ release:
 | 
			
		||||
  name: gitea-unittests
 | 
			
		||||
  namespace: testing
 | 
			
		||||
templates:
 | 
			
		||||
  - templates/gitea/act_runner/01-consistency-checks.yaml
 | 
			
		||||
  - templates/01-consistency-checks.yaml
 | 
			
		||||
tests:
 | 
			
		||||
  - it: fails when provisioning is enabled BUT persistence is completely disabled
 | 
			
		||||
    set:
 | 
			
		||||
      persistence:
 | 
			
		||||
        enabled: false
 | 
			
		||||
      actions:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      provisioning:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        provisioning:
 | 
			
		||||
          enabled: true
 | 
			
		||||
    asserts:
 | 
			
		||||
      - failedTemplate:
 | 
			
		||||
          errorMessage: "persistence.enabled and persistence.mount are required when provisioning is enabled"
 | 
			
		||||
@@ -21,49 +20,54 @@ tests:
 | 
			
		||||
      persistence:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        mount: false
 | 
			
		||||
      actions:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      provisioning:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        provisioning:
 | 
			
		||||
          enabled: true
 | 
			
		||||
    asserts:
 | 
			
		||||
      - failedTemplate:
 | 
			
		||||
          errorMessage: "persistence.enabled and persistence.mount are required when provisioning is enabled"
 | 
			
		||||
  - it: fails when provisioning is enabled AND existingSecret is given
 | 
			
		||||
    set:
 | 
			
		||||
      actions:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      provisioning:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        provisioning:
 | 
			
		||||
          enabled: true
 | 
			
		||||
        existingSecret: "secret-reference"
 | 
			
		||||
      existingSecret: "secret-reference"
 | 
			
		||||
    asserts:
 | 
			
		||||
      - failedTemplate:
 | 
			
		||||
          errorMessage: "Can't specify both actions.provisioning.enabled and actions.existingSecret"
 | 
			
		||||
  - it: fails when provisioning is disabled BUT existingSecret and existingSecretKey are missing
 | 
			
		||||
    set:
 | 
			
		||||
      actions:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        provisioning:
 | 
			
		||||
          enabled: false
 | 
			
		||||
      enabled: true
 | 
			
		||||
      provisioning:
 | 
			
		||||
        enabled: false
 | 
			
		||||
    asserts:
 | 
			
		||||
      - failedTemplate:
 | 
			
		||||
          errorMessage: "actions.existingSecret and actions.existingSecretKey are required when provisioning is disabled"
 | 
			
		||||
          errorMessage: "existingSecret and existingSecretKey are required when provisioning is disabled"
 | 
			
		||||
  - it: fails when provisioning is disabled BUT existingSecretKey is missing
 | 
			
		||||
    set:
 | 
			
		||||
      actions:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        provisioning:
 | 
			
		||||
          enabled: false
 | 
			
		||||
        existingSecret: "my-secret"
 | 
			
		||||
      enabled: true
 | 
			
		||||
      provisioning:
 | 
			
		||||
        enabled: false
 | 
			
		||||
      existingSecret: "my-secret"
 | 
			
		||||
    asserts:
 | 
			
		||||
      - failedTemplate:
 | 
			
		||||
          errorMessage: "actions.existingSecret and actions.existingSecretKey are required when provisioning is disabled"
 | 
			
		||||
          errorMessage: "existingSecret and existingSecretKey are required when provisioning is disabled"
 | 
			
		||||
  - it: fails when provisioning is disabled BUT existingSecret is missing
 | 
			
		||||
    set:
 | 
			
		||||
      actions:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        provisioning:
 | 
			
		||||
          enabled: false
 | 
			
		||||
        existingSecretKey: "my-secret-key"
 | 
			
		||||
      enabled: true
 | 
			
		||||
      provisioning:
 | 
			
		||||
        enabled: false
 | 
			
		||||
      existingSecretKey: "my-secret-key"
 | 
			
		||||
    asserts:
 | 
			
		||||
      - failedTemplate:
 | 
			
		||||
          errorMessage: "actions.existingSecret and actions.existingSecretKey are required when provisioning is disabled"
 | 
			
		||||
          errorMessage: "existingSecret and existingSecretKey are required when provisioning is disabled"
 | 
			
		||||
  - it: fails when LOCAL_ROOT_URL is missing
 | 
			
		||||
    set:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      provisioning:
 | 
			
		||||
        enabled: false
 | 
			
		||||
      existingSecret: "my-secret"
 | 
			
		||||
      existingSecretKey: "my-secret-key"
 | 
			
		||||
    asserts:
 | 
			
		||||
      - failedTemplate:
 | 
			
		||||
          errorMessage: "giteaRootURL is required"
 | 
			
		||||
@@ -1,53 +0,0 @@
 | 
			
		||||
suite: config template | actions config
 | 
			
		||||
release:
 | 
			
		||||
  name: gitea-unittests
 | 
			
		||||
  namespace: testing
 | 
			
		||||
templates:
 | 
			
		||||
  - templates/config.yaml
 | 
			
		||||
tests:
 | 
			
		||||
 | 
			
		||||
  - it: "actions can be enabled via inline config"
 | 
			
		||||
    template: templates/config.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      gitea.config.actions.ENABLED: true
 | 
			
		||||
    asserts:
 | 
			
		||||
      - documentIndex: 0
 | 
			
		||||
        equal:
 | 
			
		||||
          path: stringData.actions
 | 
			
		||||
          value: |-
 | 
			
		||||
            ENABLED=true
 | 
			
		||||
 | 
			
		||||
  - it: "actions can be enabled via dedicated values object"
 | 
			
		||||
    template: templates/config.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      actions:
 | 
			
		||||
        enabled: true
 | 
			
		||||
    asserts:
 | 
			
		||||
      - documentIndex: 0
 | 
			
		||||
        equal:
 | 
			
		||||
          path: stringData.actions
 | 
			
		||||
          value: |-
 | 
			
		||||
            ENABLED=true
 | 
			
		||||
 | 
			
		||||
  - it: "defines LOCAL_ROOT_URL when actions are enabled"
 | 
			
		||||
    template: templates/config.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      actions:
 | 
			
		||||
        enabled: true
 | 
			
		||||
    asserts:
 | 
			
		||||
      - documentIndex: 0
 | 
			
		||||
        matchRegex:
 | 
			
		||||
          path: stringData.server
 | 
			
		||||
          pattern: \nLOCAL_ROOT_URL=http://gitea-unittests-http:3000
 | 
			
		||||
 | 
			
		||||
  - it: "respects custom LOCAL_ROOT_URL, even when actions are enabled"
 | 
			
		||||
    template: templates/config.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      actions:
 | 
			
		||||
        enabled: true
 | 
			
		||||
      gitea.config.server.LOCAL_ROOT_URL: "http://git.example.com"
 | 
			
		||||
    asserts:
 | 
			
		||||
      - documentIndex: 0
 | 
			
		||||
        matchRegex:
 | 
			
		||||
          path: stringData.server
 | 
			
		||||
          pattern: \nLOCAL_ROOT_URL=http://git.example.com
 | 
			
		||||
@@ -4,35 +4,34 @@ release:
 | 
			
		||||
  name: gitea-unittests
 | 
			
		||||
  namespace: testing
 | 
			
		||||
templates:
 | 
			
		||||
  - templates/gitea/act_runner/config-act-runner.yaml
 | 
			
		||||
  - templates/config-act-runner.yaml
 | 
			
		||||
tests:
 | 
			
		||||
  - it: doesn't renders a ConfigMap by default
 | 
			
		||||
    template: templates/gitea/act_runner/config-act-runner.yaml
 | 
			
		||||
    template: templates/config-act-runner.yaml
 | 
			
		||||
    asserts:
 | 
			
		||||
      - hasDocuments:
 | 
			
		||||
          count: 0
 | 
			
		||||
  - it: renders a ConfigMap
 | 
			
		||||
    template: templates/gitea/act_runner/config-act-runner.yaml
 | 
			
		||||
    template: templates/config-act-runner.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      actions:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        statefulset:
 | 
			
		||||
          actRunner:
 | 
			
		||||
            config: |
 | 
			
		||||
              log:
 | 
			
		||||
                level: info
 | 
			
		||||
              cache:
 | 
			
		||||
                enabled: false
 | 
			
		||||
              runner:
 | 
			
		||||
                labels:
 | 
			
		||||
                  - "ubuntu-latest"
 | 
			
		||||
      enabled: true
 | 
			
		||||
      statefulset:
 | 
			
		||||
        actRunner:
 | 
			
		||||
          config: |
 | 
			
		||||
            log:
 | 
			
		||||
              level: info
 | 
			
		||||
            cache:
 | 
			
		||||
              enabled: false
 | 
			
		||||
            runner:
 | 
			
		||||
              labels:
 | 
			
		||||
                - "ubuntu-latest"
 | 
			
		||||
    asserts:
 | 
			
		||||
      - hasDocuments:
 | 
			
		||||
          count: 1
 | 
			
		||||
      - containsDocument:
 | 
			
		||||
          kind: ConfigMap
 | 
			
		||||
          apiVersion: v1
 | 
			
		||||
          name: gitea-unittests-act-runner-config
 | 
			
		||||
          name: gitea-unittests-actions-act-runner-config
 | 
			
		||||
      - equal:
 | 
			
		||||
          path: data["config.yaml"]
 | 
			
		||||
          value: |
 | 
			
		||||
@@ -3,15 +3,14 @@ release:
 | 
			
		||||
  name: gitea-unittests
 | 
			
		||||
  namespace: testing
 | 
			
		||||
templates:
 | 
			
		||||
  - templates/gitea/act_runner/config-scripts.yaml
 | 
			
		||||
  - templates/config-scripts.yaml
 | 
			
		||||
tests:
 | 
			
		||||
  - it: renders a ConfigMap when all criteria are met
 | 
			
		||||
    template: templates/gitea/act_runner/config-scripts.yaml
 | 
			
		||||
    template: templates/config-scripts.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      actions:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      provisioning:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        provisioning:
 | 
			
		||||
          enabled: true
 | 
			
		||||
      persistence:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        mount: true
 | 
			
		||||
@@ -21,26 +20,25 @@ tests:
 | 
			
		||||
      - containsDocument:
 | 
			
		||||
          kind: ConfigMap
 | 
			
		||||
          apiVersion: v1
 | 
			
		||||
          name: gitea-unittests-scripts
 | 
			
		||||
          name: gitea-unittests-actions-scripts
 | 
			
		||||
      - isNotNullOrEmpty:
 | 
			
		||||
          path: data["token.sh"]
 | 
			
		||||
  - it: doesn't renders a ConfigMap by default
 | 
			
		||||
    template: templates/gitea/act_runner/config-scripts.yaml
 | 
			
		||||
    template: templates/config-scripts.yaml
 | 
			
		||||
    asserts:
 | 
			
		||||
      - hasDocuments:
 | 
			
		||||
          count: 0
 | 
			
		||||
  - it: doesn't renders a ConfigMap with disabled actions but enabled provisioning
 | 
			
		||||
    template: templates/gitea/act_runner/config-scripts.yaml
 | 
			
		||||
    template: templates/config-scripts.yaml
 | 
			
		||||
    asserts:
 | 
			
		||||
      - hasDocuments:
 | 
			
		||||
          count: 0
 | 
			
		||||
  - it: doesn't renders a ConfigMap with disabled actions but otherwise met criteria
 | 
			
		||||
    template: templates/gitea/act_runner/config-scripts.yaml
 | 
			
		||||
    template: templates/config-scripts.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      actions:
 | 
			
		||||
        enabled: false
 | 
			
		||||
        provisioning:
 | 
			
		||||
          enabled: true
 | 
			
		||||
      enabled: false
 | 
			
		||||
      provisioning:
 | 
			
		||||
        enabled: true
 | 
			
		||||
      persistence:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        mount: true
 | 
			
		||||
							
								
								
									
										88
									
								
								unittests/helm/job.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										88
									
								
								unittests/helm/job.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,88 @@
 | 
			
		||||
suite: actions template | job
 | 
			
		||||
release:
 | 
			
		||||
  name: gitea-unittests
 | 
			
		||||
  namespace: testing
 | 
			
		||||
chart:
 | 
			
		||||
  # Override appVersion to have a pinned version for comparison
 | 
			
		||||
  appVersion: 1.23.6
 | 
			
		||||
templates:
 | 
			
		||||
  - templates/job.yaml
 | 
			
		||||
tests:
 | 
			
		||||
  - it: renders a Job
 | 
			
		||||
    template: templates/job.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      provisioning:
 | 
			
		||||
        enabled: true
 | 
			
		||||
      persistence:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        mount: true
 | 
			
		||||
    asserts:
 | 
			
		||||
      - hasDocuments:
 | 
			
		||||
          count: 1
 | 
			
		||||
      - containsDocument:
 | 
			
		||||
          kind: Job
 | 
			
		||||
          apiVersion: batch/v1
 | 
			
		||||
          name: gitea-unittests-actions-token-job
 | 
			
		||||
      - equal:
 | 
			
		||||
          path: spec.template.spec.containers[0].image
 | 
			
		||||
          value: "docker.gitea.com/gitea:1.23.6-rootless"
 | 
			
		||||
  - it: tag override
 | 
			
		||||
    template: templates/job.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      image.tag: "1.23.7"
 | 
			
		||||
      enabled: true
 | 
			
		||||
      provisioning:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        publish:
 | 
			
		||||
          tag: "1.29.0"
 | 
			
		||||
      persistence:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        mount: true
 | 
			
		||||
    asserts:
 | 
			
		||||
      - equal:
 | 
			
		||||
          path: spec.template.spec.containers[0].image
 | 
			
		||||
          value: "docker.gitea.com/gitea:1.23.7-rootless"
 | 
			
		||||
      - equal:
 | 
			
		||||
          path: spec.template.spec.containers[1].image
 | 
			
		||||
          value: "bitnami/kubectl:1.29.0"
 | 
			
		||||
  - it: doesn't renders a Job by default
 | 
			
		||||
    template: templates/job.yaml
 | 
			
		||||
    asserts:
 | 
			
		||||
      - hasDocuments:
 | 
			
		||||
          count: 0
 | 
			
		||||
  - it: doesn't renders a Job when provisioning is enabled BUT actions are not enabled
 | 
			
		||||
    template: templates/job.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      enabled: false
 | 
			
		||||
      provisioning:
 | 
			
		||||
        enabled: true
 | 
			
		||||
    asserts:
 | 
			
		||||
      - hasDocuments:
 | 
			
		||||
          count: 0
 | 
			
		||||
  - it: renders a Job with correct nc command
 | 
			
		||||
    template: templates/job.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      giteaRootURL: "https://git.example.com:8443"
 | 
			
		||||
      provisioning:
 | 
			
		||||
        enabled: true
 | 
			
		||||
      persistence:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        mount: true
 | 
			
		||||
    asserts:
 | 
			
		||||
      - hasDocuments:
 | 
			
		||||
          count: 1
 | 
			
		||||
      - containsDocument:
 | 
			
		||||
          kind: Job
 | 
			
		||||
          apiVersion: batch/v1
 | 
			
		||||
          name: gitea-unittests-actions-token-job
 | 
			
		||||
      - equal:
 | 
			
		||||
          path: spec.template.spec.containers[0].image
 | 
			
		||||
          value: "docker.gitea.com/gitea:1.23.6-rootless"
 | 
			
		||||
      - equal:
 | 
			
		||||
          path: spec.template.spec.initContainers[0].command[2]
 | 
			
		||||
          value: |
 | 
			
		||||
            while ! nc -z git.example.com 8443; do
 | 
			
		||||
              sleep 5
 | 
			
		||||
            done
 | 
			
		||||
@@ -3,20 +3,19 @@ release:
 | 
			
		||||
  name: gitea-unittests
 | 
			
		||||
  namespace: testing
 | 
			
		||||
templates:
 | 
			
		||||
  - templates/gitea/act_runner/role-job.yaml
 | 
			
		||||
  - templates/role-job.yaml
 | 
			
		||||
tests:
 | 
			
		||||
  - it: doesn't renders a Role by default
 | 
			
		||||
    template: templates/gitea/act_runner/role-job.yaml
 | 
			
		||||
    template: templates/role-job.yaml
 | 
			
		||||
    asserts:
 | 
			
		||||
      - hasDocuments:
 | 
			
		||||
          count: 0
 | 
			
		||||
  - it: renders a Role
 | 
			
		||||
    template: templates/gitea/act_runner/role-job.yaml
 | 
			
		||||
    template: templates/role-job.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      actions:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      provisioning:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        provisioning:
 | 
			
		||||
          enabled: true
 | 
			
		||||
      persistence:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        mount: true
 | 
			
		||||
@@ -28,12 +27,11 @@ tests:
 | 
			
		||||
          apiVersion: rbac.authorization.k8s.io/v1
 | 
			
		||||
          name: gitea-unittests-actions-token-job
 | 
			
		||||
  - it: doesn't renders a Role when criteria met BUT actions are not enabled
 | 
			
		||||
    template: templates/gitea/act_runner/role-job.yaml
 | 
			
		||||
    template: templates/role-job.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      actions:
 | 
			
		||||
        enabled: false
 | 
			
		||||
        provisioning:
 | 
			
		||||
          enabled: true
 | 
			
		||||
      enabled: false
 | 
			
		||||
      provisioning:
 | 
			
		||||
        enabled: true
 | 
			
		||||
      persistence:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        mount: true
 | 
			
		||||
@@ -3,20 +3,19 @@ release:
 | 
			
		||||
  name: gitea-unittests
 | 
			
		||||
  namespace: testing
 | 
			
		||||
templates:
 | 
			
		||||
  - templates/gitea/act_runner/rolebinding-job.yaml
 | 
			
		||||
  - templates/rolebinding-job.yaml
 | 
			
		||||
tests:
 | 
			
		||||
  - it: doesn't renders a RoleBinding by default
 | 
			
		||||
    template: templates/gitea/act_runner/rolebinding-job.yaml
 | 
			
		||||
    template: templates/rolebinding-job.yaml
 | 
			
		||||
    asserts:
 | 
			
		||||
      - hasDocuments:
 | 
			
		||||
          count: 0
 | 
			
		||||
  - it: renders a RoleBinding
 | 
			
		||||
    template: templates/gitea/act_runner/rolebinding-job.yaml
 | 
			
		||||
    template: templates/rolebinding-job.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      actions:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      provisioning:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        provisioning:
 | 
			
		||||
          enabled: true
 | 
			
		||||
      persistence:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        mount: true
 | 
			
		||||
@@ -28,12 +27,11 @@ tests:
 | 
			
		||||
          apiVersion: rbac.authorization.k8s.io/v1
 | 
			
		||||
          name: gitea-unittests-actions-token-job
 | 
			
		||||
  - it: doesn't renders a RoleBinding when criteria met BUT actions are not enabled
 | 
			
		||||
    template: templates/gitea/act_runner/rolebinding-job.yaml
 | 
			
		||||
    template: templates/rolebinding-job.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      actions:
 | 
			
		||||
        enabled: false
 | 
			
		||||
        provisioning:
 | 
			
		||||
          enabled: true
 | 
			
		||||
      enabled: false
 | 
			
		||||
      provisioning:
 | 
			
		||||
        enabled: true
 | 
			
		||||
      persistence:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        mount: true
 | 
			
		||||
@@ -3,20 +3,19 @@ release:
 | 
			
		||||
  name: gitea-unittests
 | 
			
		||||
  namespace: testing
 | 
			
		||||
templates:
 | 
			
		||||
  - templates/gitea/act_runner/secret-token.yaml
 | 
			
		||||
  - templates/secret-token.yaml
 | 
			
		||||
tests:
 | 
			
		||||
  - it: doesn't renders a Secret by default
 | 
			
		||||
    template: templates/gitea/act_runner/secret-token.yaml
 | 
			
		||||
    template: templates/secret-token.yaml
 | 
			
		||||
    asserts:
 | 
			
		||||
      - hasDocuments:
 | 
			
		||||
          count: 0
 | 
			
		||||
  - it: renders a Secret
 | 
			
		||||
    template: templates/gitea/act_runner/secret-token.yaml
 | 
			
		||||
    template: templates/secret-token.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      actions:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      provisioning:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        provisioning:
 | 
			
		||||
          enabled: true
 | 
			
		||||
      persistence:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        mount: true
 | 
			
		||||
@@ -28,12 +27,11 @@ tests:
 | 
			
		||||
          apiVersion: v1
 | 
			
		||||
          name: gitea-unittests-actions-token
 | 
			
		||||
  - it: doesn't renders a Secret when criteria met BUT actions are not enabled
 | 
			
		||||
    template: templates/gitea/act_runner/secret-token.yaml
 | 
			
		||||
    template: templates/secret-token.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      actions:
 | 
			
		||||
        enabled: false
 | 
			
		||||
        provisioning:
 | 
			
		||||
          enabled: true
 | 
			
		||||
      enabled: false
 | 
			
		||||
      provisioning:
 | 
			
		||||
        enabled: true
 | 
			
		||||
      persistence:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        mount: true
 | 
			
		||||
@@ -3,20 +3,19 @@ release:
 | 
			
		||||
  name: gitea-unittests
 | 
			
		||||
  namespace: testing
 | 
			
		||||
templates:
 | 
			
		||||
  - templates/gitea/act_runner/serviceaccount-job.yaml
 | 
			
		||||
  - templates/serviceaccount-job.yaml
 | 
			
		||||
tests:
 | 
			
		||||
  - it: doesn't renders a ServiceAccount by default
 | 
			
		||||
    template: templates/gitea/act_runner/serviceaccount-job.yaml
 | 
			
		||||
    template: templates/serviceaccount-job.yaml
 | 
			
		||||
    asserts:
 | 
			
		||||
      - hasDocuments:
 | 
			
		||||
          count: 0
 | 
			
		||||
  - it: renders a ServiceAccount
 | 
			
		||||
    template: templates/gitea/act_runner/serviceaccount-job.yaml
 | 
			
		||||
    template: templates/serviceaccount-job.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      actions:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      provisioning:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        provisioning:
 | 
			
		||||
          enabled: true
 | 
			
		||||
      persistence:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        mount: true
 | 
			
		||||
@@ -28,12 +27,11 @@ tests:
 | 
			
		||||
          apiVersion: v1
 | 
			
		||||
          name: gitea-unittests-actions-token-job
 | 
			
		||||
  - it: doesn't renders a ServiceAccount when criteria met BUT actions are not enabled
 | 
			
		||||
    template: templates/gitea/act_runner/serviceaccount-job.yaml
 | 
			
		||||
    template: templates/serviceaccount-job.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      actions:
 | 
			
		||||
        enabled: false
 | 
			
		||||
        provisioning:
 | 
			
		||||
          enabled: true
 | 
			
		||||
      enabled: false
 | 
			
		||||
      provisioning:
 | 
			
		||||
        enabled: true
 | 
			
		||||
      persistence:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        mount: true
 | 
			
		||||
							
								
								
									
										212
									
								
								unittests/helm/statefulset.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										212
									
								
								unittests/helm/statefulset.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,212 @@
 | 
			
		||||
suite: actions template | statefulset
 | 
			
		||||
release:
 | 
			
		||||
  name: gitea-unittests
 | 
			
		||||
  namespace: testing
 | 
			
		||||
templates:
 | 
			
		||||
  - templates/statefulset.yaml
 | 
			
		||||
  - templates/config-act-runner.yaml
 | 
			
		||||
tests:
 | 
			
		||||
  - it: doesn't renders a StatefulSet by default
 | 
			
		||||
    template: templates/statefulset.yaml
 | 
			
		||||
    asserts:
 | 
			
		||||
      - hasDocuments:
 | 
			
		||||
          count: 0
 | 
			
		||||
  - it: renders a StatefulSet (with given existingSecret/existingSecretKey)
 | 
			
		||||
    template: templates/statefulset.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      existingSecret: "my-secret"
 | 
			
		||||
      existingSecretKey: "my-secret-key"
 | 
			
		||||
    asserts:
 | 
			
		||||
      - hasDocuments:
 | 
			
		||||
          count: 1
 | 
			
		||||
      - containsDocument:
 | 
			
		||||
          kind: StatefulSet
 | 
			
		||||
          apiVersion: apps/v1
 | 
			
		||||
          name: gitea-unittests-actions-act-runner
 | 
			
		||||
      - equal:
 | 
			
		||||
          path: spec.template.spec.containers[0].env[3]
 | 
			
		||||
          value:
 | 
			
		||||
            name: GITEA_RUNNER_REGISTRATION_TOKEN
 | 
			
		||||
            valueFrom:
 | 
			
		||||
              secretKeyRef:
 | 
			
		||||
                name: "my-secret"
 | 
			
		||||
                key: "my-secret-key"
 | 
			
		||||
  - it: renders a StatefulSet (with secret reference defaults for enabled provisioning)
 | 
			
		||||
    template: templates/statefulset.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      provisioning:
 | 
			
		||||
        enabled: true
 | 
			
		||||
    asserts:
 | 
			
		||||
      - hasDocuments:
 | 
			
		||||
          count: 1
 | 
			
		||||
      - containsDocument:
 | 
			
		||||
          kind: StatefulSet
 | 
			
		||||
          apiVersion: apps/v1
 | 
			
		||||
          name: gitea-unittests-actions-act-runner
 | 
			
		||||
      - equal:
 | 
			
		||||
          path: spec.template.spec.containers[0].env[3]
 | 
			
		||||
          value:
 | 
			
		||||
            name: GITEA_RUNNER_REGISTRATION_TOKEN
 | 
			
		||||
            valueFrom:
 | 
			
		||||
              secretKeyRef:
 | 
			
		||||
                name: "gitea-unittests-actions-token"
 | 
			
		||||
                key: "token"
 | 
			
		||||
  - it: renders a StatefulSet (that tracks changes of the runner configuration as annotation)
 | 
			
		||||
    template: templates/statefulset.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      image.tag: "1.22.3" # lock image tag to prevent test failures on future Gitea upgrades
 | 
			
		||||
      enabled: true
 | 
			
		||||
      existingSecret: "my-secret"
 | 
			
		||||
      existingSecretKey: "my-secret-key"
 | 
			
		||||
    asserts:
 | 
			
		||||
      - hasDocuments:
 | 
			
		||||
          count: 1
 | 
			
		||||
      - containsDocument:
 | 
			
		||||
          kind: StatefulSet
 | 
			
		||||
          apiVersion: apps/v1
 | 
			
		||||
          name: gitea-unittests-actions-act-runner
 | 
			
		||||
      - equal:
 | 
			
		||||
          path: spec.template.metadata.annotations["checksum/config"]
 | 
			
		||||
          value: "e01f6cc186c5b523cba245cbfc9d556df49a71f7f650c979c2dbfd2bf40b9098"
 | 
			
		||||
  - it: renders a StatefulSet http (with correct GITEA_INSTANCE_URL env from giteaRootURL)
 | 
			
		||||
    template: templates/statefulset.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      giteaRootURL: "http://git.example.com"
 | 
			
		||||
      enabled: true
 | 
			
		||||
      existingSecret: "my-secret"
 | 
			
		||||
      existingSecretKey: "my-secret-key"
 | 
			
		||||
    asserts:
 | 
			
		||||
      - hasDocuments:
 | 
			
		||||
          count: 1
 | 
			
		||||
      - containsDocument:
 | 
			
		||||
          kind: StatefulSet
 | 
			
		||||
          apiVersion: apps/v1
 | 
			
		||||
          name: gitea-unittests-actions-act-runner
 | 
			
		||||
      - equal:
 | 
			
		||||
          path: spec.template.spec.containers[0].env[4]
 | 
			
		||||
          value:
 | 
			
		||||
            name: GITEA_INSTANCE_URL
 | 
			
		||||
            value: "http://git.example.com"
 | 
			
		||||
      - equal:
 | 
			
		||||
          path: spec.template.spec.initContainers[0].command[2]
 | 
			
		||||
          value: |
 | 
			
		||||
            while ! nc -z git.example.com 80; do
 | 
			
		||||
              sleep 5
 | 
			
		||||
            done
 | 
			
		||||
  - it: renders a StatefulSet https (with correct GITEA_INSTANCE_URL env from giteaRootURL)
 | 
			
		||||
    template: templates/statefulset.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      giteaRootURL: "https://git.example.com"
 | 
			
		||||
      enabled: true
 | 
			
		||||
      existingSecret: "my-secret"
 | 
			
		||||
      existingSecretKey: "my-secret-key"
 | 
			
		||||
    asserts:
 | 
			
		||||
      - hasDocuments:
 | 
			
		||||
          count: 1
 | 
			
		||||
      - containsDocument:
 | 
			
		||||
          kind: StatefulSet
 | 
			
		||||
          apiVersion: apps/v1
 | 
			
		||||
          name: gitea-unittests-actions-act-runner
 | 
			
		||||
      - equal:
 | 
			
		||||
          path: spec.template.spec.containers[0].env[4]
 | 
			
		||||
          value:
 | 
			
		||||
            name: GITEA_INSTANCE_URL
 | 
			
		||||
            value: "https://git.example.com"
 | 
			
		||||
      - equal:
 | 
			
		||||
          path: spec.template.spec.initContainers[0].command[2]
 | 
			
		||||
          value: |
 | 
			
		||||
            while ! nc -z git.example.com 443; do
 | 
			
		||||
              sleep 5
 | 
			
		||||
            done
 | 
			
		||||
  - it: renders a StatefulSet https (with correct GITEA_INSTANCE_URL env from giteaRootURL)
 | 
			
		||||
    template: templates/statefulset.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      giteaRootURL: "https://git.example.com:8443"
 | 
			
		||||
      enabled: true
 | 
			
		||||
      existingSecret: "my-secret"
 | 
			
		||||
      existingSecretKey: "my-secret-key"
 | 
			
		||||
    asserts:
 | 
			
		||||
      - hasDocuments:
 | 
			
		||||
          count: 1
 | 
			
		||||
      - containsDocument:
 | 
			
		||||
          kind: StatefulSet
 | 
			
		||||
          apiVersion: apps/v1
 | 
			
		||||
          name: gitea-unittests-actions-act-runner
 | 
			
		||||
      - equal:
 | 
			
		||||
          path: spec.template.spec.containers[0].env[4]
 | 
			
		||||
          value:
 | 
			
		||||
            name: GITEA_INSTANCE_URL
 | 
			
		||||
            value: "https://git.example.com:8443"
 | 
			
		||||
      - equal:
 | 
			
		||||
          path: spec.template.spec.initContainers[0].command[2]
 | 
			
		||||
          value: |
 | 
			
		||||
            while ! nc -z git.example.com 8443; do
 | 
			
		||||
              sleep 5
 | 
			
		||||
            done
 | 
			
		||||
  - it: allows adding custom environment variables to the docker-in-docker container
 | 
			
		||||
    template: templates/statefulset.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      statefulset:
 | 
			
		||||
        dind:
 | 
			
		||||
          extraEnvs:
 | 
			
		||||
            - name: "CUSTOM_ENV_NAME"
 | 
			
		||||
              value: "custom env value"
 | 
			
		||||
    asserts:
 | 
			
		||||
      - equal:
 | 
			
		||||
          path: spec.template.spec.containers[1].env[3]
 | 
			
		||||
          value:
 | 
			
		||||
            name: "CUSTOM_ENV_NAME"
 | 
			
		||||
            value: "custom env value"
 | 
			
		||||
  - it: should mount an extra volume in the act runner container
 | 
			
		||||
    template: templates/statefulset.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      statefulset:
 | 
			
		||||
        extraVolumes:
 | 
			
		||||
          - name: my-act-runner-volume
 | 
			
		||||
            emptyDir: {}
 | 
			
		||||
        actRunner:
 | 
			
		||||
          extraVolumeMounts:
 | 
			
		||||
            - mountPath: /mnt
 | 
			
		||||
              name: my-act-runner-volume
 | 
			
		||||
    asserts:
 | 
			
		||||
      - hasDocuments:
 | 
			
		||||
          count: 1
 | 
			
		||||
      - containsDocument:
 | 
			
		||||
          kind: StatefulSet
 | 
			
		||||
          apiVersion: apps/v1
 | 
			
		||||
          name: gitea-unittests-actions-act-runner
 | 
			
		||||
      - contains:
 | 
			
		||||
          any: true
 | 
			
		||||
          path: spec.template.spec.containers[0].volumeMounts
 | 
			
		||||
          content:
 | 
			
		||||
            mountPath: /mnt
 | 
			
		||||
            name: my-act-runner-volume
 | 
			
		||||
  - it: should mount an extra volume in the docker-in-docker container
 | 
			
		||||
    template: templates/statefulset.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      statefulset:
 | 
			
		||||
        extraVolumes:
 | 
			
		||||
          - name: my-dind-volume
 | 
			
		||||
            emptyDir: {}
 | 
			
		||||
        dind:
 | 
			
		||||
          extraVolumeMounts:
 | 
			
		||||
            - mountPath: /mnt
 | 
			
		||||
              name: my-dind-volume
 | 
			
		||||
    asserts:
 | 
			
		||||
      - hasDocuments:
 | 
			
		||||
          count: 1
 | 
			
		||||
      - containsDocument:
 | 
			
		||||
          kind: StatefulSet
 | 
			
		||||
          apiVersion: apps/v1
 | 
			
		||||
          name: gitea-unittests-actions-act-runner
 | 
			
		||||
      - contains:
 | 
			
		||||
          any: true
 | 
			
		||||
          path: spec.template.spec.containers[1].volumeMounts
 | 
			
		||||
          content:
 | 
			
		||||
            mountPath: /mnt
 | 
			
		||||
            name: my-dind-volume
 | 
			
		||||
@@ -1,65 +0,0 @@
 | 
			
		||||
suite: actions template | job
 | 
			
		||||
release:
 | 
			
		||||
  name: gitea-unittests
 | 
			
		||||
  namespace: testing
 | 
			
		||||
chart:
 | 
			
		||||
  # Override appVersion to have a pinned version for comparison
 | 
			
		||||
  appVersion: 1.19.3
 | 
			
		||||
templates:
 | 
			
		||||
  - templates/gitea/act_runner/job.yaml
 | 
			
		||||
tests:
 | 
			
		||||
  - it: renders a Job
 | 
			
		||||
    template: templates/gitea/act_runner/job.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      actions:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        provisioning:
 | 
			
		||||
          enabled: true
 | 
			
		||||
      persistence:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        mount: true
 | 
			
		||||
    asserts:
 | 
			
		||||
      - hasDocuments:
 | 
			
		||||
          count: 1
 | 
			
		||||
      - containsDocument:
 | 
			
		||||
          kind: Job
 | 
			
		||||
          apiVersion: batch/v1
 | 
			
		||||
          name: gitea-unittests-actions-token-job
 | 
			
		||||
      - equal:
 | 
			
		||||
          path: spec.template.spec.containers[0].image
 | 
			
		||||
          value: "docker.gitea.com/gitea:1.19.3-rootless"
 | 
			
		||||
  - it: tag override
 | 
			
		||||
    template: templates/gitea/act_runner/job.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      image.tag: "1.19.4"
 | 
			
		||||
      actions:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        provisioning:
 | 
			
		||||
          enabled: true
 | 
			
		||||
          publish:
 | 
			
		||||
            tag: "1.29.0"
 | 
			
		||||
      persistence:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        mount: true
 | 
			
		||||
    asserts:
 | 
			
		||||
      - equal:
 | 
			
		||||
          path: spec.template.spec.containers[0].image
 | 
			
		||||
          value: "docker.gitea.com/gitea:1.19.4-rootless"
 | 
			
		||||
      - equal:
 | 
			
		||||
          path: spec.template.spec.containers[1].image
 | 
			
		||||
          value: "bitnami/kubectl:1.29.0"
 | 
			
		||||
  - it: doesn't renders a Job by default
 | 
			
		||||
    template: templates/gitea/act_runner/job.yaml
 | 
			
		||||
    asserts:
 | 
			
		||||
      - hasDocuments:
 | 
			
		||||
          count: 0
 | 
			
		||||
  - it: doesn't renders a Job when provisioning is enabled BUT actions are not enabled
 | 
			
		||||
    template: templates/gitea/act_runner/job.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      actions:
 | 
			
		||||
        enabled: false
 | 
			
		||||
        provisioning:
 | 
			
		||||
          enabled: true
 | 
			
		||||
    asserts:
 | 
			
		||||
      - hasDocuments:
 | 
			
		||||
          count: 0
 | 
			
		||||
@@ -1,182 +0,0 @@
 | 
			
		||||
suite: actions template | statefulset
 | 
			
		||||
release:
 | 
			
		||||
  name: gitea-unittests
 | 
			
		||||
  namespace: testing
 | 
			
		||||
templates:
 | 
			
		||||
  - templates/gitea/act_runner/statefulset.yaml
 | 
			
		||||
  - templates/gitea/act_runner/config-act-runner.yaml
 | 
			
		||||
tests:
 | 
			
		||||
  - it: doesn't renders a StatefulSet by default
 | 
			
		||||
    template: templates/gitea/act_runner/statefulset.yaml
 | 
			
		||||
    asserts:
 | 
			
		||||
      - hasDocuments:
 | 
			
		||||
          count: 0
 | 
			
		||||
  - it: renders a StatefulSet (with given existingSecret/existingSecretKey)
 | 
			
		||||
    template: templates/gitea/act_runner/statefulset.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      actions:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        existingSecret: "my-secret"
 | 
			
		||||
        existingSecretKey: "my-secret-key"
 | 
			
		||||
    asserts:
 | 
			
		||||
      - hasDocuments:
 | 
			
		||||
          count: 1
 | 
			
		||||
      - containsDocument:
 | 
			
		||||
          kind: StatefulSet
 | 
			
		||||
          apiVersion: apps/v1
 | 
			
		||||
          name: gitea-unittests-act-runner
 | 
			
		||||
      - equal:
 | 
			
		||||
          path: spec.template.spec.containers[0].env[3]
 | 
			
		||||
          value:
 | 
			
		||||
            name: GITEA_RUNNER_REGISTRATION_TOKEN
 | 
			
		||||
            valueFrom:
 | 
			
		||||
              secretKeyRef:
 | 
			
		||||
                name: "my-secret"
 | 
			
		||||
                key: "my-secret-key"
 | 
			
		||||
  - it: renders a StatefulSet (with secret reference defaults for enabled provisioning)
 | 
			
		||||
    template: templates/gitea/act_runner/statefulset.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      actions:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        provisioning:
 | 
			
		||||
          enabled: true
 | 
			
		||||
    asserts:
 | 
			
		||||
      - hasDocuments:
 | 
			
		||||
          count: 1
 | 
			
		||||
      - containsDocument:
 | 
			
		||||
          kind: StatefulSet
 | 
			
		||||
          apiVersion: apps/v1
 | 
			
		||||
          name: gitea-unittests-act-runner
 | 
			
		||||
      - equal:
 | 
			
		||||
          path: spec.template.spec.containers[0].env[3]
 | 
			
		||||
          value:
 | 
			
		||||
            name: GITEA_RUNNER_REGISTRATION_TOKEN
 | 
			
		||||
            valueFrom:
 | 
			
		||||
              secretKeyRef:
 | 
			
		||||
                name: "gitea-unittests-actions-token"
 | 
			
		||||
                key: "token"
 | 
			
		||||
  - it: renders a StatefulSet (that tracks changes of the runner configuration as annotation)
 | 
			
		||||
    template: templates/gitea/act_runner/statefulset.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      image.tag: "1.22.3" # lock image tag to prevent test failures on future Gitea upgrades
 | 
			
		||||
      actions:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        existingSecret: "my-secret"
 | 
			
		||||
        existingSecretKey: "my-secret-key"
 | 
			
		||||
    asserts:
 | 
			
		||||
      - hasDocuments:
 | 
			
		||||
          count: 1
 | 
			
		||||
      - containsDocument:
 | 
			
		||||
          kind: StatefulSet
 | 
			
		||||
          apiVersion: apps/v1
 | 
			
		||||
          name: gitea-unittests-act-runner
 | 
			
		||||
      - equal:
 | 
			
		||||
          path: spec.template.metadata.annotations["checksum/config"]
 | 
			
		||||
          value: "2a2200e80fc29111d18b675789c265cd3d5f917754850f946f1ce3c55dcd65f8"
 | 
			
		||||
  - it: renders a StatefulSet (with correct GITEA_INSTANCE_URL env with default act-runner specific LOCAL_ROOT_URL)
 | 
			
		||||
    template: templates/gitea/act_runner/statefulset.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      actions:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        existingSecret: "my-secret"
 | 
			
		||||
        existingSecretKey: "my-secret-key"
 | 
			
		||||
    asserts:
 | 
			
		||||
      - hasDocuments:
 | 
			
		||||
          count: 1
 | 
			
		||||
      - containsDocument:
 | 
			
		||||
          kind: StatefulSet
 | 
			
		||||
          apiVersion: apps/v1
 | 
			
		||||
          name: gitea-unittests-act-runner
 | 
			
		||||
      - equal:
 | 
			
		||||
          path: spec.template.spec.containers[0].env[4]
 | 
			
		||||
          value:
 | 
			
		||||
            name: GITEA_INSTANCE_URL
 | 
			
		||||
            value: "http://gitea-unittests-http:3000"
 | 
			
		||||
  - it: renders a StatefulSet (with correct GITEA_INSTANCE_URL env from customized LOCAL_ROOT_URL)
 | 
			
		||||
    template: templates/gitea/act_runner/statefulset.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      gitea.config.server.LOCAL_ROOT_URL: "http://git.example.com"
 | 
			
		||||
      actions:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        existingSecret: "my-secret"
 | 
			
		||||
        existingSecretKey: "my-secret-key"
 | 
			
		||||
    asserts:
 | 
			
		||||
      - hasDocuments:
 | 
			
		||||
          count: 1
 | 
			
		||||
      - containsDocument:
 | 
			
		||||
          kind: StatefulSet
 | 
			
		||||
          apiVersion: apps/v1
 | 
			
		||||
          name: gitea-unittests-act-runner
 | 
			
		||||
      - equal:
 | 
			
		||||
          path: spec.template.spec.containers[0].env[4]
 | 
			
		||||
          value:
 | 
			
		||||
            name: GITEA_INSTANCE_URL
 | 
			
		||||
            value: "http://git.example.com"
 | 
			
		||||
  - it: allows adding custom environment variables to the docker-in-docker container
 | 
			
		||||
    template: templates/gitea/act_runner/statefulset.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      actions:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        statefulset:
 | 
			
		||||
          dind:
 | 
			
		||||
            extraEnvs:
 | 
			
		||||
              - name: "CUSTOM_ENV_NAME"
 | 
			
		||||
                value: "custom env value"
 | 
			
		||||
    asserts:
 | 
			
		||||
      - equal:
 | 
			
		||||
          path: spec.template.spec.containers[1].env[3]
 | 
			
		||||
          value:
 | 
			
		||||
            name: "CUSTOM_ENV_NAME"
 | 
			
		||||
            value: "custom env value"
 | 
			
		||||
  - it: should mount an extra volume in the act runner container
 | 
			
		||||
    template: templates/gitea/act_runner/statefulset.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      actions:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        statefulset:
 | 
			
		||||
          extraVolumes:
 | 
			
		||||
            - name: my-act-runner-volume
 | 
			
		||||
              emptyDir: {}
 | 
			
		||||
          actRunner:
 | 
			
		||||
            extraVolumeMounts:
 | 
			
		||||
              - mountPath: /mnt
 | 
			
		||||
                name: my-act-runner-volume
 | 
			
		||||
    asserts:
 | 
			
		||||
      - hasDocuments:
 | 
			
		||||
          count: 1
 | 
			
		||||
      - containsDocument:
 | 
			
		||||
          kind: StatefulSet
 | 
			
		||||
          apiVersion: apps/v1
 | 
			
		||||
          name: gitea-unittests-act-runner
 | 
			
		||||
      - contains:
 | 
			
		||||
          any: true
 | 
			
		||||
          path: spec.template.spec.containers[0].volumeMounts
 | 
			
		||||
          content:
 | 
			
		||||
            mountPath: /mnt
 | 
			
		||||
            name: my-act-runner-volume
 | 
			
		||||
  - it: should mount an extra volume in the docker-in-docker container
 | 
			
		||||
    template: templates/gitea/act_runner/statefulset.yaml
 | 
			
		||||
    set:
 | 
			
		||||
      actions:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        statefulset:
 | 
			
		||||
          extraVolumes:
 | 
			
		||||
            - name: my-dind-volume
 | 
			
		||||
              emptyDir: {}
 | 
			
		||||
          dind:
 | 
			
		||||
            extraVolumeMounts:
 | 
			
		||||
              - mountPath: /mnt
 | 
			
		||||
                name: my-dind-volume
 | 
			
		||||
    asserts:
 | 
			
		||||
      - hasDocuments:
 | 
			
		||||
          count: 1
 | 
			
		||||
      - containsDocument:
 | 
			
		||||
          kind: StatefulSet
 | 
			
		||||
          apiVersion: apps/v1
 | 
			
		||||
          name: gitea-unittests-act-runner
 | 
			
		||||
      - contains:
 | 
			
		||||
          any: true
 | 
			
		||||
          path: spec.template.spec.containers[1].volumeMounts
 | 
			
		||||
          content:
 | 
			
		||||
            mountPath: /mnt
 | 
			
		||||
            name: my-dind-volume
 | 
			
		||||
		Reference in New Issue
	
	Block a user