go.mondoo.com/cnquery@v0.0.0-20231005093811-59568235f6ea/cli/execruntime/env_jenkins_test.go (about)

     1  // Copyright (c) Mondoo, Inc.
     2  // SPDX-License-Identifier: BUSL-1.1
     3  
     4  package execruntime
     5  
     6  import (
     7  	"testing"
     8  
     9  	"github.com/stretchr/testify/assert"
    10  )
    11  
    12  func TestJenkinsRuntimeEnv(t *testing.T) {
    13  	// set mock provider
    14  	environmentProvider = newMockEnvProvider()
    15  	environmentProvider.Setenv("CI", "1")
    16  	environmentProvider.Setenv("JENKINS_URL", "1")
    17  	environmentProvider.Setenv("GIT_URL", "https://example.com/project")
    18  	environmentProvider.Setenv("JOB_NAME", "example-project")
    19  	environmentProvider.Setenv("BUILD_ID", "1")
    20  	environmentProvider.Setenv("GIT_COMMIT", "12378349271489723489")
    21  
    22  	env := Detect()
    23  	assert.True(t, env.IsAutomatedEnv())
    24  	assert.Equal(t, JENKINS, env.Id)
    25  	assert.Equal(t, "Jenkins CI", env.Name)
    26  
    27  	annotations := env.Labels()
    28  	assert.Equal(t, 6, len(annotations))
    29  	assert.Equal(t, "jenkins.io", annotations["mondoo.com/exec-environment"])
    30  	assert.Equal(t, "https://example.com/project", annotations["jenkins.io/giturl"])
    31  	assert.Equal(t, "example-project", annotations["jenkins.io/jobname"])
    32  	assert.Equal(t, "1", annotations["jenkins.io/buildid"])
    33  	assert.Equal(t, "12378349271489723489", annotations["jenkins.io/gitcommit"])
    34  }