Commit 958021a7 authored by Kamil Trzciński's avatar Kamil Trzciński

Merge branch 'support-dot-in-variables-masking' into 'master'

Add support for dot (.) in variables masking

Closes #37469

See merge request gitlab-org/gitlab!29022
parents 18071fe1 6db05b3e
...@@ -9,9 +9,9 @@ module Ci ...@@ -9,9 +9,9 @@ module Ci
# * No variables # * No variables
# * No spaces # * No spaces
# * Minimal length of 8 characters # * Minimal length of 8 characters
# * Characters must be from the Base64 alphabet (RFC4648) with the addition of @ and : # * Characters must be from the Base64 alphabet (RFC4648) with the addition of '@', ':' and '.'
# * Absolutely no fun is allowed # * Absolutely no fun is allowed
REGEX = /\A[a-zA-Z0-9_+=\/@:-]{8,}\z/.freeze REGEX = /\A[a-zA-Z0-9_+=\/@:.-]{8,}\z/.freeze
included do included do
validates :masked, inclusion: { in: [true, false] } validates :masked, inclusion: { in: [true, false] }
......
---
title: Add support for dot (.) in variables masking
merge_request: 29022
author:
type: changed
...@@ -224,7 +224,7 @@ describe('AjaxFormVariableList', () => { ...@@ -224,7 +224,7 @@ describe('AjaxFormVariableList', () => {
describe('maskableRegex', () => { describe('maskableRegex', () => {
it('takes in the regex provided by the data attribute', () => { it('takes in the regex provided by the data attribute', () => {
expect(container.dataset.maskableRegex).toBe('^[a-zA-Z0-9_+=/@:-]{8,}$'); expect(container.dataset.maskableRegex).toBe('^[a-zA-Z0-9_+=/@:.-]{8,}$');
expect(ajaxVariableList.maskableRegex).toBe(container.dataset.maskableRegex); expect(ajaxVariableList.maskableRegex).toBe(container.dataset.maskableRegex);
}); });
}); });
......
...@@ -162,7 +162,7 @@ describe('VariableList', () => { ...@@ -162,7 +162,7 @@ describe('VariableList', () => {
}); });
it('has a regex provided via a data attribute', () => { it('has a regex provided via a data attribute', () => {
expect($wrapper.attr('data-maskable-regex')).toBe('^[a-zA-Z0-9_+=/@:-]{8,}$'); expect($wrapper.attr('data-maskable-regex')).toBe('^[a-zA-Z0-9_+=/@:.-]{8,}$');
}); });
it('allows values that are 8 characters long', done => { it('allows values that are 8 characters long', done => {
......
...@@ -61,8 +61,12 @@ describe Ci::Maskable do ...@@ -61,8 +61,12 @@ describe Ci::Maskable do
expect(subject.match?(string)).to eq(false) expect(subject.match?(string)).to eq(false)
end end
it 'does not match strings using unsupported characters' do
expect(subject.match?('HelloWorld%#^')).to eq(false)
end
it 'matches valid strings' do it 'matches valid strings' do
expect(subject.match?('helloworld')).to eq(true) expect(subject.match?('Hello+World_123/@:-.')).to eq(true)
end end
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment