diff options
author | Alessio Caiazza <acaiazza@gitlab.com> | 2019-09-10 16:24:10 +0000 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2019-09-10 16:24:10 +0000 |
commit | daf7810e2ee323e39e3cc0b1c6f3fe15a9977a14 (patch) | |
tree | ad30eb329787116653940d22a95cad1e99ebb0ab /spec/rubocop | |
parent | 0078ea44c292cd0e5eb7f4ae52358087c8ee34db (diff) | |
download | gitlab-ce-daf7810e2ee323e39e3cc0b1c6f3fe15a9977a14.tar.gz |
Add Scalability/FileUploads cop
This cop prevents you from using file in API, it points you to the
development documentation about workhorse file acceleration.
Diffstat (limited to 'spec/rubocop')
-rw-r--r-- | spec/rubocop/cop/scalability/file_uploads_spec.rb | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/spec/rubocop/cop/scalability/file_uploads_spec.rb b/spec/rubocop/cop/scalability/file_uploads_spec.rb new file mode 100644 index 00000000000..2a94fde5ba2 --- /dev/null +++ b/spec/rubocop/cop/scalability/file_uploads_spec.rb @@ -0,0 +1,54 @@ +# frozen_string_literal: true + +require 'fast_spec_helper' +require 'rubocop' +require_relative '../../../support/helpers/expect_offense' +require_relative '../../../../rubocop/cop/scalability/file_uploads' + +describe RuboCop::Cop::Scalability::FileUploads do + include CopHelper + include ExpectOffense + + subject(:cop) { described_class.new } + let(:message) { 'Do not upload files without workhorse acceleration. Please refer to https://docs.gitlab.com/ee/development/uploads.html' } + + context 'with required params' do + it 'detects File in types array' do + expect_offense(<<~PATTERN.strip_indent) + params do + requires :certificate, allow_blank: false, types: [String, File] + ^^^^ #{message} + end + PATTERN + end + + it 'detects File as type argument' do + expect_offense(<<~PATTERN.strip_indent) + params do + requires :attachment, type: File + ^^^^ #{message} + end + PATTERN + end + end + + context 'with optional params' do + it 'detects File in types array' do + expect_offense(<<~PATTERN.strip_indent) + params do + optional :certificate, allow_blank: false, types: [String, File] + ^^^^ #{message} + end + PATTERN + end + + it 'detects File as type argument' do + expect_offense(<<~PATTERN.strip_indent) + params do + optional :attachment, type: File + ^^^^ #{message} + end + PATTERN + end + end +end |