X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/5763409818cd2ab68c0f59b6a97d0c3df090907f..35db495717a628e0a6ef52a453b8d8ced793c41b:/lib/controller/localdb/login_ldap_docker_test.go diff --git a/lib/controller/localdb/login_ldap_docker_test.go b/lib/controller/localdb/login_ldap_docker_test.go index 54454a190f..3cbf14fe0b 100644 --- a/lib/controller/localdb/login_ldap_docker_test.go +++ b/lib/controller/localdb/login_ldap_docker_test.go @@ -2,45 +2,53 @@ // // SPDX-License-Identifier: AGPL-3.0 -// Skip this slow test unless invoked as "go test -tags docker". -// +build docker - package localdb import ( "os" "os/exec" + "testing" - "git.arvados.org/arvados.git/sdk/go/arvados" - "git.arvados.org/arvados.git/sdk/go/arvadostest" check "gopkg.in/check.v1" ) -var _ = check.Suite(&LDAPSuite{}) - -type LDAPSuite struct{} - -func (s *LDAPSuite) TearDownSuite(c *check.C) { - // Undo any changes/additions to the user database so they - // don't affect subsequent tests. - arvadostest.ResetEnv() - c.Check(arvados.NewClientFromEnv().RequestAndDecode(nil, "POST", "database/reset", nil, nil), check.IsNil) +func haveDocker() bool { + _, err := exec.Command("docker", "info").CombinedOutput() + return err == nil } func (s *LDAPSuite) TestLoginLDAPViaPAM(c *check.C) { + if testing.Short() { + c.Skip("skipping docker test in short mode") + } + if !haveDocker() { + c.Skip("skipping docker test because docker is not available") + } + pgproxy := newPgProxy(c, s.cluster) + defer pgproxy.Close() + cmd := exec.Command("bash", "login_ldap_docker_test.sh") cmd.Stdout = os.Stderr cmd.Stderr = os.Stderr - cmd.Env = append(os.Environ(), "config_method=pam") + cmd.Env = append(os.Environ(), "config_method=pam", "pgport="+pgproxy.Port()) err := cmd.Run() c.Check(err, check.IsNil) } func (s *LDAPSuite) TestLoginLDAPBuiltin(c *check.C) { + if testing.Short() { + c.Skip("skipping docker test in short mode") + } + if !haveDocker() { + c.Skip("skipping docker test because docker is not available") + } + pgproxy := newPgProxy(c, s.cluster) + defer pgproxy.Close() + cmd := exec.Command("bash", "login_ldap_docker_test.sh") cmd.Stdout = os.Stderr cmd.Stderr = os.Stderr - cmd.Env = append(os.Environ(), "config_method=ldap") + cmd.Env = append(os.Environ(), "config_method=ldap", "pgport="+pgproxy.Port()) err := cmd.Run() c.Check(err, check.IsNil) }