Skip to content

Use API for SSH key check in Geo specs

Jennifer Louie requested to merge jsl-geo-api-for-ssh-check into master

What does this MR do?

Related to https://gitlab.com/gitlab-org/quality/team-tasks/-/issues/385

Ever since we started running Geo tests on staging, Geo SSH tests have failed because:

  • There was no built-in retry to allow time for key replication (like we already do for database replication in other Geo specs)(actually one spec did have this, but relied on the next point)
  • The test checked for the key on the SSH key page, but if the user has many keys it may not appear on the page

(We have since created a rake task to delete SSH keys)

This MR:

  • Checks for replication of SSH keys in Geo specs via Users API instead of UI, since coverage for making and checking for SSH keys via the UI is provided by the spec qa/specs/features/browser_ui/3_create/repository/add_ssh_key_spec.rb

  • Uses Support::Retrier when checking for SSH keys to allow time for replication

  • Removes checks for key replication from two specs (ssh_push_spec.rb and wiki_ssh_push_spec.rb), because key replication is not related to the goals of those tests

  • Makes some text editing for debug logs and resource names

  • Adds expires_at parameter to SSH key resource fabrication

Does this MR meet the acceptance criteria?

Conformity

Edited by Jennifer Louie

Merge request reports