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
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2016-01-12 17:16:16 +0300
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2016-01-14 14:48:16 +0300
commit6d7a77074fcdd57ccdc33e3cb39146da4afdc0f4 (patch)
tree1b6be1d49e7642afb71cb7fe913f24fff10b806c /features
parente8995f9fd5c12882eafcf3766627f64a3d6f623d (diff)
Add specs for endpoint meant to be accelerated by workhorse
Diffstat (limited to 'features')
-rw-r--r--features/project/builds.feature8
-rw-r--r--features/steps/project/builds.rb11
2 files changed, 19 insertions, 0 deletions
diff --git a/features/project/builds.feature b/features/project/builds.feature
index e7626222f7f..c00b0a7ae07 100644
--- a/features/project/builds.feature
+++ b/features/project/builds.feature
@@ -48,3 +48,11 @@ Feature: Project Builds
And I click artifacts browse button
And I navigate to parent directory of directory with invalid name
Then I should not see directory with invalid name on the list
+
+ Scenario: I download a single file from build artifacts
+ Given recent build has artifacts available
+ And recent build has artifacts metadata available
+ When I visit recent build summary page
+ And I click artifacts browse button
+ And I click download button for a file within build artifacts
+ Then download of a file extracted from build artifacts should start
diff --git a/features/steps/project/builds.rb b/features/steps/project/builds.rb
index 12d0dd24427..5702496ac84 100644
--- a/features/steps/project/builds.rb
+++ b/features/steps/project/builds.rb
@@ -75,4 +75,15 @@ class Spinach::Features::ProjectBuilds < Spinach::FeatureSteps
expect(page).to have_no_content('non-utf8-dir')
end
end
+
+ step 'I click download button for a file within build artifacts' do
+ page.within('.tree-table') { first('.artifact-download').click }
+ end
+
+ step 'download of a file extracted from build artifacts should start' do
+ # this will be accelerated by Workhorse
+ response_json = JSON.parse(page.body, symbolize_names: true)
+ expect(response_json[:archive]).to end_with('build_artifacts.zip')
+ expect(response_json[:path]).to eq Base64.encode64('ci_artifacts.txt')
+ end
end