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

Side by Side Diff: net/http/transport_security_persister_unittest.cc

Issue 266243004: Clang format slam. Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 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 "net/http/transport_security_persister.h" 5 #include "net/http/transport_security_persister.h"
6 6
7 #include <map> 7 #include <map>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
11 #include "base/file_util.h" 11 #include "base/file_util.h"
12 #include "base/files/file_path.h" 12 #include "base/files/file_path.h"
13 #include "base/files/scoped_temp_dir.h" 13 #include "base/files/scoped_temp_dir.h"
14 #include "base/message_loop/message_loop.h" 14 #include "base/message_loop/message_loop.h"
15 #include "net/http/transport_security_state.h" 15 #include "net/http/transport_security_state.h"
16 #include "testing/gtest/include/gtest/gtest.h" 16 #include "testing/gtest/include/gtest/gtest.h"
17 17
18 using net::TransportSecurityPersister; 18 using net::TransportSecurityPersister;
19 using net::TransportSecurityState; 19 using net::TransportSecurityState;
20 20
21 class TransportSecurityPersisterTest : public testing::Test { 21 class TransportSecurityPersisterTest : public testing::Test {
22 public: 22 public:
23 TransportSecurityPersisterTest() { 23 TransportSecurityPersisterTest() {}
24 }
25 24
26 virtual ~TransportSecurityPersisterTest() { 25 virtual ~TransportSecurityPersisterTest() {
27 base::MessageLoopForIO::current()->RunUntilIdle(); 26 base::MessageLoopForIO::current()->RunUntilIdle();
28 } 27 }
29 28
30 virtual void SetUp() OVERRIDE { 29 virtual void SetUp() OVERRIDE {
31 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); 30 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
32 persister_.reset(new TransportSecurityPersister( 31 persister_.reset(new TransportSecurityPersister(
33 &state_, 32 &state_,
34 temp_dir_.path(), 33 temp_dir_.path(),
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 68
70 EXPECT_TRUE(state_.GetDomainState(kYahooDomain, true, &domain_state)); 69 EXPECT_TRUE(state_.GetDomainState(kYahooDomain, true, &domain_state));
71 EXPECT_EQ(domain_state.upgrade_mode, 70 EXPECT_EQ(domain_state.upgrade_mode,
72 TransportSecurityState::DomainState::MODE_FORCE_HTTPS); 71 TransportSecurityState::DomainState::MODE_FORCE_HTTPS);
73 EXPECT_TRUE(state_.GetDomainState("foo.yahoo.com", true, &domain_state)); 72 EXPECT_TRUE(state_.GetDomainState("foo.yahoo.com", true, &domain_state));
74 EXPECT_EQ(domain_state.upgrade_mode, 73 EXPECT_EQ(domain_state.upgrade_mode,
75 TransportSecurityState::DomainState::MODE_FORCE_HTTPS); 74 TransportSecurityState::DomainState::MODE_FORCE_HTTPS);
76 EXPECT_TRUE(state_.GetDomainState("foo.bar.yahoo.com", true, &domain_state)); 75 EXPECT_TRUE(state_.GetDomainState("foo.bar.yahoo.com", true, &domain_state));
77 EXPECT_EQ(domain_state.upgrade_mode, 76 EXPECT_EQ(domain_state.upgrade_mode,
78 TransportSecurityState::DomainState::MODE_FORCE_HTTPS); 77 TransportSecurityState::DomainState::MODE_FORCE_HTTPS);
79 EXPECT_TRUE(state_.GetDomainState("foo.bar.baz.yahoo.com", true, 78 EXPECT_TRUE(
80 &domain_state)); 79 state_.GetDomainState("foo.bar.baz.yahoo.com", true, &domain_state));
81 EXPECT_EQ(domain_state.upgrade_mode, 80 EXPECT_EQ(domain_state.upgrade_mode,
82 TransportSecurityState::DomainState::MODE_FORCE_HTTPS); 81 TransportSecurityState::DomainState::MODE_FORCE_HTTPS);
83 EXPECT_FALSE(state_.GetDomainState("com", true, &domain_state)); 82 EXPECT_FALSE(state_.GetDomainState("com", true, &domain_state));
84 } 83 }
85 84
86 TEST_F(TransportSecurityPersisterTest, SerializeData3) { 85 TEST_F(TransportSecurityPersisterTest, SerializeData3) {
87 // Add an entry. 86 // Add an entry.
88 net::HashValue fp1(net::HASH_VALUE_SHA1); 87 net::HashValue fp1(net::HASH_VALUE_SHA1);
89 memset(fp1.data(), 0, fp1.size()); 88 memset(fp1.data(), 0, fp1.size());
90 net::HashValue fp2(net::HASH_VALUE_SHA1); 89 net::HashValue fp2(net::HASH_VALUE_SHA1);
91 memset(fp2.data(), 1, fp2.size()); 90 memset(fp2.data(), 1, fp2.size());
92 base::Time expiry = 91 base::Time expiry = base::Time::Now() + base::TimeDelta::FromSeconds(1000);
93 base::Time::Now() + base::TimeDelta::FromSeconds(1000);
94 net::HashValueVector dynamic_spki_hashes; 92 net::HashValueVector dynamic_spki_hashes;
95 dynamic_spki_hashes.push_back(fp1); 93 dynamic_spki_hashes.push_back(fp1);
96 dynamic_spki_hashes.push_back(fp2); 94 dynamic_spki_hashes.push_back(fp2);
97 bool include_subdomains = false; 95 bool include_subdomains = false;
98 state_.AddHSTS("www.example.com", expiry, include_subdomains); 96 state_.AddHSTS("www.example.com", expiry, include_subdomains);
99 state_.AddHPKP("www.example.com", expiry, include_subdomains, 97 state_.AddHPKP(
100 dynamic_spki_hashes); 98 "www.example.com", expiry, include_subdomains, dynamic_spki_hashes);
101 99
102 // Add another entry. 100 // Add another entry.
103 memset(fp1.data(), 2, fp1.size()); 101 memset(fp1.data(), 2, fp1.size());
104 memset(fp2.data(), 3, fp2.size()); 102 memset(fp2.data(), 3, fp2.size());
105 expiry = 103 expiry = base::Time::Now() + base::TimeDelta::FromSeconds(3000);
106 base::Time::Now() + base::TimeDelta::FromSeconds(3000);
107 dynamic_spki_hashes.push_back(fp1); 104 dynamic_spki_hashes.push_back(fp1);
108 dynamic_spki_hashes.push_back(fp2); 105 dynamic_spki_hashes.push_back(fp2);
109 state_.AddHSTS("www.example.net", expiry, include_subdomains); 106 state_.AddHSTS("www.example.net", expiry, include_subdomains);
110 state_.AddHPKP("www.example.net", expiry, include_subdomains, 107 state_.AddHPKP(
111 dynamic_spki_hashes); 108 "www.example.net", expiry, include_subdomains, dynamic_spki_hashes);
112 109
113 // Save a copy of everything. 110 // Save a copy of everything.
114 std::map<std::string, TransportSecurityState::DomainState> saved; 111 std::map<std::string, TransportSecurityState::DomainState> saved;
115 TransportSecurityState::Iterator i(state_); 112 TransportSecurityState::Iterator i(state_);
116 while (i.HasNext()) { 113 while (i.HasNext()) {
117 saved[i.hostname()] = i.domain_state(); 114 saved[i.hostname()] = i.domain_state();
118 i.Advance(); 115 i.Advance();
119 } 116 }
120 117
121 std::string serialized; 118 std::string serialized;
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 hashes.push_back(sha1); 177 hashes.push_back(sha1);
181 EXPECT_TRUE(domain_state.CheckPublicKeyPins(hashes, &failure_log)); 178 EXPECT_TRUE(domain_state.CheckPublicKeyPins(hashes, &failure_log));
182 179
183 hashes[0].data()[0] = '2'; 180 hashes[0].data()[0] = '2';
184 EXPECT_FALSE(domain_state.CheckPublicKeyPins(hashes, &failure_log)); 181 EXPECT_FALSE(domain_state.CheckPublicKeyPins(hashes, &failure_log));
185 182
186 const base::Time current_time(base::Time::Now()); 183 const base::Time current_time(base::Time::Now());
187 const base::Time expiry = current_time + base::TimeDelta::FromSeconds(1000); 184 const base::Time expiry = current_time + base::TimeDelta::FromSeconds(1000);
188 bool include_subdomains = false; 185 bool include_subdomains = false;
189 state_.AddHSTS(kTestDomain, expiry, include_subdomains); 186 state_.AddHSTS(kTestDomain, expiry, include_subdomains);
190 state_.AddHPKP(kTestDomain, expiry, include_subdomains, 187 state_.AddHPKP(kTestDomain,
188 expiry,
189 include_subdomains,
191 domain_state.dynamic_spki_hashes); 190 domain_state.dynamic_spki_hashes);
192 std::string ser; 191 std::string ser;
193 EXPECT_TRUE(persister_->SerializeData(&ser)); 192 EXPECT_TRUE(persister_->SerializeData(&ser));
194 bool dirty; 193 bool dirty;
195 EXPECT_TRUE(persister_->LoadEntries(ser, &dirty)); 194 EXPECT_TRUE(persister_->LoadEntries(ser, &dirty));
196 EXPECT_TRUE(state_.GetDomainState(kTestDomain, false, &domain_state)); 195 EXPECT_TRUE(state_.GetDomainState(kTestDomain, false, &domain_state));
197 EXPECT_EQ(1u, domain_state.dynamic_spki_hashes.size()); 196 EXPECT_EQ(1u, domain_state.dynamic_spki_hashes.size());
198 EXPECT_EQ(sha1.tag, domain_state.dynamic_spki_hashes[0].tag); 197 EXPECT_EQ(sha1.tag, domain_state.dynamic_spki_hashes[0].tag);
199 EXPECT_EQ(0, memcmp(domain_state.dynamic_spki_hashes[0].data(), sha1.data(), 198 EXPECT_EQ(0,
200 sha1.size())); 199 memcmp(domain_state.dynamic_spki_hashes[0].data(),
200 sha1.data(),
201 sha1.size()));
201 } 202 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698