Skip to content

Commit 5336e28

Browse files
authored
Merge pull request #12725 from /issues/21836
2 parents 7fd4efe + 006b290 commit 5336e28

File tree

8 files changed

+114
-5
lines changed

8 files changed

+114
-5
lines changed

components/brave_ads/test/BUILD.gn

+2
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ source_set("brave_ads_unit_tests") {
6868
"//brave/vendor/bat-native-ads/src/bat/ads/internal/account/user_data/system_timestamp_user_data_unittest.cc",
6969
"//brave/vendor/bat-native-ads/src/bat/ads/internal/account/user_data/totals_user_data_unittest.cc",
7070
"//brave/vendor/bat-native-ads/src/bat/ads/internal/account/user_data/totals_user_data_util_unittest.cc",
71+
"//brave/vendor/bat-native-ads/src/bat/ads/internal/account/user_data/version_number_user_data_unittest.cc",
7172
"//brave/vendor/bat-native-ads/src/bat/ads/internal/account/wallet/wallet_unittest.cc",
7273
"//brave/vendor/bat-native-ads/src/bat/ads/internal/account/wallet/wallet_unittest_util.cc",
7374
"//brave/vendor/bat-native-ads/src/bat/ads/internal/account/wallet/wallet_unittest_util.h",
@@ -300,6 +301,7 @@ source_set("brave_ads_unit_tests") {
300301
"//brave/components/brave_rewards/common:common",
301302
"//brave/components/brave_rewards/test:brave_rewards_unit_tests",
302303
"//brave/components/challenge_bypass_ristretto",
304+
"//brave/components/version_info:version_info",
303305
"//brave/vendor/bat-native-ads",
304306
"//brave/vendor/bat-native-ledger",
305307
"//brave/vendor/bat-native-rapidjson",

vendor/bat-native-ads/BUILD.gn

+3
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,8 @@ source_set("ads") {
230230
"src/bat/ads/internal/account/user_data/totals_user_data_util.h",
231231
"src/bat/ads/internal/account/user_data/user_data_builder.h",
232232
"src/bat/ads/internal/account/user_data/user_data_builder_aliases.h",
233+
"src/bat/ads/internal/account/user_data/version_number_user_data.cc",
234+
"src/bat/ads/internal/account/user_data/version_number_user_data.h",
233235
"src/bat/ads/internal/account/wallet/wallet.cc",
234236
"src/bat/ads/internal/account/wallet/wallet.h",
235237
"src/bat/ads/internal/account/wallet/wallet_info.cc",
@@ -1008,6 +1010,7 @@ source_set("ads") {
10081010
"//brave/components/challenge_bypass_ristretto",
10091011
"//brave/components/l10n/browser",
10101012
"//brave/components/l10n/common",
1013+
"//brave/components/version_info",
10111014
"//brave/vendor/bat-native-ledger",
10121015
"//crypto",
10131016
"//net",

vendor/bat-native-ads/src/bat/ads/internal/DEPS

+3
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,8 @@ specific_include_rules = {
88
],
99
"ad_notifications.cc": [
1010
"+brave/common/brave_channel_info.h",
11+
],
12+
"version_number_user_data.cc": [
13+
"+brave/components/version_info/version_info.h",
1114
]
1215
}

vendor/bat-native-ads/src/bat/ads/internal/account/confirmations/confirmations_user_data_builder.cc

+5
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
#include "bat/ads/internal/account/user_data/platform_user_data.h"
1616
#include "bat/ads/internal/account/user_data/studies_user_data.h"
1717
#include "bat/ads/internal/account/user_data/system_timestamp_user_data.h"
18+
#include "bat/ads/internal/account/user_data/version_number_user_data.h"
1819

1920
namespace ads {
2021

@@ -60,6 +61,10 @@ void ConfirmationsUserDataBuilder::Build(
6061
user_data::GetSystemTimestamp();
6162
user_data.MergeDictionary(&system_timestamp_user_data);
6263

64+
const base::DictionaryValue version_number_user_data =
65+
user_data::GetVersionNumber();
66+
user_data.MergeDictionary(&version_number_user_data);
67+
6368
callback(user_data);
6469
});
6570
}

vendor/bat-native-ads/src/bat/ads/internal/account/confirmations/confirmations_user_data_builder_unittest.cc

+4-5
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,9 @@ TEST_F(BatAdsConfirmationUserDataTest, BuildForNonConversionConfirmationType) {
6060
std::string json;
6161
base::JSONWriter::Write(user_data, &json);
6262

63-
const std::string expected_json =
64-
R"({"buildChannel":"release","countryCode":"US","createdAtTimestamp":"2020-11-18T12:00:00.000Z","odyssey":"host","platform":"windows","studies":[],"systemTimestamp":"2020-11-18T12:00:00.000Z"})";
65-
66-
EXPECT_EQ(expected_json, json);
63+
const std::string pattern =
64+
R"~({"buildChannel":"release","countryCode":"US","createdAtTimestamp":"2020-11-18T12:00:00.000Z","odyssey":"host","platform":"windows","studies":\[],"systemTimestamp":"2020-11-18T12:00:00.000Z","versionNumber":"\d{1,}\.\d{1,}\.\d{1,}\.\d{1,}"})~";
65+
EXPECT_TRUE(RE2::FullMatch(json, pattern));
6766
});
6867
}
6968

@@ -92,7 +91,7 @@ TEST_F(BatAdsConfirmationUserDataTest, BuildForConversionConfirmationType) {
9291
base::JSONWriter::Write(user_data, &json);
9392

9493
const std::string pattern =
95-
R"~({"buildChannel":"release","conversionEnvelope":{"alg":"crypto_box_curve25519xsalsa20poly1305","ciphertext":"(.{64})","epk":"(.{44})","nonce":"(.{32})"},"countryCode":"US","createdAtTimestamp":"2020-11-18T12:00:00.000Z","odyssey":"host","platform":"windows","studies":\[],"systemTimestamp":"2020-11-18T12:00:00.000Z"})~";
94+
R"~({"buildChannel":"release","conversionEnvelope":{"alg":"crypto_box_curve25519xsalsa20poly1305","ciphertext":"(.{64})","epk":"(.{44})","nonce":"(.{32})"},"countryCode":"US","createdAtTimestamp":"2020-11-18T12:00:00.000Z","odyssey":"host","platform":"windows","studies":\[],"systemTimestamp":"2020-11-18T12:00:00.000Z","versionNumber":"\d{1,}\.\d{1,}\.\d{1,}\.\d{1,}"})~";
9695
EXPECT_TRUE(RE2::FullMatch(json, pattern));
9796
});
9897
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/* Copyright (c) 2022 The Brave Authors. All rights reserved.
2+
* This Source Code Form is subject to the terms of the Mozilla Public
3+
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
4+
* You can obtain one at http://mozilla.org/MPL/2.0/. */
5+
6+
#include "bat/ads/internal/account/user_data/version_number_user_data.h"
7+
8+
#include "base/values.h"
9+
#include "brave/components/version_info/version_info.h"
10+
11+
namespace ads {
12+
namespace user_data {
13+
14+
namespace {
15+
constexpr char kVersionNumberKey[] = "versionNumber";
16+
} // namespace
17+
18+
base::DictionaryValue GetVersionNumber() {
19+
base::DictionaryValue user_data;
20+
user_data.SetStringKey(kVersionNumberKey,
21+
version_info::GetBraveChromiumVersionNumber());
22+
23+
return user_data;
24+
}
25+
26+
} // namespace user_data
27+
} // namespace ads
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/* Copyright (c) 2022 The Brave Authors. All rights reserved.
2+
* This Source Code Form is subject to the terms of the Mozilla Public
3+
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
4+
* You can obtain one at http://mozilla.org/MPL/2.0/. */
5+
6+
#ifndef BRAVE_VENDOR_BAT_NATIVE_ADS_SRC_BAT_ADS_INTERNAL_ACCOUNT_USER_DATA_VERSION_NUMBER_USER_DATA_H_
7+
#define BRAVE_VENDOR_BAT_NATIVE_ADS_SRC_BAT_ADS_INTERNAL_ACCOUNT_USER_DATA_VERSION_NUMBER_USER_DATA_H_
8+
9+
namespace base {
10+
class DictionaryValue;
11+
} // namespace base
12+
13+
namespace ads {
14+
namespace user_data {
15+
16+
base::DictionaryValue GetVersionNumber();
17+
18+
} // namespace user_data
19+
} // namespace ads
20+
21+
#endif // BRAVE_VENDOR_BAT_NATIVE_ADS_SRC_BAT_ADS_INTERNAL_ACCOUNT_USER_DATA_VERSION_NUMBER_USER_DATA_H_
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
/* Copyright (c) 2022 The Brave Authors. All rights reserved.
2+
* This Source Code Form is subject to the terms of the Mozilla Public
3+
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
4+
* You can obtain one at http://mozilla.org/MPL/2.0/. */
5+
6+
#include "bat/ads/internal/account/user_data/version_number_user_data.h"
7+
8+
#include <string>
9+
10+
#include "base/json/json_writer.h"
11+
#include "base/strings/stringprintf.h"
12+
#include "base/values.h"
13+
#include "brave/components/version_info/version_info.h"
14+
#include "testing/gtest/include/gtest/gtest.h"
15+
16+
// npm run test -- brave_unit_tests --filter=BatAds*
17+
18+
namespace ads {
19+
20+
namespace {
21+
22+
std::string GetVersionNumberAsJson() {
23+
const base::DictionaryValue user_data = user_data::GetVersionNumber();
24+
25+
std::string json;
26+
base::JSONWriter::Write(user_data, &json);
27+
28+
return json;
29+
}
30+
31+
} // namespace
32+
33+
TEST(BatAdsVersionNumberUserDataTest, GetVersionNumber) {
34+
// Arrange
35+
36+
// Act
37+
const std::string json = GetVersionNumberAsJson();
38+
39+
// Assert
40+
const std::string expected_version_number =
41+
version_info::GetBraveChromiumVersionNumber();
42+
43+
const std::string expected_json = base::StringPrintf(
44+
R"({"versionNumber":"%s"})", expected_version_number.c_str());
45+
46+
EXPECT_EQ(expected_json, json);
47+
}
48+
49+
} // namespace ads

0 commit comments

Comments
 (0)