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

     1  // Copyright (c) Mondoo, Inc.
     2  // SPDX-License-Identifier: BUSL-1.1
     3  
     4  package aws
     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 TestDetectInstance(t *testing.T) {
    16  	conn, err := mock.New("./testdata/instance.toml", nil)
    17  	require.NoError(t, err)
    18  	platform, ok := detector.DetectOS(conn)
    19  	require.True(t, ok)
    20  
    21  	identifier, name, related := Detect(conn, platform)
    22  
    23  	assert.Equal(t, "//platformid.api.mondoo.app/runtime/aws/ec2/v1/accounts/123456789012/regions/us-west-2/instances/i-1234567890abcdef0", identifier)
    24  	assert.Equal(t, "ec2-name", name)
    25  	require.Len(t, related, 1)
    26  	assert.Equal(t, "//platformid.api.mondoo.app/runtime/aws/accounts/123456789012", related[0])
    27  }
    28  
    29  func TestDetectInstanceArm(t *testing.T) {
    30  	conn, err := mock.New("./testdata/instancearm.toml", nil)
    31  	require.NoError(t, err)
    32  	platform, ok := detector.DetectOS(conn)
    33  	require.True(t, ok)
    34  
    35  	identifier, name, related := Detect(conn, platform)
    36  
    37  	assert.Equal(t, "//platformid.api.mondoo.app/runtime/aws/ec2/v1/accounts/123456789012/regions/us-west-2/instances/i-1234567890abcdef0", identifier)
    38  	assert.Equal(t, "ec2-name", name)
    39  	require.Len(t, related, 1)
    40  	assert.Equal(t, "//platformid.api.mondoo.app/runtime/aws/accounts/123456789012", related[0])
    41  }
    42  
    43  func TestDetectNotInstance(t *testing.T) {
    44  	conn, err := mock.New("./testdata/notinstance.toml", nil)
    45  	require.NoError(t, err)
    46  	platform, ok := detector.DetectOS(conn)
    47  	require.True(t, ok)
    48  
    49  	identifier, name, related := Detect(conn, platform)
    50  
    51  	assert.Equal(t, "", identifier)
    52  	assert.Equal(t, "", name)
    53  
    54  	require.Len(t, related, 0)
    55  }
    56  
    57  func TestDetectConainer(t *testing.T) {
    58  	conn, err := mock.New("./testdata/container.toml", nil)
    59  	require.NoError(t, err)
    60  	platform, ok := detector.DetectOS(conn)
    61  	require.True(t, ok)
    62  
    63  	identifier, name, related := Detect(conn, platform)
    64  
    65  	assert.Equal(t, "//platformid.api.mondoo.app/runtime/aws/ecs/v1/accounts/172746783610/regions/us-east-1/container/vjtest/f088b38d61ac45d6a946b5aebbe7197a/314e35e0-2d0a-4408-b37e-16063461d73a", identifier)
    66  	assert.Equal(t, "fargate-app", name)
    67  	require.Len(t, related, 1)
    68  	assert.Equal(t, "//platformid.api.mondoo.app/runtime/aws/accounts/172746783610", related[0])
    69  }