Commit 6f693821 authored by Askar Aitzhan's avatar Askar Aitzhan Committed by Commit Bot

Add unittets for AddPendingExtensionWithVersion in extension_updater

Basically it's just a copy of the Tests above for AddPendingExtension,
with additional test that there is a version set in the request.

Bug: 959140
Change-Id: Icc49a4c391ad1e6de7e1bb8cc3beed416ec7159c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1611892Reviewed-by: default avatarJoshua Pawlicki <waffles@chromium.org>
Commit-Queue: Askar Aitzhan <askaraitzhan@google.com>
Cr-Commit-Position: refs/heads/master@{#659509}
parent f38273f2
...@@ -2436,6 +2436,61 @@ TEST_F(ExtensionUpdaterTest, TestManifestFetchesBuilderAddExtension) { ...@@ -2436,6 +2436,61 @@ TEST_F(ExtensionUpdaterTest, TestManifestFetchesBuilderAddExtension) {
EXPECT_FALSE(request->request.url.is_empty()); EXPECT_FALSE(request->request.url.is_empty());
} }
TEST_F(ExtensionUpdaterTest, TestAddPendingExtensionWithVersion) {
constexpr char kVersion[] = "1.2.3.4";
auto helper = std::make_unique<ExtensionDownloaderTestHelper>();
EXPECT_EQ(0u, ManifestFetchersCount(&helper->downloader()));
// First, verify that adding valid extensions does invoke the callbacks on
// the delegate.
std::string id = crx_file::id_util::GenerateId("foo");
EXPECT_CALL(helper->delegate(), GetPingDataForExtension(id, _))
.WillOnce(Return(false));
EXPECT_TRUE(helper->downloader().AddPendingExtensionWithVersion(
id, GURL("http://example.com/update"), Manifest::INTERNAL, false, 0,
ManifestFetchData::FetchPriority::BACKGROUND, base::Version(kVersion)));
helper->downloader().StartAllPending(NULL);
Mock::VerifyAndClearExpectations(&helper->delegate());
EXPECT_EQ(1u, ManifestFetchersCount(&helper->downloader()));
// Extensions with invalid update URLs should be rejected.
id = crx_file::id_util::GenerateId("foo2");
EXPECT_FALSE(helper->downloader().AddPendingExtensionWithVersion(
id, GURL("http:google.com:foo"), Manifest::INTERNAL, false, 0,
ManifestFetchData::FetchPriority::BACKGROUND, base::Version(kVersion)));
helper->downloader().StartAllPending(NULL);
EXPECT_EQ(1u, ManifestFetchersCount(&helper->downloader()));
// Extensions with empty IDs should be rejected.
EXPECT_FALSE(helper->downloader().AddPendingExtensionWithVersion(
std::string(), GURL(), Manifest::INTERNAL, false, 0,
ManifestFetchData::FetchPriority::BACKGROUND, base::Version(kVersion)));
helper->downloader().StartAllPending(NULL);
EXPECT_EQ(1u, ManifestFetchersCount(&helper->downloader()));
// Reset the ExtensionDownloader so that it drops the current fetcher.
helper = std::make_unique<ExtensionDownloaderTestHelper>();
EXPECT_EQ(0u, ManifestFetchersCount(&helper->downloader()));
// Extensions with empty update URLs should have a default one
// filled in.
id = crx_file::id_util::GenerateId("foo3");
EXPECT_CALL(helper->delegate(), GetPingDataForExtension(id, _))
.WillOnce(Return(false));
EXPECT_TRUE(helper->downloader().AddPendingExtensionWithVersion(
id, GURL(), Manifest::INTERNAL, false, 0,
ManifestFetchData::FetchPriority::BACKGROUND, base::Version(kVersion)));
helper->downloader().StartAllPending(NULL);
EXPECT_EQ(1u, ManifestFetchersCount(&helper->downloader()));
RunUntilIdle();
auto* request = &(*helper->test_url_loader_factory().pending_requests())[0];
ASSERT_TRUE(request);
EXPECT_FALSE(request->request.url.is_empty());
EXPECT_THAT(request->request.url.possibly_invalid_spec(),
testing::HasSubstr(kVersion));
}
TEST_F(ExtensionUpdaterTest, TestStartUpdateCheckMemory) { TEST_F(ExtensionUpdaterTest, TestStartUpdateCheckMemory) {
ExtensionDownloaderTestHelper helper; ExtensionDownloaderTestHelper helper;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment