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:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-09-09 14:37:50 +0300
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-09-09 14:37:50 +0300
commit76c6aeb9bc9855e9a65bb08db862e92ac923255e (patch)
tree3494f9854f8f9e2c14f909c7132691f652d13ebc /spec/factories/ci
parent3d6fed54f0dc551d8c7ba9a03f4dfbd2203552b5 (diff)
Merge CI factories and CI spec/support with GitLab
Diffstat (limited to 'spec/factories/ci')
-rw-r--r--spec/factories/ci/builds.rb45
-rw-r--r--spec/factories/ci/commits.rb75
-rw-r--r--spec/factories/ci/events.rb24
-rw-r--r--spec/factories/ci/projects.rb56
-rw-r--r--spec/factories/ci/runner_projects.rb19
-rw-r--r--spec/factories/ci/runners.rb38
-rw-r--r--spec/factories/ci/trigger_requests.rb13
-rw-r--r--spec/factories/ci/triggers.rb9
-rw-r--r--spec/factories/ci/web_hook.rb6
9 files changed, 285 insertions, 0 deletions
diff --git a/spec/factories/ci/builds.rb b/spec/factories/ci/builds.rb
new file mode 100644
index 00000000000..35a84b1e6eb
--- /dev/null
+++ b/spec/factories/ci/builds.rb
@@ -0,0 +1,45 @@
+# == Schema Information
+#
+# Table name: builds
+#
+# id :integer not null, primary key
+# project_id :integer
+# status :string(255)
+# finished_at :datetime
+# trace :text
+# created_at :datetime
+# updated_at :datetime
+# started_at :datetime
+# runner_id :integer
+# commit_id :integer
+# coverage :float
+# commands :text
+# job_id :integer
+# name :string(255)
+# deploy :boolean default(FALSE)
+# options :text
+# allow_failure :boolean default(FALSE), not null
+# stage :string(255)
+# trigger_request_id :integer
+#
+
+# Read about factories at https://github.com/thoughtbot/factory_girl
+
+FactoryGirl.define do
+ factory :ci_build, class: Ci::Build do
+ started_at 'Di 29. Okt 09:51:28 CET 2013'
+ finished_at 'Di 29. Okt 09:53:28 CET 2013'
+ commands 'ls -a'
+ options do
+ {
+ image: "ruby:2.1",
+ services: ["postgres"]
+ }
+ end
+
+ factory :not_started_build do
+ started_at nil
+ finished_at nil
+ end
+ end
+end
diff --git a/spec/factories/ci/commits.rb b/spec/factories/ci/commits.rb
new file mode 100644
index 00000000000..c1d42b607c3
--- /dev/null
+++ b/spec/factories/ci/commits.rb
@@ -0,0 +1,75 @@
+# == Schema Information
+#
+# Table name: commits
+#
+# id :integer not null, primary key
+# project_id :integer
+# ref :string(255)
+# sha :string(255)
+# before_sha :string(255)
+# push_data :text
+# created_at :datetime
+# updated_at :datetime
+# tag :boolean default(FALSE)
+# yaml_errors :text
+# committed_at :datetime
+#
+
+# Read about factories at https://github.com/thoughtbot/factory_girl
+FactoryGirl.define do
+ factory :ci_commit, class: Ci::Commit do
+ ref 'master'
+ before_sha '76de212e80737a608d939f648d959671fb0a0142'
+ sha '97de212e80737a608d939f648d959671fb0a0142'
+ push_data do
+ {
+ ref: 'refs/heads/master',
+ before: '76de212e80737a608d939f648d959671fb0a0142',
+ after: '97de212e80737a608d939f648d959671fb0a0142',
+ user_name: 'Git User',
+ user_email: 'git@example.com',
+ repository: {
+ name: 'test-data',
+ url: 'ssh://git@gitlab.com/test/test-data.git',
+ description: '',
+ homepage: 'http://gitlab.com/test/test-data'
+ },
+ commits: [
+ {
+ id: '97de212e80737a608d939f648d959671fb0a0142',
+ message: 'Test commit message',
+ timestamp: '2014-09-23T13:12:25+02:00',
+ url: 'https://gitlab.com/test/test-data/commit/97de212e80737a608d939f648d959671fb0a0142',
+ author: {
+ name: 'Git User',
+ email: 'git@user.com'
+ }
+ }
+ ],
+ total_commits_count: 1,
+ ci_yaml_file: File.read(Rails.root.join('spec/support/gitlab_stubs/gitlab_ci.yml'))
+ }
+ end
+
+ factory :ci_commit_without_jobs do
+ after(:create) do |commit, evaluator|
+ commit.push_data[:ci_yaml_file] = YAML.dump({})
+ commit.save
+ end
+ end
+
+ factory :ci_commit_with_one_job do
+ after(:create) do |commit, evaluator|
+ commit.push_data[:ci_yaml_file] = YAML.dump({rspec: { script: "ls" }})
+ commit.save
+ end
+ end
+
+ factory :ci_commit_with_two_jobs do
+ after(:create) do |commit, evaluator|
+ commit.push_data[:ci_yaml_file] = YAML.dump({rspec: { script: "ls" }, spinach: { script: "ls" }})
+ commit.save
+ end
+ end
+ end
+end
diff --git a/spec/factories/ci/events.rb b/spec/factories/ci/events.rb
new file mode 100644
index 00000000000..03450751596
--- /dev/null
+++ b/spec/factories/ci/events.rb
@@ -0,0 +1,24 @@
+# == Schema Information
+#
+# Table name: events
+#
+# id :integer not null, primary key
+# project_id :integer
+# user_id :integer
+# is_admin :integer
+# description :text
+# created_at :datetime
+# updated_at :datetime
+#
+
+FactoryGirl.define do
+ factory :ci_event, class: Ci::Event do
+ sequence :description do |n|
+ "updated project settings#{n}"
+ end
+
+ factory :admin_event do
+ is_admin true
+ end
+ end
+end
diff --git a/spec/factories/ci/projects.rb b/spec/factories/ci/projects.rb
new file mode 100644
index 00000000000..e6be88fa585
--- /dev/null
+++ b/spec/factories/ci/projects.rb
@@ -0,0 +1,56 @@
+# == Schema Information
+#
+# Table name: projects
+#
+# id :integer not null, primary key
+# name :string(255) not null
+# timeout :integer default(3600), not null
+# created_at :datetime
+# updated_at :datetime
+# token :string(255)
+# default_ref :string(255)
+# path :string(255)
+# always_build :boolean default(FALSE), not null
+# polling_interval :integer
+# public :boolean default(FALSE), not null
+# ssh_url_to_repo :string(255)
+# gitlab_id :integer
+# allow_git_fetch :boolean default(TRUE), not null
+# email_recipients :string(255) default(""), not null
+# email_add_pusher :boolean default(TRUE), not null
+# email_only_broken_builds :boolean default(TRUE), not null
+# skip_refs :string(255)
+# coverage_regex :string(255)
+# shared_runners_enabled :boolean default(FALSE)
+# generated_yaml_config :text
+#
+
+# Read about factories at https://github.com/thoughtbot/factory_girl
+
+FactoryGirl.define do
+ factory :ci_project_without_token, class: Ci::Project do
+ sequence :name do |n|
+ "GitLab / gitlab-shell#{n}"
+ end
+
+ default_ref 'master'
+
+ sequence :path do |n|
+ "gitlab/gitlab-shell#{n}"
+ end
+
+ sequence :ssh_url_to_repo do |n|
+ "git@demo.gitlab.com:gitlab/gitlab-shell#{n}.git"
+ end
+
+ sequence :gitlab_id
+
+ factory :ci_project do
+ token 'iPWx6WM4lhHNedGfBpPJNP'
+ end
+
+ factory :ci_public_project do
+ public true
+ end
+ end
+end
diff --git a/spec/factories/ci/runner_projects.rb b/spec/factories/ci/runner_projects.rb
new file mode 100644
index 00000000000..3aa14ca434d
--- /dev/null
+++ b/spec/factories/ci/runner_projects.rb
@@ -0,0 +1,19 @@
+# == Schema Information
+#
+# Table name: runner_projects
+#
+# id :integer not null, primary key
+# runner_id :integer not null
+# project_id :integer not null
+# created_at :datetime
+# updated_at :datetime
+#
+
+# Read about factories at https://github.com/thoughtbot/factory_girl
+
+FactoryGirl.define do
+ factory :ci_runner_project, class: Ci::RunnerProject do
+ runner_id 1
+ project_id 1
+ end
+end
diff --git a/spec/factories/ci/runners.rb b/spec/factories/ci/runners.rb
new file mode 100644
index 00000000000..fec56b438fa
--- /dev/null
+++ b/spec/factories/ci/runners.rb
@@ -0,0 +1,38 @@
+# == Schema Information
+#
+# Table name: runners
+#
+# id :integer not null, primary key
+# token :string(255)
+# created_at :datetime
+# updated_at :datetime
+# description :string(255)
+# contacted_at :datetime
+# active :boolean default(TRUE), not null
+# is_shared :boolean default(FALSE)
+# name :string(255)
+# version :string(255)
+# revision :string(255)
+# platform :string(255)
+# architecture :string(255)
+#
+
+# Read about factories at https://github.com/thoughtbot/factory_girl
+
+FactoryGirl.define do
+ factory :ci_runner, class: Ci::Runner do
+ sequence :description do |n|
+ "My runner#{n}"
+ end
+
+ platform "darwin"
+
+ factory :shared_runner do
+ is_shared true
+ end
+
+ factory :specific_runner do
+ is_shared false
+ end
+ end
+end
diff --git a/spec/factories/ci/trigger_requests.rb b/spec/factories/ci/trigger_requests.rb
new file mode 100644
index 00000000000..c85d1027ce6
--- /dev/null
+++ b/spec/factories/ci/trigger_requests.rb
@@ -0,0 +1,13 @@
+# Read about factories at https://github.com/thoughtbot/factory_girl
+
+FactoryGirl.define do
+ factory :trigger_request do
+ factory :trigger_request_with_variables do
+ variables do
+ {
+ TRIGGER_KEY: 'TRIGGER_VALUE'
+ }
+ end
+ end
+ end
+end
diff --git a/spec/factories/ci/triggers.rb b/spec/factories/ci/triggers.rb
new file mode 100644
index 00000000000..38cd3cbceb6
--- /dev/null
+++ b/spec/factories/ci/triggers.rb
@@ -0,0 +1,9 @@
+# Read about factories at https://github.com/thoughtbot/factory_girl
+
+FactoryGirl.define do
+ factory :ci_trigger_without_token, class: Ci::Trigger do
+ factory :trigger do
+ token 'token'
+ end
+ end
+end
diff --git a/spec/factories/ci/web_hook.rb b/spec/factories/ci/web_hook.rb
new file mode 100644
index 00000000000..1fde5805c94
--- /dev/null
+++ b/spec/factories/ci/web_hook.rb
@@ -0,0 +1,6 @@
+FactoryGirl.define do
+ factory :ci_web_hook, class: Ci::WebHook do
+ sequence(:url) { Faker::Internet.uri('http') }
+ project
+ end
+end