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

Side by Side Diff: net/cert/internal/parse_ocsp_unittest.cc

Issue 2091103002: Add CheckOCSPDateValid() to net/cert/internal (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add tests for ConvertBaseUTCTime Created 4 years, 5 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
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/cert/internal/parse_ocsp.h" 5 #include "net/cert/internal/parse_ocsp.h"
6 6
7 #include "base/files/file_path.h" 7 #include "base/files/file_path.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "net/cert/internal/test_helpers.h" 9 #include "net/cert/internal/test_helpers.h"
10 #include "net/cert/x509_certificate.h" 10 #include "net/cert/x509_certificate.h"
11 #include "net/test/test_data_directory.h" 11 #include "net/test/test_data_directory.h"
12 #include "testing/gtest/include/gtest/gtest.h" 12 #include "testing/gtest/include/gtest/gtest.h"
13 13
14 namespace net { 14 namespace net {
15 15
16 namespace { 16 namespace {
17 17
18 const base::TimeDelta kOCSPAgeOneWeek = base::TimeDelta::FromDays(7);
19
18 std::string GetFilePath(const std::string& file_name) { 20 std::string GetFilePath(const std::string& file_name) {
19 return std::string("net/data/parse_ocsp_unittest/") + file_name; 21 return std::string("net/data/parse_ocsp_unittest/") + file_name;
20 } 22 }
21 23
22 enum OCSPFailure { 24 enum OCSPFailure {
23 OCSP_SUCCESS, 25 OCSP_SUCCESS,
24 PARSE_CERT, 26 PARSE_CERT,
25 PARSE_OCSP, 27 PARSE_OCSP,
26 OCSP_NOT_SUCCESSFUL, 28 OCSP_NOT_SUCCESSFUL,
27 PARSE_OCSP_DATA, 29 PARSE_OCSP_DATA,
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 } 177 }
176 178
177 TEST(ParseOCSPTest, OCSPOCSPSingleExtension) { 179 TEST(ParseOCSPTest, OCSPOCSPSingleExtension) {
178 ASSERT_EQ(OCSP_SUCCESS, ParseOCSP("has_single_extension.pem")); 180 ASSERT_EQ(OCSP_SUCCESS, ParseOCSP("has_single_extension.pem"));
179 } 181 }
180 182
181 TEST(ParseOCSPTest, OCSPMissingResponse) { 183 TEST(ParseOCSPTest, OCSPMissingResponse) {
182 ASSERT_EQ(PARSE_OCSP_SINGLE_RESPONSE, ParseOCSP("missing_response.pem")); 184 ASSERT_EQ(PARSE_OCSP_SINGLE_RESPONSE, ParseOCSP("missing_response.pem"));
183 } 185 }
184 186
187 TEST(OCSPDateTest, Valid) {
188 OCSPSingleResponse response;
189 base::Time now = base::Time::Now();
190 base::Time this_update = now - base::TimeDelta::FromHours(1);
191 base::Time next_update = this_update + base::TimeDelta::FromDays(7);
192 response.this_update = der::ConvertBaseUTCTime(this_update);
193 response.has_next_update = false;
194 EXPECT_TRUE(CheckOCSPDateValid(response, now, kOCSPAgeOneWeek));
195 response.has_next_update = true;
196 response.next_update = der::ConvertBaseUTCTime(next_update);
197 EXPECT_TRUE(CheckOCSPDateValid(response, now, kOCSPAgeOneWeek));
198 }
199
200 TEST(OCSPDateTest, Young) {
201 OCSPSingleResponse response;
202 base::Time now = base::Time::Now();
203 base::Time this_update = now + base::TimeDelta::FromHours(1);
204 base::Time next_update = this_update + base::TimeDelta::FromDays(7);
205 response.this_update = der::ConvertBaseUTCTime(this_update);
206 response.has_next_update = false;
207 EXPECT_FALSE(CheckOCSPDateValid(response, now, kOCSPAgeOneWeek));
208 response.has_next_update = true;
209 response.next_update = der::ConvertBaseUTCTime(next_update);
210 EXPECT_FALSE(CheckOCSPDateValid(response, now, kOCSPAgeOneWeek));
211 }
212
213 TEST(OCSPDateTest, Old) {
214 OCSPSingleResponse response;
215 base::Time now = base::Time::Now();
216 base::Time this_update = now - base::TimeDelta::FromDays(6);
217 base::Time next_update = now - base::TimeDelta::FromHours(1);
218 response.this_update = der::ConvertBaseUTCTime(this_update);
219 response.has_next_update = false;
220 EXPECT_TRUE(CheckOCSPDateValid(response, now, kOCSPAgeOneWeek));
221 response.has_next_update = true;
222 response.next_update = der::ConvertBaseUTCTime(next_update);
223 EXPECT_FALSE(CheckOCSPDateValid(response, now, kOCSPAgeOneWeek));
224 }
225
226 TEST(OCSPDateTest, Backwards) {
Ryan Sleevi 2016/06/28 17:33:30 What is backwards?
dadrian 2016/06/29 22:54:02 Done.
227 OCSPSingleResponse response;
228 base::Time now = base::Time::Now();
229 base::Time next_update = now - base::TimeDelta::FromHours(1);
230 base::Time this_update = next_update + base::TimeDelta::FromDays(7);
231 response.this_update = der::ConvertBaseUTCTime(this_update);
232 response.has_next_update = false;
233 EXPECT_FALSE(CheckOCSPDateValid(response, now, kOCSPAgeOneWeek));
234 response.has_next_update = true;
235 response.next_update = der::ConvertBaseUTCTime(next_update);
236 EXPECT_FALSE(CheckOCSPDateValid(response, now, kOCSPAgeOneWeek));
237 }
238
239 TEST(OCSPDateTest, Long) {
Ryan Sleevi 2016/06/28 17:33:30 What is long?
dadrian 2016/06/29 22:54:02 Done.
240 OCSPSingleResponse response;
241 base::Time now = base::Time::Now();
242 base::Time this_update = now - base::TimeDelta::FromDays(365);
243 base::Time next_update = now + base::TimeDelta::FromHours(1);
244 response.this_update = der::ConvertBaseUTCTime(this_update);
245 response.has_next_update = false;
246 EXPECT_FALSE(CheckOCSPDateValid(response, now, kOCSPAgeOneWeek));
247 response.has_next_update = true;
248 response.next_update = der::ConvertBaseUTCTime(next_update);
249 EXPECT_FALSE(CheckOCSPDateValid(response, now, kOCSPAgeOneWeek));
250 }
251
185 } // namespace net 252 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698