gitlab.com/jfprevost/gitlab-runner-notlscheck@v11.11.4+incompatible/executors/ssh/executor_ssh_test.go (about) 1 package ssh 2 3 import ( 4 "context" 5 "strconv" 6 "testing" 7 8 "github.com/stretchr/testify/assert" 9 10 "gitlab.com/gitlab-org/gitlab-runner/common" 11 "gitlab.com/gitlab-org/gitlab-runner/executors" 12 sshHelpers "gitlab.com/gitlab-org/gitlab-runner/helpers/ssh" 13 ) 14 15 var ( 16 executorOptions = executors.ExecutorOptions{ 17 SharedBuildsDir: false, 18 Shell: common.ShellScriptInfo{ 19 Shell: "bash", 20 Type: common.NormalShell, 21 RunnerCommand: "/usr/bin/gitlab-runner-helper", 22 }, 23 ShowHostname: true, 24 } 25 ) 26 27 const SSH_SERVER_PRIVATE_KEY = "-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIJCgNhsvCiKATDBXmRYHQfXIatKKOXGrmBLEVtGZtVv7oAoGCCqGSM49\nAwEHoUQDQgAE+36GvpVV34STGaV+YU4HHXCtJjburfo8IQDVTgLRwAkoLqLIl1cO\nduKDmdmeG/n66BNH1rJUkXFfEr4OYbZH5g==\n-----END EC PRIVATE KEY-----" 28 29 func TestPrepare(t *testing.T) { 30 runnerConfig := &common.RunnerConfig{ 31 RunnerSettings: common.RunnerSettings{ 32 Executor: "ssh", 33 SSH: &sshHelpers.Config{User: "user", Password: "pass", Host: "127.0.0.1"}, 34 }, 35 } 36 build := &common.Build{ 37 JobResponse: common.JobResponse{ 38 GitInfo: common.GitInfo{ 39 Sha: "1234567890", 40 }, 41 }, 42 Runner: &common.RunnerConfig{}, 43 } 44 45 sshConfig := runnerConfig.RunnerSettings.SSH 46 server, err := NewStubServer(sshConfig.User, sshConfig.Password, []byte(SSH_SERVER_PRIVATE_KEY)) 47 assert.NoError(t, err) 48 49 port, err := server.Start() 50 assert.NoError(t, err) 51 defer server.Stop() 52 53 sshConfig.Port = strconv.Itoa(port) 54 55 e := &executor{ 56 AbstractExecutor: executors.AbstractExecutor{ 57 ExecutorOptions: executorOptions, 58 }, 59 } 60 61 prepareOptions := common.ExecutorPrepareOptions{ 62 Config: runnerConfig, 63 Build: build, 64 Context: context.TODO(), 65 } 66 67 err = e.Prepare(prepareOptions) 68 assert.NoError(t, err) 69 } 70 71 func TestSharedEnv(t *testing.T) { 72 provider := common.GetExecutor("ssh") 73 features := &common.FeaturesInfo{} 74 75 provider.GetFeatures(features) 76 assert.True(t, features.Shared) 77 }