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
AgeCommit message (Collapse)Author
2019-08-01Add RSpec/TopLevelDescribePath copSean McGivern
The RSpec/FilePath cop checks that a spec file's path is correct, but only if the file describes a constant. We want to check, for any file with a top-level `describe`, whether the file path ends in `_spec.rb`. We don't care what comes before that; just that it will be executed by RSpec at all.
2019-07-30Extend cop for verifying injecting of EE modulesYorick Peterse
This extends the InjectEnterpriseEditionModule RuboCop cop so that it verifies the following: 1. The line number the injection occurs on (as before). 2. The method used (e.g. prepend instead of prepend_if_ee). 3. The argument type passed when using the new module injection methods.
2019-07-11Change element_with_pattern cop to not use quotesddavison
Using quotes within string validations can be messy. Let's use a typical CSS selector for an unquoted attribute Update the cop spec to validate appropriate new message
2019-07-11Introduce data-qa-selector to supplant .qa-classddavison
In order to break away from using CSS classes as our primary method of element identification, we need to provide the ability to search for data attributes. Make Test::Sanity::Selectors now work Utilize regex to match on literal strings of the element name Suggest the data-qa-selector pattern vs the qa- Add data-qa-selector to login page to start We need a page that is heavily used in order to be confident that this functionality works. Let's start with the Login page Use appropriate HAML data tag practices
2019-07-10Add a rubocop for Rails.loggerMayra Cabrera
Suggests to use a JSON structured log instead Related to https://gitlab.com/gitlab-org/gitlab-ce/issues/54102
2019-06-21Add a cop to ensure we authorize GraphQL typesBob Van Landuyt
2019-05-28Merge branch 'qa-extend-click-visit-actions' into 'master'Dan Davison
Implement dynamic validation on QA Pages Closes gitlab-qa#280 See merge request gitlab-org/gitlab-ce!25704
2019-05-22Link to issue in CodeReuse/ActiveRecord messageLuke Duncalfe
This provides the user with some context as to why certain ActiveRecord methods are blacklisted.
2019-05-20Implement dynamic validation on QA Pagesddavison
Elements now have the ability to be required on pages or not Currently using the default wait mechanism Altered the ElementWithPattern Cop to fit new splat for init
2019-05-05Run rubocop -a on CE filesStan Hu
2019-05-05Upgrade to Rubocop 0.68.1Stan Hu
This adds Ruby 2.6 support.
2019-05-03Cache current working directory to speed up RubocopStan Hu
This saves thousands of getcwd() system calls and improves the performance of running Rubocop, which is also used by HAML linting. Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/61383
2019-04-29Add Rubocop rule to ban include ActionView::ContextStan Hu
2019-04-15Forbid the use of `#reload` and prefer `#reset`Kamil Trzciński
The `#reload` makes to load all objects into memory, and the main purpose of `#reload` is to drop the association cache. The `#reset` seems to solve exactly that case.
2019-03-28Properly handle `ee` migration specsHeinrich Lee Yu
2019-01-16Merge branch 'fix-rubocop-ee-module-injection-detection' into 'master'Rémy Coutable
Fix detecting nested EE constants in RuboCop See merge request gitlab-org/gitlab-ce!24430
2019-01-16Fix detecting nested EE constants in RuboCopYorick Peterse
The InjectEnterpriseEditionModule cop would not detect certain nested EE constants such as `EE::Foo::Bar::Baz`. This could result in it not enforcing `prepend` being placed on the last line. This commit fixes this by just performing a string match on the line, instead of relying on AST matching.
2019-01-16Prevent factories in background migration specsBob Van Landuyt
The Background migration specs also run against a certain version of the database. So we should avoid using factories.
2018-12-13Added Cop for injecting EE modulesYorick Peterse
This Cop enforces the rule that injecting EE modules (using prepend, include, or extend) is done by placing the injection on the last line of a file, instead of somewhere in the middle. By placing these lines at the very end, merge conflicts will not happen.
2018-11-27Make add_reference cop accept a hash for :indexToon Claes
It might happen you want to make the reference column have a unique value, or you want to create partial indexes. So instead of only accepting a `true` value, also accept a hash of options.
2018-11-22Add cop prohibiting params argument in url_forJarka Košanová
2018-10-31Whitelist none method from ActiveRecord::QueryingDouglas Barbosa Alexandre
2018-10-15Add a new QA::ElementWithPattern copRémy Coutable
This cop forbids the use of `element :foo, 'pattern'` and `element :bar, /pattern/` in QA files. Signed-off-by: Rémy Coutable <remy@rymai.me>
2018-09-24Applies the CE backport of EE#657Tiago Botelho
2018-09-21Fix leading slash in redirects and add copSanad Liaquat
2018-09-19Remove unused constantBob Van Landuyt
This removes an unused constant from the `RubyInterpolationInTranslation`. The constant was used in a first implementation of this class.
2018-09-17Added FromUnion to easily select from a UNIONYorick Peterse
This commit adds the module `FromUnion`, which provides the class method `from_union`. This simplifies the process of selecting data from the result of a UNION, and reduces the likelihood of making mistakes. As a result, instead of this: union = Gitlab::SQL::Union.new([foo, bar]) Foo.from("(#{union.to_sql}) #{Foo.table_name}") We can now write this instead: Foo.from_union([foo, bar]) This commit also includes some changes to make this new setup work properly. For example, a bug in Rails 4 (https://github.com/rails/rails/issues/24193) would break the use of `from("sub-query-here").includes(:relation)` in certain cases. There was also a CI query which appeared to repeat a lot of conditions from an outer query on an inner query, which isn't necessary. Finally, we include a RuboCop cop to ensure developers use this new module, instead of using Gitlab::SQL::Union directly. Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/51307
2018-09-11Added RuboCop cops to enforce code reuse rulesYorick Peterse
These Cops enforces the code reuse rules as defined in merge request https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/21254.
2018-09-05Fix LineBreakAroundConditionalBlock cop for a conditional after rescueRobert Speicher
Previously this would violate on the `if`: def a_method do_something rescue if condition do_something end end
2018-08-29Minor renames for clarityJacopo
2018-08-29Handles when ClassMethods is used inside a classJacopo
2018-08-29Fixes rubocop chain ordinary method after safe navigation operatorJacopo
2018-08-29Applies rule only when extending ActiveSupport::ConcernJacopo
2018-08-29Adds Rubocop rule to enforce class_methods over module ClassMethodsJacopo
2018-08-25Reject ruby interpolation in externalized stringsBob Van Landuyt
When using ruby interpolation in externalized strings, they can't be detected. Which means they will never be presented to be translated. To mix variables into translations we need to use `sprintf` instead. Instead of: _("Hello #{subject}") Use: _("Hello %{subject}) % { subject: 'world' }
2018-08-16Blacklist the use of "destroy_all"Yorick Peterse
This method usually has really bad performance implications, as it loads rows into memory and deletes them one by one.
2018-08-09Add rubocop check for add_reference to require index.Andreas Brandl
2018-07-09Update rubocop to get rid of a warning in other MRLin Jen-Shin
2018-06-22Merge branch 'update-large-tables-cop' into 'master'Grzegorz Bizon
Disallow methods that copy data on large tables See merge request gitlab-org/gitlab-ce!20021
2018-06-22Add more large tables to copSean McGivern
These are all over 20 GB on GitLab.com. merge_request_diff_commits is several hundred gigabytes in size.
2018-06-20Add a cop for `FinderMethods`Bob Van Landuyt
This notifies developers when calling `find(_by!)` chained on `execute`. And suggests using the methods from `FinderMethods`. These will perform the correct authorization checks on the resource when it is found.
2018-06-19Disallow methods that copy data on large tablesSean McGivern
{change_column_type,rename_column}_concurrently both copy data from one column to another during a migration, which should not be done on GitLab.com. Instead, we should use background migrations.
2018-05-29Allow comment after if/unless clauseRémy Coutable
Signed-off-by: Rémy Coutable <remy@rymai.me>
2018-04-23Introduce spec/fast_spec_helper.rb to run spec files that don't rely on the ↵Rémy Coutable
whole Rails env Signed-off-by: Rémy Coutable <remy@rymai.me>
2018-04-18Revert the addition of goldiloaderYorick Peterse
This reverts the addition of the "goldiloader" Gem and all use of it. While this Gem is very promising it's causing a variety of problems on GitLab.com due to it eager-loading too much data in places where we don't expect/can handle this. At least for the time being this means we have to go back to manually fixing N+1 query problems, but at least those should not cause a negative impact on availability.
2018-04-18Resolve "Make a Rubocop that forbids returning from a block"🙈 jacopo beschi 🙉
2018-04-09Add cop for has_many :through without disabled autoloadingSean McGivern
Goldiloader is great, but has several issues with has_many :through relations: * https://github.com/salsify/goldiloader/issues/12 * https://github.com/salsify/goldiloader/issues/14 * https://github.com/salsify/goldiloader/issues/18 Rather than try to figure out which applies in each case, we should just do the drudge work of manually disabling autoloading for all relations of this type. We can always use regular preloading for specific cases, but this way we avoid generating invalid queries through Goldiloader's magic.
2018-04-06Introduce a new FactoriesInMigrationSpecs copRémy Coutable
Signed-off-by: Rémy Coutable <remy@rymai.me>
2018-03-21Merge branch 'fj-15329-services-callbacks-ssrf' into 'security-10-6'Douwe Maan
Server Side Request Forgery in Services and Web Hooks See merge request gitlab/gitlabhq!2337
2018-03-08[CE] Add Naming/FileName rule checking expected class/module per filenameGabriel Mazetto