go.mondoo.com/cnquery@v0.0.0-20231005093811-59568235f6ea/cli/execruntime/env_circle_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 TestCircleCIRuntimeEnv(t *testing.T) {
    13  	// set mock provider
    14  	environmentProvider = newMockEnvProvider()
    15  	environmentProvider.Setenv("CI", "1")
    16  	environmentProvider.Setenv("CIRCLECI", "1")
    17  	environmentProvider.Setenv("CIRCLE_REPOSITORY_URL", "https://example.com/project")
    18  	environmentProvider.Setenv("CIRCLE_PROJECT_REPONAME", "example-project")
    19  	environmentProvider.Setenv("CIRCLE_BUILD_NUM", "1")
    20  	environmentProvider.Setenv("CIRCLE_USERNAME", "johndoe")
    21  
    22  	env := Detect()
    23  	assert.True(t, env.IsAutomatedEnv())
    24  	assert.Equal(t, CIRCLE, env.Id)
    25  	assert.Equal(t, "CircleCI", env.Name)
    26  
    27  	annotations := env.Labels()
    28  	assert.Equal(t, 5, len(annotations))
    29  	assert.Equal(t, "circleci.com", annotations["mondoo.com/exec-environment"])
    30  	assert.Equal(t, "https://example.com/project", annotations["circleci.com/repository-url"])
    31  	assert.Equal(t, "example-project", annotations["circleci.com/project-reponame"])
    32  	assert.Equal(t, "1", annotations["circleci.com/build-num"])
    33  	assert.Equal(t, "johndoe", annotations["circleci.com/username"])
    34  }