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
path: root/spec
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-08-17 00:11:02 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-08-17 00:11:02 +0300
commit587b778d3eaa04e18b3b8e2ecc290156e3e1f93e (patch)
treee879a35a8bbab4cb89395c885460a731a4a1645a /spec
parente684f438e60b801b4eb8b19dd9489dce84503c03 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec')
-rw-r--r--spec/factories/project_error_tracking_settings.rb4
-rw-r--r--spec/frontend/pipelines/pipeline_multi_actions_spec.js8
-rw-r--r--spec/lib/gitlab/ci/reports/security/vulnerability_reports_comparer_spec.rb5
-rw-r--r--spec/migrations/orphaned_invite_tokens_cleanup_spec.rb32
-rw-r--r--spec/models/member_spec.rb18
-rw-r--r--spec/requests/api/error_tracking_collector_spec.rb10
6 files changed, 72 insertions, 5 deletions
diff --git a/spec/factories/project_error_tracking_settings.rb b/spec/factories/project_error_tracking_settings.rb
index e09d58d293f..424f462e1a0 100644
--- a/spec/factories/project_error_tracking_settings.rb
+++ b/spec/factories/project_error_tracking_settings.rb
@@ -12,5 +12,9 @@ FactoryBot.define do
trait :disabled do
enabled { false }
end
+
+ trait :integrated do
+ integrated { true }
+ end
end
end
diff --git a/spec/frontend/pipelines/pipeline_multi_actions_spec.js b/spec/frontend/pipelines/pipeline_multi_actions_spec.js
index 88b3ef2032a..ce33b6011bf 100644
--- a/spec/frontend/pipelines/pipeline_multi_actions_spec.js
+++ b/spec/frontend/pipelines/pipeline_multi_actions_spec.js
@@ -53,6 +53,7 @@ describe('Pipeline Multi Actions Dropdown', () => {
const findDropdown = () => wrapper.findComponent(GlDropdown);
const findAllArtifactItems = () => wrapper.findAllByTestId(artifactItemTestId);
const findFirstArtifactItem = () => wrapper.findByTestId(artifactItemTestId);
+ const findEmptyMessage = () => wrapper.findByTestId('artifacts-empty-message');
beforeEach(() => {
mockAxios = new MockAdapter(axios);
@@ -86,6 +87,7 @@ describe('Pipeline Multi Actions Dropdown', () => {
createComponent({ mockData: { artifacts } });
expect(findAllArtifactItems()).toHaveLength(artifacts.length);
+ expect(findEmptyMessage().exists()).toBe(false);
});
it('should render the correct artifact name and path', () => {
@@ -95,6 +97,12 @@ describe('Pipeline Multi Actions Dropdown', () => {
expect(findFirstArtifactItem().text()).toBe(`Download ${artifacts[0].name} artifact`);
});
+ it('should render empty message when no artifacts are found', () => {
+ createComponent({ mockData: { artifacts: [] } });
+
+ expect(findEmptyMessage().exists()).toBe(true);
+ });
+
describe('with a failing request', () => {
it('should render an error message', async () => {
const endpoint = artifactsEndpoint.replace(artifactsEndpointPlaceholder, pipelineId);
diff --git a/spec/lib/gitlab/ci/reports/security/vulnerability_reports_comparer_spec.rb b/spec/lib/gitlab/ci/reports/security/vulnerability_reports_comparer_spec.rb
index a782c2e8066..44e66fd9028 100644
--- a/spec/lib/gitlab/ci/reports/security/vulnerability_reports_comparer_spec.rb
+++ b/spec/lib/gitlab/ci/reports/security/vulnerability_reports_comparer_spec.rb
@@ -24,12 +24,11 @@ RSpec.describe Gitlab::Ci::Reports::Security::VulnerabilityReportsComparer do
subject { described_class.new(project, base_report, head_report) }
- where(vulnerability_finding_tracking_signatures_enabled: [true, false])
+ where(vulnerability_finding_signatures: [true, false])
with_them do
before do
- stub_feature_flags(vulnerability_finding_tracking_signatures: vulnerability_finding_tracking_signatures_enabled)
- stub_licensed_features(vulnerability_finding_signatures: vulnerability_finding_tracking_signatures_enabled)
+ stub_licensed_features(vulnerability_finding_signatures: vulnerability_finding_signatures)
end
describe '#base_report_out_of_date' do
diff --git a/spec/migrations/orphaned_invite_tokens_cleanup_spec.rb b/spec/migrations/orphaned_invite_tokens_cleanup_spec.rb
new file mode 100644
index 00000000000..889c04700c7
--- /dev/null
+++ b/spec/migrations/orphaned_invite_tokens_cleanup_spec.rb
@@ -0,0 +1,32 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+require_migration! 'orphaned_invite_tokens_cleanup'
+
+RSpec.describe OrphanedInviteTokensCleanup, :migration do
+ def create_member(**extra_attributes)
+ defaults = {
+ access_level: 10,
+ source_id: 1,
+ source_type: "Project",
+ notification_level: 0,
+ type: 'ProjectMember'
+ }
+
+ table(:members).create!(defaults.merge(extra_attributes))
+ end
+
+ describe '#up', :aggregate_failures do
+ it 'removes invite tokens for accepted records with invite_accepted_at < created_at' do
+ record1 = create_member(invite_token: 'foo', invite_accepted_at: 1.day.ago, created_at: 1.hour.ago)
+ record2 = create_member(invite_token: 'foo2', invite_accepted_at: nil, created_at: 1.hour.ago)
+ record3 = create_member(invite_token: 'foo3', invite_accepted_at: 1.day.ago, created_at: 1.year.ago)
+
+ migrate!
+
+ expect(table(:members).find(record1.id).invite_token).to eq nil
+ expect(table(:members).find(record2.id).invite_token).to eq 'foo2'
+ expect(table(:members).find(record3.id).invite_token).to eq 'foo3'
+ end
+ end
+end
diff --git a/spec/models/member_spec.rb b/spec/models/member_spec.rb
index 7ba1fe2965b..067b3c25645 100644
--- a/spec/models/member_spec.rb
+++ b/spec/models/member_spec.rb
@@ -667,7 +667,23 @@ RSpec.describe Member do
let!(:member) { create(:project_member, invite_email: "user@example.com", user: nil) }
it "sets the invite token" do
- expect { member.generate_invite_token }.to change { member.invite_token}
+ expect { member.generate_invite_token }.to change { member.invite_token }
+ end
+ end
+
+ describe 'generate invite token on create' do
+ let!(:member) { build(:project_member, invite_email: "user@example.com") }
+
+ it "sets the invite token" do
+ expect { member.save! }.to change { member.invite_token }.to(kind_of(String))
+ end
+
+ context 'when invite was already accepted' do
+ it "does not set invite token" do
+ member.invite_accepted_at = 1.day.ago
+
+ expect { member.save! }.not_to change { member.invite_token }.from(nil)
+ end
end
end
diff --git a/spec/requests/api/error_tracking_collector_spec.rb b/spec/requests/api/error_tracking_collector_spec.rb
index c83524db6a6..4b186657c4a 100644
--- a/spec/requests/api/error_tracking_collector_spec.rb
+++ b/spec/requests/api/error_tracking_collector_spec.rb
@@ -4,7 +4,7 @@ require 'spec_helper'
RSpec.describe API::ErrorTrackingCollector do
let_it_be(:project) { create(:project, :private) }
- let_it_be(:setting) { create(:project_error_tracking_setting, project: project) }
+ let_it_be(:setting) { create(:project_error_tracking_setting, :integrated, project: project) }
let_it_be(:client_key) { create(:error_tracking_client_key, project: project) }
describe "POST /error_tracking/collector/api/:id/envelope" do
@@ -40,6 +40,14 @@ RSpec.describe API::ErrorTrackingCollector do
it_behaves_like 'not found'
end
+ context 'integrated error tracking is disabled' do
+ before do
+ setting.update!(integrated: false)
+ end
+
+ it_behaves_like 'not found'
+ end
+
context 'feature flag is disabled' do
before do
stub_feature_flags(integrated_error_tracking: false)