signaling_id_util_unittest.cc 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. // Copyright 2019 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "remoting/signaling/signaling_id_util.h"
  5. #include "testing/gtest/include/gtest/gtest.h"
  6. namespace remoting {
  7. TEST(SignalingIdUtilTest, NormalizeSignalingId) {
  8. EXPECT_EQ(NormalizeSignalingId("USER@DOMAIN.com"), "user@domain.com");
  9. EXPECT_EQ(NormalizeSignalingId("user@domain.com"), "user@domain.com");
  10. EXPECT_EQ(NormalizeSignalingId("USER@DOMAIN.com/RESOURCE"),
  11. "user@domain.com/RESOURCE");
  12. EXPECT_EQ(NormalizeSignalingId("USER@DOMAIN.com/"), "user@domain.com/");
  13. // Jabber ID normalization
  14. EXPECT_EQ("user.mixed.case@googlemail.com/RESOURCE",
  15. NormalizeSignalingId("User.Mixed.Case@GOOGLEMAIL.com/RESOURCE"));
  16. // FTL ID normalization
  17. EXPECT_EQ("user@domain.com/chromoting_ftl_abc123",
  18. NormalizeSignalingId("USER@DOMAIN.com/chromoting_ftl_abc123"));
  19. EXPECT_EQ("user@domain.com/chromoting_ftl_abc123",
  20. NormalizeSignalingId(" USER@DOMAIN.com/chromoting_ftl_abc123"));
  21. EXPECT_EQ(
  22. "usermixedcase@gmail.com/chromoting_ftl_abc123",
  23. NormalizeSignalingId("User.Mixed.Case@GMAIL.com/chromoting_ftl_abc123"));
  24. EXPECT_EQ("usermixedcase@gmail.com/chromoting_ftl_abc123",
  25. NormalizeSignalingId(
  26. "User.Mixed.Case@GOOGLEMAIL.com/chromoting_ftl_abc123"));
  27. EXPECT_EQ(
  28. "user.mixed.case@domain.com/chromoting_ftl_abc123",
  29. NormalizeSignalingId("User.Mixed.Case@DOMAIN.com/chromoting_ftl_abc123"));
  30. EXPECT_EQ("invalid.user/chromoting_ftl_abc123",
  31. NormalizeSignalingId(" Invalid.User/chromoting_ftl_abc123"));
  32. EXPECT_EQ("invalid.user@/chromoting_ftl_abc123",
  33. NormalizeSignalingId(" Invalid.User@/chromoting_ftl_abc123"));
  34. EXPECT_EQ("@gmail.com/chromoting_ftl_abc123",
  35. NormalizeSignalingId("@googlemail.com/chromoting_ftl_abc123"));
  36. }
  37. TEST(SignalingIdUtilTest, SplitSignalingIdResource) {
  38. std::string email;
  39. std::string resource_suffix;
  40. EXPECT_TRUE(
  41. SplitSignalingIdResource("user@domain/resource", nullptr, nullptr));
  42. EXPECT_TRUE(SplitSignalingIdResource("user@domain/resource", &email,
  43. &resource_suffix));
  44. EXPECT_EQ(email, "user@domain");
  45. EXPECT_EQ(resource_suffix, "resource");
  46. EXPECT_FALSE(SplitSignalingIdResource("user@domain", nullptr, nullptr));
  47. EXPECT_FALSE(
  48. SplitSignalingIdResource("user@domain", &email, &resource_suffix));
  49. EXPECT_EQ(email, "user@domain");
  50. EXPECT_EQ(resource_suffix, "");
  51. }
  52. } // namespace remoting