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

Side by Side Diff: remoting/protocol/protocol_mock_objects.cc

Issue 21128006: Refactored PairingRegistry::Delegate such that it can retrieve/modify for a single client. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 4 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "remoting/protocol/protocol_mock_objects.h" 5 #include "remoting/protocol/protocol_mock_objects.h"
6 6
7 namespace remoting { 7 namespace remoting {
8 namespace protocol { 8 namespace protocol {
9 9
10 MockConnectionToClient::MockConnectionToClient( 10 MockConnectionToClient::MockConnectionToClient(
(...skipping 30 matching lines...) Expand all
41 MockVideoStub::~MockVideoStub() {} 41 MockVideoStub::~MockVideoStub() {}
42 42
43 MockSession::MockSession() {} 43 MockSession::MockSession() {}
44 44
45 MockSession::~MockSession() {} 45 MockSession::~MockSession() {}
46 46
47 MockSessionManager::MockSessionManager() {} 47 MockSessionManager::MockSessionManager() {}
48 48
49 MockSessionManager::~MockSessionManager() {} 49 MockSessionManager::~MockSessionManager() {}
50 50
51 MockPairingRegistryDelegate::MockPairingRegistryDelegate() 51 MockPairingRegistryDelegate::MockPairingRegistryDelegate() {
52 : run_save_callback_automatically_(true) {
53 } 52 }
54 53
55 MockPairingRegistryDelegate::~MockPairingRegistryDelegate() { 54 MockPairingRegistryDelegate::~MockPairingRegistryDelegate() {
56 } 55 }
57 56
57 void MockPairingRegistryDelegate::LoadAll(
58 const protocol::PairingRegistry::GetAllPairingsCallback& callback) {
59 EXPECT_TRUE(pending_callback_.is_null());
60 pending_callback_ = base::Bind(
61 &MockPairingRegistryDelegate::DoLoadAll,
62 base::Unretained(this), callback);
63 }
64
65 void MockPairingRegistryDelegate::DeleteAll(
66 const protocol::PairingRegistry::DoneCallback& callback) {
67 EXPECT_TRUE(pending_callback_.is_null());
68 pending_callback_ = base::Bind(
69 &MockPairingRegistryDelegate::DoDeleteAll,
70 base::Unretained(this), callback);
71 }
72
73 void MockPairingRegistryDelegate::Load(
74 const std::string& client_id,
75 const protocol::PairingRegistry::GetPairingCallback& callback) {
76 EXPECT_TRUE(pending_callback_.is_null());
77 pending_callback_ = base::Bind(
78 &MockPairingRegistryDelegate::DoLoad,
79 base::Unretained(this), client_id, callback);
80 }
81
58 void MockPairingRegistryDelegate::Save( 82 void MockPairingRegistryDelegate::Save(
59 const std::string& pairings_json, 83 const protocol::PairingRegistry::Pairing& pairing,
60 const PairingRegistry::SaveCallback& callback) { 84 const protocol::PairingRegistry::DoneCallback& callback) {
61 EXPECT_TRUE(load_callback_.is_null()); 85 EXPECT_TRUE(pending_callback_.is_null());
62 EXPECT_TRUE(save_callback_.is_null()); 86 pending_callback_ = base::Bind(
63 if (run_save_callback_automatically_) { 87 &MockPairingRegistryDelegate::DoSave,
64 SetPairingsJsonAndRunCallback(pairings_json, callback); 88 base::Unretained(this), pairing, callback);
89 }
90
91 void MockPairingRegistryDelegate::Delete(
92 const std::string& client_id,
93 const protocol::PairingRegistry::DoneCallback& callback) {
94 EXPECT_TRUE(pending_callback_.is_null());
95 pending_callback_ = base::Bind(
96 &MockPairingRegistryDelegate::DoDelete,
97 base::Unretained(this), client_id, callback);
98 }
99
100 void MockPairingRegistryDelegate::DoLoadAll(
101 const protocol::PairingRegistry::GetAllPairingsCallback& callback) {
102 scoped_ptr<base::ListValue> result(new base::ListValue());
103 for (Pairings::const_iterator i = pairings_.begin(); i != pairings_.end();
104 ++i) {
105 protocol::PairingRegistry::Pairing sanitized_pairing(
106 i->second.created_time(),
107 i->second.client_name(),
108 i->second.client_id(),
109 "");
Jamie 2013/07/30 21:35:07 The test that verifies that the shared secret is n
alexeypa (please no reviews) 2013/07/31 21:31:24 Done.
110 result->Append(sanitized_pairing.EncodeJson().release());
111 }
112 callback.Run(result.Pass());
113 }
114
115 void MockPairingRegistryDelegate::DoDeleteAll(
116 const protocol::PairingRegistry::DoneCallback& callback) {
117 pairings_.clear();
118 callback.Run(true);
119 }
120
121 void MockPairingRegistryDelegate::DoLoad(
122 const std::string& client_id,
123 const protocol::PairingRegistry::GetPairingCallback& callback) {
124 Pairings::const_iterator i = pairings_.find(client_id);
125 if (i != pairings_.end()) {
126 callback.Run(i->second);
65 } else { 127 } else {
66 save_callback_ = base::Bind( 128 callback.Run(protocol::PairingRegistry::Pairing());
67 &MockPairingRegistryDelegate::SetPairingsJsonAndRunCallback,
68 base::Unretained(this), pairings_json, callback);
69 } 129 }
70 } 130 }
71 131
72 void MockPairingRegistryDelegate::SetPairingsJsonAndRunCallback( 132 void MockPairingRegistryDelegate::DoSave(
73 const std::string& pairings_json, 133 const protocol::PairingRegistry::Pairing& pairing,
74 const PairingRegistry::SaveCallback& callback) { 134 const protocol::PairingRegistry::DoneCallback& callback) {
75 pairings_json_ = pairings_json; 135 pairings_[pairing.client_id()] = pairing;
76 if (!callback.is_null()) { 136 callback.Run(true);
77 callback.Run(true); 137 }
138
139 void MockPairingRegistryDelegate::DoDelete(
140 const std::string& client_id,
141 const protocol::PairingRegistry::DoneCallback& callback) {
142 pairings_.erase(client_id);
143 callback.Run(true);
144 }
145
146 void MockPairingRegistryDelegate::DrainCallbacks() {
147 base::Closure callback = pending_callback_;
Jamie 2013/07/30 21:35:07 Nit: From the point of view of limiting the scope
alexeypa (please no reviews) 2013/07/31 21:31:24 Done.
148 while (!callback.is_null()) {
149 pending_callback_.Reset();
150 callback.Run();
151 callback = pending_callback_;
78 } 152 }
79 } 153 }
80 154
81 void MockPairingRegistryDelegate::Load(
82 const PairingRegistry::LoadCallback& callback) {
83 EXPECT_TRUE(load_callback_.is_null());
84 EXPECT_TRUE(save_callback_.is_null());
85 load_callback_ = base::Bind(callback, pairings_json_);
86 }
87
88 void MockPairingRegistryDelegate::RunCallback() {
89 if (!load_callback_.is_null()) {
90 EXPECT_TRUE(save_callback_.is_null());
91 base::Closure load_callback = load_callback_;
92 load_callback_.Reset();
93 load_callback.Run();
94 } else if (!save_callback_.is_null()) {
95 EXPECT_TRUE(load_callback_.is_null());
96 base::Closure save_callback = save_callback_;
97 save_callback_.Reset();
98 save_callback.Run();
99 } else {
100 ADD_FAILURE() << "RunCallback called without any callbacks set.";
101 }
102 }
103
104 } // namespace protocol 155 } // namespace protocol
105 } // namespace remoting 156 } // namespace remoting
OLDNEW
« remoting/protocol/pairing_registry_unittest.cc ('K') | « remoting/protocol/protocol_mock_objects.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698