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

Side by Side Diff: third_party/WebKit/Source/core/experiments/APIKeyTest.cpp

Issue 1521063003: Add API Key parsing for experimental APIs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years 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 2015 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 "config.h"
6 #include "core/experiments/APIKey.h"
7
8 #include <gtest/gtest.h>
9
10 namespace blink {
11 namespace {
12
13 const char* kGoodAPIKey = "AnySignatureWillDo|https://valid.example.com|Frob ulate|1458766277";
14 const char* kValidOrigin = "https://valid.example.com";
15 const char* kInvalidOrigin = "https://invalid.example.com";
16 const char* kValidAPIName = "Frobulate";
17 const char* kInvalidAPIName = "Grokalyze";
18 uint64_t kValidTime = 1458766276;
19 uint64_t kInvalidTime = 1458766278;
chasej 2015/12/15 19:43:41 Add comments to explain the date values? Same rati
20
21 } // namespace
22
23 class APIKeyTest : public ::testing::Test {
24 protected:
25 APIKeyTest()
26 {
27 }
28
29 ~APIKeyTest()
30 {
31 }
32
33 bool validateAPIName(const APIKey* key, const String& apiName)
34 {
35 return key->validateApiName(apiName);
36 }
37
38 bool validateOrigin(const APIKey* key, const String& originText)
39 {
40 return key->validateOrigin(originText);
41 }
42
43 bool validateDate(const APIKey* key, uint64_t now)
44 {
45 return key->validateDate(now);
46 }
47
48 };
49
50 TEST_F(APIKeyTest, ParseNullString)
51 {
52 RefPtrWillBeRawPtr<APIKey> emptyKey = APIKey::parse(String());
53 EXPECT_FALSE(emptyKey);
54 }
55
56 TEST_F(APIKeyTest, ParseEmptyString)
57 {
58 RefPtrWillBeRawPtr<APIKey> emptyKey = APIKey::parse("");
59 EXPECT_FALSE(emptyKey);
60 }
61
62 TEST_F(APIKeyTest, ParseInvalidString)
63 {
64 RefPtrWillBeRawPtr<APIKey> emptyKey = APIKey::parse("abcdef");
65 EXPECT_FALSE(emptyKey);
66 }
67
68 TEST_F(APIKeyTest, ParseValidKeyString)
69 {
70 RefPtrWillBeRawPtr<APIKey> key = APIKey::parse(kGoodAPIKey);
71 ASSERT_TRUE(key);
72 }
73
74 TEST_F(APIKeyTest, TestInternalKeyValidation)
75 {
76 RefPtrWillBeRawPtr<APIKey> key = APIKey::parse(kGoodAPIKey);
77 EXPECT_TRUE(validateAPIName(key.get(), kValidAPIName));
78 EXPECT_FALSE(validateAPIName(key.get(), kInvalidAPIName));
79 EXPECT_TRUE(validateOrigin(key.get(), kValidOrigin));
80 EXPECT_FALSE(validateOrigin(key.get(), kInvalidOrigin));
81 EXPECT_TRUE(validateDate(key.get(), kValidTime));
82 EXPECT_FALSE(validateDate(key.get(), kInvalidTime));
83 }
84
85 TEST_F(APIKeyTest, TestPublicApiKeyValidation)
86 {
87 RefPtrWillBeRawPtr<APIKey> key = APIKey::parse(kGoodAPIKey);
88 EXPECT_TRUE(key->isValidNowForOrigin(kValidOrigin, kValidAPIName, kValidTime ));
89 EXPECT_FALSE(key->isValidNowForOrigin(kInvalidOrigin, kValidAPIName, kValidT ime));
90 EXPECT_FALSE(key->isValidNowForOrigin(kValidOrigin, kInvalidAPIName, kValidT ime));
91 EXPECT_FALSE(key->isValidNowForOrigin(kValidOrigin, kValidAPIName, kInvalidT ime));
92 }
93
94 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698