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

Unified Diff: net/base/cookie_monster_store_test.h

Issue 6264013: Clean up net unit testing code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Re-virtualize TestDelegate::OnResponseCompleted Created 9 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: net/base/cookie_monster_store_test.h
diff --git a/net/base/cookie_monster_store_test.h b/net/base/cookie_monster_store_test.h
index 84ead744c7ca49cf52ede2918c1e4d675c116d62..fadc91374d21cfad420651179f0b7fa27b47578e 100644
--- a/net/base/cookie_monster_store_test.h
+++ b/net/base/cookie_monster_store_test.h
@@ -7,12 +7,13 @@
// that need to test out CookieMonster interactions with the backing store.
// It should only be included by test code.
-#include "base/message_loop.h"
-#include "base/time.h"
#include "net/base/cookie_monster.h"
-#include "testing/gtest/include/gtest/gtest.h"
-namespace {
+namespace base {
+class Time;
+}
+
+namespace net {
// Describes a call to one of the 3 functions of PersistentCookieStore.
struct CookieStoreCommand {
@@ -39,52 +40,32 @@ class MockPersistentCookieStore
public:
typedef std::vector<CookieStoreCommand> CommandList;
- MockPersistentCookieStore() : load_return_value_(true) {
+ MockPersistentCookieStore();
+ virtual ~MockPersistentCookieStore();
+
+ void SetLoadExpectation(
+ bool return_value,
+ const std::vector<net::CookieMonster::CanonicalCookie*>& result);
+
+ const CommandList& commands() const {
+ return commands_;
}
virtual bool Load(
- std::vector<net::CookieMonster::CanonicalCookie*>* out_cookies) {
- bool ok = load_return_value_;
- if (ok)
- *out_cookies = load_result_;
- return ok;
- }
+ std::vector<net::CookieMonster::CanonicalCookie*>* out_cookies);
- virtual void AddCookie(const net::CookieMonster::CanonicalCookie& cookie) {
- commands_.push_back(
- CookieStoreCommand(CookieStoreCommand::ADD, cookie));
- }
+ virtual void AddCookie(const net::CookieMonster::CanonicalCookie& cookie);
virtual void UpdateCookieAccessTime(
- const net::CookieMonster::CanonicalCookie& cookie) {
- commands_.push_back(CookieStoreCommand(
- CookieStoreCommand::UPDATE_ACCESS_TIME, cookie));
- }
+ const net::CookieMonster::CanonicalCookie& cookie);
virtual void DeleteCookie(
- const net::CookieMonster::CanonicalCookie& cookie) {
- commands_.push_back(
- CookieStoreCommand(CookieStoreCommand::REMOVE, cookie));
- }
+ const net::CookieMonster::CanonicalCookie& cookie);
- virtual void Flush(Task* completion_task) {
- if (completion_task)
- MessageLoop::current()->PostTask(FROM_HERE, completion_task);
- }
+ virtual void Flush(Task* completion_task);
// No files are created so nothing to clear either
- virtual void SetClearLocalStateOnExit(bool clear_local_state) {}
-
- void SetLoadExpectation(
- bool return_value,
- const std::vector<net::CookieMonster::CanonicalCookie*>& result) {
- load_return_value_ = return_value;
- load_result_ = result;
- }
-
- const CommandList& commands() const {
- return commands_;
- }
+ virtual void SetClearLocalStateOnExit(bool clear_local_state);
private:
CommandList commands_;
@@ -102,21 +83,18 @@ class MockCookieMonsterDelegate : public net::CookieMonster::Delegate {
typedef std::pair<net::CookieMonster::CanonicalCookie, bool>
CookieNotification;
- MockCookieMonsterDelegate() {}
-
- virtual void OnCookieChanged(
- const net::CookieMonster::CanonicalCookie& cookie,
- bool removed) {
- CookieNotification notification(cookie, removed);
- changes_.push_back(notification);
- }
+ MockCookieMonsterDelegate();
const std::vector<CookieNotification>& changes() const { return changes_; }
void reset() { changes_.clear(); }
+ virtual void OnCookieChanged(
+ const net::CookieMonster::CanonicalCookie& cookie,
+ bool removed);
+
private:
- virtual ~MockCookieMonsterDelegate() {}
+ virtual ~MockCookieMonsterDelegate();
std::vector<CookieNotification> changes_;
@@ -124,84 +102,40 @@ class MockCookieMonsterDelegate : public net::CookieMonster::Delegate {
};
// Helper to build a list of CanonicalCookie*s.
-static void AddCookieToList(
+void AddCookieToList(
const std::string& key,
const std::string& cookie_line,
const base::Time& creation_time,
- std::vector<net::CookieMonster::CanonicalCookie*>* out_list) {
-
- // Parse the cookie line.
- net::CookieMonster::ParsedCookie pc(cookie_line);
- EXPECT_TRUE(pc.IsValid());
-
- // This helper is simplistic in interpreting a parsed cookie, in order to
- // avoid duplicated CookieMonster's CanonPath() and CanonExpiration()
- // functions. Would be nice to export them, and re-use here.
- EXPECT_FALSE(pc.HasMaxAge());
- EXPECT_TRUE(pc.HasPath());
- base::Time cookie_expires = pc.HasExpires() ?
- net::CookieMonster::ParseCookieTime(pc.Expires()) : base::Time();
- std::string cookie_path = pc.Path();
-
- scoped_ptr<net::CookieMonster::CanonicalCookie> cookie(
- new net::CookieMonster::CanonicalCookie(
- pc.Name(), pc.Value(), key, cookie_path,
- pc.IsSecure(), pc.IsHttpOnly(),
- creation_time, creation_time,
- !cookie_expires.is_null(),
- cookie_expires));
-
- out_list->push_back(cookie.release());
-}
+ std::vector<net::CookieMonster::CanonicalCookie*>* out_list);
// Just act like a backing database. Keep cookie information from
// Add/Update/Delete and regurgitate it when Load is called.
class MockSimplePersistentCookieStore
: public net::CookieMonster::PersistentCookieStore {
- private:
- typedef std::map<int64, net::CookieMonster::CanonicalCookie>
- CanonicalCookieMap;
-
public:
+ MockSimplePersistentCookieStore();
+ virtual ~MockSimplePersistentCookieStore();
+
virtual bool Load(
- std::vector<net::CookieMonster::CanonicalCookie*>* out_cookies) {
- for (CanonicalCookieMap::const_iterator it = cookies_.begin();
- it != cookies_.end(); it++)
- out_cookies->push_back(
- new net::CookieMonster::CanonicalCookie(it->second));
- return true;
- }
+ std::vector<net::CookieMonster::CanonicalCookie*>* out_cookies);
virtual void AddCookie(
- const net::CookieMonster::CanonicalCookie& cookie) {
- int64 creation_time = cookie.CreationDate().ToInternalValue();
- EXPECT_TRUE(cookies_.find(creation_time) == cookies_.end());
- cookies_[creation_time] = cookie;
- }
+ const net::CookieMonster::CanonicalCookie& cookie);
virtual void UpdateCookieAccessTime(
- const net::CookieMonster::CanonicalCookie& cookie) {
- int64 creation_time = cookie.CreationDate().ToInternalValue();
- ASSERT_TRUE(cookies_.find(creation_time) != cookies_.end());
- cookies_[creation_time].SetLastAccessDate(base::Time::Now());
- }
+ const net::CookieMonster::CanonicalCookie& cookie);
virtual void DeleteCookie(
- const net::CookieMonster::CanonicalCookie& cookie) {
- int64 creation_time = cookie.CreationDate().ToInternalValue();
- CanonicalCookieMap::iterator it = cookies_.find(creation_time);
- ASSERT_TRUE(it != cookies_.end());
- cookies_.erase(it);
- }
+ const net::CookieMonster::CanonicalCookie& cookie);
- virtual void Flush(Task* completion_task) {
- if (completion_task)
- MessageLoop::current()->PostTask(FROM_HERE, completion_task);
- }
+ virtual void Flush(Task* completion_task);
virtual void SetClearLocalStateOnExit(bool clear_local_state) {}
Randy Smith (Not in Mondays) 2011/01/25 23:29:02 nit: This is inconsistent; either both SetClearLoc
private:
+ typedef std::map<int64, net::CookieMonster::CanonicalCookie>
+ CanonicalCookieMap;
+
CanonicalCookieMap cookies_;
};
@@ -213,32 +147,9 @@ class MockSimplePersistentCookieStore
// Do two SetCookies(). Return whether each of the two SetCookies() took
// longer than |gc_perf_micros| to complete, and how many cookie were
// left in the store afterwards.
-static net::CookieMonster* CreateMonsterFromStoreForGC(
+net::CookieMonster* CreateMonsterFromStoreForGC(
int num_cookies,
int num_old_cookies,
- int days_old) {
- base::Time current(base::Time::Now());
- base::Time past_creation(base::Time::Now() - base::TimeDelta::FromDays(1000));
- scoped_refptr<MockSimplePersistentCookieStore> store(
- new MockSimplePersistentCookieStore);
- // Must expire to be persistent
- for (int i = 0; i < num_old_cookies; i++) {
- net::CookieMonster::CanonicalCookie cc(
- "a", "1", StringPrintf("h%05d.izzle", i), "/path", false, false,
- past_creation + base::TimeDelta::FromMicroseconds(i),
- current - base::TimeDelta::FromDays(days_old),
- true, current + base::TimeDelta::FromDays(30));
- store->AddCookie(cc);
- }
- for (int i = num_old_cookies; i < num_cookies; i++) {
- net::CookieMonster::CanonicalCookie cc(
- "a", "1", StringPrintf("h%05d.izzle", i), "/path", false, false,
- past_creation + base::TimeDelta::FromMicroseconds(i), current,
- true, current + base::TimeDelta::FromDays(30));
- store->AddCookie(cc);
- }
-
- return new net::CookieMonster(store, NULL);
-}
+ int days_old);
-} // namespace
+} // namespace net

Powered by Google App Engine
This is Rietveld 408576698