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

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

Issue 17063003: Changes to PairingRegistry to facilitate per-platform implementions. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Reviewer feedback. Created 7 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « remoting/protocol/pairing_registry.cc ('k') | remoting/protocol/protocol_mock_objects.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/pairing_registry.h" 5 #include "remoting/protocol/pairing_registry.h"
6 6
7 #include <stdlib.h> 7 #include <stdlib.h>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
11 #include "remoting/protocol/protocol_mock_objects.h" 11 #include "remoting/protocol/protocol_mock_objects.h"
12 #include "testing/gmock/include/gmock/gmock.h" 12 #include "testing/gmock/include/gmock/gmock.h"
13 #include "testing/gtest/include/gtest/gtest.h" 13 #include "testing/gtest/include/gtest/gtest.h"
14 14
15 namespace remoting { 15 namespace remoting {
16 namespace protocol { 16 namespace protocol {
17 17
18 class PairingRegistryTest : public testing::Test { 18 class PairingRegistryTest : public testing::Test {
19 public: 19 public:
20 virtual void SetUp() OVERRIDE { 20 virtual void SetUp() OVERRIDE {
21 got_secret_ = false; 21 got_secret_ = false;
22 } 22 }
23 23
24 void CompareSecret(const std::string& expected, 24 void CompareSecret(const std::string& expected,
25 PairingRegistry::Pairing actual) { 25 PairingRegistry::Pairing actual) {
26 EXPECT_EQ(actual.shared_secret, expected); 26 EXPECT_EQ(actual.shared_secret(), expected);
27 got_secret_ = true; 27 got_secret_ = true;
28 } 28 }
29 29
30 protected: 30 protected:
31 bool got_secret_; 31 bool got_secret_;
32 }; 32 };
33 33
34 TEST_F(PairingRegistryTest, GetPairing) { 34 TEST_F(PairingRegistryTest, GetPairing) {
35 PairingRegistry::Pairing client_info = { 35 PairingRegistry::Pairing client_info =
36 "client_id", 36 PairingRegistry::Pairing::Create("client_name");
37 "client_name",
38 "shared_secret"
39 };
40 MockPairingRegistryDelegate* mock_delegate = 37 MockPairingRegistryDelegate* mock_delegate =
41 new MockPairingRegistryDelegate(); 38 new MockPairingRegistryDelegate();
42 mock_delegate->AddPairing(client_info); 39 mock_delegate->AddPairing(client_info, PairingRegistry::AddPairingCallback());
43 scoped_ptr<PairingRegistry::Delegate> delegate(mock_delegate); 40 scoped_ptr<PairingRegistry::Delegate> delegate(mock_delegate);
44 41
45 scoped_refptr<PairingRegistry> registry(new PairingRegistry(delegate.Pass())); 42 scoped_refptr<PairingRegistry> registry(new PairingRegistry(delegate.Pass()));
46 43
47 registry->GetPairing(client_info.client_id, 44 registry->GetPairing(client_info.client_id(),
48 base::Bind(&PairingRegistryTest::CompareSecret, 45 base::Bind(&PairingRegistryTest::CompareSecret,
49 base::Unretained(this), 46 base::Unretained(this),
50 client_info.shared_secret)); 47 client_info.shared_secret()));
51 mock_delegate->RunCallback(); 48 mock_delegate->RunCallback();
52 EXPECT_TRUE(got_secret_); 49 EXPECT_TRUE(got_secret_);
53 } 50 }
54 51
55 TEST_F(PairingRegistryTest, AddPairing) { 52 TEST_F(PairingRegistryTest, AddPairing) {
56 MockPairingRegistryDelegate* mock_delegate = 53 MockPairingRegistryDelegate* mock_delegate =
57 new MockPairingRegistryDelegate(); 54 new MockPairingRegistryDelegate();
58 scoped_ptr<PairingRegistry::Delegate> delegate(mock_delegate); 55 scoped_ptr<PairingRegistry::Delegate> delegate(mock_delegate);
59 56
60 scoped_refptr<PairingRegistry> registry(new PairingRegistry(delegate.Pass())); 57 scoped_refptr<PairingRegistry> registry(new PairingRegistry(delegate.Pass()));
61 58
62 // Verify that we can create pairings from two clients with the same name, but 59 // Verify that we can create pairings from two clients with the same name, but
63 // that they aren't allocated the same client id. 60 // that they aren't allocated the same client id.
64 PairingRegistry::Pairing pairing_1 = registry->CreatePairing("client_name"); 61 PairingRegistry::Pairing pairing_1 = registry->CreatePairing("client_name");
65 PairingRegistry::Pairing pairing_2 = registry->CreatePairing("client_name"); 62 PairingRegistry::Pairing pairing_2 = registry->CreatePairing("client_name");
66 63
67 const PairingRegistry::PairedClients& clients = 64 const PairingRegistry::PairedClients& clients =
68 mock_delegate->paired_clients(); 65 mock_delegate->paired_clients();
69 ASSERT_EQ(clients.size(), 2u); 66 ASSERT_EQ(clients.size(), 2u);
70 PairingRegistry::Pairing first = clients.begin()->second; 67 PairingRegistry::Pairing first = clients.begin()->second;
71 PairingRegistry::Pairing second = (++clients.begin())->second; 68 PairingRegistry::Pairing second = (++clients.begin())->second;
72 EXPECT_EQ(first.client_name, second.client_name); 69 EXPECT_EQ(first.client_name(), second.client_name());
73 EXPECT_NE(first.client_id, second.client_id); 70 EXPECT_NE(first.client_id(), second.client_id());
74 } 71 }
75 72
76 } // namespace protocol 73 } // namespace protocol
77 } // namespace remoting 74 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/protocol/pairing_registry.cc ('k') | remoting/protocol/protocol_mock_objects.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698