Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
996cf4b6
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,体验更适合开发者的 AI 搜索 >>
提交
996cf4b6
编写于
7月 22, 2019
作者:
A
Alex Kalderimis
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Refactor usage data counters specs
This makes these tests available for other implementations
上级
c0c3e7c7
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
66 addition
and
64 deletion
+66
-64
spec/lib/gitlab/usage_data_counters/wiki_page_counter_spec.rb
.../lib/gitlab/usage_data_counters/wiki_page_counter_spec.rb
+9
-64
spec/support/shared_examples/lib/gitlab/usage_data_counters/a_redis_counter.rb
...xamples/lib/gitlab/usage_data_counters/a_redis_counter.rb
+57
-0
未找到文件。
spec/lib/gitlab/usage_data_counters/wiki_page_counter_spec.rb
浏览文件 @
996cf4b6
...
...
@@ -2,68 +2,13 @@
require
'spec_helper'
describe
Gitlab
::
UsageDataCounters
::
WikiPageCounter
,
:clean_gitlab_redis_shared_state
do
shared_examples
:wiki_page_event
do
|
event
|
describe
".count(
#{
event
}
)"
do
it
"increments the wiki page
#{
event
}
counter by 1"
do
expect
do
described_class
.
count
(
event
)
end
.
to
change
{
described_class
.
read
(
event
)
}.
by
1
end
end
describe
".read(
#{
event
}
)"
do
event_count
=
5
it
"returns the total number of
#{
event
}
events"
do
event_count
.
times
do
described_class
.
count
(
event
)
end
expect
(
described_class
.
read
(
event
)).
to
eq
(
event_count
)
end
end
end
include_examples
:wiki_page_event
,
:create
include_examples
:wiki_page_event
,
:update
include_examples
:wiki_page_event
,
:delete
describe
'totals'
do
creations
=
5
edits
=
3
deletions
=
2
before
do
creations
.
times
do
described_class
.
count
(
:create
)
end
edits
.
times
do
described_class
.
count
(
:update
)
end
deletions
.
times
do
described_class
.
count
(
:delete
)
end
end
it
'can report all totals'
do
expect
(
described_class
.
totals
).
to
include
(
wiki_pages_update:
edits
,
wiki_pages_create:
creations
,
wiki_pages_delete:
deletions
)
end
end
describe
'unknown events'
do
error
=
described_class
::
UnknownEvent
it
'cannot increment'
do
expect
{
described_class
.
count
(
:wibble
)
}.
to
raise_error
error
end
it
'cannot read'
do
expect
{
described_class
.
read
(
:wibble
)
}.
to
raise_error
error
end
end
describe
Gitlab
::
UsageDataCounters
::
WikiPageCounter
do
it_behaves_like
'a redis usage counter'
,
'Wiki Page'
,
:create
it_behaves_like
'a redis usage counter'
,
'Wiki Page'
,
:update
it_behaves_like
'a redis usage counter'
,
'Wiki Page'
,
:delete
it_behaves_like
'a redis usage counter with totals'
,
:wiki_pages
,
create:
5
,
update:
3
,
delete:
2
end
spec/support/shared_examples/lib/gitlab/usage_data_counters/a_redis_counter.rb
0 → 100644
浏览文件 @
996cf4b6
# frozen_string_literal: true
shared_examples
'a redis usage counter'
do
|
thing
,
event
|
describe
".count(
#{
event
}
)"
,
:clean_gitlab_redis_shared_state
do
it
"increments the
#{
thing
}
#{
event
}
counter by 1"
do
expect
do
described_class
.
count
(
event
)
end
.
to
change
{
described_class
.
read
(
event
)
}.
by
1
end
end
describe
".read(
#{
event
}
)"
,
:clean_gitlab_redis_shared_state
do
event_count
=
5
it
"returns the total number of
#{
event
}
events"
do
event_count
.
times
do
described_class
.
count
(
event
)
end
expect
(
described_class
.
read
(
event
)).
to
eq
(
event_count
)
end
end
end
shared_examples
'a redis usage counter with totals'
do
|
prefix
,
events
|
describe
'totals'
,
:clean_gitlab_redis_shared_state
do
before
do
events
.
each
do
|
k
,
n
|
n
.
times
do
described_class
.
count
(
k
)
end
end
end
let
(
:expected_totals
)
do
events
.
transform_keys
{
|
k
|
"
#{
prefix
}
_
#{
k
}
"
.
to_sym
}
end
it
'can report all totals'
do
expect
(
described_class
.
totals
).
to
include
(
expected_totals
)
end
end
# Override these let-bindings to adjust the unknown events tests
let
(
:unknown_event
)
{
described_class
::
UnknownEvent
}
let
(
:bad_event
)
{
:wibble
}
describe
'unknown events'
do
it
'cannot increment'
do
expect
{
described_class
.
count
(
bad_event
)
}.
to
raise_error
unknown_event
end
it
'cannot read'
do
expect
{
described_class
.
read
(
bad_event
)
}.
to
raise_error
unknown_event
end
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录