1# frozen_string_literal: true
2
3module HttpBasicAuthHelpers
4  def user_basic_auth_header(user)
5    access_token = create(:personal_access_token, user: user)
6
7    basic_auth_header(user.username, access_token.token)
8  end
9
10  def job_basic_auth_header(job)
11    basic_auth_header(::Gitlab::Auth::CI_JOB_USER, job.token)
12  end
13
14  def client_basic_auth_header(client)
15    basic_auth_header(client.uid, client.secret)
16  end
17
18  def build_auth_headers(value)
19    { 'HTTP_AUTHORIZATION' => value }
20  end
21
22  def build_token_auth_header(token)
23    build_auth_headers("Bearer #{token}")
24  end
25
26  def basic_auth_header(username, password)
27    build_auth_headers(ActionController::HttpAuthentication::Basic.encode_credentials(username, password))
28  end
29end
30