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 }