machine_id_unittest.cc 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. // Copyright (c) 2012 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 "rlz/lib/machine_id.h"
  5. #include <string>
  6. #include "base/strings/string_util.h"
  7. #include "base/strings/utf_string_conversions.h"
  8. #include "build/chromeos_buildflags.h"
  9. #include "rlz/test/rlz_test_helpers.h"
  10. #include "testing/gtest/include/gtest/gtest.h"
  11. // This test will fail if the behavior of GetMachineId changes.
  12. TEST(MachineDealCodeTestMachineId, MachineId) {
  13. std::u16string computer_sid(u"S-1-5-21-2345599882-2448789067-1921365677");
  14. std::string id;
  15. rlz_lib::testing::GetMachineIdImpl(computer_sid, -1643738288, &id);
  16. EXPECT_STREQ("A341BA986A7E86840688977FCF20C86E253F00919E068B50F8",
  17. id.c_str());
  18. }
  19. #if BUILDFLAG(IS_CHROMEOS_ASH)
  20. TEST(MachineDealCodeTestMachineId, MachineIdIsUnique) {
  21. std::string id1;
  22. std::string id2;
  23. rlz_lib::GetMachineId(&id1);
  24. rlz_lib::GetMachineId(&id2);
  25. EXPECT_NE(id1, id2);
  26. }
  27. TEST(MachineDealCodeTestMachineId, MachineIdIsProperFormat) {
  28. std::string id;
  29. rlz_lib::GetMachineId(&id);
  30. std::string prefix = id.substr(0, 5);
  31. EXPECT_EQ(50u, id.length());
  32. EXPECT_TRUE(
  33. base::ContainsOnlyChars(id, "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"));
  34. EXPECT_STREQ("NONCE", prefix.c_str());
  35. }
  36. #endif