diff options
author | Yorick Peterse <yorickpeterse@gmail.com> | 2018-05-29 16:12:26 +0000 |
---|---|---|
committer | Yorick Peterse <yorickpeterse@gmail.com> | 2018-05-29 16:12:26 +0000 |
commit | a30e6b819bcf87c5297fe68bb54dd1751f7e0bfb (patch) | |
tree | a64cd31ab7b346da9668c87306bf1edf632be134 /spec/models | |
parent | e79f91df8c2a38238ebe5c76862d2f35307bb7f5 (diff) | |
parent | 61ea2f52bd32d5038b9eec1caf29a4d4531d03c4 (diff) | |
download | gitlab-ce-a30e6b819bcf87c5297fe68bb54dd1751f7e0bfb.tar.gz |
Merge branch 'ab-35364-throttle-updates-last-repository-at' into 'master'
Throttle updates to Project#last_repository_updated_at.
Closes #35364
See merge request gitlab-org/gitlab-ce!19183
Diffstat (limited to 'spec/models')
-rw-r--r-- | spec/models/event_spec.rb | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/spec/models/event_spec.rb b/spec/models/event_spec.rb index 8ea92410022..c1eac4fa489 100644 --- a/spec/models/event_spec.rb +++ b/spec/models/event_spec.rb @@ -50,6 +50,19 @@ describe Event do end end + describe '#set_last_repository_updated_at' do + it 'only updates once every Event::REPOSITORY_UPDATED_AT_INTERVAL minutes' do + last_known_timestamp = (Event::REPOSITORY_UPDATED_AT_INTERVAL - 1.minute).ago + project.update(last_repository_updated_at: last_known_timestamp) + project.reload # a reload removes fractions of seconds + + expect do + create_push_event(project, project.owner) + project.reload + end.not_to change { project.last_repository_updated_at } + end + end + describe 'after_create :track_user_interacted_projects' do let(:event) { build(:push_event, project: project, author: project.owner) } |