|
@@ -4,7 +4,7 @@ import { agoraApiRoutes } from '@/server/api'
|
|
|
import { AgoraTokenService } from '@/server/modules/agora/agora-token.service'
|
|
import { AgoraTokenService } from '@/server/modules/agora/agora-token.service'
|
|
|
import { authMiddleware } from '@/server/middleware/auth.middleware'
|
|
import { authMiddleware } from '@/server/middleware/auth.middleware'
|
|
|
|
|
|
|
|
-// 模拟AgoraTokenService
|
|
|
|
|
|
|
+// 模拟模块
|
|
|
vi.mock('@/server/modules/agora/agora-token.service', () => ({
|
|
vi.mock('@/server/modules/agora/agora-token.service', () => ({
|
|
|
AgoraTokenService: vi.fn().mockImplementation(() => ({
|
|
AgoraTokenService: vi.fn().mockImplementation(() => ({
|
|
|
generateRtcToken: vi.fn().mockReturnValue('mock-rtc-token'),
|
|
generateRtcToken: vi.fn().mockReturnValue('mock-rtc-token'),
|
|
@@ -18,7 +18,9 @@ vi.mock('@/server/modules/agora/agora-token.service', () => ({
|
|
|
generatedAt: Math.floor(Date.now() / 1000)
|
|
generatedAt: Math.floor(Date.now() / 1000)
|
|
|
}))
|
|
}))
|
|
|
}))
|
|
}))
|
|
|
-}))
|
|
|
|
|
|
|
+}));
|
|
|
|
|
+
|
|
|
|
|
+vi.mock('@/server/middleware/auth.middleware');
|
|
|
|
|
|
|
|
// Mock用户数据
|
|
// Mock用户数据
|
|
|
const mockUser = {
|
|
const mockUser = {
|
|
@@ -147,6 +149,11 @@ describe('Agora Token API 集成测试', () => {
|
|
|
test('认证用户生成RTC Token成功', async () => {
|
|
test('认证用户生成RTC Token成功', async () => {
|
|
|
const response = await client.agora.token.$get({
|
|
const response = await client.agora.token.$get({
|
|
|
query: { type: 'rtc', channel: 'test-channel' }
|
|
query: { type: 'rtc', channel: 'test-channel' }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ headers: {
|
|
|
|
|
+ 'Authorization': 'Bearer test-token'
|
|
|
|
|
+ }
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
expect(response.status).toBe(200)
|
|
expect(response.status).toBe(200)
|
|
@@ -163,6 +170,11 @@ describe('Agora Token API 集成测试', () => {
|
|
|
test('认证用户生成RTM Token成功', async () => {
|
|
test('认证用户生成RTM Token成功', async () => {
|
|
|
const response = await client.agora.token.$get({
|
|
const response = await client.agora.token.$get({
|
|
|
query: { type: 'rtm', userId: 'test-user-123' }
|
|
query: { type: 'rtm', userId: 'test-user-123' }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ headers: {
|
|
|
|
|
+ 'Authorization': 'Bearer test-token'
|
|
|
|
|
+ }
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
expect(response.status).toBe(200)
|
|
expect(response.status).toBe(200)
|
|
@@ -179,6 +191,11 @@ describe('Agora Token API 集成测试', () => {
|
|
|
// 使用无效的type参数
|
|
// 使用无效的type参数
|
|
|
const response = await client.agora.token.$get({
|
|
const response = await client.agora.token.$get({
|
|
|
query: { type: 'rtc' as any, channel: 'test-channel' }
|
|
query: { type: 'rtc' as any, channel: 'test-channel' }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ headers: {
|
|
|
|
|
+ 'Authorization': 'Bearer test-token'
|
|
|
|
|
+ }
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
// 由于Zod验证,应该返回400错误
|
|
// 由于Zod验证,应该返回400错误
|