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 }