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  }