Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
a8177e03
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,发现更多精彩内容 >>
提交
a8177e03
编写于
1月 09, 2017
作者:
A
Adam Niedzielski
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Introduce "stub_env" test helper for safely stubbing environment variables
上级
583deef2
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
14 addition
and
5 deletion
+14
-5
spec/db/production/settings.rb
spec/db/production/settings.rb
+3
-2
spec/initializers/secret_token_spec.rb
spec/initializers/secret_token_spec.rb
+4
-3
spec/support/stub_env.rb
spec/support/stub_env.rb
+7
-0
未找到文件。
spec/db/production/settings.rb
浏览文件 @
a8177e03
...
...
@@ -2,10 +2,11 @@ require 'spec_helper'
require
'rainbow/ext/string'
describe
'seed production settings'
,
lib:
true
do
include
StubENV
context
'GITLAB_SHARED_RUNNERS_REGISTRATION_TOKEN is set in the environment'
do
before
do
allow
(
ENV
).
to
receive
(
:[]
).
and_call_original
allow
(
ENV
).
to
receive
(
:[]
).
with
(
'GITLAB_SHARED_RUNNERS_REGISTRATION_TOKEN'
).
and_return
(
'013456789'
)
stub_env
(
'GITLAB_SHARED_RUNNERS_REGISTRATION_TOKEN'
,
'013456789'
)
end
it
'writes the token to the database'
do
...
...
spec/initializers/secret_token_spec.rb
浏览文件 @
a8177e03
...
...
@@ -2,10 +2,11 @@ require 'spec_helper'
require_relative
'../../config/initializers/secret_token'
describe
'create_tokens'
,
lib:
true
do
include
StubENV
let
(
:secrets
)
{
ActiveSupport
::
OrderedOptions
.
new
}
before
do
allow
(
ENV
).
to
receive
(
:[]
).
and_call_original
allow
(
File
).
to
receive
(
:write
)
allow
(
File
).
to
receive
(
:delete
)
allow
(
Rails
).
to
receive_message_chain
(
:application
,
:secrets
).
and_return
(
secrets
)
...
...
@@ -17,7 +18,7 @@ describe 'create_tokens', lib: true do
context
'setting secret_key_base and otp_key_base'
do
context
'when none of the secrets exist'
do
before
do
allow
(
ENV
).
to
receive
(
:[]
).
with
(
'SECRET_KEY_BASE'
).
and_return
(
nil
)
stub_env
(
'SECRET_KEY_BASE'
,
nil
)
allow
(
File
).
to
receive
(
:exist?
).
with
(
'.secret'
).
and_return
(
false
)
allow
(
File
).
to
receive
(
:exist?
).
with
(
'config/secrets.yml'
).
and_return
(
false
)
allow
(
self
).
to
receive
(
:warn_missing_secret
)
...
...
@@ -69,7 +70,7 @@ describe 'create_tokens', lib: true do
context
'when secret_key_base exists in the environment and secrets.yml'
do
before
do
allow
(
ENV
).
to
receive
(
:[]
).
with
(
'SECRET_KEY_BASE'
).
and_return
(
'env_key'
)
stub_env
(
'SECRET_KEY_BASE'
,
'env_key'
)
secrets
.
secret_key_base
=
'secret_key_base'
secrets
.
otp_key_base
=
'otp_key_base'
end
...
...
spec/support/stub_env.rb
0 → 100644
浏览文件 @
a8177e03
module
StubENV
def
stub_env
(
key
,
value
)
allow
(
ENV
).
to
receive
(
:[]
).
and_call_original
unless
@env_already_stubbed
@env_already_stubbed
||=
true
allow
(
ENV
).
to
receive
(
:[]
).
with
(
key
).
and_return
(
value
)
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录