Skip to content

Provide a test token for rspec

Alessio Caiazza requested to merge provide-a-token-for-tests into master

A couple of test requires $DEV_API_PRIVATE_TOKEN to be set.

Running bundle exec rspec will give 2 failures otherwise

  1) ReleaseManagers::Client initialize configures properly for dev
     Failure/Error: client.group_members(group)
     
     Gitlab::Error::MissingCredentials:
       Please provide a private_token or auth_token for user
     # ./lib/release_managers/client.rb:32:in `members'
     # ./spec/lib/release_managers/client_spec.rb:20:in `block (3 levels) in <top (required)>'
     # ./spec/lib/release_managers/client_spec.rb:12:in `block (3 levels) in <top (required)>'

  2) Qa::ProjectChangeset#merge_requests for MRs created on another instance downloads the list of merge requests
     Failure/Error: client.merge_request(project.path, iid)
     
     Gitlab::Error::MissingCredentials:
       Please provide a private_token or auth_token for user
     # ./lib/gitlab_client.rb:28:in `merge_request'
     # ./lib/qa/project_changeset.rb:41:in `rescue in retrieve_merge_request'
     # ./lib/qa/project_changeset.rb:38:in `retrieve_merge_request'
     # ./lib/qa/project_changeset.rb:33:in `block in gather_merge_requests'
     # ./lib/qa/project_changeset.rb:31:in `each'
     # ./lib/qa/project_changeset.rb:31:in `each_with_object'
     # ./lib/qa/project_changeset.rb:31:in `gather_merge_requests'
     # ./lib/qa/project_changeset.rb:17:in `merge_requests'
     # ./spec/lib/qa/project_changeset_spec.rb:58:in `block (4 levels) in <top (required)>'
     # ------------------
     # --- Caused by: ---
     # Gitlab::Error::NotFound:
     #   Server responded with code 404, message: 404 Project Not Found. Request URI: https://gitlab.com/api/v4/projects/gitlab%2Fgitlabhq/merge_requests/2388
     #   ./lib/gitlab_client.rb:28:in `merge_request'

Finished in 25.9 seconds (files took 0.81358 seconds to load)
485 examples, 2 failures

This patch overrides $DEV_API_PRIVATE_TOKEN before each test executions. It has 2 bonus points.

  1. ensure you always have a token for dev
  2. in case you forgot to mock the request, and you have a valid token set, this will override if preventing real calls to be made.
Edited by Alessio Caiazza

Merge request reports