summaryrefslogtreecommitdiff
path: root/spec/integration/python/pip_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/integration/python/pip_spec.rb')
-rw-r--r--spec/integration/python/pip_spec.rb32
1 files changed, 31 insertions, 1 deletions
diff --git a/spec/integration/python/pip_spec.rb b/spec/integration/python/pip_spec.rb
index 2183dd1..8e3ec3d 100644
--- a/spec/integration/python/pip_spec.rb
+++ b/spec/integration/python/pip_spec.rb
@@ -24,7 +24,6 @@ RSpec.describe "pip" do
'jsonschema>=3.0.0',
'python-json-logger>=0.1.10',
'sentry-sdk>=0.7.7',
- 'https://s3-eu-west-1.amazonaws.com/new10-pypi/new10-logging-1.1.4.tar.gz',
'ptvsd',
'pylint',
'flake8',
@@ -127,4 +126,35 @@ RSpec.describe "pip" do
expect(report[:dependencies]).to be_empty
end
end
+
+ context "when connecting to a private package repository with self signed certificate" do
+ let(:index_url) { "https://#{private_pypi_host}/simple" }
+ let(:bundle) { fixture_file_content('python/pypi.crt') }
+
+ before do
+ runner.add_file('setup.py') do
+ <<~RAW
+from setuptools import setup, find_packages
+
+setup(
+ name='gitlab-sp-test-python-pip',
+ version='1.2.0',
+ packages=find_packages(),
+ install_requires=['requests'],
+)
+ RAW
+ end
+ end
+
+ it 'downloads the packages and trusts the certificate' do
+ report = runner.scan(env: {
+ 'ADDITIONAL_CA_CERT_BUNDLE' => bundle,
+ 'PIP_INDEX_URL' => index_url
+ })
+
+ expect(report).to match_schema(version: '2.0')
+ expect(report.dependency_names).to include('requests')
+ expect(report.licenses_for('requests')).to match_array(['Apache-2.0'])
+ end
+ end
end