15881: Add LDAP authentication option.
[arvados.git] / lib / controller / localdb / login_ldap_docker_test.go
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 // Skip this slow test unless invoked as "go test -tags docker".
6 // +build docker
7
8 package localdb
9
10 import (
11         "os"
12         "os/exec"
13
14         "git.arvados.org/arvados.git/sdk/go/arvados"
15         "git.arvados.org/arvados.git/sdk/go/arvadostest"
16         check "gopkg.in/check.v1"
17 )
18
19 var _ = check.Suite(&LDAPSuite{})
20
21 type LDAPSuite struct{}
22
23 func (s *LDAPSuite) TearDownSuite(c *check.C) {
24         // Undo any changes/additions to the user database so they
25         // don't affect subsequent tests.
26         arvadostest.ResetEnv()
27         c.Check(arvados.NewClientFromEnv().RequestAndDecode(nil, "POST", "database/reset", nil, nil), check.IsNil)
28 }
29
30 func (s *LDAPSuite) TestLoginLDAPViaPAM(c *check.C) {
31         cmd := exec.Command("bash", "login_ldap_docker_test.sh")
32         cmd.Stdout = os.Stderr
33         cmd.Stderr = os.Stderr
34         cmd.Env = append(os.Environ(), "config_method=pam")
35         err := cmd.Run()
36         c.Check(err, check.IsNil)
37 }
38
39 func (s *LDAPSuite) TestLoginLDAPBuiltin(c *check.C) {
40         cmd := exec.Command("bash", "login_ldap_docker_test.sh")
41         cmd.Stdout = os.Stderr
42         cmd.Stderr = os.Stderr
43         cmd.Env = append(os.Environ(), "config_method=ldap")
44         err := cmd.Run()
45         c.Check(err, check.IsNil)
46 }