extractSlug.spec.tsx 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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. ])('should return null when not using known dev hostnames', ({hostname}) => {
  13. expect(extractSlug(hostname)).toBeNull();
  14. });
  15. it.each([
  16. {hostname: 'localhost', slug: '', domain: 'localhost'},
  17. {hostname: 'localhost:7999', slug: '', domain: 'localhost:7999'},
  18. {hostname: 'acme.localhost', slug: 'acme', domain: 'localhost'},
  19. {
  20. hostname: 'acme.localhost:7999',
  21. slug: 'acme',
  22. domain: 'localhost:7999',
  23. },
  24. {hostname: 'dev.getsentry.net', slug: '', domain: 'dev.getsentry.net'},
  25. {
  26. hostname: 'dev.getsentry.net:7999',
  27. slug: '',
  28. domain: 'dev.getsentry.net:7999',
  29. },
  30. {
  31. hostname: 'acme.dev.getsentry.net',
  32. slug: 'acme',
  33. domain: 'dev.getsentry.net',
  34. },
  35. {
  36. hostname: 'acme.sentry-inst123.dev.getsentry.net',
  37. slug: 'acme',
  38. domain: 'sentry-inst123.dev.getsentry.net',
  39. },
  40. {
  41. hostname: 'acme.dev.getsentry.net:7999',
  42. slug: 'acme',
  43. domain: 'dev.getsentry.net:7999',
  44. },
  45. {hostname: 'sentry.dev', slug: '', domain: 'sentry.dev'},
  46. {hostname: 'sentry.dev:7999', slug: '', domain: 'sentry.dev:7999'},
  47. {hostname: 'acme.sentry.dev', slug: 'acme', domain: 'sentry.dev'},
  48. {
  49. hostname: 'acme.sentry-inst123.sentry.dev',
  50. slug: 'acme',
  51. domain: 'sentry-inst123.sentry.dev',
  52. },
  53. {
  54. hostname: 'acme.sentry.dev:7999',
  55. slug: 'acme',
  56. domain: 'sentry.dev:7999',
  57. },
  58. {
  59. hostname: 'acme.sentry-inst123.sentry.dev:7999',
  60. slug: 'acme',
  61. domain: 'sentry-inst123.sentry.dev:7999',
  62. },
  63. ])('should split "$slug" & "$domain" from $hostname', ({hostname, slug, domain}) => {
  64. expect(extractSlug(hostname)).toStrictEqual({slug, domain});
  65. });
  66. });