go.mondoo.com/cnquery@v0.0.0-20231005093811-59568235f6ea/providers/os/id/awsec2/id_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  )
    12  
    13  func TestParseInstanceId(t *testing.T) {
    14  	path := "//platformid.api.mondoo.app/runtime/aws/ec2/v1/accounts/185972265011/regions/us-east-1/instances/i-07f67838ada5879af"
    15  	id, err := ParseMondooInstanceID(path)
    16  	require.NoError(t, err)
    17  	assert.Equal(t, id.Account, "185972265011")
    18  	assert.Equal(t, id.Region, "us-east-1")
    19  	assert.Equal(t, id.Id, "i-07f67838ada5879af")
    20  
    21  	path = "//platformid.api.mondoo.app/runtime/aws/ec2/v1/account/185972265011/regions/us-east-1/instances/i-07f67838ada5879af"
    22  	id, err = ParseMondooInstanceID(path)
    23  	assert.Error(t, err, "invalid aws ec2 instance id")
    24  
    25  	path = "//platformid.api.mondoo.app/runtime/aws/ec2/v1/accounts/185972265011/regions/us/instances/i-07f67838ada5879af"
    26  	id, err = ParseMondooInstanceID(path)
    27  	assert.Error(t, err, "invalid aws ec2 instance id")
    28  }
    29  
    30  func TestParseAccountId(t *testing.T) {
    31  	path := "//platformid.api.mondoo.app/runtime/aws/accounts/185972265011"
    32  	accountID, err := ParseMondooAccountID(path)
    33  	require.NoError(t, err)
    34  	require.Equal(t, "185972265011", accountID)
    35  }