go.mondoo.com/cnquery@v0.0.0-20231005093811-59568235f6ea/cli/execruntime/env_gitlab_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 TestGitlabRuntimeEnv(t *testing.T) {
    13  	// set mock provider
    14  	environmentProvider = newMockEnvProvider()
    15  	environmentProvider.Setenv("CI", "1")
    16  	environmentProvider.Setenv("GITLAB_CI", "1")
    17  	environmentProvider.Setenv("CI_PROJECT_URL", "https://example.com/project")
    18  	environmentProvider.Setenv("CI_PROJECT_NAME", "example-project")
    19  	environmentProvider.Setenv("CI_JOB_ID", "123456")
    20  	environmentProvider.Setenv("GITLAB_USER_ID", "johndoe")
    21  
    22  	env := Detect()
    23  	assert.True(t, env.IsAutomatedEnv())
    24  	assert.Equal(t, GITLAB, env.Id)
    25  	assert.Equal(t, "GitLab CI", env.Name)
    26  
    27  	annotations := env.Labels()
    28  	assert.Equal(t, 5, len(annotations))
    29  	assert.Equal(t, "gitlab.com", annotations["mondoo.com/exec-environment"])
    30  	assert.Equal(t, "https://example.com/project", annotations["gitlab.com/project-url"])
    31  	assert.Equal(t, "example-project", annotations["gitlab.com/project-name"])
    32  	assert.Equal(t, "123456", annotations["gitlab.com/job-id"])
    33  	assert.Equal(t, "johndoe", annotations["gitlab.com/user-id"])
    34  }