Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
3ae20381
G
gitlab-foss
项目概览
李少辉-开发者
/
gitlab-foss
通知
15
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gitlab-foss
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
3ae20381
编写于
9月 02, 2017
作者:
S
Shinya Maeda
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Remove ci_trigger_request_with_variables
上级
d614c431
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
92 addition
and
48 deletion
+92
-48
app/presenters/ci/build_presenter.rb
app/presenters/ci/build_presenter.rb
+11
-0
app/views/projects/jobs/_sidebar.html.haml
app/views/projects/jobs/_sidebar.html.haml
+2
-2
spec/factories/ci/builds.rb
spec/factories/ci/builds.rb
+1
-1
spec/factories/ci/pipeline_variables.rb
spec/factories/ci/pipeline_variables.rb
+0
-0
spec/factories/ci/trigger_requests.rb
spec/factories/ci/trigger_requests.rb
+0
-8
spec/features/projects/jobs_spec.rb
spec/features/projects/jobs_spec.rb
+29
-11
spec/models/ci/build_spec.rb
spec/models/ci/build_spec.rb
+24
-4
spec/requests/api/runner_spec.rb
spec/requests/api/runner_spec.rb
+25
-6
spec/views/projects/jobs/show.html.haml_spec.rb
spec/views/projects/jobs/show.html.haml_spec.rb
+0
-16
未找到文件。
app/presenters/ci/build_presenter.rb
浏览文件 @
3ae20381
...
...
@@ -17,5 +17,16 @@ module Ci
"Job is redundant and is auto-canceled by Pipeline #
#{
auto_canceled_by_id
}
"
end
end
def
old_or_new_trigger_variables
return
@old_or_new_trigger_variables
if
defined?
(
@old_or_new_trigger_variables
)
if
build
.
pipeline
.
variables
.
any?
@old_or_new_trigger_variables
=
build
.
pipeline
.
variables
&
.
map
{
|
v
|
{
v
.
key
=>
v
.
value
}
}
&
.
reduce
({},
:merge
)
else
@old_or_new_trigger_variables
=
build
.
trigger_request
.
variables
end
end
end
end
app/views/projects/jobs/_sidebar.html.haml
浏览文件 @
3ae20381
...
...
@@ -46,12 +46,12 @@
%span
.build-light-text
Token:
#{
@build
.
trigger_request
.
trigger
.
short_token
}
-
if
@build
.
trigger_request
.
variables
-
if
@build
.
old_or_new_trigger_
variables
%p
%button
.btn.group.btn-group-justified.reveal-variables
Reveal Variables
%dl
.js-build-variables.trigger-build-variables.hide
-
@build
.
trigger_request
.
variables
.
each
do
|
key
,
value
|
-
@build
.
old_or_new_trigger_
variables
.
each
do
|
key
,
value
|
%dt
.js-build-variable.trigger-build-variable
=
key
%dd
.js-build-value.trigger-build-value
=
value
...
...
spec/factories/ci/builds.rb
浏览文件 @
3ae20381
...
...
@@ -107,7 +107,7 @@ FactoryGirl.define do
end
trait
:triggered
do
trigger_request
factory: :ci_trigger_request
_with_variables
trigger_request
factory: :ci_trigger_request
end
after
(
:build
)
do
|
build
,
evaluator
|
...
...
spec/factories/ci/pipeline_variable
_variable
s.rb
→
spec/factories/ci/pipeline_variables.rb
浏览文件 @
3ae20381
文件已移动
spec/factories/ci/trigger_requests.rb
浏览文件 @
3ae20381
FactoryGirl
.
define
do
factory
:ci_trigger_request
,
class:
Ci
::
TriggerRequest
do
trigger
factory: :ci_trigger
# We switched to Ci::PipelineVariable from Ci::TriggerRequest.variables.
# Ci::TriggerRequest doesn't save variables anymore, whereas old trigger requests still persist variables.
factory
:ci_trigger_request_with_variables
do
after
(
:create
)
do
|
trigger_request
,
evaluator
|
trigger_request
.
update_attribute
(
:variables
,
{
TRIGGER_KEY_1
:
'TRIGGER_VALUE_1'
,
TRIGGER_KEY_2
:
'TRIGGER_VALUE_2'
}
)
end
end
end
end
spec/features/projects/jobs_spec.rb
浏览文件 @
3ae20381
...
...
@@ -292,26 +292,44 @@ feature 'Jobs' do
end
feature
'Variables'
do
let
(
:trigger_request
)
{
create
(
:ci_trigger_request
_with_variables
)
}
let
(
:trigger_request
)
{
create
(
:ci_trigger_request
)
}
let
(
:job
)
do
create
:ci_build
,
pipeline:
pipeline
,
trigger_request:
trigger_request
end
before
do
visit
project_job_path
(
project
,
job
)
shared_examples
'expected variables behavior'
do
it
'shows variable key and value after click'
,
js:
true
do
expect
(
page
).
to
have_css
(
'.reveal-variables'
)
expect
(
page
).
not_to
have_css
(
'.js-build-variable'
)
expect
(
page
).
not_to
have_css
(
'.js-build-value'
)
click_button
'Reveal Variables'
expect
(
page
).
not_to
have_css
(
'.reveal-variables'
)
expect
(
page
).
to
have_selector
(
'.js-build-variable'
,
text:
'TRIGGER_KEY_1'
)
expect
(
page
).
to
have_selector
(
'.js-build-value'
,
text:
'TRIGGER_VALUE_1'
)
end
end
it
'shows variable key and value after click'
,
js:
true
do
expect
(
page
).
to
have_css
(
'.reveal-variables'
)
expect
(
page
).
not_to
have_css
(
'.js-build-variable'
)
expect
(
page
).
not_to
have_css
(
'.js-build-value'
)
context
'when variables are stored in trigger_request'
do
before
do
trigger_request
.
update_attribute
(
:variables
,
{
'TRIGGER_KEY_1'
=>
'TRIGGER_VALUE_1'
}
)
click_button
'Reveal Variables'
visit
project_job_path
(
project
,
job
)
end
it_behaves_like
'expected variables behavior'
end
context
'when variables are stored in pipeline_variables'
do
before
do
create
(
:ci_pipeline_variable
,
pipeline:
pipeline
,
key:
'TRIGGER_KEY_1'
,
value:
'TRIGGER_VALUE_1'
)
visit
project_job_path
(
project
,
job
)
end
expect
(
page
).
not_to
have_css
(
'.reveal-variables'
)
expect
(
page
).
to
have_selector
(
'.js-build-variable'
,
text:
'TRIGGER_KEY_1'
)
expect
(
page
).
to
have_selector
(
'.js-build-value'
,
text:
'TRIGGER_VALUE_1'
)
it_behaves_like
'expected variables behavior'
end
end
...
...
spec/models/ci/build_spec.rb
浏览文件 @
3ae20381
...
...
@@ -1492,10 +1492,12 @@ describe Ci::Build do
context
'when build is for triggers'
do
let
(
:trigger
)
{
create
(
:ci_trigger
,
project:
project
)
}
let
(
:trigger_request
)
{
create
(
:ci_trigger_request_with_variables
,
pipeline:
pipeline
,
trigger:
trigger
)
}
let
(
:trigger_request
)
{
create
(
:ci_trigger_request
,
pipeline:
pipeline
,
trigger:
trigger
)
}
let
(
:user_trigger_variable
)
do
{
key:
:TRIGGER_KEY_1
,
value:
'TRIGGER_VALUE_1'
,
public:
false
}
{
key:
'TRIGGER_KEY_1'
,
value:
'TRIGGER_VALUE_1'
,
public:
false
}
end
let
(
:predefined_trigger_variable
)
do
{
key:
'CI_PIPELINE_TRIGGERED'
,
value:
'true'
,
public:
true
}
end
...
...
@@ -1504,8 +1506,26 @@ describe Ci::Build do
build
.
trigger_request
=
trigger_request
end
it
{
is_expected
.
to
include
(
user_trigger_variable
)
}
it
{
is_expected
.
to
include
(
predefined_trigger_variable
)
}
shared_examples
'returns variables for triggers'
do
it
{
is_expected
.
to
include
(
user_trigger_variable
)
}
it
{
is_expected
.
to
include
(
predefined_trigger_variable
)
}
end
context
'when variables are stored in trigger_request'
do
before
do
trigger_request
.
update_attribute
(
:variables
,
{
'TRIGGER_KEY_1'
=>
'TRIGGER_VALUE_1'
}
)
end
it_behaves_like
'returns variables for triggers'
end
context
'when variables are stored in pipeline_variables'
do
before
do
create
(
:ci_pipeline_variable
,
pipeline:
pipeline
,
key:
'TRIGGER_KEY_1'
,
value:
'TRIGGER_VALUE_1'
)
end
it_behaves_like
'returns variables for triggers'
end
end
context
'when pipeline has a variable'
do
...
...
spec/requests/api/runner_spec.rb
浏览文件 @
3ae20381
...
...
@@ -557,17 +557,36 @@ describe API::Runner do
{
'key'
=>
'TRIGGER_KEY_1'
,
'value'
=>
'TRIGGER_VALUE_1'
,
'public'
=>
false
}]
end
let
(
:trigger
)
{
create
(
:ci_trigger
,
project:
project
)
}
let!
(
:trigger_request
)
{
create
(
:ci_trigger_request
,
pipeline:
pipeline
,
builds:
[
job
],
trigger:
trigger
)
}
before
do
trigger
=
create
(
:ci_trigger
,
project:
project
)
create
(
:ci_trigger_request_with_variables
,
pipeline:
pipeline
,
builds:
[
job
],
trigger:
trigger
)
project
.
variables
<<
Ci
::
Variable
.
new
(
key:
'SECRET_KEY'
,
value:
'secret_value'
)
end
it
'returns variables for triggers'
do
request_job
shared_examples
'expected variables behavior'
do
it
'returns variables for triggers'
do
request_job
expect
(
response
).
to
have_http_status
(
201
)
expect
(
json_response
[
'variables'
]).
to
include
(
*
expected_variables
)
expect
(
response
).
to
have_http_status
(
201
)
expect
(
json_response
[
'variables'
]).
to
include
(
*
expected_variables
)
end
end
context
'when variables are stored in trigger_request'
do
before
do
trigger_request
.
update_attribute
(
:variables
,
{
TRIGGER_KEY_1
:
'TRIGGER_VALUE_1'
}
)
end
it_behaves_like
'expected variables behavior'
end
context
'when variables are stored in pipeline_variables'
do
before
do
create
(
:ci_pipeline_variable
,
pipeline:
pipeline
,
key: :TRIGGER_KEY_1
,
value:
'TRIGGER_VALUE_1'
)
end
it_behaves_like
'expected variables behavior'
end
end
...
...
spec/views/projects/jobs/show.html.haml_spec.rb
浏览文件 @
3ae20381
...
...
@@ -195,20 +195,4 @@ describe 'projects/jobs/show' do
text:
/\A\n
#{
Regexp
.
escape
(
commit_title
)
}
\n\Z/
)
end
end
describe
'shows trigger variables in sidebar'
do
let
(
:trigger_request
)
{
create
(
:ci_trigger_request_with_variables
,
pipeline:
pipeline
)
}
before
do
build
.
trigger_request
=
trigger_request
render
end
it
'shows trigger variables in separate lines'
do
expect
(
rendered
).
to
have_css
(
'.js-build-variable'
,
visible:
false
,
text:
'TRIGGER_KEY_1'
)
expect
(
rendered
).
to
have_css
(
'.js-build-variable'
,
visible:
false
,
text:
'TRIGGER_KEY_2'
)
expect
(
rendered
).
to
have_css
(
'.js-build-value'
,
visible:
false
,
text:
'TRIGGER_VALUE_1'
)
expect
(
rendered
).
to
have_css
(
'.js-build-value'
,
visible:
false
,
text:
'TRIGGER_VALUE_2'
)
end
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录