go.mondoo.com/cnquery@v0.0.0-20231005093811-59568235f6ea/providers/os/id/gcp/gcp_test.go (about)

     1  // Copyright (c) Mondoo, Inc.
     2  // SPDX-License-Identifier: BUSL-1.1
     3  
     4  package gcp
     5  
     6  import (
     7  	"testing"
     8  
     9  	"github.com/stretchr/testify/assert"
    10  	"github.com/stretchr/testify/require"
    11  	"go.mondoo.com/cnquery/providers/os/connection/mock"
    12  	"go.mondoo.com/cnquery/providers/os/detector"
    13  )
    14  
    15  func TestDetectLinuxInstance(t *testing.T) {
    16  	conn, err := mock.New("./testdata/instance_linux.toml", nil)
    17  	require.NoError(t, err)
    18  	platform, ok := detector.DetectOS(conn)
    19  	require.True(t, ok)
    20  
    21  	identifier, name, relatedIdentifiers := Detect(conn, platform)
    22  
    23  	assert.Equal(t, "//platformid.api.mondoo.app/runtime/gcp/compute/v1/projects/mondoo-dev-262313/zones/us-central1-a/instances/6001244637815193808", identifier)
    24  	assert.Equal(t, "", name)
    25  	require.Len(t, relatedIdentifiers, 1)
    26  	assert.Equal(t, "//platformid.api.mondoo.app/runtime/gcp/projects/mondoo-dev-262313", relatedIdentifiers[0])
    27  }
    28  
    29  func TestDetectWindowsInstance(t *testing.T) {
    30  	conn, err := mock.New("./testdata/instance_windows.toml", nil)
    31  	require.NoError(t, err)
    32  	platform, ok := detector.DetectOS(conn)
    33  	require.True(t, ok)
    34  
    35  	identifier, name, relatedIdentifiers := Detect(conn, platform)
    36  
    37  	assert.Equal(t, "//platformid.api.mondoo.app/runtime/gcp/compute/v1/projects/mondoo-dev-262313/zones/us-central1-a/instances/5275377306317132843", identifier)
    38  	assert.Equal(t, "", name)
    39  	require.Len(t, relatedIdentifiers, 1)
    40  	assert.Equal(t, "//platformid.api.mondoo.app/runtime/gcp/projects/mondoo-dev-262313", relatedIdentifiers[0])
    41  }
    42  
    43  func TestNoMatch(t *testing.T) {
    44  	conn, err := mock.New("./testdata/aws_instance.toml", nil)
    45  	require.NoError(t, err)
    46  	platform, ok := detector.DetectOS(conn)
    47  	require.True(t, ok)
    48  
    49  	identifier, name, relatedIdentifiers := Detect(conn, platform)
    50  
    51  	assert.Empty(t, identifier)
    52  	assert.Empty(t, name)
    53  	assert.Empty(t, relatedIdentifiers)
    54  }