ssl_error_classification_unittest.cc revision 116680a4aac90f2aa7413d9095a592090648e557
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 "chrome/browser/ssl/ssl_error_classification.h"
6
7#include "base/files/file_path.h"
8#include "base/time/time.h"
9#include "net/base/test_data_directory.h"
10#include "net/cert/x509_certificate.h"
11#include "net/test/cert_test_util.h"
12#include "net/test/test_certificate_data.h"
13#include "testing/gtest/include/gtest/gtest.h"
14
15using base::Time;
16
17TEST(SSLErrorClassification, TestDateInvalidScore) {
18  base::FilePath certs_dir = net::GetTestCertsDirectory();
19  scoped_refptr<net::X509Certificate> expired_cert =
20      net::ImportCertFromFile(certs_dir, "expired_cert.pem");
21  base::Time time;
22
23  {
24    EXPECT_TRUE(base::Time::FromString("Wed, 03 Jan 2007 12:00:00 GMT", &time));
25    SSLErrorClassification ssl_error(time, *expired_cert);
26    EXPECT_FLOAT_EQ(0.2f, ssl_error.CalculateScoreTimePassedSinceExpiry());
27  }
28
29  {
30    EXPECT_TRUE(base::Time::FromString("Sat, 06 Jan 2007 12:00:00 GMT", &time));
31    SSLErrorClassification ssl_error(time, *expired_cert);
32    EXPECT_FLOAT_EQ(0.3f, ssl_error.CalculateScoreTimePassedSinceExpiry());
33  }
34
35  {
36    EXPECT_TRUE(base::Time::FromString("Mon, 08 Jan 2007 12:00:00 GMT", &time));
37    SSLErrorClassification ssl_error(time, *expired_cert);
38    EXPECT_FLOAT_EQ(0.4f, ssl_error.CalculateScoreTimePassedSinceExpiry());
39  }
40
41}
42