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

Side by Side Diff: components/offline_pages/client_policy_controller_unittest.cc

Issue 2364253002: [Offline Pages] Adds new policy bits and reverse lookup. (Closed)
Patch Set: Rename. Created 4 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
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 "components/offline_pages/client_policy_controller.h" 5 #include "components/offline_pages/client_policy_controller.h"
6 6
7 #include <algorithm>
8
7 #include "base/bind.h" 9 #include "base/bind.h"
8 #include "base/time/time.h" 10 #include "base/time/time.h"
9 #include "components/offline_pages/client_namespace_constants.h" 11 #include "components/offline_pages/client_namespace_constants.h"
10 #include "testing/gtest/include/gtest/gtest.h" 12 #include "testing/gtest/include/gtest/gtest.h"
11 13
12 using LifetimeType = offline_pages::LifetimePolicy::LifetimeType; 14 using LifetimeType = offline_pages::LifetimePolicy::LifetimeType;
13 15
14 namespace offline_pages { 16 namespace offline_pages {
15 17
16 namespace { 18 namespace {
17 const char kUndefinedNamespace[] = "undefined"; 19 const char kUndefinedNamespace[] = "undefined";
18 20
19 bool isTemporary(const OfflinePageClientPolicy& policy) { 21 bool isTemporary(const OfflinePageClientPolicy& policy) {
20 return policy.lifetime_policy.lifetime_type == LifetimeType::TEMPORARY; 22 return policy.lifetime_policy.lifetime_type == LifetimeType::TEMPORARY;
21 } 23 }
22 } // namespace 24 } // namespace
23 25
24 class ClientPolicyControllerTest : public testing::Test { 26 class ClientPolicyControllerTest : public testing::Test {
25 public: 27 public:
26 ClientPolicyController* controller() { return controller_.get(); } 28 ClientPolicyController* controller() { return controller_.get(); }
27 29
28 // testing::Test 30 // testing::Test
29 void SetUp() override; 31 void SetUp() override;
30 void TearDown() override; 32 void TearDown() override;
31 33
34 protected:
35 void ExpectDownloadSupport(std::string name_space, bool expectation);
36 void ExpectRecentTab(std::string name_space, bool expectation);
37 void ExpectOnlyOriginalTab(std::string name_space, bool expectation);
38
32 private: 39 private:
33 std::unique_ptr<ClientPolicyController> controller_; 40 std::unique_ptr<ClientPolicyController> controller_;
34 }; 41 };
35 42
36 void ClientPolicyControllerTest::SetUp() { 43 void ClientPolicyControllerTest::SetUp() {
37 controller_.reset(new ClientPolicyController()); 44 controller_.reset(new ClientPolicyController());
38 } 45 }
39 46
40 void ClientPolicyControllerTest::TearDown() { 47 void ClientPolicyControllerTest::TearDown() {
41 controller_.reset(); 48 controller_.reset();
42 } 49 }
43 50
51 void ClientPolicyControllerTest::ExpectDownloadSupport(std::string name_space,
52 bool expectation) {
53 std::vector<std::string> cache =
54 controller()->GetNamespacesSupportedByDownload();
55 auto result = std::find(cache.begin(), cache.end(), name_space);
56 EXPECT_EQ(expectation, result != cache.end());
57 EXPECT_EQ(expectation, controller()->IsSupportedByDownload(name_space));
58 }
59
60 void ClientPolicyControllerTest::ExpectRecentTab(std::string name_space,
61 bool expectation) {
62 std::vector<std::string> cache =
63 controller()->GetNamespacesShownAsRecentlyVisitedSite();
64 auto result = std::find(cache.begin(), cache.end(), name_space);
65 EXPECT_EQ(expectation, result != cache.end());
66 EXPECT_EQ(expectation,
67 controller()->IsShownAsRecentlyVisitedSite(name_space));
68 }
69
70 void ClientPolicyControllerTest::ExpectOnlyOriginalTab(std::string name_space,
71 bool expectation) {
72 std::vector<std::string> cache =
73 controller()->GetNamespacesRestrictedToOriginalTab();
74 auto result = std::find(cache.begin(), cache.end(), name_space);
75 EXPECT_EQ(expectation, result != cache.end());
76 EXPECT_EQ(expectation, controller()->IsRestrictedToOriginalTab(name_space));
77 }
78
44 TEST_F(ClientPolicyControllerTest, FallbackTest) { 79 TEST_F(ClientPolicyControllerTest, FallbackTest) {
45 OfflinePageClientPolicy policy = controller()->GetPolicy(kUndefinedNamespace); 80 OfflinePageClientPolicy policy = controller()->GetPolicy(kUndefinedNamespace);
46 EXPECT_EQ(policy.name_space, kDefaultNamespace); 81 EXPECT_EQ(policy.name_space, kDefaultNamespace);
47 EXPECT_TRUE(isTemporary(policy)); 82 EXPECT_TRUE(isTemporary(policy));
48 EXPECT_TRUE(controller()->IsRemovedOnCacheReset(kUndefinedNamespace)); 83 EXPECT_TRUE(controller()->IsRemovedOnCacheReset(kUndefinedNamespace));
49 EXPECT_FALSE(controller()->IsSupportedByDownload(kUndefinedNamespace)); 84 ExpectDownloadSupport(kUndefinedNamespace, false);
85 ExpectRecentTab(kUndefinedNamespace, false);
86 ExpectOnlyOriginalTab(kUndefinedNamespace, false);
50 } 87 }
51 88
52 TEST_F(ClientPolicyControllerTest, CheckBookmarkDefined) { 89 TEST_F(ClientPolicyControllerTest, CheckBookmarkDefined) {
53 OfflinePageClientPolicy policy = controller()->GetPolicy(kBookmarkNamespace); 90 OfflinePageClientPolicy policy = controller()->GetPolicy(kBookmarkNamespace);
54 EXPECT_EQ(policy.name_space, kBookmarkNamespace); 91 EXPECT_EQ(policy.name_space, kBookmarkNamespace);
55 EXPECT_TRUE(isTemporary(policy)); 92 EXPECT_TRUE(isTemporary(policy));
56 EXPECT_TRUE(controller()->IsRemovedOnCacheReset(kBookmarkNamespace)); 93 EXPECT_TRUE(controller()->IsRemovedOnCacheReset(kBookmarkNamespace));
57 EXPECT_FALSE(controller()->IsSupportedByDownload(kBookmarkNamespace)); 94 ExpectDownloadSupport(kBookmarkNamespace, false);
95 ExpectRecentTab(kBookmarkNamespace, false);
96 ExpectOnlyOriginalTab(kBookmarkNamespace, false);
58 } 97 }
59 98
60 TEST_F(ClientPolicyControllerTest, CheckLastNDefined) { 99 TEST_F(ClientPolicyControllerTest, CheckLastNDefined) {
61 OfflinePageClientPolicy policy = controller()->GetPolicy(kLastNNamespace); 100 OfflinePageClientPolicy policy = controller()->GetPolicy(kLastNNamespace);
62 EXPECT_EQ(policy.name_space, kLastNNamespace); 101 EXPECT_EQ(policy.name_space, kLastNNamespace);
63 EXPECT_TRUE(isTemporary(policy)); 102 EXPECT_TRUE(isTemporary(policy));
64 EXPECT_TRUE(controller()->IsRemovedOnCacheReset(kLastNNamespace)); 103 EXPECT_TRUE(controller()->IsRemovedOnCacheReset(kLastNNamespace));
65 EXPECT_FALSE(controller()->IsSupportedByDownload(kLastNNamespace)); 104 ExpectDownloadSupport(kLastNNamespace, false);
105 ExpectRecentTab(kLastNNamespace, true);
106 ExpectOnlyOriginalTab(kLastNNamespace, true);
66 } 107 }
67 108
68 TEST_F(ClientPolicyControllerTest, CheckAsyncDefined) { 109 TEST_F(ClientPolicyControllerTest, CheckAsyncDefined) {
69 OfflinePageClientPolicy policy = controller()->GetPolicy(kAsyncNamespace); 110 OfflinePageClientPolicy policy = controller()->GetPolicy(kAsyncNamespace);
70 EXPECT_EQ(policy.name_space, kAsyncNamespace); 111 EXPECT_EQ(policy.name_space, kAsyncNamespace);
71 EXPECT_FALSE(isTemporary(policy)); 112 EXPECT_FALSE(isTemporary(policy));
72 EXPECT_FALSE(controller()->IsRemovedOnCacheReset(kAsyncNamespace)); 113 EXPECT_FALSE(controller()->IsRemovedOnCacheReset(kAsyncNamespace));
73 EXPECT_TRUE(controller()->IsSupportedByDownload(kAsyncNamespace)); 114 ExpectDownloadSupport(kAsyncNamespace, true);
115 ExpectRecentTab(kAsyncNamespace, false);
116 ExpectOnlyOriginalTab(kAsyncNamespace, false);
74 } 117 }
75 118
76 TEST_F(ClientPolicyControllerTest, CheckCCTDefined) { 119 TEST_F(ClientPolicyControllerTest, CheckCCTDefined) {
77 OfflinePageClientPolicy policy = controller()->GetPolicy(kCCTNamespace); 120 OfflinePageClientPolicy policy = controller()->GetPolicy(kCCTNamespace);
78 EXPECT_EQ(policy.name_space, kCCTNamespace); 121 EXPECT_EQ(policy.name_space, kCCTNamespace);
79 EXPECT_TRUE(isTemporary(policy)); 122 EXPECT_TRUE(isTemporary(policy));
80 EXPECT_TRUE(controller()->IsRemovedOnCacheReset(kCCTNamespace)); 123 EXPECT_TRUE(controller()->IsRemovedOnCacheReset(kCCTNamespace));
81 EXPECT_FALSE(controller()->IsSupportedByDownload(kCCTNamespace)); 124 ExpectDownloadSupport(kCCTNamespace, false);
125 ExpectRecentTab(kCCTNamespace, false);
126 ExpectOnlyOriginalTab(kCCTNamespace, false);
82 } 127 }
83 128
84 TEST_F(ClientPolicyControllerTest, CheckDownloadDefined) { 129 TEST_F(ClientPolicyControllerTest, CheckDownloadDefined) {
85 OfflinePageClientPolicy policy = controller()->GetPolicy(kDownloadNamespace); 130 OfflinePageClientPolicy policy = controller()->GetPolicy(kDownloadNamespace);
86 EXPECT_EQ(policy.name_space, kDownloadNamespace); 131 EXPECT_EQ(policy.name_space, kDownloadNamespace);
87 EXPECT_FALSE(isTemporary(policy)); 132 EXPECT_FALSE(isTemporary(policy));
88 EXPECT_FALSE(controller()->IsRemovedOnCacheReset(kDownloadNamespace)); 133 EXPECT_FALSE(controller()->IsRemovedOnCacheReset(kDownloadNamespace));
89 EXPECT_TRUE(controller()->IsSupportedByDownload(kDownloadNamespace)); 134 ExpectDownloadSupport(kDownloadNamespace, true);
135 ExpectRecentTab(kDownloadNamespace, false);
136 ExpectOnlyOriginalTab(kDownloadNamespace, false);
90 } 137 }
91 138
92 TEST_F(ClientPolicyControllerTest, CheckNTPSuggestionsDefined) { 139 TEST_F(ClientPolicyControllerTest, CheckNTPSuggestionsDefined) {
93 OfflinePageClientPolicy policy = 140 OfflinePageClientPolicy policy =
94 controller()->GetPolicy(kNTPSuggestionsNamespace); 141 controller()->GetPolicy(kNTPSuggestionsNamespace);
95 EXPECT_EQ(policy.name_space, kNTPSuggestionsNamespace); 142 EXPECT_EQ(policy.name_space, kNTPSuggestionsNamespace);
96 EXPECT_FALSE(isTemporary(policy)); 143 EXPECT_FALSE(isTemporary(policy));
97 EXPECT_TRUE(controller()->IsRemovedOnCacheReset(kNTPSuggestionsNamespace)); 144 EXPECT_TRUE(controller()->IsRemovedOnCacheReset(kNTPSuggestionsNamespace));
98 EXPECT_FALSE(controller()->IsSupportedByDownload(kNTPSuggestionsNamespace)); 145 ExpectDownloadSupport(kNTPSuggestionsNamespace, false);
146 ExpectRecentTab(kNTPSuggestionsNamespace, false);
147 ExpectOnlyOriginalTab(kNTPSuggestionsNamespace, false);
99 } 148 }
100 149
101 } // namespace offline_pages 150 } // namespace offline_pages
OLDNEW
« no previous file with comments | « components/offline_pages/client_policy_controller.cc ('k') | components/offline_pages/offline_page_client_policy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698