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

Side by Side Diff: components/proximity_auth/device_to_device_secure_context_unittest.cc

Issue 2502343003: Moved //components/proximity_auth/cryptauth to //components/cryptauth. (Closed)
Patch Set: Fixed proto #includes. Created 4 years, 1 month 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "components/proximity_auth/device_to_device_secure_context.h" 5 #include "components/proximity_auth/device_to_device_secure_context.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
11 #include "components/proximity_auth/cryptauth/fake_secure_message_delegate.h" 11 #include "components/cryptauth/fake_secure_message_delegate.h"
12 #include "components/proximity_auth/cryptauth/proto/cryptauth_api.pb.h" 12 #include "components/cryptauth/proto/cryptauth_api.pb.h"
13 #include "components/proximity_auth/cryptauth/proto/securemessage.pb.h" 13 #include "components/cryptauth/proto/securemessage.pb.h"
14 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
15 15
16 namespace proximity_auth { 16 namespace proximity_auth {
17 17
18 namespace { 18 namespace {
19 19
20 const char kSymmetricKey[] = "symmetric key"; 20 const char kSymmetricKey[] = "symmetric key";
21 const char kResponderAuthMessage[] = "responder_auth_message"; 21 const char kResponderAuthMessage[] = "responder_auth_message";
22 const SecureContext::ProtocolVersion kProtocolVersion = 22 const SecureContext::ProtocolVersion kProtocolVersion =
23 SecureContext::PROTOCOL_VERSION_THREE_ONE; 23 SecureContext::PROTOCOL_VERSION_THREE_ONE;
24 24
25 // Callback saving |result| to |result_out|. 25 // Callback saving |result| to |result_out|.
26 void SaveResult(std::string* result_out, const std::string& result) { 26 void SaveResult(std::string* result_out, const std::string& result) {
27 *result_out = result; 27 *result_out = result;
28 } 28 }
29 29
30 } // namespace 30 } // namespace
31 31
32 class ProximityAuthDeviceToDeviceSecureContextTest : public testing::Test { 32 class ProximityAuthDeviceToDeviceSecureContextTest : public testing::Test {
33 protected: 33 protected:
34 ProximityAuthDeviceToDeviceSecureContextTest() 34 ProximityAuthDeviceToDeviceSecureContextTest()
35 : secure_context_(base::MakeUnique<FakeSecureMessageDelegate>(), 35 : secure_context_(
36 kSymmetricKey, 36 base::MakeUnique<cryptauth::FakeSecureMessageDelegate>(),
37 kResponderAuthMessage, 37 kSymmetricKey,
38 kProtocolVersion) {} 38 kResponderAuthMessage,
39 kProtocolVersion) {}
39 40
40 DeviceToDeviceSecureContext secure_context_; 41 DeviceToDeviceSecureContext secure_context_;
41 }; 42 };
42 43
43 TEST_F(ProximityAuthDeviceToDeviceSecureContextTest, GetProperties) { 44 TEST_F(ProximityAuthDeviceToDeviceSecureContextTest, GetProperties) {
44 EXPECT_EQ(kResponderAuthMessage, secure_context_.GetChannelBindingData()); 45 EXPECT_EQ(kResponderAuthMessage, secure_context_.GetChannelBindingData());
45 EXPECT_EQ(kProtocolVersion, secure_context_.GetProtocolVersion()); 46 EXPECT_EQ(kProtocolVersion, secure_context_.GetProtocolVersion());
46 } 47 }
47 48
48 TEST_F(ProximityAuthDeviceToDeviceSecureContextTest, CheckEncodedHeader) { 49 TEST_F(ProximityAuthDeviceToDeviceSecureContextTest, CheckEncodedHeader) {
(...skipping 18 matching lines...) Expand all
67 std::string encoded_message = "invalidly encoded message"; 68 std::string encoded_message = "invalidly encoded message";
68 std::string decoded_message = "not empty"; 69 std::string decoded_message = "not empty";
69 secure_context_.Decode(encoded_message, 70 secure_context_.Decode(encoded_message,
70 base::Bind(&SaveResult, &decoded_message)); 71 base::Bind(&SaveResult, &decoded_message));
71 EXPECT_TRUE(decoded_message.empty()); 72 EXPECT_TRUE(decoded_message.empty());
72 } 73 }
73 74
74 TEST_F(ProximityAuthDeviceToDeviceSecureContextTest, EncodeAndDecode) { 75 TEST_F(ProximityAuthDeviceToDeviceSecureContextTest, EncodeAndDecode) {
75 // Initialize second secure channel with the same parameters as the first. 76 // Initialize second secure channel with the same parameters as the first.
76 DeviceToDeviceSecureContext secure_context2( 77 DeviceToDeviceSecureContext secure_context2(
77 base::MakeUnique<FakeSecureMessageDelegate>(), kSymmetricKey, 78 base::MakeUnique<cryptauth::FakeSecureMessageDelegate>(), kSymmetricKey,
78 kResponderAuthMessage, kProtocolVersion); 79 kResponderAuthMessage, kProtocolVersion);
79 std::string message = "encrypt this message"; 80 std::string message = "encrypt this message";
80 81
81 // Pass some messages between the two secure contexts. 82 // Pass some messages between the two secure contexts.
82 for (int i = 0; i < 3; ++i) { 83 for (int i = 0; i < 3; ++i) {
83 std::string encoded_message; 84 std::string encoded_message;
84 secure_context_.Encode(message, base::Bind(&SaveResult, &encoded_message)); 85 secure_context_.Encode(message, base::Bind(&SaveResult, &encoded_message));
85 EXPECT_NE(message, encoded_message); 86 EXPECT_NE(message, encoded_message);
86 87
87 std::string decoded_message; 88 std::string decoded_message;
88 secure_context2.Decode(encoded_message, 89 secure_context2.Decode(encoded_message,
89 base::Bind(&SaveResult, &decoded_message)); 90 base::Bind(&SaveResult, &decoded_message));
90 EXPECT_EQ(message, decoded_message); 91 EXPECT_EQ(message, decoded_message);
91 } 92 }
92 } 93 }
93 94
94 TEST_F(ProximityAuthDeviceToDeviceSecureContextTest, 95 TEST_F(ProximityAuthDeviceToDeviceSecureContextTest,
95 DecodeInvalidSequenceNumber) { 96 DecodeInvalidSequenceNumber) {
96 // Initialize second secure channel with the same parameters as the first. 97 // Initialize second secure channel with the same parameters as the first.
97 DeviceToDeviceSecureContext secure_context2( 98 DeviceToDeviceSecureContext secure_context2(
98 base::MakeUnique<FakeSecureMessageDelegate>(), kSymmetricKey, 99 base::MakeUnique<cryptauth::FakeSecureMessageDelegate>(), kSymmetricKey,
99 kResponderAuthMessage, kProtocolVersion); 100 kResponderAuthMessage, kProtocolVersion);
100 101
101 // Send a few messages over the first secure context. 102 // Send a few messages over the first secure context.
102 std::string message = "encrypt this message"; 103 std::string message = "encrypt this message";
103 std::string encoded1; 104 std::string encoded1;
104 for (int i = 0; i < 3; ++i) { 105 for (int i = 0; i < 3; ++i) {
105 secure_context_.Encode(message, base::Bind(&SaveResult, &encoded1)); 106 secure_context_.Encode(message, base::Bind(&SaveResult, &encoded1));
106 } 107 }
107 108
108 // Second secure channel should not decode the message with an invalid 109 // Second secure channel should not decode the message with an invalid
109 // sequence number. 110 // sequence number.
110 std::string decoded_message = "not empty"; 111 std::string decoded_message = "not empty";
111 secure_context_.Decode(encoded1, base::Bind(&SaveResult, &decoded_message)); 112 secure_context_.Decode(encoded1, base::Bind(&SaveResult, &decoded_message));
112 EXPECT_TRUE(decoded_message.empty()); 113 EXPECT_TRUE(decoded_message.empty());
113 } 114 }
114 115
115 } // proximity_auth 116 } // proximity_auth
OLDNEW
« no previous file with comments | « components/proximity_auth/device_to_device_secure_context.cc ('k') | components/proximity_auth/mock_proximity_auth_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698