1 // Copyright 2014 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 5 #include "chrome/browser/omaha_query_params/omaha_query_params.h" 6 7 #include "base/strings/stringprintf.h" 8 #include "chrome/common/chrome_version_info.h" 9 #include "testing/gtest/include/gtest/gtest.h" 10 11 using base::StringPrintf; 12 13 namespace chrome { 14 15 bool Contains(const std::string& source, const std::string& target) { 16 return source.find(target) != std::string::npos; 17 } 18 19 void TestParams(OmahaQueryParams::ProdId prod_id) { 20 std::string params = OmahaQueryParams::Get(prod_id); 21 22 // This doesn't so much test what the values are (since that would be an 23 // almost exact duplication of code with omaha_query_params.cc, and wouldn't 24 // really test anything) as it is a verification that all the params are 25 // present in the generated string. 26 EXPECT_TRUE( 27 Contains(params, StringPrintf("os=%s", OmahaQueryParams::GetOS()))); 28 EXPECT_TRUE( 29 Contains(params, StringPrintf("arch=%s", OmahaQueryParams::GetArch()))); 30 EXPECT_TRUE(Contains( 31 params, 32 StringPrintf("prod=%s", OmahaQueryParams::GetProdIdString(prod_id)))); 33 EXPECT_TRUE(Contains( 34 params, 35 StringPrintf("prodchannel=%s", OmahaQueryParams::GetChannelString()))); 36 EXPECT_TRUE(Contains( 37 params, 38 StringPrintf("prodversion=%s", chrome::VersionInfo().Version().c_str()))); 39 EXPECT_TRUE(Contains( 40 params, 41 StringPrintf("lang=%s", OmahaQueryParams::GetLang()))); 42 } 43 44 TEST(OmahaQueryParams, GetOmahaQueryParams) { 45 TestParams(OmahaQueryParams::CRX); 46 TestParams(OmahaQueryParams::CHROME); 47 } 48 49 } // namespace chrome 50