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

     1  // Copyright (c) Mondoo, Inc.
     2  // SPDX-License-Identifier: BUSL-1.1
     3  
     4  package awsec2
     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 TestEC2RoleProviderInstanceIdentityUnix(t *testing.T) {
    16  	conn, err := mock.New("./testdata/instance-identity_document_linux.toml", nil)
    17  	require.NoError(t, err)
    18  	platform, ok := detector.DetectOS(conn)
    19  	require.True(t, ok)
    20  
    21  	metadata := NewCommandInstanceMetadata(conn, platform, nil)
    22  	ident, err := metadata.Identify()
    23  
    24  	assert.Nil(t, err)
    25  	assert.Equal(t, "ec2-name", ident.InstanceName)
    26  	assert.Equal(t, "//platformid.api.mondoo.app/runtime/aws/ec2/v1/accounts/123456789012/regions/us-west-2/instances/i-1234567890abcdef0", ident.InstanceID)
    27  	assert.Equal(t, "//platformid.api.mondoo.app/runtime/aws/accounts/123456789012", ident.AccountID)
    28  }
    29  
    30  func TestEC2RoleProviderInstanceIdentityUnixNoName(t *testing.T) {
    31  	conn, err := mock.New("./testdata/instance-identity_document_linux_no_tags.toml", nil)
    32  	require.NoError(t, err)
    33  	platform, ok := detector.DetectOS(conn)
    34  	require.True(t, ok)
    35  
    36  	metadata := NewCommandInstanceMetadata(conn, platform, nil)
    37  	ident, err := metadata.Identify()
    38  
    39  	assert.Nil(t, err)
    40  	assert.Equal(t, "", ident.InstanceName)
    41  	assert.Equal(t, "//platformid.api.mondoo.app/runtime/aws/ec2/v1/accounts/123456789012/regions/us-west-2/instances/i-1234567890abcdef0", ident.InstanceID)
    42  	assert.Equal(t, "//platformid.api.mondoo.app/runtime/aws/accounts/123456789012", ident.AccountID)
    43  }
    44  
    45  func TestEC2RoleProviderInstanceIdentityWindows(t *testing.T) {
    46  	conn, err := mock.New("./testdata/instance-identity_document_windows.toml", nil)
    47  	require.NoError(t, err)
    48  	platform, ok := detector.DetectOS(conn)
    49  	require.True(t, ok)
    50  
    51  	metadata := NewCommandInstanceMetadata(conn, platform, nil)
    52  	ident, err := metadata.Identify()
    53  
    54  	assert.Nil(t, err)
    55  	assert.Equal(t, "ec2-name-windows", ident.InstanceName)
    56  	assert.Equal(t, "//platformid.api.mondoo.app/runtime/aws/ec2/v1/accounts/123456789012/regions/us-east-1/instances/i-1234567890abcdef0", ident.InstanceID)
    57  	assert.Equal(t, "//platformid.api.mondoo.app/runtime/aws/accounts/123456789012", ident.AccountID)
    58  }
    59  
    60  func TestEC2RoleProviderInstanceIdentityWindowsNoName(t *testing.T) {
    61  	conn, err := mock.New("./testdata/instance-identity_document_windows_no_tags.toml", nil)
    62  	require.NoError(t, err)
    63  	platform, ok := detector.DetectOS(conn)
    64  	require.True(t, ok)
    65  
    66  	metadata := NewCommandInstanceMetadata(conn, platform, nil)
    67  	ident, err := metadata.Identify()
    68  
    69  	assert.Nil(t, err)
    70  	assert.Equal(t, "", ident.InstanceName)
    71  	assert.Equal(t, "//platformid.api.mondoo.app/runtime/aws/ec2/v1/accounts/123456789012/regions/us-east-1/instances/i-1234567890abcdef0", ident.InstanceID)
    72  	assert.Equal(t, "//platformid.api.mondoo.app/runtime/aws/accounts/123456789012", ident.AccountID)
    73  }