Skip to content

Commit 33d7a61

Browse files
committed
Change sqlite index to correct column
Add schema to query string Fixes brave/brave-browser#4663
1 parent bc78b02 commit 33d7a61

File tree

2 files changed

+93
-5
lines changed

2 files changed

+93
-5
lines changed

components/brave_rewards/browser/publisher_info_database.cc

+7-5
Original file line numberDiff line numberDiff line change
@@ -748,7 +748,9 @@ bool PublisherInfoDatabase::GetExcludedList(
748748
}
749749

750750
// We will use every attribute from publisher_info
751-
std::string query = "SELECT * FROM publisher_info WHERE excluded = 1";
751+
std::string query = "SELECT publisher_id, verified, name,"
752+
"favicon, url, provider "
753+
"FROM publisher_info WHERE excluded = 1";
752754

753755
sql::Statement info_sql(db_.GetUniqueStatement(query.c_str()));
754756

@@ -758,10 +760,10 @@ bool PublisherInfoDatabase::GetExcludedList(
758760
auto info = ledger::PublisherInfo::New();
759761
info->id = info_sql.ColumnString(0);
760762
info->verified = info_sql.ColumnBool(1);
761-
info->name = info_sql.ColumnString(3);
762-
info->favicon_url = info_sql.ColumnString(4);
763-
info->url = info_sql.ColumnString(5);
764-
info->provider = info_sql.ColumnString(9);
763+
info->name = info_sql.ColumnString(2);
764+
info->favicon_url = info_sql.ColumnString(3);
765+
info->url = info_sql.ColumnString(4);
766+
info->provider = info_sql.ColumnString(5);
765767

766768
list->push_back(std::move(info));
767769
}

components/brave_rewards/browser/publisher_info_database_unittest.cc

+86
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,92 @@ TEST_F(PublisherInfoDatabaseTest, InsertOrUpdatePublisherInfo) {
287287
EXPECT_FALSE(info_sql_4.Step());
288288
}
289289

290+
TEST_F(PublisherInfoDatabaseTest, GetExcludedList) {
291+
/**
292+
* Good path
293+
*/
294+
base::ScopedTempDir temp_dir;
295+
base::FilePath db_file;
296+
CreateTempDatabase(&temp_dir, &db_file);
297+
298+
std::string excluded_id = "ABCD";
299+
bool excluded_verified = false;
300+
ledger::PUBLISHER_EXCLUDE excluded = ledger::PUBLISHER_EXCLUDE::EXCLUDED;
301+
std::string excluded_name = "excluded_publisher";
302+
std::string excluded_url = "https://iamexcluded.com";
303+
std::string excluded_provider = "exclusion";
304+
std::string excluded_favicon = "0";
305+
306+
std::string included_id = "EFGH";
307+
bool included_verified = false;
308+
ledger::PUBLISHER_EXCLUDE included = ledger::PUBLISHER_EXCLUDE::INCLUDED;
309+
std::string included_name = "included_publisher";
310+
std::string included_url = "https://iamincluded.com";
311+
std::string included_provider = "inclusion";
312+
std::string included_favicon = "1";
313+
314+
/**
315+
* Insert Excluded Publisher
316+
*/
317+
ledger::PublisherInfo info;
318+
info.id = excluded_id;
319+
info.verified = excluded_verified;
320+
info.excluded = excluded;
321+
info.name = excluded_name;
322+
info.url = excluded_url;
323+
info.provider = excluded_provider;
324+
info.favicon_url = excluded_favicon;
325+
326+
bool success = publisher_info_database_->InsertOrUpdateActivityInfo(info);
327+
EXPECT_TRUE(success);
328+
329+
/**
330+
* Insert Included Publisher
331+
*/
332+
info.id = included_id;
333+
info.verified = included_verified;
334+
info.excluded = included;
335+
info.name = included_name;
336+
info.url = included_url;
337+
info.provider = included_provider;
338+
info.favicon_url = included_favicon;
339+
340+
success = publisher_info_database_->InsertOrUpdateActivityInfo(info);
341+
EXPECT_TRUE(success);
342+
/**
343+
* Check Excluded List is correct
344+
*/
345+
ledger::PublisherInfoList pub_list;
346+
success = publisher_info_database_->GetExcludedList(&pub_list);
347+
EXPECT_TRUE(success);
348+
EXPECT_EQ(1UL, pub_list.size());
349+
350+
ASSERT_EQ(pub_list.at(0)->id, excluded_id);
351+
ASSERT_EQ(pub_list.at(0)->verified, excluded_verified);
352+
ASSERT_EQ(pub_list.at(0)->name, excluded_name);
353+
ASSERT_EQ(pub_list.at(0)->url, excluded_url);
354+
ASSERT_EQ(pub_list.at(0)->provider, excluded_provider);
355+
ASSERT_EQ(pub_list.at(0)->favicon_url, excluded_favicon);
356+
pub_list.clear();
357+
358+
/**
359+
* Check Included List is correct
360+
*/
361+
ledger::ActivityInfoFilter filter;
362+
filter.excluded = ledger::EXCLUDE_FILTER::FILTER_INCLUDED;
363+
success = publisher_info_database_->GetActivityList(0, 0, filter, &pub_list);
364+
EXPECT_TRUE(success);
365+
EXPECT_EQ(1UL, pub_list.size());
366+
367+
368+
ASSERT_EQ(pub_list.at(0)->id, included_id);
369+
ASSERT_EQ(pub_list.at(0)->verified, included_verified);
370+
ASSERT_EQ(pub_list.at(0)->name, included_name);
371+
ASSERT_EQ(pub_list.at(0)->url, included_url);
372+
ASSERT_EQ(pub_list.at(0)->provider, included_provider);
373+
ASSERT_EQ(pub_list.at(0)->favicon_url, included_favicon);
374+
}
375+
290376
TEST_F(PublisherInfoDatabaseTest, InsertOrUpdateActivityInfo) {
291377
/**
292378
* Good path

0 commit comments

Comments
 (0)