Merge "metricsd: Don\'t upload if product id is empty." am: 0ba2606444 am: f826969e10

am: 1230b49350

* commit '1230b4935072b31f0321b071a7e1f9f87fac495b':
  metricsd: Don't upload if product id is empty.
This commit is contained in:
Bertrand Simonnet 2015-11-18 19:17:32 +00:00 committed by android-build-merger
commit e86186bbbe
3 changed files with 14 additions and 1 deletions

View file

@ -87,7 +87,8 @@ bool SystemProfileCache::Initialize() {
}
}
if (!reader.GetString(metrics::kProductId, &profile_.product_id)) {
if (!reader.GetString(metrics::kProductId, &profile_.product_id)
|| profile_.product_id.empty()) {
LOG(ERROR) << "product_id is not set.";
return false;
}

View file

@ -69,6 +69,7 @@ class SystemProfileCache : public SystemProfileSetter {
FRIEND_TEST(UploadServiceTest, ReadKeyValueFromFile);
FRIEND_TEST(UploadServiceTest, SessionIdIncrementedAtInitialization);
FRIEND_TEST(UploadServiceTest, ValuesInConfigFileAreSent);
FRIEND_TEST(UploadServiceTest, ProductIdMandatory);
// Fetches all informations and populates |profile_|
bool Initialize();

View file

@ -291,3 +291,14 @@ TEST_F(UploadServiceTest, LogFromTheMetricsLibrary) {
EXPECT_EQ(1, sender->send_call_count());
}
// The product id must be set for metrics to be uploaded.
// If it is not set, the system profile cache should fail to initialize.
TEST_F(UploadServiceTest, ProductIdMandatory) {
SystemProfileCache cache(true, dir_.path());
ASSERT_FALSE(cache.Initialize());
SetTestingProperty(metrics::kProductId, "");
ASSERT_FALSE(cache.Initialize());
SetTestingProperty(metrics::kProductId, "hello");
ASSERT_TRUE(cache.Initialize());
}