go.mondoo.com/cnquery@v0.0.0-20231005093811-59568235f6ea/cli/config/aws_ssm_ps_test.go (about) 1 // Copyright (c) Mondoo, Inc. 2 // SPDX-License-Identifier: BUSL-1.1 3 4 package config 5 6 import ( 7 "testing" 8 9 "github.com/stretchr/testify/assert" 10 "github.com/stretchr/testify/require" 11 ) 12 13 // aws-ssm-ps://region/us-east-2/parameter/MondooAgentConfig?decrypt=true&account=12345678 14 15 func TestNewSSMParameter(t *testing.T) { 16 param, err := newSsmParameter("us-west-1", "test-name") 17 require.NoError(t, err) 18 assert.Equal(t, &SsmParameter{Region: "us-west-1", Parameter: "test-name"}, param) 19 assert.Equal(t, "region/us-west-1/parameter/test-name", param.String()) 20 } 21 22 func TestParseSSMParameterPath(t *testing.T) { 23 ssmParam, err := parseSsmParameterPath("region/us-west-2/parameter/test-param-name") 24 require.NoError(t, err) 25 assert.Equal(t, &SsmParameter{Parameter: "test-param-name", Region: "us-west-2"}, ssmParam) 26 } 27 28 func TestNewSSMParameterPathReturnsErrWhenNoRegion(t *testing.T) { 29 _, err := newSsmParameter("", "test-name") 30 require.Error(t, err) 31 assert.EqualError(t, err, "invalid parameter. region and parameter name required.") 32 } 33 34 func TestParseSSMParameterPathBadPathReturnsError(t *testing.T) { 35 _, err := parseSsmParameterPath("region/us-west-2/parameter") 36 require.Error(t, err) 37 assert.EqualError(t, err, "invalid parameter path. expected region/<region-val>/parameter/<parameter-name>") 38 _, err = parseSsmParameterPath("region//parameter/testname") 39 require.Error(t, err) 40 assert.EqualError(t, err, "invalid parameter path. expected region/<region-val>/parameter/<parameter-name>") 41 _, err = parseSsmParameterPath("region/us-west-1/parameter/") 42 require.Error(t, err) 43 assert.EqualError(t, err, "invalid parameter path. expected region/<region-val>/parameter/<parameter-name>") 44 }