summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab
diff options
context:
space:
mode:
authorWill Chandler <wchandler@gitlab.com>2019-09-06 08:33:18 +0000
committerThong Kuah <tkuah@gitlab.com>2019-09-06 08:33:18 +0000
commit525449d7ce79c8c538db17c48399e93ee874d289 (patch)
treed4565b62fe3b33054087dd4cf236615a172fb599 /spec/lib/gitlab
parent6def5bd66b04f887dd0d24ae4030ec86195ff7cb (diff)
downloadgitlab-ce-525449d7ce79c8c538db17c48399e93ee874d289.tar.gz
Stop empty external auth classification labels overriding default labels
Most of the project templates bundled with GitLab have an empty string set for `external_authorization_classification_label` in their `project.json`. When imported this overrides the default label set on the instance, causing the label to appear empty. This change sets empty labels to nil during import, allowing the default label to override it and be applied to the project.
Diffstat (limited to 'spec/lib/gitlab')
-rw-r--r--spec/lib/gitlab/import_export/project_tree_restorer_spec.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/spec/lib/gitlab/import_export/project_tree_restorer_spec.rb b/spec/lib/gitlab/import_export/project_tree_restorer_spec.rb
index 0aef4887c75..87be7857e67 100644
--- a/spec/lib/gitlab/import_export/project_tree_restorer_spec.rb
+++ b/spec/lib/gitlab/import_export/project_tree_restorer_spec.rb
@@ -512,6 +512,24 @@ describe Gitlab::ImportExport::ProjectTreeRestorer do
expect(Milestone.find_by_title('Group-level milestone').iid).to eq(2)
end
end
+
+ context 'with external authorization classification labels' do
+ it 'converts empty external classification authorization labels to nil' do
+ project.create_import_data(data: { override_params: { external_authorization_classification_label: "" } })
+
+ restored_project_json
+
+ expect(project.external_authorization_classification_label).to be_nil
+ end
+
+ it 'preserves valid external classification authorization labels' do
+ project.create_import_data(data: { override_params: { external_authorization_classification_label: "foobar" } })
+
+ restored_project_json
+
+ expect(project.external_authorization_classification_label).to eq("foobar")
+ end
+ end
end
describe '#restored_project' do