16159: Expires tokens on logout on different login controllers.
[arvados.git] / lib / controller / localdb / login_pam_test.go
index 4ecead8b15d816098303bb5e80965ef243f23a82..c5876bbfad6280ad407aadece8cef5be606b187a 100644 (file)
@@ -32,12 +32,12 @@ func (s *PamSuite) SetUpSuite(c *check.C) {
        c.Assert(err, check.IsNil)
        s.cluster, err = cfg.GetCluster("")
        c.Assert(err, check.IsNil)
-       s.cluster.Login.PAM = true
-       s.cluster.Login.PAMDefaultEmailDomain = "example.com"
+       s.cluster.Login.PAM.Enable = true
+       s.cluster.Login.PAM.DefaultEmailDomain = "example.com"
        s.railsSpy = arvadostest.NewProxy(c, s.cluster.Services.RailsAPI)
        s.ctrl = &pamLoginController{
-               Cluster:    s.cluster,
-               RailsProxy: rpc.NewConn(s.cluster.ClusterID, s.railsSpy.URL, true, rpc.PassthroughTokenProvider),
+               Cluster: s.cluster,
+               Parent:  &Conn{railsProxy: rpc.NewConn(s.cluster.ClusterID, s.railsSpy.URL, true, rpc.PassthroughTokenProvider)},
        }
 }
 
@@ -46,7 +46,7 @@ func (s *PamSuite) TestLoginFailure(c *check.C) {
                Username: "bogususername",
                Password: "boguspassword",
        })
-       c.Check(err, check.ErrorMatches, "Authentication failure")
+       c.Check(err, check.ErrorMatches, `PAM: Authentication failure \(with username "bogususername" and password\)`)
        hs, ok := err.(interface{ HTTPStatus() int })
        if c.Check(ok, check.Equals, true) {
                c.Check(hs.HTTPStatus(), check.Equals, http.StatusUnauthorized)
@@ -74,9 +74,11 @@ func (s *PamSuite) TestLoginSuccess(c *check.C) {
                Password: p,
        })
        c.Check(err, check.IsNil)
-       c.Check(resp.APIToken, check.Matches, `v2/zzzzz-gj3su-.*/.*`)
+       c.Check(resp.APIToken, check.Not(check.Equals), "")
+       c.Check(resp.UUID, check.Matches, `zzzzz-gj3su-.*`)
+       c.Check(resp.Scopes, check.DeepEquals, []string{"all"})
 
        authinfo := getCallbackAuthInfo(c, s.railsSpy)
-       c.Check(authinfo.Email, check.Equals, u+"@"+s.cluster.Login.PAMDefaultEmailDomain)
+       c.Check(authinfo.Email, check.Equals, u+"@"+s.cluster.Login.PAM.DefaultEmailDomain)
        c.Check(authinfo.AlternateEmails, check.DeepEquals, []string(nil))
 }