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:
Diffstat (limited to 'spec/models/ci/trigger_spec.rb')
-rw-r--r--spec/models/ci/trigger_spec.rb38
1 files changed, 37 insertions, 1 deletions
diff --git a/spec/models/ci/trigger_spec.rb b/spec/models/ci/trigger_spec.rb
index 8517e583ec7..5eef719ae0c 100644
--- a/spec/models/ci/trigger_spec.rb
+++ b/spec/models/ci/trigger_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe Ci::Trigger do
+RSpec.describe Ci::Trigger, feature_category: :continuous_integration do
let(:project) { create :project }
describe 'associations' do
@@ -86,4 +86,40 @@ RSpec.describe Ci::Trigger do
let!(:model) { create(:ci_trigger, project: parent) }
end
end
+
+ describe 'encrypted_token' do
+ context 'when token is not provided' do
+ it 'encrypts the generated token' do
+ trigger = create(:ci_trigger_without_token, project: project)
+
+ expect(trigger.token).not_to be_nil
+ expect(trigger.encrypted_token).not_to be_nil
+ expect(trigger.encrypted_token_iv).not_to be_nil
+
+ expect(trigger.reload.encrypted_token_tmp).to eq(trigger.token)
+ end
+ end
+
+ context 'when token is provided' do
+ it 'encrypts the given token' do
+ trigger = create(:ci_trigger, project: project)
+
+ expect(trigger.token).not_to be_nil
+ expect(trigger.encrypted_token).not_to be_nil
+ expect(trigger.encrypted_token_iv).not_to be_nil
+
+ expect(trigger.reload.encrypted_token_tmp).to eq(trigger.token)
+ end
+ end
+
+ context 'when token is being updated' do
+ it 'encrypts the given token' do
+ trigger = create(:ci_trigger, project: project, token: "token")
+ expect { trigger.update!(token: "new token") }
+ .to change { trigger.encrypted_token }
+ .and change { trigger.encrypted_token_iv }
+ .and change { trigger.encrypted_token_tmp }.from("token").to("new token")
+ end
+ end
+ end
end