diff options
author | Alexis Reigel <mail@koffeinfrei.org> | 2017-07-06 10:17:09 +0200 |
---|---|---|
committer | Alexis Reigel <mail@koffeinfrei.org> | 2017-07-27 15:43:37 +0200 |
commit | a7d2ebe508b6dde3b3ae37c5a54fc78719b199b3 (patch) | |
tree | 9c2be2776b5346597e026ac749cd7527635ce8dc | |
parent | 4f7ba8f2861b39d3a7697eb99e3fbaaf39f32643 (diff) | |
download | gitlab-ce-a7d2ebe508b6dde3b3ae37c5a54fc78719b199b3.tar.gz |
simplify fetching of commit
-rw-r--r-- | app/models/gpg_signature.rb | 4 | ||||
-rw-r--r-- | lib/gitlab/gpg/invalid_gpg_signature_updater.rb | 4 | ||||
-rw-r--r-- | spec/lib/gitlab/gpg/invalid_gpg_signature_updater_spec.rb | 2 | ||||
-rw-r--r-- | spec/models/gpg_signature_spec.rb | 13 |
4 files changed, 19 insertions, 4 deletions
diff --git a/app/models/gpg_signature.rb b/app/models/gpg_signature.rb index 4fe9c3210ff..0ef335bf8a9 100644 --- a/app/models/gpg_signature.rb +++ b/app/models/gpg_signature.rb @@ -5,4 +5,8 @@ class GpgSignature < ActiveRecord::Base validates :commit_sha, presence: true validates :project, presence: true validates :gpg_key_primary_keyid, presence: true + + def commit + project.commit(commit_sha) + end end diff --git a/lib/gitlab/gpg/invalid_gpg_signature_updater.rb b/lib/gitlab/gpg/invalid_gpg_signature_updater.rb index 06e4823de32..860e1e1035c 100644 --- a/lib/gitlab/gpg/invalid_gpg_signature_updater.rb +++ b/lib/gitlab/gpg/invalid_gpg_signature_updater.rb @@ -10,9 +10,7 @@ module Gitlab .where(valid_signature: false) .where(gpg_key_primary_keyid: @gpg_key.primary_keyid) .find_each do |gpg_signature| - raw_commit = Gitlab::Git::Commit.find(gpg_signature.project.repository, gpg_signature.commit_sha) - commit = ::Commit.new(raw_commit, gpg_signature.project) - Gitlab::Gpg::Commit.new(commit).update_signature!(gpg_signature) + Gitlab::Gpg::Commit.new(gpg_signature.commit).update_signature!(gpg_signature) end end end diff --git a/spec/lib/gitlab/gpg/invalid_gpg_signature_updater_spec.rb b/spec/lib/gitlab/gpg/invalid_gpg_signature_updater_spec.rb index 8b60b36452b..c16f15bf4bf 100644 --- a/spec/lib/gitlab/gpg/invalid_gpg_signature_updater_spec.rb +++ b/spec/lib/gitlab/gpg/invalid_gpg_signature_updater_spec.rb @@ -29,7 +29,7 @@ RSpec.describe Gitlab::Gpg::InvalidGpgSignatureUpdater do end before do - allow(Gitlab::Git::Commit).to receive(:find).with(kind_of(Repository), commit_sha).and_return(raw_commit) + allow_any_instance_of(GpgSignature).to receive(:commit).and_return(commit) end context 'gpg signature did not have an associated gpg key' do diff --git a/spec/models/gpg_signature_spec.rb b/spec/models/gpg_signature_spec.rb index b3f84262874..b6f256e61ee 100644 --- a/spec/models/gpg_signature_spec.rb +++ b/spec/models/gpg_signature_spec.rb @@ -12,4 +12,17 @@ RSpec.describe GpgSignature do it { is_expected.to validate_presence_of(:project) } it { is_expected.to validate_presence_of(:gpg_key_primary_keyid) } end + + describe '#commit' do + it 'fetches the commit through the project' do + commit_sha = '0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33' + project = create :project + commit = create :commit, project: project + gpg_signature = create :gpg_signature, commit_sha: commit_sha + + expect_any_instance_of(Project).to receive(:commit).with(commit_sha).and_return(commit) + + gpg_signature.commit + end + end end |