Skip to content
This repository was archived by the owner on Jan 22, 2026. It is now read-only.

Commit 0189a3d

Browse files
committed
fix bulk lookup
1 parent c297707 commit 0189a3d

4 files changed

Lines changed: 21 additions & 21 deletions

File tree

lib/git/pkgs/ecosystems_client.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ def bulk_lookup(purls)
2929
results = {}
3030

3131
purls.each_slice(BATCH_SIZE) do |batch|
32-
response = post("/packages/lookup", { purl: batch })
32+
response = post("/packages/bulk_lookup", { purls: batch })
3333
(response || []).each do |pkg|
3434
results[pkg["purl"]] = pkg if pkg["purl"]
3535
end

test/git/pkgs/test_ecosystems_client.rb

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ def teardown
1414
end
1515

1616
def test_bulk_lookup_returns_packages_by_purl
17-
stub_request(:post, "https://packages.ecosyste.ms/api/v1/packages/lookup")
18-
.with(body: { purl: ["pkg:gem/rails", "pkg:npm/lodash"] }.to_json)
17+
stub_request(:post, "https://packages.ecosyste.ms/api/v1/packages/bulk_lookup")
18+
.with(body: { purls: ["pkg:gem/rails", "pkg:npm/lodash"] }.to_json)
1919
.to_return(
2020
status: 200,
2121
body: [
@@ -54,17 +54,17 @@ def test_bulk_lookup_batches_large_requests
5454
purls = (1..150).map { |i| "pkg:npm/package-#{i}" }
5555

5656
# First batch of 100
57-
stub_request(:post, "https://packages.ecosyste.ms/api/v1/packages/lookup")
58-
.with { |req| JSON.parse(req.body)["purl"].size == 100 }
57+
stub_request(:post, "https://packages.ecosyste.ms/api/v1/packages/bulk_lookup")
58+
.with { |req| JSON.parse(req.body)["purls"].size == 100 }
5959
.to_return(
6060
status: 200,
6161
body: (1..100).map { |i| { "purl" => "pkg:npm/package-#{i}", "name" => "package-#{i}" } }.to_json,
6262
headers: { "Content-Type" => "application/json" }
6363
)
6464

6565
# Second batch of 50
66-
stub_request(:post, "https://packages.ecosyste.ms/api/v1/packages/lookup")
67-
.with { |req| JSON.parse(req.body)["purl"].size == 50 }
66+
stub_request(:post, "https://packages.ecosyste.ms/api/v1/packages/bulk_lookup")
67+
.with { |req| JSON.parse(req.body)["purls"].size == 50 }
6868
.to_return(
6969
status: 200,
7070
body: (101..150).map { |i| { "purl" => "pkg:npm/package-#{i}", "name" => "package-#{i}" } }.to_json,
@@ -77,8 +77,8 @@ def test_bulk_lookup_batches_large_requests
7777
end
7878

7979
def test_lookup_single_package
80-
stub_request(:post, "https://packages.ecosyste.ms/api/v1/packages/lookup")
81-
.with(body: { purl: ["pkg:gem/rails"] }.to_json)
80+
stub_request(:post, "https://packages.ecosyste.ms/api/v1/packages/bulk_lookup")
81+
.with(body: { purls: ["pkg:gem/rails"] }.to_json)
8282
.to_return(
8383
status: 200,
8484
body: [{ "purl" => "pkg:gem/rails", "latest_release_number" => "7.1.0" }].to_json,
@@ -91,7 +91,7 @@ def test_lookup_single_package
9191
end
9292

9393
def test_lookup_returns_nil_for_not_found
94-
stub_request(:post, "https://packages.ecosyste.ms/api/v1/packages/lookup")
94+
stub_request(:post, "https://packages.ecosyste.ms/api/v1/packages/bulk_lookup")
9595
.to_return(status: 404)
9696

9797
result = @client.lookup("pkg:gem/nonexistent")
@@ -100,7 +100,7 @@ def test_lookup_returns_nil_for_not_found
100100
end
101101

102102
def test_api_error_on_failure
103-
stub_request(:post, "https://packages.ecosyste.ms/api/v1/packages/lookup")
103+
stub_request(:post, "https://packages.ecosyste.ms/api/v1/packages/bulk_lookup")
104104
.to_return(status: 500, body: "Internal Server Error")
105105

106106
assert_raises(Git::Pkgs::EcosystemsClient::ApiError) do
@@ -109,7 +109,7 @@ def test_api_error_on_failure
109109
end
110110

111111
def test_api_error_on_timeout
112-
stub_request(:post, "https://packages.ecosyste.ms/api/v1/packages/lookup")
112+
stub_request(:post, "https://packages.ecosyste.ms/api/v1/packages/bulk_lookup")
113113
.to_timeout
114114

115115
assert_raises(Git::Pkgs::EcosystemsClient::ApiError) do

test/git/pkgs/test_licenses_command.rb

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ def test_licenses_stateless_basic
9494
JSON
9595
commit("Add package-lock.json")
9696

97-
stub_request(:post, "https://packages.ecosyste.ms/api/v1/packages/lookup")
97+
stub_request(:post, "https://packages.ecosyste.ms/api/v1/packages/bulk_lookup")
9898
.to_return(
9999
status: 200,
100100
body: [
@@ -129,7 +129,7 @@ def test_licenses_json_format
129129
JSON
130130
commit("Add package-lock.json")
131131

132-
stub_request(:post, "https://packages.ecosyste.ms/api/v1/packages/lookup")
132+
stub_request(:post, "https://packages.ecosyste.ms/api/v1/packages/bulk_lookup")
133133
.to_return(
134134
status: 200,
135135
body: [{ "purl" => "pkg:npm/lodash", "normalized_licenses" => ["MIT"] }].to_json,
@@ -162,7 +162,7 @@ def test_licenses_csv_format
162162
JSON
163163
commit("Add package-lock.json")
164164

165-
stub_request(:post, "https://packages.ecosyste.ms/api/v1/packages/lookup")
165+
stub_request(:post, "https://packages.ecosyste.ms/api/v1/packages/bulk_lookup")
166166
.to_return(
167167
status: 200,
168168
body: [{ "purl" => "pkg:npm/lodash", "normalized_licenses" => ["MIT"] }].to_json,
@@ -194,7 +194,7 @@ def test_licenses_exits_nonzero_on_violation
194194
JSON
195195
commit("Add package-lock.json")
196196

197-
stub_request(:post, "https://packages.ecosyste.ms/api/v1/packages/lookup")
197+
stub_request(:post, "https://packages.ecosyste.ms/api/v1/packages/bulk_lookup")
198198
.to_return(
199199
status: 200,
200200
body: [{ "purl" => "pkg:npm/gpl-package", "normalized_licenses" => ["GPL-3.0"] }].to_json,
@@ -224,7 +224,7 @@ def test_licenses_grouped_output
224224
JSON
225225
commit("Add package-lock.json")
226226

227-
stub_request(:post, "https://packages.ecosyste.ms/api/v1/packages/lookup")
227+
stub_request(:post, "https://packages.ecosyste.ms/api/v1/packages/bulk_lookup")
228228
.to_return(
229229
status: 200,
230230
body: [

test/git/pkgs/test_outdated_command.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ def test_outdated_stateless_with_lockfile
8585
commit("Add package-lock.json")
8686

8787
# Stub the ecosystems API
88-
stub_request(:post, "https://packages.ecosyste.ms/api/v1/packages/lookup")
88+
stub_request(:post, "https://packages.ecosyste.ms/api/v1/packages/bulk_lookup")
8989
.to_return(
9090
status: 200,
9191
body: [
@@ -130,7 +130,7 @@ def test_outdated_major_only_filter
130130
JSON
131131
commit("Add package-lock.json")
132132

133-
stub_request(:post, "https://packages.ecosyste.ms/api/v1/packages/lookup")
133+
stub_request(:post, "https://packages.ecosyste.ms/api/v1/packages/bulk_lookup")
134134
.to_return(
135135
status: 200,
136136
body: [
@@ -164,7 +164,7 @@ def test_outdated_json_format
164164
JSON
165165
commit("Add package-lock.json")
166166

167-
stub_request(:post, "https://packages.ecosyste.ms/api/v1/packages/lookup")
167+
stub_request(:post, "https://packages.ecosyste.ms/api/v1/packages/bulk_lookup")
168168
.to_return(
169169
status: 200,
170170
body: [{ "purl" => "pkg:npm/lodash", "latest_release_number" => "4.17.21" }].to_json,
@@ -198,7 +198,7 @@ def test_outdated_all_up_to_date
198198
JSON
199199
commit("Add package-lock.json")
200200

201-
stub_request(:post, "https://packages.ecosyste.ms/api/v1/packages/lookup")
201+
stub_request(:post, "https://packages.ecosyste.ms/api/v1/packages/bulk_lookup")
202202
.to_return(
203203
status: 200,
204204
body: [{ "purl" => "pkg:npm/lodash", "latest_release_number" => "4.17.21" }].to_json,

0 commit comments

Comments
 (0)