extractSlug.spec.tsx 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import {extractSlug} from 'sentry/utils/extractSlug';
  2. describe('extractSlug', () => {
  3. it.each([
  4. {hostname: 'example.com'},
  5. {hostname: 'example.com:443'},
  6. {hostname: 'acme.example.com'},
  7. {hostname: 'acme.example.com:443'},
  8. {hostname: 'sentry.io'},
  9. {hostname: 'sentry.io:443'},
  10. {hostname: 'acme.sentry.io'},
  11. {hostname: 'acme.sentry.io:443'},
  12. ])(
  13. 'should return null when not using known dev hostnames "$hostname"',
  14. ({hostname}) => {
  15. expect(extractSlug(hostname)).toBeNull();
  16. }
  17. );
  18. it.each([
  19. {hostname: 'localhost', slug: '', domain: 'localhost'},
  20. {hostname: 'localhost:7999', slug: '', domain: 'localhost:7999'},
  21. {hostname: 'acme.localhost', slug: 'acme', domain: 'localhost'},
  22. {
  23. hostname: 'acme.localhost:7999',
  24. slug: 'acme',
  25. domain: 'localhost:7999',
  26. },
  27. {hostname: 'dev.getsentry.net', slug: '', domain: 'dev.getsentry.net'},
  28. {
  29. hostname: 'dev.getsentry.net:7999',
  30. slug: '',
  31. domain: 'dev.getsentry.net:7999',
  32. },
  33. {
  34. hostname: 'acme.dev.getsentry.net',
  35. slug: 'acme',
  36. domain: 'dev.getsentry.net',
  37. },
  38. {
  39. hostname: 'acme.sentry-inst123.dev.getsentry.net',
  40. slug: 'acme',
  41. domain: 'sentry-inst123.dev.getsentry.net',
  42. },
  43. {
  44. hostname: 'acme.dev.getsentry.net:7999',
  45. slug: 'acme',
  46. domain: 'dev.getsentry.net:7999',
  47. },
  48. {hostname: 'sentry.dev', slug: '', domain: 'sentry.dev'},
  49. {hostname: 'sentry.dev:7999', slug: '', domain: 'sentry.dev:7999'},
  50. {hostname: 'acme.sentry.dev', slug: 'acme', domain: 'sentry.dev'},
  51. {
  52. hostname: 'acme.sentry-inst123.sentry.dev',
  53. slug: 'acme',
  54. domain: 'sentry-inst123.sentry.dev',
  55. },
  56. {
  57. hostname: 'acme.sentry.dev:7999',
  58. slug: 'acme',
  59. domain: 'sentry.dev:7999',
  60. },
  61. {
  62. hostname: 'acme.sentry-inst123.sentry.dev:7999',
  63. slug: 'acme',
  64. domain: 'sentry-inst123.sentry.dev:7999',
  65. },
  66. ])('should split "$slug" & "$domain" from $hostname', ({hostname, slug, domain}) => {
  67. expect(extractSlug(hostname)).toStrictEqual({slug, domain});
  68. });
  69. });