github.com/chenbh/concourse/v6@v6.4.2/worker/integration/integration_test.go (about) 1 package integration_test 2 3 import ( 4 "crypto/rand" 5 "crypto/rsa" 6 "io/ioutil" 7 "os" 8 9 "github.com/chenbh/concourse/v6/worker/workercmd" 10 "github.com/concourse/flag" 11 "github.com/jessevdk/go-flags" 12 "github.com/stretchr/testify/require" 13 "github.com/stretchr/testify/suite" 14 ) 15 16 type WorkerRunnerSuite struct { 17 suite.Suite 18 *require.Assertions 19 wrkcmd workercmd.WorkerCommand 20 } 21 22 func (s *WorkerRunnerSuite) BeforeTest(suiteName, testName string) { 23 tmpdir, err := ioutil.TempDir("", suiteName+testName) 24 s.NoError(err) 25 26 err = os.Chdir(tmpdir) 27 s.NoError(err) 28 29 parser := flags.NewParser(&s.wrkcmd, flags.HelpFlag|flags.PassDoubleDash) 30 parser.NamespaceDelimiter = "-" 31 32 parser.FindOptionByLongName("baggageclaim-volumes").Required = false 33 parser.FindOptionByLongName("tsa-worker-private-key").Required = false 34 parser.FindOptionByLongName("work-dir").Required = false 35 36 _, err = parser.ParseArgs([]string{""}) 37 s.NoError(err) 38 39 signingKey, err := rsa.GenerateKey(rand.Reader, 2048) 40 s.NoError(err) 41 42 s.wrkcmd.TSA.WorkerPrivateKey = &flag.PrivateKey{PrivateKey: signingKey} 43 } 44 45 func (s *WorkerRunnerSuite) TestWorkDirIsCreated() { 46 s.wrkcmd.WorkDir = "somedir" 47 s.wrkcmd.Runtime = "containerd" 48 49 _, err := s.wrkcmd.Runner([]string{}) 50 s.NoError(err) 51 52 fileInfo, err := os.Stat("somedir") 53 s.Equal(!os.IsNotExist(err), true) 54 s.Equal(fileInfo.IsDir(), true) 55 s.Equal(fileInfo.Mode().Perm(), os.FileMode(0755)) 56 s.NoError(err) 57 }