+ _, err := s.conn.Login(s.ctx, opts)
+ c.Check(err.(*arvados.TransactionError).StatusCode, check.Equals, 404)
+}
+
+func (s *RPCSuite) TestRailsLogout404(c *check.C) {
+ s.setupConn(c, os.Getenv("ARVADOS_TEST_API_HOST"))
+ s.ctx = context.Background()
+ opts := arvados.LogoutOptions{
+ ReturnTo: "https://foo.example.com/bar",
+ }
+ _, err := s.conn.Logout(s.ctx, opts)
+ c.Check(err.(*arvados.TransactionError).StatusCode, check.Equals, 404)
+}
+
+func (s *RPCSuite) TestControllerLogout(c *check.C) {
+ s.setupConn(c, os.Getenv("ARVADOS_API_HOST"))
+ s.ctx = context.Background()
+ url := s.workbench2URL(c)
+ opts := arvados.LogoutOptions{
+ ReturnTo: url,
+ }
+ resp, err := s.conn.Logout(s.ctx, opts)