Index: components/safe_browsing_db/v4_store_unittest.cc |
diff --git a/components/safe_browsing_db/v4_store_unittest.cc b/components/safe_browsing_db/v4_store_unittest.cc |
index 877b077d3f6fc9a444f4c9a6662ad24bdfb35f01..6f91a7f03a369ee8aff20d48aba9d5306d28ee87 100644 |
--- a/components/safe_browsing_db/v4_store_unittest.cc |
+++ b/components/safe_browsing_db/v4_store_unittest.cc |
@@ -139,6 +139,7 @@ TEST_F(V4StoreTest, TestWriteFullResponseType) { |
std::unique_ptr<V4Store> read_store(new V4Store(task_runner_, store_path_)); |
EXPECT_EQ(READ_SUCCESS, read_store->ReadFromDisk()); |
EXPECT_EQ("test_client_state", read_store->state_); |
+ EXPECT_TRUE(read_store->hash_prefix_map_.empty()); |
} |
TEST_F(V4StoreTest, TestAddUnlumpedHashesWithInvalidAddition) { |
@@ -337,4 +338,50 @@ TEST_F(V4StoreTest, TestMergeUpdatesFailsForRepeatedhashPrefix) { |
store->MergeUpdate(prefix_map_old, prefix_map_additions)); |
} |
+TEST_F(V4StoreTest, TestReadFullResponseWithValidHashPrefixMap) { |
+ std::unique_ptr<ListUpdateResponse> lur(new ListUpdateResponse); |
+ lur->set_response_type(ListUpdateResponse::FULL_UPDATE); |
+ lur->set_new_client_state("test_client_state"); |
+ lur->set_platform_type(WINDOWS_PLATFORM); |
+ lur->set_threat_entry_type(URL); |
+ lur->set_threat_type(MALWARE_THREAT); |
+ ThreatEntrySet* additions = lur->add_additions(); |
+ additions->set_compression_type(RAW); |
+ additions->mutable_raw_hashes()->set_prefix_size(5); |
+ additions->mutable_raw_hashes()->set_raw_hashes("00000abcde"); |
+ additions = lur->add_additions(); |
+ additions->set_compression_type(RAW); |
+ additions->mutable_raw_hashes()->set_prefix_size(4); |
+ additions->mutable_raw_hashes()->set_raw_hashes("00000abc"); |
+ EXPECT_EQ(WRITE_SUCCESS, |
+ V4Store(task_runner_, store_path_).WriteToDisk(std::move(lur))); |
+ |
+ std::unique_ptr<V4Store> read_store(new V4Store(task_runner_, store_path_)); |
Nathan Parker
2016/07/14 22:36:12
could put this on the stack, rather than unique_pt
vakh (use Gerrit instead)
2016/07/14 23:51:57
Done.
|
+ EXPECT_EQ(READ_SUCCESS, read_store->ReadFromDisk()); |
+ EXPECT_EQ("test_client_state", read_store->state_); |
+ EXPECT_EQ(2u, read_store->hash_prefix_map_.size()); |
Nathan Parker
2016/07/14 22:36:12
nit: ASSERT_EQ since the later checks aren't usefu
vakh (use Gerrit instead)
2016/07/14 23:51:57
Done.
|
+ EXPECT_EQ("00000abc", read_store->hash_prefix_map_[4]); |
+ EXPECT_EQ("00000abcde", read_store->hash_prefix_map_[5]); |
+} |
+ |
+TEST_F(V4StoreTest, TestReadFullResponseInWithValidHashPrefixMap) { |
Nathan Parker
2016/07/14 22:36:12
What does the "In" in the name here mean, compared
vakh (use Gerrit instead)
2016/07/14 23:51:57
Typo. Fixed.
|
+ std::unique_ptr<ListUpdateResponse> lur(new ListUpdateResponse); |
+ lur->set_response_type(ListUpdateResponse::FULL_UPDATE); |
+ lur->set_new_client_state("test_client_state"); |
+ lur->set_platform_type(WINDOWS_PLATFORM); |
+ lur->set_threat_entry_type(URL); |
+ lur->set_threat_type(MALWARE_THREAT); |
+ ThreatEntrySet* additions = lur->add_additions(); |
+ additions->set_compression_type(RAW); |
+ additions->mutable_raw_hashes()->set_prefix_size(5); |
+ additions->mutable_raw_hashes()->set_raw_hashes("abcdef"); |
+ EXPECT_EQ(WRITE_SUCCESS, |
+ V4Store(task_runner_, store_path_).WriteToDisk(std::move(lur))); |
+ |
+ std::unique_ptr<V4Store> read_store(new V4Store(task_runner_, store_path_)); |
+ EXPECT_EQ(HASH_PREFIX_MAP_GENERATION_FAILURE, read_store->ReadFromDisk()); |
Nathan Parker
2016/07/14 22:36:12
Add a comment above about what makes this fail. I
vakh (use Gerrit instead)
2016/07/14 23:51:57
Done.
|
+ EXPECT_TRUE(read_store->state_.empty()); |
+ EXPECT_TRUE(read_store->hash_prefix_map_.empty()); |
+} |
+ |
} // namespace safe_browsing |