github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/atc/atccmd/command_test.go (about)

     1  package atccmd_test
     2  
     3  import (
     4  	"fmt"
     5  	"testing"
     6  
     7  	"github.com/pf-qiu/concourse/v6/atc"
     8  	"github.com/pf-qiu/concourse/v6/atc/atccmd"
     9  	"github.com/jessevdk/go-flags"
    10  	"github.com/stretchr/testify/require"
    11  	"github.com/stretchr/testify/suite"
    12  	"golang.org/x/crypto/acme/autocert"
    13  )
    14  
    15  type CommandSuite struct {
    16  	suite.Suite
    17  	*require.Assertions
    18  }
    19  
    20  func (s *CommandSuite) TestLetsEncryptDefaultIsUpToDate() {
    21  	cmd := &atccmd.ATCCommand{}
    22  
    23  	parser := flags.NewParser(cmd, flags.Default)
    24  	parser.NamespaceDelimiter = "-"
    25  
    26  	opt := parser.Find("run").FindOptionByLongName("lets-encrypt-acme-url")
    27  	s.NotNil(opt)
    28  
    29  	s.Equal(opt.Default, []string{autocert.DefaultACMEDirectory})
    30  }
    31  
    32  func (s *CommandSuite) TestInvalidConcurrentRequestLimitAction() {
    33  	cmd := &atccmd.RunCommand{}
    34  	parser := flags.NewParser(cmd, flags.None)
    35  	_, err := parser.ParseArgs([]string{
    36  		"--client-secret",
    37  		"client-secret",
    38  		"--concurrent-request-limit",
    39  		fmt.Sprintf("%s:2", atc.GetInfo),
    40  	})
    41  
    42  	s.Contains(
    43  		err.Error(),
    44  		fmt.Sprintf("action '%s' is not supported", atc.GetInfo),
    45  	)
    46  }
    47  
    48  func TestSuite(t *testing.T) {
    49  	suite.Run(t, &CommandSuite{
    50  		Assertions: require.New(t),
    51  	})
    52  }