mirror of
https://github.com/langgenius/dify.git
synced 2026-06-25 22:31:10 +08:00
73 lines
2.3 KiB
TypeScript
73 lines
2.3 KiB
TypeScript
describe('env runtime transport', () => {
|
|
const originalAgentV2Env = process.env.NEXT_PUBLIC_ENABLE_AGENT_V2
|
|
const originalRbacEnv = process.env.NEXT_PUBLIC_RBAC_ENABLED
|
|
|
|
beforeEach(() => {
|
|
vi.clearAllMocks()
|
|
vi.resetModules()
|
|
vi.doUnmock('../utils/client')
|
|
document.body.removeAttribute('data-enable-agent-v2')
|
|
document.body.removeAttribute('data-enable-agent-v-2')
|
|
document.body.removeAttribute('data-rbac-enabled')
|
|
delete process.env.NEXT_PUBLIC_ENABLE_AGENT_V2
|
|
delete process.env.NEXT_PUBLIC_RBAC_ENABLED
|
|
})
|
|
|
|
afterAll(() => {
|
|
if (originalAgentV2Env === undefined)
|
|
delete process.env.NEXT_PUBLIC_ENABLE_AGENT_V2
|
|
else
|
|
process.env.NEXT_PUBLIC_ENABLE_AGENT_V2 = originalAgentV2Env
|
|
|
|
if (originalRbacEnv === undefined)
|
|
delete process.env.NEXT_PUBLIC_RBAC_ENABLED
|
|
else
|
|
process.env.NEXT_PUBLIC_RBAC_ENABLED = originalRbacEnv
|
|
})
|
|
|
|
it('should read NEXT_PUBLIC_ENABLE_AGENT_V2 from the browser runtime dataset key', async () => {
|
|
document.body.setAttribute('data-enable-agent-v2', 'true')
|
|
|
|
const { env } = await import('../env')
|
|
|
|
expect(env.NEXT_PUBLIC_ENABLE_AGENT_V2).toBe(true)
|
|
})
|
|
|
|
it('should read NEXT_PUBLIC_RBAC_ENABLED from the browser runtime dataset key', async () => {
|
|
document.body.setAttribute('data-rbac-enabled', 'true')
|
|
|
|
const { env } = await import('../env')
|
|
|
|
expect(env.NEXT_PUBLIC_RBAC_ENABLED).toBe(true)
|
|
})
|
|
|
|
it('should emit the Agent v2 runtime dataset attribute from getDatasetMap on the server', async () => {
|
|
process.env.NEXT_PUBLIC_ENABLE_AGENT_V2 = 'true'
|
|
|
|
vi.doMock('../utils/client', () => ({
|
|
isClient: false,
|
|
isServer: true,
|
|
}))
|
|
|
|
const { getDatasetMap } = await import('../env')
|
|
const datasetMap = getDatasetMap()
|
|
|
|
expect(datasetMap['data-enable-agent-v2']).toBe(true)
|
|
expect(datasetMap['data-enable-agent-v-2']).toBeUndefined()
|
|
})
|
|
|
|
it('should emit the RBAC runtime dataset attribute from getDatasetMap on the server', async () => {
|
|
process.env.NEXT_PUBLIC_RBAC_ENABLED = 'true'
|
|
|
|
vi.doMock('../utils/client', () => ({
|
|
isClient: false,
|
|
isServer: true,
|
|
}))
|
|
|
|
const { getDatasetMap } = await import('../env')
|
|
const datasetMap = getDatasetMap()
|
|
|
|
expect(datasetMap['data-rbac-enabled']).toBe(true)
|
|
})
|
|
})
|