Merge branch 'main' into 18995-code-cleanup-1
[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 package localdb
6
7 import (
8         "os"
9         "os/exec"
10         "testing"
11
12         check "gopkg.in/check.v1"
13 )
14
15 func haveDocker() bool {
16         _, err := exec.Command("docker", "info").CombinedOutput()
17         return err == nil
18 }
19
20 func (s *LDAPSuite) TestLoginLDAPViaPAM(c *check.C) {
21         if testing.Short() {
22                 c.Skip("skipping docker test in short mode")
23         }
24         if !haveDocker() {
25                 c.Skip("skipping docker test because docker is not available")
26         }
27         pgproxy := newPgProxy(c, s.cluster)
28         defer pgproxy.Close()
29
30         cmd := exec.Command("bash", "login_ldap_docker_test.sh")
31         cmd.Stdout = os.Stderr
32         cmd.Stderr = os.Stderr
33         cmd.Env = append(os.Environ(), "config_method=pam", "pgport="+pgproxy.Port())
34         err := cmd.Run()
35         c.Check(err, check.IsNil)
36 }
37
38 func (s *LDAPSuite) TestLoginLDAPBuiltin(c *check.C) {
39         if testing.Short() {
40                 c.Skip("skipping docker test in short mode")
41         }
42         if !haveDocker() {
43                 c.Skip("skipping docker test because docker is not available")
44         }
45         pgproxy := newPgProxy(c, s.cluster)
46         defer pgproxy.Close()
47
48         cmd := exec.Command("bash", "login_ldap_docker_test.sh")
49         cmd.Stdout = os.Stderr
50         cmd.Stderr = os.Stderr
51         cmd.Env = append(os.Environ(), "config_method=ldap", "pgport="+pgproxy.Port())
52         err := cmd.Run()
53         c.Check(err, check.IsNil)
54 }