summaryrefslogtreecommitdiff
path: root/spec/integration/python/pipenv_spec.rb
diff options
context:
space:
mode:
authormo khan <mo.khan@gmail.com>2020-01-15 15:30:44 -0700
committermo khan <mo.khan@gmail.com>2020-01-15 15:30:44 -0700
commit06d2844938465c84f908139db7e7a3abc4e3cd6d (patch)
tree4890b005e56689100b72abe59c4569e13ca5aa3a /spec/integration/python/pipenv_spec.rb
parent3e9bbcd897812e64d3a356dcd5806baeec198d65 (diff)
Parse version 5 of the pipfile.lock
Diffstat (limited to 'spec/integration/python/pipenv_spec.rb')
-rw-r--r--spec/integration/python/pipenv_spec.rb49
1 files changed, 49 insertions, 0 deletions
diff --git a/spec/integration/python/pipenv_spec.rb b/spec/integration/python/pipenv_spec.rb
index 2756f6b..4d6559c 100644
--- a/spec/integration/python/pipenv_spec.rb
+++ b/spec/integration/python/pipenv_spec.rb
@@ -75,4 +75,53 @@ RSpec.describe "pipenv" do
expect(report[:dependencies].count).to eql(18)
end
end
+
+ context "when a project depends on a version 5 Pipfile.lock" do
+ let(:pipfile_lock_content) do
+ JSON.pretty_generate({
+ "_meta": {
+ "hash": { "sha256": "" },
+ "host-environment-markers": {
+ "implementation_name": "cpython",
+ "implementation_version": "3.6.1",
+ "os_name": "posix",
+ "platform_machine": "x86_64",
+ "platform_python_implementation": "CPython",
+ "platform_release": "16.7.0",
+ "platform_system": "Darwin",
+ "platform_version": "Darwin Kernel Version 16.7.0: Thu Jun 15 17:36:27 PDT 2017; root:xnu-3789.70.16~2/RELEASE_X86_64",
+ "python_full_version": "3.6.1",
+ "python_version": "3.6",
+ "sys_platform": "darwin"
+ },
+ "pipfile-spec": 5,
+ "requires": {},
+ "sources": [{ "name": "pypi", "url": "https://pypi.python.org/simple", "verify_ssl": true }]
+ },
+ "default": {
+ "certifi": { "hashes": ["", ""], "version": "==2017.7.27.1" },
+ "chardet": { "hashes": ["", ""], "version": "==3.0.4" },
+ "idna": { "hashes": ["", ""], "version": "==2.6" },
+ "requests": { "hashes": ["", ""], "version": "==2.18.4" },
+ "urllib3": { "hashes": ["", ""], "version": "==1.22" }
+ },
+ "develop": {
+ "py": { "hashes": ["", ""], "version": "==1.4.34" },
+ "pytest": { "hashes": ["", ""], "version": "==3.2.2" }
+ }
+ })
+ end
+
+ it 'produces a valid report' do
+ runner.add_file('Pipfile.lock', pipfile_lock_content)
+
+ report = runner.scan
+
+ expect(report).to match_schema(version: '2.0')
+ expect(report).not_to be_empty
+ expect(report[:version]).not_to be_empty
+ expect(report[:licenses]).not_to be_empty
+ expect(report[:dependencies].count).to eql(7)
+ end
+ end
end