Skip to content
Snippets Groups Projects
Commit fed97a68 authored by Winnie Hellmann's avatar Winnie Hellmann
Browse files

Fix GPG status badge loading regressions

parent 313b79d8
No related branches found
No related tags found
1 merge request!10495Merge Requests - Assignee
Loading
Loading
@@ -3,7 +3,8 @@
 
- page_title @blob.path, @ref
 
.js-signature-container{ data: { 'signatures-path': namespace_project_signatures_path } }
- signatures_path = namespace_project_signatures_path(namespace_id: @project.namespace.full_path, project_id: @project.path, id: @last_commit)
.js-signature-container{ data: { 'signatures-path': signatures_path } }
 
%div{ class: container_class }
= render 'projects/last_push'
Loading
Loading
Loading
Loading
@@ -9,7 +9,7 @@
= render partial: 'flash_messages', locals: { project: @project }
 
- if @project.repository_exists? && !@project.empty_repo?
- signatures_path = namespace_project_signatures_path(project_id: @project.path, id: @project.default_branch)
- signatures_path = namespace_project_signatures_path(namespace_id: @project.namespace.full_path, project_id: @project.path, id: @project.default_branch)
.js-signature-container{ data: { 'signatures-path': signatures_path } }
 
%div{ class: [container_class, ("limit-container-width" unless fluid_layout)] }
Loading
Loading
- @no_container = true
- breadcrumb_title _("Repository")
- @content_class = "limit-container-width" unless fluid_layout
- signatures_path = namespace_project_signatures_path(namespace_id: @project.namespace.path, project_id: @project.path, id: @ref)
- signatures_path = namespace_project_signatures_path(namespace_id: @project.namespace.full_path, project_id: @project.path, id: @last_commit)
 
- page_title @path.presence || _("Files"), @ref
= content_for :meta_tags do
Loading
Loading
---
title: Fix GPG status badge loading regressions
merge_request: 20987
author:
type: fixed
Loading
Loading
@@ -552,4 +552,33 @@ describe 'File blob', :js do
end
end
end
context 'for subgroups' do
let(:group) { create(:group) }
let(:subgroup) { create(:group, parent: group) }
let(:project) { create(:project, :public, :repository, group: subgroup) }
it 'renders tree table without errors' do
visit_blob('README.md')
expect(page).to have_selector('.file-content')
expect(page).not_to have_selector('.flash-alert')
end
it 'displays a GPG badge' do
visit_blob('CONTRIBUTING.md', ref: '33f3729a45c02fc67d00adb1b8bca394b0e761d9')
expect(page).not_to have_selector '.gpg-status-box.js-loading-gpg-badge'
expect(page).to have_selector '.gpg-status-box.invalid'
end
end
context 'on signed merge commit' do
it 'displays a GPG badge' do
visit_blob('conflicting-file.md', ref: '6101e87e575de14b38b4e1ce180519a813671e10')
expect(page).not_to have_selector '.gpg-status-box.js-loading-gpg-badge'
expect(page).to have_selector '.gpg-status-box.invalid'
end
end
end
require 'spec_helper'
 
describe 'Projects tree' do
describe 'Projects tree', :js do
let(:user) { create(:user) }
let(:project) { create(:project, :repository) }
 
before do
project.add_maintainer(user)
sign_in(user)
end
 
it 'renders tree table without errors' do
visit project_tree_path(project, 'master')
end
wait_for_requests
 
it 'renders tree table' do
expect(page).to have_selector('.tree-item')
expect(page).not_to have_selector('.label-lfs', text: 'LFS')
expect(page).not_to have_selector('.flash-alert')
end
 
context 'LFS' do
before do
visit project_tree_path(project, File.join('master', 'files/lfs'))
context 'for signed commit' do
it 'displays a GPG badge' do
visit project_tree_path(project, '33f3729a45c02fc67d00adb1b8bca394b0e761d9')
wait_for_requests
expect(page).not_to have_selector '.gpg-status-box.js-loading-gpg-badge'
expect(page).to have_selector '.gpg-status-box.invalid'
end
 
context 'on a directory that has not changed recently' do
it 'displays a GPG badge' do
tree_path = File.join('eee736adc74341c5d3e26cd0438bc697f26a7575', 'subdir')
visit project_tree_path(project, tree_path)
wait_for_requests
expect(page).not_to have_selector '.gpg-status-box.js-loading-gpg-badge'
expect(page).to have_selector '.gpg-status-box.invalid'
end
end
end
context 'LFS' do
it 'renders LFS badge on blob item' do
visit project_tree_path(project, File.join('master', 'files/lfs'))
expect(page).to have_selector('.label-lfs', text: 'LFS')
end
end
 
context 'web IDE', :js do
before do
context 'web IDE' do
it 'opens folder in IDE' do
visit project_tree_path(project, File.join('master', 'bar'))
 
click_link 'Web IDE'
 
wait_for_requests
find('.ide-file-list')
wait_for_requests
expect(page).to have_selector('.is-open', text: 'bar')
end
end
 
it 'opens folder in IDE' do
expect(page).to have_selector('.is-open', text: 'bar')
context 'for subgroups' do
let(:group) { create(:group) }
let(:subgroup) { create(:group, parent: group) }
let(:project) { create(:project, :repository, group: subgroup) }
it 'renders tree table without errors' do
visit project_tree_path(project, 'master')
wait_for_requests
expect(page).to have_selector('.tree-item')
expect(page).not_to have_selector('.flash-alert')
end
context 'for signed commit' do
it 'displays a GPG badge' do
visit project_tree_path(project, '33f3729a45c02fc67d00adb1b8bca394b0e761d9')
wait_for_requests
expect(page).not_to have_selector '.gpg-status-box.js-loading-gpg-badge'
expect(page).to have_selector '.gpg-status-box.invalid'
end
end
end
end
Loading
Loading
@@ -197,6 +197,49 @@ describe 'Project' do
 
expect(page.status_code).to eq(200)
end
context 'for signed commit on default branch', :js do
before do
project.change_head('33f3729a45c02fc67d00adb1b8bca394b0e761d9')
end
it 'displays a GPG badge' do
visit project_path(project)
wait_for_requests
expect(page).not_to have_selector '.gpg-status-box.js-loading-gpg-badge'
expect(page).to have_selector '.gpg-status-box.invalid'
end
end
context 'for subgroups', :js do
let(:group) { create(:group) }
let(:subgroup) { create(:group, parent: group) }
let(:project) { create(:project, :repository, group: subgroup) }
it 'renders tree table without errors' do
wait_for_requests
expect(page).to have_selector('.tree-item')
expect(page).not_to have_selector('.flash-alert')
end
context 'for signed commit' do
before do
repository = project.repository
repository.write_ref("refs/heads/#{project.default_branch}", '33f3729a45c02fc67d00adb1b8bca394b0e761d9')
repository.expire_branches_cache
end
it 'displays a GPG badge' do
visit project_path(project)
wait_for_requests
expect(page).not_to have_selector '.gpg-status-box.js-loading-gpg-badge'
expect(page).to have_selector '.gpg-status-box.invalid'
end
end
end
end
 
describe 'activity view' do
Loading
Loading
require 'spec_helper'
 
describe 'GPG signed commits', :js do
set(:ref) { :'2d1096e3a0ecf1d2baf6dee036cc80775d4940ba' }
let(:project) { create(:project, :repository) }
 
it 'changes from unverified to verified when the user changes his email to match the gpg key' do
Loading
Loading
@@ -13,7 +14,7 @@ describe 'GPG signed commits', :js do
 
sign_in(user)
 
visit project_commits_path(project, :'signed-commits')
visit project_commits_path(project, ref)
 
within '#commits-list' do
expect(page).to have_content 'Unverified'
Loading
Loading
@@ -26,7 +27,7 @@ describe 'GPG signed commits', :js do
user.update!(email: GpgHelpers::User1.emails.first)
end
 
visit project_commits_path(project, :'signed-commits')
visit project_commits_path(project, ref)
 
within '#commits-list' do
expect(page).to have_content 'Unverified'
Loading
Loading
@@ -40,7 +41,7 @@ describe 'GPG signed commits', :js do
 
sign_in(user)
 
visit project_commits_path(project, :'signed-commits')
visit project_commits_path(project, ref)
 
within '#commits-list' do
expect(page).to have_content 'Unverified'
Loading
Loading
@@ -52,7 +53,7 @@ describe 'GPG signed commits', :js do
create :gpg_key, key: GpgHelpers::User1.public_key, user: user
end
 
visit project_commits_path(project, :'signed-commits')
visit project_commits_path(project, ref)
 
within '#commits-list' do
expect(page).to have_content 'Unverified'
Loading
Loading
@@ -92,7 +93,7 @@ describe 'GPG signed commits', :js do
end
 
it 'unverified signature' do
visit project_commits_path(project, :'signed-commits')
visit project_commits_path(project, ref)
 
within(find('.commit', text: 'signed commit by bette cartwright')) do
click_on 'Unverified'
Loading
Loading
@@ -107,7 +108,7 @@ describe 'GPG signed commits', :js do
it 'unverified signature: user email does not match the committer email, but is the same user' do
user_2_key
 
visit project_commits_path(project, :'signed-commits')
visit project_commits_path(project, ref)
 
within(find('.commit', text: 'signed and authored commit by bette cartwright, different email')) do
click_on 'Unverified'
Loading
Loading
@@ -124,7 +125,7 @@ describe 'GPG signed commits', :js do
it 'unverified signature: user email does not match the committer email' do
user_2_key
 
visit project_commits_path(project, :'signed-commits')
visit project_commits_path(project, ref)
 
within(find('.commit', text: 'signed commit by bette cartwright')) do
click_on 'Unverified'
Loading
Loading
@@ -141,7 +142,7 @@ describe 'GPG signed commits', :js do
it 'verified and the gpg user has a gitlab profile' do
user_1_key
 
visit project_commits_path(project, :'signed-commits')
visit project_commits_path(project, ref)
 
within(find('.commit', text: 'signed and authored commit by nannie bernhard')) do
click_on 'Verified'
Loading
Loading
@@ -158,7 +159,7 @@ describe 'GPG signed commits', :js do
it "verified and the gpg user's profile doesn't exist anymore" do
user_1_key
 
visit project_commits_path(project, :'signed-commits')
visit project_commits_path(project, ref)
 
# wait for the signature to get generated
within(find('.commit', text: 'signed and authored commit by nannie bernhard')) do
Loading
Loading
Loading
Loading
@@ -8,7 +8,7 @@ module TestEnv
 
# When developing the seed repository, comment out the branch you will modify.
BRANCH_SHA = {
'signed-commits' => '2d1096e',
'signed-commits' => '6101e87',
'not-merged-branch' => 'b83d6e3',
'branch-merged' => '498214d',
'empty-branch' => '7efb185',
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment