Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-08-25 06:10:50 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-08-25 06:10:50 +0300
commitc9c77a8466e7cc2b88b6c8ae54365b4123caa2d0 (patch)
tree8653712d23b13b6785df84ff87e1ed1ffb096bbe /spec/presenters
parent06528399ad1a7fd6a08d79bb54b656a595050d7e (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/presenters')
-rw-r--r--spec/presenters/packages/conan/package_presenter_spec.rb58
1 files changed, 18 insertions, 40 deletions
diff --git a/spec/presenters/packages/conan/package_presenter_spec.rb b/spec/presenters/packages/conan/package_presenter_spec.rb
index 3bc649c5da4..61787f5870e 100644
--- a/spec/presenters/packages/conan/package_presenter_spec.rb
+++ b/spec/presenters/packages/conan/package_presenter_spec.rb
@@ -4,34 +4,20 @@ require 'spec_helper'
RSpec.describe ::Packages::Conan::PackagePresenter do
let_it_be(:user) { create(:user) }
- let_it_be(:project) { create(:project) }
+ let_it_be(:package) { create(:conan_package) }
+ let_it_be(:project) { package.project }
let_it_be(:conan_package_reference) { '123456789'}
- RSpec.shared_examples 'not selecting a package with the wrong type' do
- context 'with a nuget package with same name and version' do
- let_it_be(:wrong_package) { create(:nuget_package, name: 'wrong', version: '1.0.0', project: project) }
-
- let(:recipe) { "#{wrong_package.name}/#{wrong_package.version}" }
-
- it { is_expected.to be_empty }
- end
- end
-
describe '#recipe_urls' do
- subject { described_class.new(recipe, user, project).recipe_urls }
+ subject { described_class.new(package, user, project).recipe_urls }
context 'no existing package' do
- let(:recipe) { "my-pkg/v1.0.0/#{project.full_path}/stable" }
+ let(:package) { nil }
it { is_expected.to be_empty }
end
- it_behaves_like 'not selecting a package with the wrong type'
-
context 'existing package' do
- let(:package) { create(:conan_package, project: project) }
- let(:recipe) { package.conan_recipe }
-
let(:expected_result) do
{
"conanfile.py" => "#{Settings.build_base_gitlab_url}/api/v4/packages/conan/v1/files/#{package.conan_recipe_path}/0/export/conanfile.py",
@@ -40,24 +26,26 @@ RSpec.describe ::Packages::Conan::PackagePresenter do
end
it { is_expected.to eq(expected_result) }
+
+ context 'when there are multiple channels for the same package' do
+ let(:conan_metadatum) { create(:conan_metadatum, package_channel: 'newest' ) }
+ let!(:newest_package) { create(:conan_package, name: package.name, version: package.version, project: project, conan_metadatum: conan_metadatum) }
+
+ it { is_expected.to eq(expected_result) }
+ end
end
end
describe '#recipe_snapshot' do
- subject { described_class.new(recipe, user, project).recipe_snapshot }
+ subject { described_class.new(package, user, project).recipe_snapshot }
context 'no existing package' do
- let(:recipe) { "my-pkg/v1.0.0/#{project.full_path}/stable" }
+ let(:package) { nil }
it { is_expected.to be_empty }
end
- it_behaves_like 'not selecting a package with the wrong type'
-
context 'existing package' do
- let(:package) { create(:conan_package, project: project) }
- let(:recipe) { package.conan_recipe }
-
let(:expected_result) do
{
"conanfile.py" => '12345abcde',
@@ -74,22 +62,17 @@ RSpec.describe ::Packages::Conan::PackagePresenter do
subject do
described_class.new(
- recipe, user, project, conan_package_reference: reference
+ package, user, project, conan_package_reference: reference
).package_urls
end
context 'no existing package' do
- let(:recipe) { "my-pkg/v1.0.0/#{project.full_path}/stable" }
+ let(:package) { nil }
it { is_expected.to be_empty }
end
- it_behaves_like 'not selecting a package with the wrong type'
-
context 'existing package' do
- let(:package) { create(:conan_package, project: project) }
- let(:recipe) { package.conan_recipe }
-
let(:expected_result) do
{
"conaninfo.txt" => "#{Settings.build_base_gitlab_url}/api/v4/packages/conan/v1/files/#{package.conan_recipe_path}/0/package/#{conan_package_reference}/0/conaninfo.txt",
@@ -131,7 +114,7 @@ RSpec.describe ::Packages::Conan::PackagePresenter do
it 'returns empty if the reference does not exist' do
result = described_class.new(
- recipe, user, project, conan_package_reference: 'doesnotexist'
+ package, user, project, conan_package_reference: 'doesnotexist'
).package_urls
expect(result).to eq({})
@@ -145,22 +128,17 @@ RSpec.describe ::Packages::Conan::PackagePresenter do
subject do
described_class.new(
- recipe, user, project, conan_package_reference: reference
+ package, user, project, conan_package_reference: reference
).package_snapshot
end
context 'no existing package' do
- let(:recipe) { "my-pkg/v1.0.0/#{project.full_path}/stable" }
+ let(:package) { nil }
it { is_expected.to be_empty }
end
- it_behaves_like 'not selecting a package with the wrong type'
-
context 'existing package' do
- let(:package) { create(:conan_package, project: project) }
- let(:recipe) { package.conan_recipe }
-
let(:expected_result) do
{
"conaninfo.txt" => '12345abcde',