From af98494246952414a71de05f33c8822424e76a20 Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Wed, 6 Jul 2022 07:25:31 -0700 Subject: [PATCH] Fix deploy key QA tests https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91627 changed the styling of deploy keys, dropping the prefix in the hash algorithm in the HTML. The FIPS tests were previously failing because they assumed MD5 checksums were present when only SHA256 checksums were present. To fix this, always look for the SHA256 checksums. --- qa/qa/page/project/settings/deploy_keys.rb | 10 +++++----- qa/qa/resource/deploy_key.rb | 4 ++-- qa/qa/resource/ssh_key.rb | 2 +- .../6_release/deploy_key/add_deploy_key_spec.rb | 6 +++--- .../deploy_key/clone_using_deploy_key_spec.rb | 2 +- .../1_manage/project/project_audit_logs_spec.rb | 2 +- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/qa/qa/page/project/settings/deploy_keys.rb b/qa/qa/page/project/settings/deploy_keys.rb index 467799a14fb8fc..297d29550e3623 100644 --- a/qa/qa/page/project/settings/deploy_keys.rb +++ b/qa/qa/page/project/settings/deploy_keys.rb @@ -23,7 +23,7 @@ class DeployKeys < Page::Base view 'app/assets/javascripts/deploy_keys/components/key.vue' do element :key_container element :key_title_content - element :key_md5_fingerprint_content + element :key_sha256_fingerprint_content end def add_key @@ -38,17 +38,17 @@ def fill_key_value(key) fill_element(:deploy_key_field, key) end - def find_md5_fingerprint(title) + def find_sha256_fingerprint(title) within_project_deploy_keys do find_element(:key_container, text: title) - .find(element_selector_css(:key_md5_fingerprint_content)).text.delete_prefix('MD5:') + .find(element_selector_css(:key_sha256_fingerprint_content)).text end end - def has_key?(title, md5_fingerprint) + def has_key?(title, sha256_fingerprint) within_project_deploy_keys do find_element(:key_container, text: title) - .has_css?(element_selector_css(:key_md5_fingerprint_content), text: "MD5:#{md5_fingerprint}") + .has_css?(element_selector_css(:key_sha256_fingerprint_content), text: sha256_fingerprint) end end diff --git a/qa/qa/resource/deploy_key.rb b/qa/qa/resource/deploy_key.rb index c06671be77dbaf..b194f97ef1b1db 100644 --- a/qa/qa/resource/deploy_key.rb +++ b/qa/qa/resource/deploy_key.rb @@ -7,10 +7,10 @@ class DeployKey < Base attribute :id - attribute :md5_fingerprint do + attribute :sha256_fingerprint do Page::Project::Settings::Repository.perform do |setting| setting.expand_deploy_keys do |key| - key.find_md5_fingerprint(title) + key.find_sha256_fingerprint(title) end end end diff --git a/qa/qa/resource/ssh_key.rb b/qa/qa/resource/ssh_key.rb index 154d79aaf8828b..dd475d7fa66c89 100644 --- a/qa/qa/resource/ssh_key.rb +++ b/qa/qa/resource/ssh_key.rb @@ -39,7 +39,7 @@ def title=(title) end def api_delete - QA::Runtime::Logger.debug("Deleting SSH key with title '#{title}' and fingerprint '#{md5_fingerprint}'") + QA::Runtime::Logger.debug("Deleting SSH key with title '#{title}' and fingerprint '#{sha256_fingerprint}'") super end diff --git a/qa/qa/specs/features/browser_ui/6_release/deploy_key/add_deploy_key_spec.rb b/qa/qa/specs/features/browser_ui/6_release/deploy_key/add_deploy_key_spec.rb index 1661fec03be405..8b7b827de91c7b 100644 --- a/qa/qa/specs/features/browser_ui/6_release/deploy_key/add_deploy_key_spec.rb +++ b/qa/qa/specs/features/browser_ui/6_release/deploy_key/add_deploy_key_spec.rb @@ -2,7 +2,7 @@ module QA RSpec.describe 'Release' do - describe 'Deploy key creation', :skip_fips_env do + describe 'Deploy key creation' do it 'user adds a deploy key', testcase: 'https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/348023' do Flow::Login.sign_in @@ -15,11 +15,11 @@ module QA resource.key = deploy_key_value end - expect(deploy_key.md5_fingerprint).to eq key.md5_fingerprint + expect(deploy_key.sha256_fingerprint).to eq key.sha256_fingerprint Page::Project::Settings::Repository.perform do |setting| setting.expand_deploy_keys do |keys| - expect(keys).to have_key(deploy_key_title, key.md5_fingerprint) + expect(keys).to have_key(deploy_key_title, key.sha256_fingerprint) end end end diff --git a/qa/qa/specs/features/browser_ui/6_release/deploy_key/clone_using_deploy_key_spec.rb b/qa/qa/specs/features/browser_ui/6_release/deploy_key/clone_using_deploy_key_spec.rb index ff8dc686991d1c..c86f75e0b1627f 100644 --- a/qa/qa/specs/features/browser_ui/6_release/deploy_key/clone_using_deploy_key_spec.rb +++ b/qa/qa/specs/features/browser_ui/6_release/deploy_key/clone_using_deploy_key_spec.rb @@ -4,7 +4,7 @@ module QA RSpec.describe 'Release', :runner do - describe 'Git clone using a deploy key', :skip_fips_env do + describe 'Git clone using a deploy key' do let(:runner_name) { "qa-runner-#{SecureRandom.hex(4)}" } let(:repository_location) { project.repository_ssh_location } diff --git a/qa/qa/specs/features/ee/browser_ui/1_manage/project/project_audit_logs_spec.rb b/qa/qa/specs/features/ee/browser_ui/1_manage/project/project_audit_logs_spec.rb index aca83e777e500c..cb78f3997e9e73 100644 --- a/qa/qa/specs/features/ee/browser_ui/1_manage/project/project_audit_logs_spec.rb +++ b/qa/qa/specs/features/ee/browser_ui/1_manage/project/project_audit_logs_spec.rb @@ -53,7 +53,7 @@ module QA it_behaves_like 'audit event', ["Added user access as Guest"] end - context "Add deploy key", :skip_fips_env, testcase: 'https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/347907' do + context "Add deploy key", testcase: 'https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/347907' do before do key = Runtime::Key::RSA.new deploy_key_title = 'deploy key title' -- GitLab