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

Side by Side Diff: extensions/browser/api/cast_channel/cast_auth_util_unittest.cc

Issue 627573002: Enable passing cast channel certificate authority keys. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Code review changes. Created 6 years, 2 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
OLDNEW
(Empty)
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include <string>
6 #include "base/base64.h"
Ryan Sleevi 2014/10/17 19:53:21 STYLE: newline between lines 5 and 6
vadimgo 2014/10/20 23:35:28 Done.
7 #include "extensions/browser/api/cast_channel/cast_auth_util.h"
Ryan Sleevi 2014/10/17 19:53:21 STYLE: Per http://google-styleguide.googlecode.com
vadimgo 2014/10/20 23:35:28 Done.
8 #include "testing/gtest/include/gtest/gtest.h"
9
10 namespace extensions {
11 namespace core_api {
12 namespace cast_channel {
13 class CastChannelAuthorityKeysTest : public testing::Test {
Ryan Sleevi 2014/10/17 19:53:21 STYLE: Newline between lines 10, 11, 12, 13
vadimgo 2014/10/20 23:35:28 Done.
14 public:
15 CastChannelAuthorityKeysTest() {}
16 virtual ~CastChannelAuthorityKeysTest() {}
17
18 protected:
19 void ExpectKeysLoaded();
20 AuthorityKeysStore authority_keys_store_;
21 };
22
23 static const net::SHA256HashValue kFingerprintValid1 = { {
24 0x52, 0x9D, 0x9C, 0xD6, 0x7F, 0xE5, 0xEB, 0x69, 0x8E, 0x70, 0xDD, 0x26,
25 0xD7, 0xD8, 0xF1, 0x26, 0x59, 0xF1, 0xE6, 0xE5, 0x23, 0x48, 0xBF, 0x6A,
26 0x5C, 0xF7, 0x16, 0xE1, 0x3F, 0x41, 0x0E, 0x73
27 } };
28
29 static const net::SHA256HashValue kFingerprintValid2 = { {
30 0xA2, 0x48, 0xC2, 0xE8, 0x54, 0xE6, 0x56, 0xA5, 0x6D, 0xE8, 0x23, 0x1F,
31 0x1E, 0xE1, 0x75, 0x6F, 0xDB, 0xE4, 0x07, 0xF9, 0xFE, 0xD4, 0x65, 0x0D,
32 0x60, 0xCC, 0x5A, 0xCB, 0x65, 0x11, 0xC7, 0x20
33 } };
34
35 static const net::SHA256HashValue kFingerprintInvalid = { {
36 0x00, 0x9D, 0x9C, 0xD6, 0x7F, 0xE5, 0xEB, 0x69, 0x8E, 0x70, 0xDD, 0x26,
37 0xD7, 0xD8, 0xF1, 0x26, 0x59, 0xF1, 0xE6, 0xE5, 0x23, 0x48, 0xBF, 0x6A,
38 0x5C, 0xF7, 0x16, 0xE1, 0x3F, 0x41, 0x0E, 0x73
39 } };
40
41 void CastChannelAuthorityKeysTest::ExpectKeysLoaded() {
42 const SECItem* key = authority_keys_store_.GetDefaultICAPublicKey();
43 EXPECT_NE(static_cast<SECItem*>(NULL), key);
44
45 key =
46 authority_keys_store_.GetICAPublicKeyFromFingerprint(kFingerprintValid1);
Ryan Sleevi 2014/10/17 19:53:21 did git gl format do this? Doesn't seem right.
vadimgo 2014/10/20 23:35:28 Yes, "git cl format" formatted this.
47 EXPECT_NE(static_cast<SECItem*>(NULL), key);
48
49 key =
50 authority_keys_store_.GetICAPublicKeyFromFingerprint(kFingerprintInvalid);
51 EXPECT_EQ(static_cast<SECItem*>(NULL), key);
Ryan Sleevi 2014/10/17 19:53:21 This is a non-_nss file, you should not be using N
vadimgo 2014/10/20 23:35:27 Done.
52 }
53
54 TEST_F(CastChannelAuthorityKeysTest, TestDefaultKeys) {
55 ExpectKeysLoaded();
56 }
57
58 TEST_F(CastChannelAuthorityKeysTest, TestInvalidProtobuf) {
59 std::string keys = "test";
60 EXPECT_EQ(authority_keys_store_.Load(keys), false);
61
62 const SECItem* key = authority_keys_store_.GetDefaultICAPublicKey();
63 EXPECT_EQ(static_cast<SECItem*>(NULL), key);
64 }
65
66 TEST_F(CastChannelAuthorityKeysTest, TestValidProtobuf) {
67 std::string keys =
68 "CrMCCiBSnZzWf+XraY5w3SbX2PEmWfHm5SNIv2pc9xbhP0EOcxKOAjCCAQoCggEBALwigL"
69 "2A9johADuudl41fz3DZFxVlIY0LwWHKM33aYwXs1CnuIL638dDLdZ+q6BvtxNygKRHFcEg"
70 "mVDN7BRiCVukmM3SQbY2Tv/oLjIwSoGoQqNsmzNuyrL1U2bgJ1OGGoUepzk/SneO+1RmZv"
71 "tYVMBeOcf1UAYL4IrUzuFqVR+LFwDmaaMn5gglaTwSnY0FLNYuojHetFJQ1iBJ3nGg+a0g"
72 "QBLx3SXr1ea4NvTWj3/KQ9zXEFvmP1GKhbPz//YDLcsjT5ytGOeTBYysUpr3TOmZer5ufk"
73 "0K48YcqZP6OqWRXRy9ZuvMYNyGdMrP+JIcmH1X+mFHnquAt+RIgCqSxRsCAwEAAQqzAgog"
74 "okjC6FTmVqVt6CMfHuF1b9vkB/n+1GUNYMxay2URxyASjgIwggEKAoIBAQCwDl4HOt+kX2"
75 "j3Icdk27Z27+6Lk/j2G4jhk7cX8BUeflJVdzwCjXtKbNO91sGccsizFc8RwfVGxNUgR/sw"
76 "9ORhDGjwXqs3jpvhvIHDcIp41oM0MpwZYuvknO3jZGxBHZzSi0hMI5CVs+dS6gVXzGCzuh"
77 "TkugA55EZVdM5ajnpnI9poCvrEhB60xaGianMfbsguL5qeqLEO/Yemj009SwXVNVp0TbyO"
78 "gkSW9LWVYE6l3yc9QVwHo7Q1WrOe8gUkys0xWg0mTNTT/VDhNOlMgVgwssd63YGJptQ6OI"
79 "QDtzSedz//eAdbmcGyHzVWbjo8DCXhV/aKfknAzIMRNeeRbS5lAgMBAAE=";
80
81 std::string decoded_keys;
82 EXPECT_EQ(base::Base64Decode(keys, &decoded_keys), true);
83 EXPECT_EQ(authority_keys_store_.Load(decoded_keys), true);
84
85 ExpectKeysLoaded();
86
87 const SECItem* key =
88 authority_keys_store_.GetICAPublicKeyFromFingerprint(kFingerprintValid2);
89 EXPECT_NE(static_cast<SECItem*>(NULL), key);
90 }
91
92 } // namespace cast_channel
93 } // namespace core_api
94 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698