test: add spdx spec

This commit is contained in:
Seeker 2020-08-06 11:12:43 -07:00
parent 753b8621df
commit 6ecef73131
2 changed files with 34 additions and 2 deletions

View File

@ -0,0 +1,32 @@
# frozen_string_literal: true
require "utils/spdx"
describe SPDX do
describe ".spdx_data" do
it "has the license list version" do
expect(described_class.spdx_data["licenseListVersion"]).not_to eq(nil)
end
it "has the release date" do
expect(described_class.spdx_data["releaseDate"]).not_to eq(nil)
end
it "has licenses" do
expect(described_class.spdx_data["licenses"].length).not_to eq(0)
end
end
describe ".download_latest_license_data!", :needs_network do
let(:tmp_json_path) { Pathname.new("#{TEST_TMPDIR}/spdx.json") }
after do
FileUtils.rm tmp_json_path
end
it "downloads latest license data" do
described_class.download_latest_license_data! to: tmp_json_path
expect(tmp_json_path).to exist
end
end
end

View File

@ -12,9 +12,9 @@ module SPDX
@spdx_data ||= JSON.parse(JSON_PATH.read) @spdx_data ||= JSON.parse(JSON_PATH.read)
end end
def download_latest_license_data! def download_latest_license_data!(to: JSON_PATH)
latest_tag = GitHub.open_api(API_URL)["tag_name"] latest_tag = GitHub.open_api(API_URL)["tag_name"]
data_url = "https://raw.githubusercontent.com/spdx/license-list-data/#{latest_tag}/json/licenses.json" data_url = "https://raw.githubusercontent.com/spdx/license-list-data/#{latest_tag}/json/licenses.json"
curl_download(data_url, to: JSON_PATH, partial: false) curl_download(data_url, to: to, partial: false)
end end
end end