Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1602)

Unified Diff: content/browser/renderer_host/media/webrtc_identity_service_host_unittest.cc

Issue 2033353002: Remove PeerConnectionIdentityStore and related messaging/storage code. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Delayed deletion by 120s Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/media/webrtc_identity_service_host_unittest.cc
diff --git a/content/browser/renderer_host/media/webrtc_identity_service_host_unittest.cc b/content/browser/renderer_host/media/webrtc_identity_service_host_unittest.cc
deleted file mode 100644
index e5f0dbd04ff3c37972cebeb200f6620c0ff309ef..0000000000000000000000000000000000000000
--- a/content/browser/renderer_host/media/webrtc_identity_service_host_unittest.cc
+++ /dev/null
@@ -1,260 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <deque>
-#include <tuple>
-
-#include "content/browser/child_process_security_policy_impl.h"
-#include "content/browser/media/webrtc/webrtc_identity_store.h"
-#include "content/browser/renderer_host/media/webrtc_identity_service_host.h"
-#include "content/common/media/webrtc_identity_messages.h"
-#include "content/public/test/mock_resource_context.h"
-#include "content/public/test/test_browser_thread_bundle.h"
-#include "content/test/test_content_browser_client.h"
-#include "ipc/ipc_message.h"
-#include "net/base/net_errors.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace content {
-
-namespace {
-
-const char kFakeUrl[] = "http://www.fake.com";
-const char kFakeSite[] = "http://fake.com";
-const char kOtherSite[] = "https://other.com";
-const char kFakeFirstPartyUrl[] = "http://fake.firstparty.com";
-const char kFakeidentityName[] = "fake identity";
-const char kFakeCommonName[] = "fake common name";
-const char kFakeCertificate[] = "fake cert";
-const char kFakePrivateKey[] = "fake private key";
-const int kFakeRendererId = 10;
-const int kFakeRequestId = 1;
-
-class WebRTCIdentityServiceHostTestBrowserClient
- : public TestContentBrowserClient {
- public:
- WebRTCIdentityServiceHostTestBrowserClient() : allow_cache_(true) {}
-
- void set_allow_cache(bool allow) { allow_cache_ = allow; }
-
- bool AllowWebRTCIdentityCache(const GURL& url,
- const GURL& first_party_url,
- ResourceContext* context) override {
- url_ = url;
- first_party_url_ = first_party_url;
- return allow_cache_;
- }
-
- GURL url() const { return url_; }
- GURL first_party_url() const { return first_party_url_; }
-
- private:
- bool allow_cache_;
- GURL url_;
- GURL first_party_url_;
-};
-
-class MockWebRTCIdentityStore : public WebRTCIdentityStore {
- public:
- MockWebRTCIdentityStore()
- : WebRTCIdentityStore(base::FilePath(), NULL), enable_cache_(true) {}
-
- base::Closure RequestIdentity(const GURL& origin,
- const std::string& identity_name,
- const std::string& common_name,
- const CompletionCallback& callback,
- bool enable_cache) override {
- EXPECT_TRUE(callback_.is_null());
-
- callback_ = callback;
- enable_cache_ = enable_cache;
- return base::Bind(&MockWebRTCIdentityStore::OnCancel,
- base::Unretained(this));
- }
-
- bool HasPendingRequest() const { return !callback_.is_null(); }
-
- void RunCompletionCallback(int error,
- const std::string& cert,
- const std::string& key) {
- callback_.Run(error, cert, key);
- callback_.Reset();
- }
-
- bool enable_cache() const { return enable_cache_; }
-
- private:
- ~MockWebRTCIdentityStore() override {}
-
- void OnCancel() { callback_.Reset(); }
-
- CompletionCallback callback_;
- bool enable_cache_;
-};
-
-class WebRTCIdentityServiceHostForTest : public WebRTCIdentityServiceHost {
- public:
- WebRTCIdentityServiceHostForTest(WebRTCIdentityStore* identity_store,
- ResourceContext* resource_context)
- : WebRTCIdentityServiceHost(kFakeRendererId,
- identity_store,
- resource_context) {
- ChildProcessSecurityPolicyImpl* policy =
- ChildProcessSecurityPolicyImpl::GetInstance();
- policy->Add(kFakeRendererId);
- }
-
- bool Send(IPC::Message* message) override {
- messages_.push_back(*message);
- delete message;
- return true;
- }
-
- bool OnMessageReceived(const IPC::Message& message) override {
- return WebRTCIdentityServiceHost::OnMessageReceived(message);
- }
-
- IPC::Message GetLastMessage() { return messages_.back(); }
-
- int GetNumberOfMessages() { return messages_.size(); }
-
- void ClearMessages() { messages_.clear(); }
-
- private:
- ~WebRTCIdentityServiceHostForTest() override {
- ChildProcessSecurityPolicyImpl* policy =
- ChildProcessSecurityPolicyImpl::GetInstance();
- policy->Remove(kFakeRendererId);
- }
-
- std::deque<IPC::Message> messages_;
-};
-
-class WebRTCIdentityServiceHostTest : public ::testing::Test {
- public:
- WebRTCIdentityServiceHostTest()
- : browser_thread_bundle_(TestBrowserThreadBundle::IO_MAINLOOP),
- mock_resource_context_(new MockResourceContext()),
- store_(new MockWebRTCIdentityStore()),
- host_(new WebRTCIdentityServiceHostForTest(
- store_.get(),
- mock_resource_context_.get())) {}
-
- void SendRequestToHost() {
- WebRTCIdentityMsg_RequestIdentity_Params params;
- params.request_id = kFakeRequestId;
- params.url = GURL(kFakeUrl);
- params.first_party_for_cookies = GURL(kFakeFirstPartyUrl);
- params.identity_name = kFakeidentityName;
- params.common_name = kFakeCommonName;
- host_->OnMessageReceived(WebRTCIdentityMsg_RequestIdentity(params));
- }
-
- void SendCancelRequestToHost() {
- host_->OnMessageReceived(WebRTCIdentityMsg_CancelRequest());
- }
-
- void VerifyRequestFailedMessage(int error) {
- EXPECT_EQ(1, host_->GetNumberOfMessages());
- IPC::Message ipc = host_->GetLastMessage();
- EXPECT_EQ(ipc.type(), WebRTCIdentityHostMsg_RequestFailed::ID);
-
- std::tuple<int, int> error_in_message;
- WebRTCIdentityHostMsg_RequestFailed::Read(&ipc, &error_in_message);
- EXPECT_EQ(kFakeRequestId, std::get<0>(error_in_message));
- EXPECT_EQ(error, std::get<1>(error_in_message));
- }
-
- void VerifyIdentityReadyMessage(const std::string& cert,
- const std::string& key) {
- EXPECT_EQ(1, host_->GetNumberOfMessages());
- IPC::Message ipc = host_->GetLastMessage();
- EXPECT_EQ(ipc.type(), WebRTCIdentityHostMsg_IdentityReady::ID);
-
- std::tuple<int, std::string, std::string> identity_in_message;
- WebRTCIdentityHostMsg_IdentityReady::Read(&ipc, &identity_in_message);
- EXPECT_EQ(kFakeRequestId, std::get<0>(identity_in_message));
- EXPECT_EQ(cert, std::get<1>(identity_in_message));
- EXPECT_EQ(key, std::get<2>(identity_in_message));
- }
-
- protected:
- TestBrowserThreadBundle browser_thread_bundle_;
- std::unique_ptr<MockResourceContext> mock_resource_context_;
- scoped_refptr<MockWebRTCIdentityStore> store_;
- scoped_refptr<WebRTCIdentityServiceHostForTest> host_;
-};
-
-} // namespace
-
-TEST_F(WebRTCIdentityServiceHostTest, TestCacheDisabled) {
- WebRTCIdentityServiceHostTestBrowserClient test_client;
- test_client.set_allow_cache(false);
- ContentBrowserClient* old_client = SetBrowserClientForTesting(&test_client);
-
- SendRequestToHost();
- EXPECT_TRUE(store_->HasPendingRequest());
- EXPECT_FALSE(store_->enable_cache());
- EXPECT_EQ(GURL(kFakeUrl), test_client.url());
- EXPECT_EQ(GURL(kFakeFirstPartyUrl), test_client.first_party_url());
-
- // Restore the original content browser client.
- SetBrowserClientForTesting(old_client);
-}
-
-TEST_F(WebRTCIdentityServiceHostTest, TestSendAndCancelRequest) {
- SendRequestToHost();
- EXPECT_TRUE(store_->HasPendingRequest());
- SendCancelRequestToHost();
- EXPECT_FALSE(store_->HasPendingRequest());
-}
-
-TEST_F(WebRTCIdentityServiceHostTest, TestOnlyOneRequestAllowed) {
- SendRequestToHost();
- EXPECT_TRUE(store_->HasPendingRequest());
- EXPECT_EQ(0, host_->GetNumberOfMessages());
- SendRequestToHost();
-
- VerifyRequestFailedMessage(net::ERR_INSUFFICIENT_RESOURCES);
-}
-
-TEST_F(WebRTCIdentityServiceHostTest, TestOnIdentityReady) {
- SendRequestToHost();
- store_->RunCompletionCallback(net::OK, kFakeCertificate, kFakePrivateKey);
- VerifyIdentityReadyMessage(kFakeCertificate, kFakePrivateKey);
-}
-
-TEST_F(WebRTCIdentityServiceHostTest, TestOnRequestFailed) {
- SendRequestToHost();
- store_->RunCompletionCallback(net::ERR_KEY_GENERATION_FAILED, "", "");
- VerifyRequestFailedMessage(net::ERR_KEY_GENERATION_FAILED);
-}
-
-TEST_F(WebRTCIdentityServiceHostTest, TestOriginAccessDenied) {
- ChildProcessSecurityPolicyImpl* policy =
- ChildProcessSecurityPolicyImpl::GetInstance();
- policy->LockToOrigin(kFakeRendererId, GURL(kOtherSite));
-
- SendRequestToHost();
- VerifyRequestFailedMessage(net::ERR_ACCESS_DENIED);
-}
-
-TEST_F(WebRTCIdentityServiceHostTest, TestOriginAccessAllowed) {
- ChildProcessSecurityPolicyImpl* policy =
- ChildProcessSecurityPolicyImpl::GetInstance();
- policy->LockToOrigin(kFakeRendererId, GURL(kFakeSite));
-
- SendRequestToHost();
- store_->RunCompletionCallback(net::OK, kFakeCertificate, kFakePrivateKey);
- VerifyIdentityReadyMessage(kFakeCertificate, kFakePrivateKey);
-}
-
-// Verifies that we do not crash if we try to cancel a completed request.
-TEST_F(WebRTCIdentityServiceHostTest, TestCancelAfterRequestCompleted) {
- SendRequestToHost();
- store_->RunCompletionCallback(net::OK, kFakeCertificate, kFakePrivateKey);
- SendCancelRequestToHost();
-}
-
-} // namespace content

Powered by Google App Engine
This is Rietveld 408576698