summaryrefslogtreecommitdiff
path: root/spec/features/ci
diff options
context:
space:
mode:
Diffstat (limited to 'spec/features/ci')
-rw-r--r--spec/features/ci/admin/builds_spec.rb11
-rw-r--r--spec/features/ci/admin/runners_spec.rb27
-rw-r--r--spec/features/ci/builds_spec.rb60
-rw-r--r--spec/features/ci/commits_spec.rb69
-rw-r--r--spec/features/ci/events_spec.rb22
-rw-r--r--spec/features/ci/projects_spec.rb38
-rw-r--r--spec/features/ci/runners_spec.rb96
-rw-r--r--spec/features/ci/triggers_spec.rb28
-rw-r--r--spec/features/ci/variables_spec.rb28
9 files changed, 18 insertions, 361 deletions
diff --git a/spec/features/ci/admin/builds_spec.rb b/spec/features/ci/admin/builds_spec.rb
index 88ef9c144af..623d466c67b 100644
--- a/spec/features/ci/admin/builds_spec.rb
+++ b/spec/features/ci/admin/builds_spec.rb
@@ -1,8 +1,7 @@
require 'spec_helper'
describe "Admin Builds" do
- let(:project) { FactoryGirl.create :ci_project }
- let(:commit) { FactoryGirl.create :ci_commit, project: project }
+ let(:commit) { FactoryGirl.create :ci_commit }
let(:build) { FactoryGirl.create :ci_build, commit: commit }
before do
@@ -22,10 +21,10 @@ describe "Admin Builds" do
describe "Tabs" do
it "shows all builds" do
- build = FactoryGirl.create :ci_build, commit: commit, status: "pending"
- build1 = FactoryGirl.create :ci_build, commit: commit, status: "running"
- build2 = FactoryGirl.create :ci_build, commit: commit, status: "success"
- build3 = FactoryGirl.create :ci_build, commit: commit, status: "failed"
+ FactoryGirl.create :ci_build, commit: commit, status: "pending"
+ FactoryGirl.create :ci_build, commit: commit, status: "running"
+ FactoryGirl.create :ci_build, commit: commit, status: "success"
+ FactoryGirl.create :ci_build, commit: commit, status: "failed"
visit ci_admin_builds_path
diff --git a/spec/features/ci/admin/runners_spec.rb b/spec/features/ci/admin/runners_spec.rb
index b25121f0806..b83744f53a8 100644
--- a/spec/features/ci/admin/runners_spec.rb
+++ b/spec/features/ci/admin/runners_spec.rb
@@ -2,8 +2,7 @@ require 'spec_helper'
describe "Admin Runners" do
before do
- skip_ci_admin_auth
- login_as :user
+ login_as :admin
end
describe "Runners page" do
@@ -20,16 +19,16 @@ describe "Admin Runners" do
describe 'search' do
before do
- FactoryGirl.create :ci_runner, description: 'foo'
- FactoryGirl.create :ci_runner, description: 'bar'
+ FactoryGirl.create :ci_runner, description: 'runner-foo'
+ FactoryGirl.create :ci_runner, description: 'runner-bar'
search_form = find('#runners-search')
- search_form.fill_in 'search', with: 'foo'
+ search_form.fill_in 'search', with: 'runner-foo'
search_form.click_button 'Search'
end
- it { expect(page).to have_content("foo") }
- it { expect(page).not_to have_content("bar") }
+ it { expect(page).to have_content("runner-foo") }
+ it { expect(page).not_to have_content("runner-bar") }
end
end
@@ -37,8 +36,8 @@ describe "Admin Runners" do
let(:runner) { FactoryGirl.create :ci_runner }
before do
- FactoryGirl.create(:ci_project, name: "foo")
- FactoryGirl.create(:ci_project, name: "bar")
+ @project1 = FactoryGirl.create(:ci_project)
+ @project2 = FactoryGirl.create(:ci_project)
visit ci_admin_runner_path(runner)
end
@@ -47,19 +46,19 @@ describe "Admin Runners" do
end
describe 'projects' do
- it { expect(page).to have_content("foo") }
- it { expect(page).to have_content("bar") }
+ it { expect(page).to have_content(@project1.name_with_namespace) }
+ it { expect(page).to have_content(@project2.name_with_namespace) }
end
describe 'search' do
before do
search_form = find('#runner-projects-search')
- search_form.fill_in 'search', with: 'foo'
+ search_form.fill_in 'search', with: @project1.gl_project.name
search_form.click_button 'Search'
end
- it { expect(page).to have_content("foo") }
- it { expect(page).not_to have_content("bar") }
+ it { expect(page).to have_content(@project1.name_with_namespace) }
+ it { expect(page).not_to have_content(@project2.name_with_namespace) }
end
end
end
diff --git a/spec/features/ci/builds_spec.rb b/spec/features/ci/builds_spec.rb
deleted file mode 100644
index 2f020e524e2..00000000000
--- a/spec/features/ci/builds_spec.rb
+++ /dev/null
@@ -1,60 +0,0 @@
-require 'spec_helper'
-
-describe "Builds" do
- context :private_project do
- before do
- @project = FactoryGirl.create :ci_project
- @commit = FactoryGirl.create :ci_commit, project: @project
- @build = FactoryGirl.create :ci_build, commit: @commit
- login_as :user
- @project.gl_project.team << [@user, :master]
- end
-
- describe "GET /:project/builds/:id" do
- before do
- visit ci_project_build_path(@project, @build)
- end
-
- it { expect(page).to have_content @commit.sha[0..7] }
- it { expect(page).to have_content @commit.git_commit_message }
- it { expect(page).to have_content @commit.git_author_name }
- end
-
- describe "GET /:project/builds/:id/cancel" do
- before do
- @build.run!
- visit cancel_ci_project_build_path(@project, @build)
- end
-
- it { expect(page).to have_content 'canceled' }
- it { expect(page).to have_content 'Retry' }
- end
-
- describe "POST /:project/builds/:id/retry" do
- before do
- @build.cancel!
- visit ci_project_build_path(@project, @build)
- click_link 'Retry'
- end
-
- it { expect(page).to have_content 'pending' }
- it { expect(page).to have_content 'Cancel' }
- end
- end
-
- context :public_project do
- describe "Show page public accessible" do
- before do
- @project = FactoryGirl.create :ci_public_project
- @commit = FactoryGirl.create :ci_commit, project: @project
- @runner = FactoryGirl.create :ci_specific_runner
- @build = FactoryGirl.create :ci_build, commit: @commit, runner: @runner
-
- stub_gitlab_calls
- visit ci_project_build_path(@project, @build)
- end
-
- it { expect(page).to have_content @commit.sha[0..7] }
- end
- end
-end
diff --git a/spec/features/ci/commits_spec.rb b/spec/features/ci/commits_spec.rb
deleted file mode 100644
index 40a62ca4574..00000000000
--- a/spec/features/ci/commits_spec.rb
+++ /dev/null
@@ -1,69 +0,0 @@
-require 'spec_helper'
-
-describe "Commits" do
- include Ci::CommitsHelper
-
- context "Authenticated user" do
- before do
- @project = FactoryGirl.create :ci_project
- @commit = FactoryGirl.create :ci_commit, project: @project
- @build = FactoryGirl.create :ci_build, commit: @commit
- login_as :user
- @project.gl_project.team << [@user, :master]
- end
-
- describe "GET /:project/commits/:sha" do
- before do
- visit ci_commit_path(@commit)
- end
-
- it { expect(page).to have_content @commit.sha[0..7] }
- it { expect(page).to have_content @commit.git_commit_message }
- it { expect(page).to have_content @commit.git_author_name }
- end
-
- describe "Cancel commit" do
- it "cancels commit" do
- visit ci_commit_path(@commit)
- click_on "Cancel"
-
- expect(page).to have_content "canceled"
- end
- end
-
- describe ".gitlab-ci.yml not found warning" do
- it "does not show warning" do
- visit ci_commit_path(@commit)
-
- expect(page).not_to have_content ".gitlab-ci.yml not found in this commit"
- end
-
- it "shows warning" do
- @commit.push_data[:ci_yaml_file] = nil
- @commit.save
-
- visit ci_commit_path(@commit)
-
- expect(page).to have_content ".gitlab-ci.yml not found in this commit"
- end
- end
- end
-
- context "Public pages" do
- before do
- @project = FactoryGirl.create :ci_public_project
- @commit = FactoryGirl.create :ci_commit, project: @project
- @build = FactoryGirl.create :ci_build, commit: @commit
- end
-
- describe "GET /:project/commits/:sha" do
- before do
- visit ci_commit_path(@commit)
- end
-
- it { expect(page).to have_content @commit.sha[0..7] }
- it { expect(page).to have_content @commit.git_commit_message }
- it { expect(page).to have_content @commit.git_author_name }
- end
- end
-end
diff --git a/spec/features/ci/events_spec.rb b/spec/features/ci/events_spec.rb
deleted file mode 100644
index 5b9fd404159..00000000000
--- a/spec/features/ci/events_spec.rb
+++ /dev/null
@@ -1,22 +0,0 @@
-require 'spec_helper'
-
-describe "Events" do
- let(:user) { create(:user) }
- let(:project) { FactoryGirl.create :ci_project }
- let(:event) { FactoryGirl.create :ci_admin_event, project: project }
-
- before do
- login_as(user)
- project.gl_project.team << [user, :master]
- end
-
- describe "GET /ci/project/:id/events" do
- before do
- event
- visit ci_project_events_path(project)
- end
-
- it { expect(page).to have_content "Events" }
- it { expect(page).to have_content event.description }
- end
-end
diff --git a/spec/features/ci/projects_spec.rb b/spec/features/ci/projects_spec.rb
deleted file mode 100644
index 7c8cd1ce5c7..00000000000
--- a/spec/features/ci/projects_spec.rb
+++ /dev/null
@@ -1,38 +0,0 @@
-require 'spec_helper'
-
-describe "Projects" do
- let(:user) { create(:user) }
-
- before do
- login_as(user)
- @project = FactoryGirl.create :ci_project, name: "GitLab / gitlab-shell"
- @project.gl_project.team << [user, :master]
- end
-
- describe "GET /ci/projects/:id" do
- before do
- visit ci_project_path(@project)
- end
-
- it { expect(page).to have_content @project.name }
- it { expect(page).to have_content 'All commits' }
- end
-
- describe "GET /ci/projects/:id/edit" do
- before do
- visit edit_ci_project_path(@project)
- end
-
- it { expect(page).to have_content @project.name }
- it { expect(page).to have_content 'Build Schedule' }
-
- it "updates configuration" do
- fill_in 'Timeout', with: '70'
- click_button 'Save changes'
-
- expect(page).to have_content 'was successfully updated'
-
- expect(find_field('Timeout').value).to eq '70'
- end
- end
-end
diff --git a/spec/features/ci/runners_spec.rb b/spec/features/ci/runners_spec.rb
deleted file mode 100644
index 15147f15eb3..00000000000
--- a/spec/features/ci/runners_spec.rb
+++ /dev/null
@@ -1,96 +0,0 @@
-require 'spec_helper'
-
-describe "Runners" do
- let(:user) { create(:user) }
-
- before do
- login_as(user)
- end
-
- describe "specific runners" do
- before do
- @project = FactoryGirl.create :ci_project
- @project.gl_project.team << [user, :master]
-
- @project2 = FactoryGirl.create :ci_project
- @project2.gl_project.team << [user, :master]
-
- @shared_runner = FactoryGirl.create :ci_shared_runner
- @specific_runner = FactoryGirl.create :ci_specific_runner
- @specific_runner2 = FactoryGirl.create :ci_specific_runner
- @project.runners << @specific_runner
- @project2.runners << @specific_runner2
- end
-
- it "places runners in right places" do
- visit ci_project_runners_path(@project)
- expect(page.find(".available-specific-runners")).to have_content(@specific_runner2.display_name)
- expect(page.find(".activated-specific-runners")).to have_content(@specific_runner.display_name)
- expect(page.find(".available-shared-runners")).to have_content(@shared_runner.display_name)
- end
-
- it "enables specific runner for project" do
- visit ci_project_runners_path(@project)
-
- within ".available-specific-runners" do
- click_on "Enable for this project"
- end
-
- expect(page.find(".activated-specific-runners")).to have_content(@specific_runner2.display_name)
- end
-
- it "disables specific runner for project" do
- @project2.runners << @specific_runner
-
- visit ci_project_runners_path(@project)
-
- within ".activated-specific-runners" do
- click_on "Disable for this project"
- end
-
- expect(page.find(".available-specific-runners")).to have_content(@specific_runner.display_name)
- end
-
- it "removes specific runner for project if this is last project for that runners" do
- visit ci_project_runners_path(@project)
-
- within ".activated-specific-runners" do
- click_on "Remove runner"
- end
-
- expect(Ci::Runner.exists?(id: @specific_runner)).to be_falsey
- end
- end
-
- describe "shared runners" do
- before do
- @project = FactoryGirl.create :ci_project
- @project.gl_project.team << [user, :master]
- end
-
- it "enables shared runners" do
- visit ci_project_runners_path(@project)
-
- click_on "Enable shared runners"
-
- expect(@project.reload.shared_runners_enabled).to be_truthy
- end
- end
-
- describe "show page" do
- before do
- @project = FactoryGirl.create :ci_project
- @project.gl_project.team << [user, :master]
- @specific_runner = FactoryGirl.create :ci_specific_runner
- @project.runners << @specific_runner
- end
-
- it "shows runner information" do
- visit ci_project_runners_path(@project)
-
- click_on @specific_runner.short_sha
-
- expect(page).to have_content(@specific_runner.platform)
- end
- end
-end
diff --git a/spec/features/ci/triggers_spec.rb b/spec/features/ci/triggers_spec.rb
deleted file mode 100644
index c6afeb74628..00000000000
--- a/spec/features/ci/triggers_spec.rb
+++ /dev/null
@@ -1,28 +0,0 @@
-require 'spec_helper'
-
-describe 'Triggers' do
- let(:user) { create(:user) }
-
- before do
- login_as(user)
- @project = FactoryGirl.create :ci_project
- @project.gl_project.team << [user, :master]
- visit ci_project_triggers_path(@project)
- end
-
- context 'create a trigger' do
- before do
- click_on 'Add Trigger'
- expect(@project.triggers.count).to eq(1)
- end
-
- it 'contains trigger token' do
- expect(page).to have_content(@project.triggers.first.token)
- end
-
- it 'revokes the trigger' do
- click_on 'Revoke'
- expect(@project.triggers.count).to eq(0)
- end
- end
-end
diff --git a/spec/features/ci/variables_spec.rb b/spec/features/ci/variables_spec.rb
deleted file mode 100644
index e387b3be555..00000000000
--- a/spec/features/ci/variables_spec.rb
+++ /dev/null
@@ -1,28 +0,0 @@
-require 'spec_helper'
-
-describe "Variables" do
- let(:user) { create(:user) }
-
- before do
- login_as(user)
- end
-
- describe "specific runners" do
- before do
- @project = FactoryGirl.create :ci_project
- @project.gl_project.team << [user, :master]
- end
-
- it "creates variable", js: true do
- visit ci_project_variables_path(@project)
- click_on "Add a variable"
- fill_in "Key", with: "SECRET_KEY"
- fill_in "Value", with: "SECRET_VALUE"
- click_on "Save changes"
-
- expect(page).to have_content("Variables were successfully updated.")
- expect(@project.variables.count).to eq(1)
- end
-
- end
-end