summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShinya Maeda <shinya@gitlab.com>2018-05-11 15:34:36 +0900
committerShinya Maeda <shinya@gitlab.com>2018-05-11 15:34:36 +0900
commit910a7d02a812b1203e320d843a77cad2c7069b63 (patch)
tree59896b9a8f57b94710d2f3cf15af74128c7fbd5e
parent9ccfcf55ba684a4c7b1dfec761e3481f74b746b0 (diff)
downloadgitlab-ce-910a7d02a812b1203e320d843a77cad2c7069b63.tar.gz
Remove numericality as it's redandant with integer column and validates nil IID
-rw-r--r--app/models/concerns/atomic_internal_id.rb2
-rw-r--r--spec/lib/gitlab/import_export/safe_model_attributes.yml1
-rw-r--r--spec/models/ci/build_spec.rb1
-rw-r--r--spec/support/shared_examples/models/atomic_internal_id_spec.rb3
4 files changed, 4 insertions, 3 deletions
diff --git a/app/models/concerns/atomic_internal_id.rb b/app/models/concerns/atomic_internal_id.rb
index 876dd0ee1f2..164c704260e 100644
--- a/app/models/concerns/atomic_internal_id.rb
+++ b/app/models/concerns/atomic_internal_id.rb
@@ -27,7 +27,7 @@ module AtomicInternalId
module ClassMethods
def has_internal_id(column, scope:, init:, presence: true) # rubocop:disable Naming/PredicateName
before_validation :"ensure_#{scope}_#{column}!", on: :create
- validates column, presence: presence, numericality: true
+ validates column, presence: presence
define_method("ensure_#{scope}_#{column}!") do
scope_value = association(scope).reader
diff --git a/spec/lib/gitlab/import_export/safe_model_attributes.yml b/spec/lib/gitlab/import_export/safe_model_attributes.yml
index 62da967cf96..2619c6a10d8 100644
--- a/spec/lib/gitlab/import_export/safe_model_attributes.yml
+++ b/spec/lib/gitlab/import_export/safe_model_attributes.yml
@@ -228,6 +228,7 @@ Ci::Pipeline:
- config_source
- failure_reason
- protected
+- iid
Ci::Stage:
- id
- name
diff --git a/spec/models/ci/build_spec.rb b/spec/models/ci/build_spec.rb
index dc810489011..490b1f0b54e 100644
--- a/spec/models/ci/build_spec.rb
+++ b/spec/models/ci/build_spec.rb
@@ -1517,6 +1517,7 @@ describe Ci::Build do
{ key: 'CI_PROJECT_URL', value: project.web_url, public: true },
{ key: 'CI_PROJECT_VISIBILITY', value: 'private', public: true },
{ key: 'CI_PIPELINE_ID', value: pipeline.id.to_s, public: true },
+ { key: 'CI_PIPELINE_IID', value: pipeline.iid.to_s, public: true },
{ key: 'CI_CONFIG_PATH', value: pipeline.ci_yaml_file_path, public: true },
{ key: 'CI_PIPELINE_SOURCE', value: pipeline.source, public: true },
{ key: 'CI_COMMIT_MESSAGE', value: pipeline.git_commit_message, public: true },
diff --git a/spec/support/shared_examples/models/atomic_internal_id_spec.rb b/spec/support/shared_examples/models/atomic_internal_id_spec.rb
index cd6465675b5..ac1cfa47def 100644
--- a/spec/support/shared_examples/models/atomic_internal_id_spec.rb
+++ b/spec/support/shared_examples/models/atomic_internal_id_spec.rb
@@ -12,14 +12,13 @@ shared_examples_for 'AtomicInternalId' do
describe 'Validation' do
before do
- allow_any_instance_of(described_class).to receive(:ensure_iid!) {}
+ allow_any_instance_of(described_class).to receive(:"ensure_#{scope_attrs.keys.first}_#{internal_id_attribute}!") {}
end
it 'validates presence' do
instance.valid?
expect(instance.errors[:iid]).to include("can't be blank") if validate_presence
- expect(instance.errors[:iid]).to include("is not a number") # numericality
end
end