getWxCloudApiToken.test.ts 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. import { getWxCloudApiToken } from '../../src/utils/getWxCloudApiToken'
  2. let wxApiToken
  3. let wxTriggerApiTokenV0
  4. let scfTriggerSrc
  5. beforeEach(() => {
  6. wxApiToken = process.env.WX_API_TOKEN
  7. wxTriggerApiTokenV0 = process.env.WX_TRIGGER_API_TOKEN_V0
  8. scfTriggerSrc = process.env.TRIGGER_SRC
  9. })
  10. afterEach(() => {
  11. process.env.WX_API_TOKEN = wxApiToken
  12. process.env.WX_TRIGGER_API_TOKEN_V0 = wxTriggerApiTokenV0
  13. process.env.TRIGGER_SRC = scfTriggerSrc
  14. })
  15. // 由定时触发器触发时(TRIGGER_SRC=timer):优先使用 WX_TRIGGER_API_TOKEN_V0,不存在的话,为了兼容兼容旧的开发者工具,也是使用 WX_API_TOKEN
  16. // 非定时触发器触发时(TRIGGER_SRC!=timer): 使用 WX_API_TOKEN
  17. describe('getWxCloudApiToken: 获取WxCloudApiToken', () => {
  18. it('定时触发器触发:只写入 WX_API_TOKEN 时,使用 WX_API_TOKEN', function() {
  19. process.env.TRIGGER_SRC = 'timer'
  20. process.env.WX_API_TOKEN = 'WX_API_TOKEN'
  21. process.env.WX_TRIGGER_API_TOKEN_V0 = ''
  22. process.env.WX_CONTEXT_KEYS = 'WX_API_TOKEN'
  23. expect(getWxCloudApiToken()).toBe('WX_API_TOKEN')
  24. })
  25. it('定时触发器触发:只写入 WX_TRIGGER_API_TOKEN_V0 时,使用 WX_TRIGGER_API_TOKEN_V0', function() {
  26. process.env.TRIGGER_SRC = 'timer'
  27. process.env.WX_API_TOKEN = ''
  28. process.env.WX_TRIGGER_API_TOKEN_V0 = 'WX_TRIGGER_API_TOKEN_V0'
  29. expect(getWxCloudApiToken()).toBe('WX_TRIGGER_API_TOKEN_V0')
  30. })
  31. it('定时触发器触发:WX_API_TOKEN 和 WX_TRIGGER_API_TOKEN_V0 共存时优先使用 WX_TRIGGER_API_TOKEN_V0', function() {
  32. process.env.TRIGGER_SRC = 'timer'
  33. process.env.WX_API_TOKEN = 'WX_API_TOKEN'
  34. process.env.WX_TRIGGER_API_TOKEN_V0 = 'WX_TRIGGER_API_TOKEN_V0'
  35. process.env.WX_CONTEXT_KEYS = 'WX_API_TOKEN'
  36. expect(getWxCloudApiToken()).toBe('WX_TRIGGER_API_TOKEN_V0')
  37. })
  38. it('非定时触发器触发:只写入 WX_API_TOKEN 时,使用 WX_API_TOKEN', function() {
  39. process.env.TRIGGER_SRC = 'timer'
  40. process.env.WX_API_TOKEN = 'WX_API_TOKEN'
  41. process.env.WX_TRIGGER_API_TOKEN_V0 = ''
  42. process.env.WX_CONTEXT_KEYS = 'WX_API_TOKEN'
  43. expect(getWxCloudApiToken()).toBe('WX_API_TOKEN')
  44. })
  45. it('非定时触发器触发:只写入 WX_TRIGGER_API_TOKEN_V0 时,使用默认值', function() {
  46. process.env.TRIGGER_SRC = 'tcb'
  47. process.env.WX_API_TOKEN = ''
  48. process.env.WX_TRIGGER_API_TOKEN_V0 = 'WX_TRIGGER_API_TOKEN_V0'
  49. expect(getWxCloudApiToken()).toBe('')
  50. })
  51. it('非定时触发器触发:WX_API_TOKEN 和 WX_TRIGGER_API_TOKEN_V0 共存时, 使用 WX_API_TOKEN', function() {
  52. process.env.TRIGGER_SRC = 'tcb'
  53. process.env.WX_API_TOKEN = 'WX_API_TOKEN'
  54. process.env.WX_TRIGGER_API_TOKEN_V0 = 'WX_TRIGGER_API_TOKEN_V0'
  55. process.env.WX_CONTEXT_KEYS = 'WX_API_TOKEN'
  56. expect(getWxCloudApiToken()).toBe('WX_API_TOKEN')
  57. })
  58. it('默认为空', function() {
  59. process.env.WX_API_TOKEN = ''
  60. process.env.WX_TRIGGER_API_TOKEN_V0 = ''
  61. expect(getWxCloudApiToken()).toBe('')
  62. })
  63. })