Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F325615
mock_api.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Award Token
Flag For Later
Size
1 KB
Referenced Files
None
Subscribers
None
mock_api.js
View Options
import
{
test
as
testBase
}
from
'vitest'
import
{
setupWorker
}
from
'msw/browser'
import
{
http
,
HttpResponse
}
from
'msw'
// https://mswjs.io/docs/recipes/vitest-browser-mode
export
const
injectMswToTest
=
(
defaultHandlers
)
=>
{
const
worker
=
setupWorker
(...
defaultHandlers
)
return
testBase
.
extend
({
worker
:
[
async
({},
use
)
=>
{
await
worker
.
start
()
await
use
(
worker
)
worker
.
resetHandlers
()
worker
.
stop
()
},
{
auto
:
true
}
],
})
}
export
const
testServer
=
'https://test.server.example'
export
const
authApis
=
[
http
.
post
(
`
${
testServer
}
/api/v1/apps`
,
()
=>
{
return
HttpResponse
.
json
({
client_id
:
'test-id'
,
client_secret
:
'test-secret'
})
}),
http
.
get
(
`
${
testServer
}
/api/v1/apps/verify_credentials`
,
({
request
})
=>
{
const
authHeader
=
request
.
headers
.
get
(
'Authorization'
)
if
(
authHeader
===
'Bearer test-app-token'
||
authHeader
===
'Bearer also-good-app-token'
)
{
return
HttpResponse
.
json
({})
}
else
{
// Pleroma 2.9.0 gives the following respoonse upon error
return
HttpResponse
.
json
({
error
:
{
detail
:
'Internal server error'
}
},
{
status
:
400
})
}
}),
http
.
post
(
`
${
testServer
}
/oauth/token`
,
async
({
request
})
=>
{
const
data
=
await
request
.
formData
()
if
(
data
.
get
(
'client_id'
)
===
'test-id'
&&
data
.
get
(
'client_secret'
)
===
'test-secret'
&&
data
.
get
(
'grant_type'
)
===
'client_credentials'
&&
data
.
has
(
'redirect_uri'
))
{
return
HttpResponse
.
json
({
access_token
:
'test-app-token'
})
}
else
{
// Pleroma 2.9.0 gives the following respoonse upon error
return
HttpResponse
.
json
({
error
:
'Invalid credentials'
},
{
status
:
400
})
}
})
]
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, Apr 24, 4:18 AM (1 d, 5 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
89101
Default Alt Text
mock_api.js (1 KB)
Attached To
Mode
rPUFE pleroma-fe-upstream
Attached
Detach File
Event Timeline
Log In to Comment