summaryrefslogtreecommitdiff
path: root/spec/support/shared_examples/lib
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-05-19 15:44:42 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2021-05-19 15:44:42 +0000
commit4555e1b21c365ed8303ffb7a3325d773c9b8bf31 (patch)
tree5423a1c7516cffe36384133ade12572cf709398d /spec/support/shared_examples/lib
parente570267f2f6b326480d284e0164a6464ba4081bc (diff)
downloadgitlab-ce-4555e1b21c365ed8303ffb7a3325d773c9b8bf31.tar.gz
Add latest changes from gitlab-org/gitlab@13-12-stable-eev13.12.0-rc42
Diffstat (limited to 'spec/support/shared_examples/lib')
-rw-r--r--spec/support/shared_examples/lib/gitlab/diff_file_collections_shared_examples.rb10
-rw-r--r--spec/support/shared_examples/lib/gitlab/jwt_token_shared_examples.rb49
-rw-r--r--spec/support/shared_examples/lib/gitlab/sql/set_operator_shared_examples.rb2
3 files changed, 50 insertions, 11 deletions
diff --git a/spec/support/shared_examples/lib/gitlab/diff_file_collections_shared_examples.rb b/spec/support/shared_examples/lib/gitlab/diff_file_collections_shared_examples.rb
index c9e03ced0dd..1f7325df11a 100644
--- a/spec/support/shared_examples/lib/gitlab/diff_file_collections_shared_examples.rb
+++ b/spec/support/shared_examples/lib/gitlab/diff_file_collections_shared_examples.rb
@@ -166,16 +166,6 @@ shared_examples_for 'sortable diff files' do
it 'returns sorted diff files' do
expect(raw_diff_files_paths).to eq(sorted_diff_files_paths)
end
-
- context 'when sort_diffs feature flag is disabled' do
- before do
- stub_feature_flags(sort_diffs: false)
- end
-
- it 'returns unsorted diff files' do
- expect(raw_diff_files_paths).to eq(unsorted_diff_files_paths)
- end
- end
end
end
end
diff --git a/spec/support/shared_examples/lib/gitlab/jwt_token_shared_examples.rb b/spec/support/shared_examples/lib/gitlab/jwt_token_shared_examples.rb
new file mode 100644
index 00000000000..5c92bb3b0d4
--- /dev/null
+++ b/spec/support/shared_examples/lib/gitlab/jwt_token_shared_examples.rb
@@ -0,0 +1,49 @@
+# frozen_string_literal: true
+
+RSpec.shared_examples 'a gitlab jwt token' do
+ let_it_be(:base_secret) { SecureRandom.base64(64) }
+
+ let(:jwt_secret) do
+ OpenSSL::HMAC.hexdigest(
+ 'SHA256',
+ base_secret,
+ described_class::HMAC_KEY
+ )
+ end
+
+ before do
+ allow(Settings).to receive(:attr_encrypted_db_key_base).and_return(base_secret)
+ end
+
+ describe '#secret' do
+ subject { described_class.secret }
+
+ it { is_expected.to eq(jwt_secret) }
+ end
+
+ describe '#decode' do
+ let(:encoded_jwt_token) { jwt_token.encoded }
+
+ subject(:decoded_jwt_token) { described_class.decode(encoded_jwt_token) }
+
+ context 'with a custom payload' do
+ let(:personal_access_token) { create(:personal_access_token) }
+ let(:jwt_token) { described_class.new.tap { |jwt_token| jwt_token['token'] = personal_access_token.token } }
+
+ it 'returns the correct token' do
+ expect(decoded_jwt_token['token']).to eq jwt_token['token']
+ end
+
+ it 'returns nil and logs the exception after expiration' do
+ travel_to((described_class::HMAC_EXPIRES_IN + 1.minute).ago) do
+ encoded_jwt_token
+ end
+
+ expect(Gitlab::ErrorTracking).to receive(:track_exception)
+ .with(instance_of(JWT::ExpiredSignature))
+
+ expect(decoded_jwt_token).to be_nil
+ end
+ end
+ end
+end
diff --git a/spec/support/shared_examples/lib/gitlab/sql/set_operator_shared_examples.rb b/spec/support/shared_examples/lib/gitlab/sql/set_operator_shared_examples.rb
index aa6a51c3646..8d758ed1655 100644
--- a/spec/support/shared_examples/lib/gitlab/sql/set_operator_shared_examples.rb
+++ b/spec/support/shared_examples/lib/gitlab/sql/set_operator_shared_examples.rb
@@ -21,7 +21,7 @@ RSpec.shared_examples 'SQL set operator' do |operator_keyword|
expect(set_operator.to_sql).to eq("(#{to_sql(relation_1)})\n#{operator_keyword}\n(#{to_sql(relation_2)})")
end
- it 'skips Model.none segements' do
+ it 'skips Model.none segments' do
empty_relation = User.none
set_operator = described_class.new([empty_relation, relation_1, relation_2])