go.mondoo.com/cnquery@v0.0.0-20231005093811-59568235f6ea/providers/os/connection/vagrant/cli_test.go (about) 1 // Copyright (c) Mondoo, Inc. 2 // SPDX-License-Identifier: BUSL-1.1 3 4 package vagrant_test 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/connection/vagrant" 13 ) 14 15 func TestVagrantSshConfigParsing(t *testing.T) { 16 mock, err := mock.New("./testdata/vagrant.toml", nil) 17 require.NoError(t, err) 18 19 cmd, err := mock.RunCommand("vagrant ssh-config debian10") 20 require.NoError(t, err) 21 22 config, err := vagrant.ParseVagrantSshConfig(cmd.Stdout) 23 require.NoError(t, err) 24 25 assert.Equal(t, 1, len(config)) 26 assert.Equal(t, "debian10", config["debian10"].Host) 27 assert.Equal(t, ".vagrant/machines/debian10/virtualbox/private_key", config["debian10"].IdentityFile) 28 assert.Equal(t, "vagrant", config["debian10"].User) 29 assert.Equal(t, int(2222), config["debian10"].Port) 30 } 31 32 func TestVagrantStatusParsing(t *testing.T) { 33 mock, err := mock.New("./testdata/vagrant.toml", nil) 34 require.NoError(t, err) 35 36 cmd, err := mock.RunCommand("vagrant status") 37 require.NoError(t, err) 38 39 vms, err := vagrant.ParseVagrantStatus(cmd.Stdout) 40 require.NoError(t, err) 41 42 assert.Equal(t, 9, len(vms)) 43 assert.Equal(t, true, vms["debian10"]) 44 assert.Equal(t, false, vms["ubuntu1604"]) 45 }