Skip to content
Snippets Groups Projects
Commit 963ef398 authored by James Edwards-Jones's avatar James Edwards-Jones Committed by James Lopez
Browse files

WIP

parent 3b5f3c61
No related branches found
No related tags found
No related merge requests found
Loading
@@ -18,10 +18,10 @@ class RepositoryUpdateRemoteMirrorWorker
Loading
@@ -18,10 +18,10 @@ class RepositoryUpdateRemoteMirrorWorker
else else
remote_mirror.update_finish remote_mirror.update_finish
end end
rescue => ex # rescue => ex
remote_mirror.mark_as_failed("We're sorry, a temporary error occurred, please try again.") # remote_mirror.mark_as_failed("We're sorry, a temporary error occurred, please try again.")
   
raise UpdateRemoteMirrorError, "#{ex.class}: #{Gitlab::UrlSanitizer.sanitize(ex.message)}" # raise UpdateRemoteMirrorError, "#{ex.class}: #{Gitlab::UrlSanitizer.sanitize(ex.message)}"
end end
end end
end end
FactoryGirl.define do
factory :remote_mirror do
url 'http://cantbeblank'
project
end
end
\ No newline at end of file
Loading
@@ -84,6 +84,17 @@ describe RemoteMirror do
Loading
@@ -84,6 +84,17 @@ describe RemoteMirror do
end end
end end
   
context 'with missing project' do
it 'can be marked as failed' do
mirror = create(:remote_mirror)
mirror.update!(enabled: true, project_id: nil)
mirror.reload.mark_as_failed('missing project')
expect(mirror.reload.last_error).to eq 'missing project'
end
end
def create_mirror(params) def create_mirror(params)
project = FactoryGirl.create(:project) project = FactoryGirl.create(:project)
project.remote_mirrors.create!(params) project.remote_mirrors.create!(params)
Loading
Loading
require 'rails_helper'
describe RepositoryUpdateRemoteMirrorWorker do
let(:mirror) { create(:remote_mirror) }
describe '#perform' do
it 'does nothing if project is missing' do
mirror.update!(project_id: nil)
expect(described_class.new.perform(mirror.id)).to be_nil
end
end
end
require 'rails_helper'
describe UpdateAllRemoteMirrorsWorker do
let(:worker) { described_class.new }
describe '#perform' do
context 'stuck mirrors' do
let!(:mirror) { create(:remote_mirror, update_status: :started, last_update_at: 1.week.ago) }
it 'are transitioned to failure state' do
worker.perform
expect(mirror.reload.update_status).to eq 'failed'
end
it 'handles enabled mirrors with missing project' do
mirror.update!(project: nil, enabled: true)
worker.perform
expect(mirror.reload.update_status).to eq 'failed'
end
end
end
end
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