Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
梦境迷离
Zio Redis
提交
75e5a9cf
Z
Zio Redis
项目概览
梦境迷离
/
Zio Redis
10 个月 前同步成功
通知
4
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Z
Zio Redis
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
75e5a9cf
编写于
11月 26, 2020
作者:
L
Lachlan O'Dea
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Input tests.
上级
b201d1b4
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
110 addition
and
2 deletion
+110
-2
redis/src/main/scala/zio/redis/Input.scala
redis/src/main/scala/zio/redis/Input.scala
+1
-1
redis/src/test/scala/zio/redis/InputSpec.scala
redis/src/test/scala/zio/redis/InputSpec.scala
+109
-1
未找到文件。
redis/src/main/scala/zio/redis/Input.scala
浏览文件 @
75e5a9cf
...
...
@@ -70,7 +70,7 @@ object Input {
case
ClientKillFilter
.
Address
(
ip
,
port
)
=>
Chunk
(
"ADDR"
,
s
"${ip.getHostAddress}:$port"
)
case
ClientKillFilter
.
LocalAddress
(
ip
,
port
)
=>
Chunk
(
"LADDR
"
,
s
"${ip.getHostAddress}:$port"
)
Chunk
(
"LADDR"
,
s
"${ip.getHostAddress}:$port"
)
case
ClientKillFilter
.
Id
(
id
)
=>
Chunk
(
"ID"
,
id
.
toString
)
case
ClientKillFilter
.
Type
(
clientType
)
=>
...
...
redis/src/test/scala/zio/redis/InputSpec.scala
浏览文件 @
75e5a9cf
package
zio.redis
import
java.net.InetAddress
import
java.time.Instant
import
BitFieldCommand._
...
...
@@ -7,7 +8,6 @@ import BitFieldType._
import
BitOperation._
import
Order._
import
RadiusUnit._
import
zio.duration._
import
zio.redis.Input._
import
zio.test.Assertion._
...
...
@@ -196,6 +196,90 @@ object InputSpec extends BaseSpec {
}
yield
assert
(
result
)(
equalTo
(
respArgs
(
"COUNT"
,
"0"
)))
}
),
suite
(
"ClientKill"
)(
testM
(
"address"
)
{
val
address
=
InetAddress
.
getByName
(
"127.0.0.1"
)
val
port
=
42
for
{
result
<-
Task
(
ClientKillInput
.
encode
(
Chunk
.
single
(
ClientKillFilter
.
Address
(
address
,
port
))))
}
yield
assert
(
result
)(
equalTo
(
respArgs
(
"ADDR"
,
s
"${address.getHostAddress}:$port"
)))
},
testM
(
"local address"
)
{
val
address
=
InetAddress
.
getByName
(
"127.0.0.1"
)
val
port
=
42
for
{
result
<-
Task
(
ClientKillInput
.
encode
(
Chunk
.
single
(
ClientKillFilter
.
LocalAddress
(
address
,
port
))))
}
yield
assert
(
result
)(
equalTo
(
respArgs
(
"LADDR"
,
s
"${address.getHostAddress}:$port"
)))
},
testM
(
"client ID"
)
{
val
id
=
42L
for
{
result
<-
Task
(
ClientKillInput
.
encode
(
Chunk
.
single
(
ClientKillFilter
.
Id
(
id
))))
}
yield
assert
(
result
)(
equalTo
(
respArgs
(
"ID"
,
42.
toString
)))
},
testM
(
"type"
)
{
val
clientType
=
ClientType
.
PubSub
for
{
result
<-
Task
(
ClientKillInput
.
encode
(
Chunk
.
single
(
ClientKillFilter
.
Type
(
clientType
))))
}
yield
assert
(
result
)(
equalTo
(
respArgs
(
"TYPE"
,
clientType
.
name
)))
},
testM
(
"user"
)
{
val
user
=
"Redisy McRedisFace"
for
{
result
<-
Task
(
ClientKillInput
.
encode
(
Chunk
.
single
(
ClientKillFilter
.
User
(
user
))))
}
yield
assert
(
result
)(
equalTo
(
respArgs
(
"USER"
,
user
)))
},
testM
(
"skip me"
)
{
for
{
result
<-
Task
(
ClientKillInput
.
encode
(
Chunk
.
single
(
ClientKillFilter
.
SkipMe
(
true
))))
}
yield
assert
(
result
)(
equalTo
(
respArgs
(
"SKIPME"
,
"yes"
)))
},
testM
(
"multiple"
)
{
val
clientType
=
ClientType
.
Master
for
{
result
<-
Task
(
ClientKillInput
.
encode
(
Chunk
(
ClientKillFilter
.
Type
(
clientType
),
ClientKillFilter
.
SkipMe
(
true
))))
}
yield
assert
(
result
)(
equalTo
(
respArgs
(
"TYPE"
,
clientType
.
name
,
"SKIPME"
,
"yes"
)))
}
),
suite
(
"ClientTracking"
)(
testM
(
"off"
)
{
for
{
result
<-
Task
(
ClientTrackingInput
.
encode
(
None
))
}
yield
assert
(
result
)(
equalTo
(
respArgs
(
"OFF"
)))
},
testM
(
"client redirect with noloop and prefiexes"
)
{
val
clientId
=
42L
val
prefixes
=
Chunk
(
"prefix1"
,
"prefix2"
,
"prefix3"
)
for
{
result
<-
Task
(
ClientTrackingInput
.
encode
(
Some
((
Some
(
clientId
),
None
,
true
,
prefixes
))))
}
yield
assert
(
result
)(
equalTo
(
respArgs
(
"ON"
,
"REDIRECT"
,
clientId
.
toString
)
++
prefixes
.
flatMap
(
respArgs
(
"PREFIX"
,
_
))
++
respArgs
(
"NOLOOP"
)
)
)
},
testM
(
"broadcast mode"
)
{
for
{
result
<-
Task
(
ClientTrackingInput
.
encode
(
Some
((
None
,
Some
(
ClientTrackingMode
.
Broadcast
),
false
,
Chunk
.
empty
))))
}
yield
assert
(
result
)(
equalTo
(
respArgs
(
"ON"
,
"BCAST"
)))
}
),
suite
(
"ClientType"
)(
testM
(
"present"
)
{
val
clientType
=
ClientType
.
Replica
for
{
result
<-
Task
(
ClientTypeInput
.
encode
(
Some
(
clientType
)))
}
yield
assert
(
result
)(
equalTo
(
respArgs
(
"TYPE"
,
clientType
.
name
)))
},
testM
(
"absent"
)
{
for
{
result
<-
Task
(
ClientTypeInput
.
encode
(
None
))
}
yield
assert
(
result
)(
equalTo
(
Chunk
.
empty
))
}
),
suite
(
"Position"
)(
testM
(
"before"
)
{
for
{
...
...
@@ -782,6 +866,18 @@ object InputSpec extends BaseSpec {
)
}
),
suite
(
"Unblock"
)(
testM
(
"timeout"
)(
for
{
result
<-
Task
(
UnblockInput
.
encode
(
false
))
}
yield
assert
(
result
)(
equalTo
(
respArgs
(
"TIMEOUT"
)))
),
testM
(
"error"
)(
for
{
result
<-
Task
(
UnblockInput
.
encode
(
true
))
}
yield
assert
(
result
)(
equalTo
(
respArgs
(
"ERROR"
)))
)
),
suite
(
"Update"
)(
testM
(
"set existing"
)
{
for
{
...
...
@@ -833,6 +929,18 @@ object InputSpec extends BaseSpec {
result
<-
Task
(
WithHashInput
.
encode
(
WithHash
))
}
yield
assert
(
result
)(
equalTo
(
respArgs
(
"WITHHASH"
)))
}
),
suite
(
"YesNo"
)(
testM
(
"yes"
)
{
for
{
result
<-
Task
(
YesNoInput
.
encode
(
true
))
}
yield
assert
(
result
)(
equalTo
(
respArgs
(
"YES"
)))
},
testM
(
"no"
)
{
for
{
result
<-
Task
(
YesNoInput
.
encode
(
false
))
}
yield
assert
(
result
)(
equalTo
(
respArgs
(
"NO"
)))
}
)
)
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录