Add feature tests for uploads
What does this MR do?
Related issue: #213342 (closed)
This MR was extracted from !33277 (merged). Please read !33277 (merged) for a better context and design choices around these feature tests.
This MR adds features test for uploads. Due to #199431 (closed), Workhorse runs inline with the feature tests. For uploads, it means that we can properly test all the
The added test of this MR go through a mix of conditions:
- upload to a Rails controller
- upload using GraphQL
- upload with an additional processing from Workhorse (CI artifact upload is an example)
- upload to an API endpoint (Grape).
Being an MR solely adding spec examples, we didn't create a changelog entry.
Screenshots
$ rspec spec/features/file_uploads/
Running via Spring preloader in process 43236
Run options: include {:focus=>true}
All examples were filtered out; ignoring {:focus=>true}
Starting the Capybara driver server...
Capybara starting Puma...
* Version 4.3.3.gitlab.2 , codename: Mysterious Traveller
* Min threads: 0, max threads: 4
* Listening on unix:///var/folders/7v/6md194vn3_q5rp4q4yhg0ycr0000gn/T/20200820-43236-2t4iiw
...............
Finished in 1 minute 44.31 seconds (files took 3.15 seconds to load)
15 examples, 0 failures
Does this MR meet the acceptance criteria?
Conformity
-
Changelog entry -
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers -
Informed Infrastructure department of a default or new setting change, if applicable per definition of done
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
-
Label as security and @ mention @gitlab-com/gl-security/appsec
-
The MR includes necessary changes to maintain consistency between UI, API, email, or other methods -
Security reports checked/validated by a reviewer from the AppSec team
Edited by David Fernandez