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
Loading
@@ -18,10 +18,10 @@ class RepositoryUpdateRemoteMirrorWorker
else
remote_mirror.update_finish
end
rescue => ex
remote_mirror.mark_as_failed("We're sorry, a temporary error occurred, please try again.")
# rescue => ex
# 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
FactoryGirl.define do
factory :remote_mirror do
url 'http://cantbeblank'
project
end
end
\ No newline at end of file
Loading
Loading
@@ -84,6 +84,17 @@ describe RemoteMirror do
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)
project = FactoryGirl.create(:project)
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