Skip to content

Commit 04d2162

Browse files
author
bmarkons
committed
Support enqueuing releases
1 parent 4f3ee20 commit 04d2162

2 files changed

Lines changed: 30 additions & 14 deletions

File tree

app/services/benchmark_pool.rb

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
module BenchmarkPool
2-
def self.enqueue(repo_name, commit_sha, options = {})
2+
def self.enqueue(initiator_type, initiator, repo_name, options = {})
33
case repo_name
44
when 'ruby'
5-
RemoteServerJob.perform_later(commit_sha, 'ruby_trunk', options)
6-
# RemoteServerJob.perform_later(commit_sha, 'ruby_trunk_discourse')
5+
RemoteServerJob.perform_later(initiator, "ruby_#{initiator_type}", options)
76
when 'rails'
8-
RemoteServerJob.perform_later(commit_sha, 'rails_trunk', options)
7+
RemoteServerJob.perform_later(initiator, "rails_#{initiator_type}", options)
98
when 'sequel'
10-
RemoteServerJob.perform_later(commit_sha, 'sequel_trunk', options)
9+
RemoteServerJob.perform_later(initiator, "sequel_#{initiator_type}", options)
1110
when 'ruby-pg'
12-
RemoteServerJob.perform_later(commit_sha, 'pg_master', options)
11+
RemoteServerJob.perform_later(initiator, "pg_#{initiator_type}", options)
1312
else
1413
raise ArgumentError, "unknown repo: #{repo_name}"
1514
end
1615
end
16+
1717
end

test/services/benchmark_pool_test.rb

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,33 +5,49 @@ class BenchmarkPoolTest < ActiveSupport::TestCase
55

66
test '#enqueue for ruby' do
77
assert_enqueued_with(job: RemoteServerJob) do
8-
BenchmarkPool.enqueue('ruby', 'abc')
8+
BenchmarkPool.enqueue(:commit, 'abc', 'ruby')
99
end
1010

11-
assert_enqueued_jobs 1
11+
assert_enqueued_with(job: RemoteServerJob) do
12+
BenchmarkPool.enqueue(:release, 'abc', 'ruby')
13+
end
14+
15+
assert_enqueued_jobs 2
1216
end
1317

1418
test '#enqueue for rails' do
1519
assert_enqueued_with(job: RemoteServerJob) do
16-
BenchmarkPool.enqueue('rails', 'abc')
20+
BenchmarkPool.enqueue(:commit, 'abc', 'rails')
21+
end
22+
23+
assert_enqueued_with(job: RemoteServerJob) do
24+
BenchmarkPool.enqueue(:release, 'abc', 'rails')
1725
end
1826

19-
assert_enqueued_jobs 1
27+
assert_enqueued_jobs 2
2028
end
2129

2230
test '#enqueue for sequel' do
2331
assert_enqueued_with(job: RemoteServerJob) do
24-
BenchmarkPool.enqueue('sequel', 'abc')
32+
BenchmarkPool.enqueue(:commit, 'abc', 'sequel')
33+
end
34+
35+
assert_enqueued_with(job: RemoteServerJob) do
36+
BenchmarkPool.enqueue(:release, 'abc', 'sequel')
2537
end
2638

27-
assert_enqueued_jobs 1
39+
assert_enqueued_jobs 2
2840
end
2941

3042
test '#enqueue for ruby-pg' do
3143
assert_enqueued_with(job: RemoteServerJob) do
32-
BenchmarkPool.enqueue('ruby-pg', 'abc')
44+
BenchmarkPool.enqueue(:commit, 'abc', 'ruby-pg')
3345
end
3446

35-
assert_enqueued_jobs 1
47+
assert_enqueued_with(job: RemoteServerJob) do
48+
BenchmarkPool.enqueue(:release, 'abc', 'ruby-pg')
49+
end
50+
51+
assert_enqueued_jobs 2
3652
end
3753
end

0 commit comments

Comments
 (0)