go.mondoo.com/cnquery@v0.0.0-20231005093811-59568235f6ea/cli/execruntime/environment_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 TestDetectGitlab(t *testing.T) {
    13  	gl := environmentDef["gitlab"]
    14  	assert.NotNil(t, gl)
    15  	assert.Equal(t, "gitlab", gl.Id)
    16  	assert.Equal(t, "GitLab CI", gl.Name)
    17  
    18  	assert.False(t, gl.Detect())
    19  
    20  	// set mock provider
    21  	environmentProvider = newMockEnvProvider()
    22  	environmentProvider.Setenv("CI", "1")
    23  	environmentProvider.Setenv("GITLAB_CI", "1")
    24  	assert.True(t, gl.Detect())
    25  
    26  	environmentProvider.Setenv("CI_JOB_NAME", "test-job")
    27  	environmentProvider.Setenv("GITLAB_USER_ID", "testuser")
    28  	annotations := gl.Labels()
    29  	assert.Equal(t, 3, len(annotations))
    30  	assert.Equal(t, "gitlab.com", annotations["mondoo.com/exec-environment"])
    31  	assert.Equal(t, "test-job", annotations["gitlab.com/job-name"])
    32  	assert.Equal(t, "testuser", annotations["gitlab.com/user-id"])
    33  }