From 9a0f5bd55bc9f1514909a59283fbc0651e11c127 Mon Sep 17 00:00:00 2001
From: Timothy Andrew <mail@timothyandrew.net>
Date: Mon, 3 Jul 2017 19:37:37 +0000
Subject: [PATCH] Fix build for !11963.

- Don't use `request.env['omniauth.params']` if it isn't present.

- Remove the `saml` section from the `gitlab.yml` test section. Some tests
  depend on this section not being initially present, so it can be overridden
  in the test. This MR doesn't add any tests for SAML, so we didn't really need
  this in the first place anyway.

- Clean up the test -> omniauth section of `gitlab.yml`
---
 .../omniauth_callbacks_controller.rb          |  2 +-
 config/gitlab.yml.example                     | 25 +++----------------
 spec/support/login_helpers.rb                 |  3 ++-
 3 files changed, 6 insertions(+), 24 deletions(-)

diff --git a/app/controllers/omniauth_callbacks_controller.rb b/app/controllers/omniauth_callbacks_controller.rb
index c5adadfa529..323d5d26eb6 100644
--- a/app/controllers/omniauth_callbacks_controller.rb
+++ b/app/controllers/omniauth_callbacks_controller.rb
@@ -153,6 +153,6 @@ class OmniauthCallbacksController < Devise::OmniauthCallbacksController
 
   def remember_me?
     request_params = request.env['omniauth.params']
-    request_params['remember_me'] == '1'
+    (request_params['remember_me'] == '1') if request_params.present?
   end
 end
diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example
index b58a173bccb..950a58bb0dd 100644
--- a/config/gitlab.yml.example
+++ b/config/gitlab.yml.example
@@ -619,15 +619,12 @@ test:
   omniauth:
     enabled: true
     allow_single_sign_on: true
-    block_auto_created_users: false
-    auto_link_saml_user: true
     external_providers: []
 
     providers:
       - { name: 'cas3',
           label: 'cas3',
-          args: {
-                  url: 'https://sso.example.com',
+          args: { url: 'https://sso.example.com',
                   disable_ssl_verification: false,
                   login_url: '/cas/login',
                   service_validate_url: '/cas/p3/serviceValidate',
@@ -635,11 +632,7 @@ test:
       - { name: 'authentiq',
           app_id: 'YOUR_CLIENT_ID',
           app_secret: 'YOUR_CLIENT_SECRET',
-          args: {
-                  scope: 'aq:name email~rs address aq:push'
-                }
-        }
-
+          args: { scope: 'aq:name email~rs address aq:push' } }
       - { name: 'github',
           app_id: 'YOUR_APP_ID',
           app_secret: 'YOUR_APP_SECRET',
@@ -663,24 +656,12 @@ test:
       - { name: 'twitter',
           app_id: 'YOUR_APP_ID',
           app_secret: 'YOUR_APP_SECRET' }
-      
-      - { name: 'saml',
-          label: 'Our SAML Provider',
-          groups_attribute: 'Groups',
-          external_groups: ['Contractors', 'Freelancers'],
-          args: {
-                  assertion_consumer_service_url: 'https://gitlab.example.com/users/auth/saml/callback',
-                  idp_cert_fingerprint: '43:51:43:a1:b5:fc:8b:b7:0a:3a:a9:b1:0f:66:73:a8',
-                  idp_sso_target_url: 'https://login.example.com/idp',
-                  issuer: 'https://gitlab.example.com',
-                  name_identifier_format: 'urn:oasis:names:tc:SAML:2.0:nameid-format:transient'
-                } }
-      
       - { name: 'auth0',
           args: {
             client_id: 'YOUR_AUTH0_CLIENT_ID',
             client_secret: 'YOUR_AUTH0_CLIENT_SECRET',
             namespace: 'YOUR_AUTH0_DOMAIN' } }
+
   ldap:
     enabled: false
     servers:
diff --git a/spec/support/login_helpers.rb b/spec/support/login_helpers.rb
index 184c7b5125a..99e7806353d 100644
--- a/spec/support/login_helpers.rb
+++ b/spec/support/login_helpers.rb
@@ -118,6 +118,7 @@ module LoginHelpers
     end
     allow(Gitlab::OAuth::Provider).to receive_messages(providers: [:saml], config_for: mock_saml_config)
     stub_omniauth_setting(messages)
-    expect_any_instance_of(Object).to receive(:omniauth_authorize_path).with(:user, "saml").and_return('/users/auth/saml')
+    allow_any_instance_of(Object).to receive(:user_saml_omniauth_authorize_path).and_return('/users/auth/saml')
+    allow_any_instance_of(Object).to receive(:omniauth_authorize_path).with(:user, "saml").and_return('/users/auth/saml')
   end
 end
-- 
GitLab