Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
eea26a93
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,发现更多精彩内容 >>
提交
eea26a93
编写于
6月 04, 2018
作者:
K
Kamil Trzciński
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update validator
上级
b8370c9f
变更
5
显示空白变更内容
内联
并排
Showing
5 changed file
with
22 addition
and
39 deletion
+22
-39
config/initializers/direct_upload_support.rb
config/initializers/direct_upload_support.rb
+15
-9
lib/object_storage/direct_upload.rb
lib/object_storage/direct_upload.rb
+1
-1
spec/initializers/direct_upload_support_spec.rb
spec/initializers/direct_upload_support_spec.rb
+4
-3
spec/lib/object_storage/direct_upload_spec.rb
spec/lib/object_storage/direct_upload_spec.rb
+0
-24
spec/support/helpers/stub_object_storage.rb
spec/support/helpers/stub_object_storage.rb
+2
-2
未找到文件。
config/initializers/direct_upload_support.rb
浏览文件 @
eea26a93
SUPPORTED_DIRECT_UPLOAD_PROVIDERS
=
%w(Google AWS)
.
freeze
class
DirectUploadsValidator
SUPPORTED_DIRECT_UPLOAD_PROVIDERS
=
%w(Google AWS)
.
freeze
def
verify_provider_support!
(
object_store
)
ValidationError
=
Class
.
new
(
StandardError
)
def
verify!
(
object_store
)
return
unless
object_store
.
enabled
return
unless
object_store
.
enabled
return
unless
object_store
.
direct_upload
return
unless
object_store
.
direct_upload
return
if
SUPPORTED_DIRECT_UPLOAD_PROVIDERS
.
include?
(
object_store
.
connection
&
.
provider
.
to_s
)
return
if
SUPPORTED_DIRECT_UPLOAD_PROVIDERS
.
include?
(
object_store
.
connection
&
.
provider
.
to_s
)
raise
"Only
#{
SUPPORTED_DIRECT_UPLOAD_PROVIDERS
.
join
(
','
)
}
are supported as a object storage provider when 'direct_upload' is used"
raise
ValidationError
,
"Only
#{
SUPPORTED_DIRECT_UPLOAD_PROVIDERS
.
join
(
','
)
}
are supported as a object storage provider when 'direct_upload' is used"
end
end
end
verify_provider_support!
(
Gitlab
.
config
.
artifacts
.
object_store
)
DirectUploadsValidator
.
new
.
tap
do
|
validator
|
verify_provider_support!
(
Gitlab
.
config
.
uploads
.
object_store
)
[
Gitlab
.
config
.
artifacts
,
Gitlab
.
config
.
uploads
,
Gitlab
.
config
.
lfs
].
each
do
|
uploader
|
verify_provider_support!
(
Gitlab
.
config
.
lfs
.
object_store
)
validator
.
verify!
(
uploader
.
object_store
)
end
end
lib/object_storage/direct_upload.rb
浏览文件 @
eea26a93
spec/initializers/direct_upload_support_spec.rb
浏览文件 @
eea26a93
...
@@ -6,7 +6,7 @@ describe 'Direct upload support' do
...
@@ -6,7 +6,7 @@ describe 'Direct upload support' do
end
end
where
(
:config_name
)
do
where
(
:config_name
)
do
[
'lfs'
,
'artifacts'
,
'uploads'
]
%w(lfs artifacts uploads)
end
end
with_them
do
with_them
do
...
@@ -23,8 +23,9 @@ describe 'Direct upload support' do
...
@@ -23,8 +23,9 @@ describe 'Direct upload support' do
end
end
before
do
before
do
allow
(
Gitlab
.
config
).
to
receive_messages
(
to_settings
(
allow
(
Gitlab
.
config
).
to
receive_messages
(
to_settings
(
config_name
=>
{
config_name
=>
{
object_store:
object_store
}))
object_store:
object_store
}))
end
end
context
'when object storage is enabled'
do
context
'when object storage is enabled'
do
...
...
spec/lib/object_storage/direct_upload_spec.rb
浏览文件 @
eea26a93
...
@@ -161,28 +161,4 @@ describe ObjectStorage::DirectUpload do
...
@@ -161,28 +161,4 @@ describe ObjectStorage::DirectUpload do
end
end
end
end
end
end
describe
'#get_url'
do
# this method can only be tested with integration tests
end
describe
'#delete_url'
do
# this method can only be tested with integration tests
end
describe
'#store_url'
do
# this method can only be tested with integration tests
end
describe
'#multipart_part_upload_url'
do
# this method can only be tested with integration tests
end
describe
'#multipart_complete_url'
do
# this method can only be tested with integration tests
end
describe
'#multipart_abort_url'
do
# this method can only be tested with integration tests
end
end
end
spec/support/helpers/stub_object_storage.rb
浏览文件 @
eea26a93
...
@@ -47,8 +47,8 @@ module StubObjectStorage
...
@@ -47,8 +47,8 @@ module StubObjectStorage
end
end
def
stub_object_storage_multipart_init
(
endpoint
,
upload_id
=
"upload_id"
)
def
stub_object_storage_multipart_init
(
endpoint
,
upload_id
=
"upload_id"
)
stub_request
(
:post
,
%r{
\A
#{
endpoint
}
tmp/uploads/[a-z0-9-]*
\?
uploads
\z
}
)
.
stub_request
(
:post
,
%r{
\A
#{
endpoint
}
tmp/uploads/[a-z0-9-]*
\?
uploads
\z
}
)
to_return
status:
200
,
body:
<<-
EOS
.
strip_heredoc
.
to_return
status:
200
,
body:
<<-
EOS
.
strip_heredoc
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<InitiateMultipartUploadResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<InitiateMultipartUploadResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Bucket>example-bucket</Bucket>
<Bucket>example-bucket</Bucket>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录