Skip to content

Commit 5abddbb

Browse files
hsbtclaude
andcommitted
Fix tests for created_at in compact index output
The compact index info endpoint now includes created_at timestamps, so the expected output in tests needs to account for this by dynamically including each version's created_at value. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
1 parent dccc2fb commit 5abddbb

3 files changed

Lines changed: 13 additions & 7 deletions

File tree

test/integration/api/compact_index_test.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ def digest(body)
192192
create(:dependency, :development, version: version, rubygem: @rubygem2)
193193
expected = <<~VERSIONS_FILE
194194
---
195-
1.0.0 |checksum:b5d4045c3f466fa91fe2cc6abe79232a1a57cdf104f7a26e716e0a1e2789df78,ruby:>= 2.0.0,rubygems:>= 2.6.3
195+
1.0.0 |checksum:b5d4045c3f466fa91fe2cc6abe79232a1a57cdf104f7a26e716e0a1e2789df78,ruby:>= 2.0.0,rubygems:>= 2.6.3,created_at:#{version.created_at.utc.iso8601}
196196
VERSIONS_FILE
197197
expected_digest = digest(expected)
198198

test/integration/push_test.rb

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,16 +49,20 @@ class PushTest < ActionDispatch::IntegrationTest
4949

5050
assert_response :success, response.body
5151

52+
sigstore = Rubygem.find_by!(name: "sigstore")
53+
v001 = sigstore.versions.find_by(number: "0.0.1")
54+
v100 = sigstore.versions.find_by(number: "1.0.0")
55+
5256
get info_path("sigstore")
5357
info_file = response.body
5458

5559
assert_response :success
5660
assert_equal <<~INFO, info_file
5761
---
58-
0.0.1 |checksum:b5d4045c3f466fa91fe2cc6abe79232a1a57cdf104f7a26e716e0a1e2789df78,ruby:>= 2.0.0,rubygems:>= 2.6.3
59-
1.0.0 |checksum:#{Digest::SHA256.hexdigest File.binread(gem_file('sigstore-1.0.0.gem'))}
62+
0.0.1 |checksum:b5d4045c3f466fa91fe2cc6abe79232a1a57cdf104f7a26e716e0a1e2789df78,ruby:>= 2.0.0,rubygems:>= 2.6.3,created_at:#{v001.created_at.utc.iso8601}
63+
1.0.0 |checksum:#{Digest::SHA256.hexdigest File.binread(gem_file('sigstore-1.0.0.gem'))},created_at:#{v100.created_at.utc.iso8601}
6064
INFO
61-
assert_equal Digest::MD5.hexdigest(info_file), Rubygem.find_by!(name: "sigstore").versions.find_by(number: "1.0.0").info_checksum
65+
assert_equal Digest::MD5.hexdigest(info_file), v100.info_checksum
6266

6367
get api_v2_rubygem_version_path("sigstore", "1.0.0", format: "json")
6468

@@ -92,10 +96,12 @@ class PushTest < ActionDispatch::IntegrationTest
9296

9397
assert page.has_css?(css, count: 2)
9498

95-
assert_equal Digest::MD5.hexdigest(<<~INFO), Rubygem.find_by!(name: "sandworm").versions.sole.info_checksum
99+
version = Rubygem.find_by!(name: "sandworm").versions.sole
100+
expected_info = <<~INFO
96101
---
97-
1.0.0 |checksum:#{Digest::SHA256.hexdigest gem_io.string}
102+
1.0.0 |checksum:#{Digest::SHA256.hexdigest gem_io.string},created_at:#{version.created_at.utc.iso8601}
98103
INFO
104+
assert_equal Digest::MD5.hexdigest(expected_info), version.info_checksum
99105
end
100106

101107
test "push a new version of a gem" do

test/jobs/upload_info_file_job_test.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class UploadInfoFileJobTest < ActiveJob::TestCase
1414

1515
content = <<~INFO
1616
---
17-
0.0.1 |checksum:b5d4045c3f466fa91fe2cc6abe79232a1a57cdf104f7a26e716e0a1e2789df78,ruby:>= 2.0.0,rubygems:>= 2.6.3
17+
0.0.1 |checksum:b5d4045c3f466fa91fe2cc6abe79232a1a57cdf104f7a26e716e0a1e2789df78,ruby:>= 2.0.0,rubygems:>= 2.6.3,created_at:#{version.created_at.utc.iso8601}
1818
INFO
1919

2020
assert_equal content, RubygemFs.compact_index.get("info/#{version.rubygem.name}")

0 commit comments

Comments
 (0)