Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
gzupanda
code-server
提交
a60f61f9
C
code-server
项目概览
gzupanda
/
code-server
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
code-server
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
a60f61f9
编写于
1月 20, 2021
作者:
A
Anmol Sethi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
proxy.test.ts: Add POST body test and redirection tests
Closes #2377
上级
58d72d53
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
63 addition
and
8 deletion
+63
-8
test/proxy.test.ts
test/proxy.test.ts
+63
-8
未找到文件。
test/proxy.test.ts
浏览文件 @
a60f61f9
import
bodyParser
from
"
body-parser
"
import
*
as
express
from
"
express
"
import
*
as
httpserver
from
"
./httpserver
"
import
*
as
integration
from
"
./integration
"
describe
(
"
proxy
"
,
()
=>
{
let
codeServer
:
httpserver
.
HttpServer
|
undefined
const
nhooyrDevServer
=
new
httpserver
.
HttpServer
()
let
codeServer
:
httpserver
.
HttpServer
|
undefined
let
proxyPath
:
string
let
e
:
express
.
Express
beforeAll
(
async
()
=>
{
const
e
=
express
.
default
()
await
nhooyrDevServer
.
listen
(
e
)
e
.
get
(
"
/wsup
"
,
(
req
,
res
)
=>
{
res
.
json
(
"
asher is the best
"
)
await
nhooyrDevServer
.
listen
((
req
,
res
)
=>
{
e
(
req
,
res
)
})
proxyPath
=
`/proxy/
${
nhooyrDevServer
.
port
()}
/wsup`
e
.
get
(
proxyPath
,
(
req
,
res
)
=>
{
res
.
json
(
"
joe is the best
"
)
})
})
afterAll
(
async
()
=>
{
await
nhooyrDevServer
.
close
()
})
beforeEach
(()
=>
{
e
=
express
.
default
()
})
afterEach
(
async
()
=>
{
if
(
codeServer
)
{
await
codeServer
.
close
()
...
...
@@ -31,6 +32,9 @@ describe("proxy", () => {
})
it
(
"
should rewrite the base path
"
,
async
()
=>
{
e
.
get
(
"
/wsup
"
,
(
req
,
res
)
=>
{
res
.
json
(
"
asher is the best
"
)
})
;[,
,
codeServer
]
=
await
integration
.
setup
([
"
--auth=none
"
],
""
)
const
resp
=
await
codeServer
.
fetch
(
proxyPath
)
expect
(
resp
.
status
).
toBe
(
200
)
...
...
@@ -39,10 +43,61 @@ describe("proxy", () => {
})
it
(
"
should not rewrite the base path
"
,
async
()
=>
{
e
.
get
(
proxyPath
,
(
req
,
res
)
=>
{
res
.
json
(
"
joe is the best
"
)
})
;[,
,
codeServer
]
=
await
integration
.
setup
([
"
--auth=none
"
,
"
--proxy-path-passthrough=true
"
],
""
)
const
resp
=
await
codeServer
.
fetch
(
proxyPath
)
expect
(
resp
.
status
).
toBe
(
200
)
const
json
=
await
resp
.
json
()
expect
(
json
).
toBe
(
"
joe is the best
"
)
})
it
(
"
should rewrite redirects
"
,
async
()
=>
{
e
.
post
(
"
/wsup
"
,
(
req
,
res
)
=>
{
res
.
redirect
(
307
,
"
/finale
"
)
})
e
.
post
(
"
/finale
"
,
(
req
,
res
)
=>
{
res
.
json
(
"
redirect success
"
)
})
;[,
,
codeServer
]
=
await
integration
.
setup
([
"
--auth=none
"
],
""
)
const
resp
=
await
codeServer
.
fetch
(
proxyPath
,
{
method
:
"
POST
"
,
})
expect
(
resp
.
status
).
toBe
(
200
)
expect
(
await
resp
.
json
()).
toBe
(
"
redirect success
"
)
})
it
(
"
should not rewrite redirects
"
,
async
()
=>
{
const
finalePath
=
proxyPath
.
replace
(
"
/wsup
"
,
"
/finale
"
)
e
.
post
(
proxyPath
,
(
req
,
res
)
=>
{
res
.
redirect
(
307
,
finalePath
)
})
e
.
post
(
finalePath
,
(
req
,
res
)
=>
{
res
.
json
(
"
redirect success
"
)
})
;[,
,
codeServer
]
=
await
integration
.
setup
([
"
--auth=none
"
,
"
--proxy-path-passthrough=true
"
],
""
)
const
resp
=
await
codeServer
.
fetch
(
proxyPath
,
{
method
:
"
POST
"
,
})
expect
(
resp
.
status
).
toBe
(
200
)
expect
(
await
resp
.
json
()).
toBe
(
"
redirect success
"
)
})
it
(
"
should allow post bodies
"
,
async
()
=>
{
e
.
use
(
bodyParser
.
json
({
strict
:
false
}))
e
.
post
(
"
/wsup
"
,
(
req
,
res
)
=>
{
res
.
json
(
req
.
body
)
})
;[,
,
codeServer
]
=
await
integration
.
setup
([
"
--auth=none
"
],
""
)
const
resp
=
await
codeServer
.
fetch
(
proxyPath
,
{
method
:
"
post
"
,
body
:
JSON
.
stringify
(
"
coder is the best
"
),
headers
:
{
"
Content-Type
"
:
"
application/json
"
,
},
})
expect
(
resp
.
status
).
toBe
(
200
)
expect
(
await
resp
.
json
()).
toBe
(
"
coder is the best
"
)
})
})
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录