Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(584)

Unified Diff: src/platform/update_engine/omaha_request_prep_action_unittest.cc

Issue 467051: AU: Use Omaha ID rather than MAC address in delta updater (Closed)
Patch Set: fixes for review Created 11 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/platform/update_engine/omaha_request_prep_action.cc ('k') | src/platform/update_engine/test_utils.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/platform/update_engine/omaha_request_prep_action_unittest.cc
diff --git a/src/platform/update_engine/omaha_request_prep_action_unittest.cc b/src/platform/update_engine/omaha_request_prep_action_unittest.cc
index 19da5e574edafda447afd05d1734dbf9a166ea2a..d5a95e0ba07792e72ba5eb89faf60ffe938bb569 100644
--- a/src/platform/update_engine/omaha_request_prep_action_unittest.cc
+++ b/src/platform/update_engine/omaha_request_prep_action_unittest.cc
@@ -64,26 +64,22 @@ bool OmahaRequestPrepActionTest::DoTest(bool force_full_update,
}
namespace {
-// Returns true iff str is formatted as a mac address
-bool IsValidMac(const string& str) {
- if (str.size() != (3 * 6 - 1))
- return false;
- for (unsigned int i = 0; i < str.size(); i++) {
- char c = str[i];
- switch (i % 3) {
- case 0: // fall through
- case 1:
- if ((c >= '0') && (c <= '9'))
- break;
- if ((c >= 'a') && (c <= 'f'))
- break;
- if ((c >= 'A') && (c <= 'F'))
- break;
- return false;
- case 2:
- if (c == ':')
- break;
- return false;
+bool IsHexDigit(char c) {
+ return ((c >= '0') && (c <= '9')) ||
+ ((c >= 'a') && (c <= 'f')) ||
+ ((c >= 'A') && (c <= 'F'));
+}
+
+// Returns true iff str is formatted as a GUID. Example GUID:
+// "{2251FFAD-DBAB-4E53-8B3A-18F98BB4EB80}"
+bool IsValidGuid(const string& str) {
+ TEST_AND_RETURN_FALSE(str.size() == 38);
+ TEST_AND_RETURN_FALSE((*str.begin() == '{') && (*str.rbegin() == '}'));
+ for (string::size_type i = 1; i < (str.size() - 1); ++i) {
+ if ((i == 9) || (i == 14) || (i == 19) || (i == 24)) {
+ TEST_AND_RETURN_FALSE(str[i] == '-');
+ } else {
+ TEST_AND_RETURN_FALSE(IsHexDigit(str[i]));
}
}
return true;
@@ -110,15 +106,17 @@ string GetMachineType() {
TEST_F(OmahaRequestPrepActionTest, SimpleTest) {
ASSERT_EQ(0, System(string("mkdir -p ") + kTestDir + "/etc"));
+ ASSERT_EQ(0, System(string("mkdir -p ") + kTestDir +
+ utils::kStatefulPartition + "/etc"));
{
ASSERT_TRUE(WriteFileString(
kTestDir + "/etc/lsb-release",
"GOOGLE_FOO=bar\nGOOGLE_RELEASE=0.2.2.3\nGOOGLE_TRACK=footrack"));
UpdateCheckParams out;
EXPECT_TRUE(DoTest(false, &out));
- EXPECT_TRUE(IsValidMac(out.machine_id));
+ EXPECT_TRUE(IsValidGuid(out.machine_id)) << "id: " << out.machine_id;
// for now we're just using the machine id here
- EXPECT_TRUE(IsValidMac(out.user_id));
+ EXPECT_TRUE(IsValidGuid(out.user_id)) << "id: " << out.user_id;
EXPECT_EQ("Chrome OS", out.os_platform);
EXPECT_EQ(string("0.2.2.3_") + GetMachineType(), out.os_sp);
EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id);
@@ -131,15 +129,17 @@ TEST_F(OmahaRequestPrepActionTest, SimpleTest) {
TEST_F(OmahaRequestPrepActionTest, MissingTrackTest) {
ASSERT_EQ(0, System(string("mkdir -p ") + kTestDir + "/etc"));
+ ASSERT_EQ(0, System(string("mkdir -p ") + kTestDir +
+ utils::kStatefulPartition + "/etc"));
{
ASSERT_TRUE(WriteFileString(
kTestDir + "/etc/lsb-release",
"GOOGLE_FOO=bar\nGOOGLE_RELEASE=0.2.2.3\nGOOGLE_TRXCK=footrack"));
UpdateCheckParams out;
EXPECT_TRUE(DoTest(false, &out));
- EXPECT_TRUE(IsValidMac(out.machine_id));
+ EXPECT_TRUE(IsValidGuid(out.machine_id));
// for now we're just using the machine id here
- EXPECT_TRUE(IsValidMac(out.user_id));
+ EXPECT_TRUE(IsValidGuid(out.user_id));
EXPECT_EQ("Chrome OS", out.os_platform);
EXPECT_EQ(string("0.2.2.3_") + GetMachineType(), out.os_sp);
EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id);
@@ -152,6 +152,8 @@ TEST_F(OmahaRequestPrepActionTest, MissingTrackTest) {
TEST_F(OmahaRequestPrepActionTest, ConfusingReleaseTest) {
ASSERT_EQ(0, System(string("mkdir -p ") + kTestDir + "/etc"));
+ ASSERT_EQ(0, System(string("mkdir -p ") + kTestDir +
+ utils::kStatefulPartition + "/etc"));
{
ASSERT_TRUE(WriteFileString(
kTestDir + "/etc/lsb-release",
@@ -159,9 +161,9 @@ TEST_F(OmahaRequestPrepActionTest, ConfusingReleaseTest) {
"GOOGLE_RELEASE=0.2.2.3\nGOOGLE_TRXCK=footrack"));
UpdateCheckParams out;
EXPECT_TRUE(DoTest(false, &out));
- EXPECT_TRUE(IsValidMac(out.machine_id));
+ EXPECT_TRUE(IsValidGuid(out.machine_id)) << out.machine_id;
// for now we're just using the machine id here
- EXPECT_TRUE(IsValidMac(out.user_id));
+ EXPECT_TRUE(IsValidGuid(out.user_id));
EXPECT_EQ("Chrome OS", out.os_platform);
EXPECT_EQ(string("0.2.2.3_") + GetMachineType(), out.os_sp);
EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id);
@@ -172,4 +174,26 @@ TEST_F(OmahaRequestPrepActionTest, ConfusingReleaseTest) {
EXPECT_EQ(0, System(string("rm -rf ") + kTestDir));
}
+TEST_F(OmahaRequestPrepActionTest, MachineIdPersistsTest) {
+ ASSERT_EQ(0, System(string("mkdir -p ") + kTestDir + "/etc"));
+ ASSERT_EQ(0, System(string("mkdir -p ") + kTestDir +
+ utils::kStatefulPartition + "/etc"));
+ ASSERT_TRUE(WriteFileString(
+ kTestDir + "/etc/lsb-release",
+ "GOOGLE_FOO=GOOGLE_RELEASE=1.2.3.4\n"
+ "GOOGLE_RELEASE=0.2.2.3\nGOOGLE_TRXCK=footrack"));
+ UpdateCheckParams out1;
+ EXPECT_TRUE(DoTest(false, &out1));
+ string machine_id;
+ EXPECT_TRUE(utils::ReadFileToString(
+ kTestDir +
+ utils::kStatefulPartition + "/etc/omaha_id",
+ &machine_id));
+ EXPECT_EQ(machine_id, out1.machine_id);
+ UpdateCheckParams out2;
+ EXPECT_TRUE(DoTest(false, &out2));
+ EXPECT_EQ(machine_id, out2.machine_id);
+ EXPECT_EQ(0, System(string("rm -rf ") + kTestDir));
+}
+
} // namespace chromeos_update_engine
« no previous file with comments | « src/platform/update_engine/omaha_request_prep_action.cc ('k') | src/platform/update_engine/test_utils.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698