コード例 #1
0
ファイル: TestBelongsTo.php プロジェクト: pokeb/fuzzy-record
 public function test_belongs_to()
 {
     MemoryStore::flush();
     Page::delete_all();
     User::delete_all();
     $user = new User();
     $user->email = "*****@*****.**";
     $user->first_name = "Ben";
     $user->last_name = "Copsey";
     $user->password = "******";
     $user->accepted_terms_and_conditions = true;
     $user->registration_date = new Date();
     $user->first_name = "Ben";
     $user->save();
     $page1 = new Page();
     $page1->title = "This is page 1";
     $page1->last_modified = new Date();
     $page1->body = "This is the content";
     $page1->url = "page-1";
     $page1->author = $user;
     $page1->save();
     FuzzyTest::assert_equal($page1->author_id, $user->id, "Author not set correctly");
     $user->delete();
     $page = Page::find_by_url('page-1');
     FuzzyTest::assert_true(isset($page), "Page deleted when it should have been preserved");
     FuzzyTest::assert_equal($page->author_id, 0, "Page deleted when it should have been preserved");
     $user->save();
     $page->author = $user;
     $page->save();
     $matches = $user->pages;
     FuzzyTest::assert_equal(count($matches), 1, "Page count should be 1");
 }
コード例 #2
0
ファイル: ValidationTest.php プロジェクト: pokeb/fuzzy-record
 public function test_validation()
 {
     MemoryStore::flush();
     UserLogin::delete_all();
     User::delete_all();
     $user = new User();
     FuzzyTest::assert_false($user->validate(), "User write should fail because required properties were not set");
     FuzzyTest::assert_true(key_exists("email", $user->validation_errors), "Email validation error not set");
     FuzzyTest::assert_true(key_exists("password", $user->validation_errors), "Password validation error not set");
     FuzzyTest::assert_true(key_exists("accepted_terms_and_conditions", $user->validation_errors), "Boolean validation error not set");
     FuzzyTest::assert_true(key_exists("registration_date", $user->validation_errors), "Required validation error not set");
     $user->accepted_terms_and_conditions = true;
     $user->validate();
     FuzzyTest::assert_false(key_exists("accepted_terms_and_conditions", $user->validation_errors), "Boolean validation error erroneously set");
     $user->email = "*****@*****.**";
     $user->validate();
     FuzzyTest::assert_false(key_exists("email", $user->validation_errors), "Email validation error erroneously set");
     $user->password = "******";
     $user->validate();
     FuzzyTest::assert_false(key_exists("password", $user->validation_errors), "Password validation error erroneously set");
     $user->registration_date = new Date();
     $user->validate();
     FuzzyTest::assert_false(key_exists("registration_date", $user->validation_errors), "Required validation error erroneously set");
     $user->first_name = "Ben";
     $user->last_name = "Copsey";
     $user->validate();
     FuzzyTest::assert_false(key_exists("first_name", $user->validation_errors), "Length validation error erroneously set");
     FuzzyTest::assert_false(key_exists("last_name", $user->validation_errors), "Length validation error erroneously set");
     FuzzyTest::assert_true($user->validate(), "Validate should succeed because required properties were set");
 }
コード例 #3
0
ファイル: WriteTest.php プロジェクト: pokeb/fuzzy-record
 public function test_simple_write()
 {
     MemoryStore::flush();
     UserLogin::delete_all();
     User::delete_all();
     $user = new User();
     $user->email = "*****@*****.**";
     $user->password = "******";
     $user->accepted_terms_and_conditions = true;
     $user->registration_date = new Date("2008-12-12");
     $user->first_name = "Ben";
     $user->last_name = "Copsey";
     FuzzyTest::assert_true($user->write_new(), "Write should succeed because required properties were set");
     $user = new User();
     $user->email = "*****@*****.**";
     $user->password = "******";
     $user->accepted_terms_and_conditions = true;
     $user->registration_date = new Date();
     $user->first_name = "Ben";
     $user->last_name = "Copsey";
     FuzzyTest::assert_false($user->write_new(), "Write should fail because we have a duplicate for a unique property");
     $user = new User();
     $user->email = "*****@*****.**";
     $user->password = "******";
     $user->accepted_terms_and_conditions = true;
     $user->registration_date = new Date();
     $user->first_name = "Ben";
     $user->last_name = "Copsey";
     FuzzyTest::assert_true($user->save(), "Save should succeed as a write_new");
 }
コード例 #4
0
ファイル: TestFind.php プロジェクト: pokeb/fuzzy-record
 public function __construct()
 {
     MemoryStore::flush();
     UserLogin::delete_all();
     User::delete_all();
     $user = new User();
     $user->email = "*****@*****.**";
     $user->password = "******";
     $user->accepted_terms_and_conditions = true;
     $user->registration_date = new Date();
     $user->first_name = "Ben";
     $user->last_name = "Copsey";
     $user->save();
     $user = new User();
     $user->email = "*****@*****.**";
     $user->password = "******";
     $user->accepted_terms_and_conditions = true;
     $user->registration_date = new Date();
     $user->first_name = "Ben";
     $user->last_name = "Copsey";
     $user->save();
     $user = new User();
     $user->email = "*****@*****.**";
     $user->password = "******";
     $user->accepted_terms_and_conditions = true;
     $user->registration_date = new Date();
     $user->first_name = "Benjamus";
     $user->last_name = "Copso";
     $user->save();
     Page::delete_all();
     $page = new Page();
     $page->title = "test page";
     $page->url = "test-page";
     $page->body = "thing";
     $page->save();
     $page = new Page();
     $page->title = "test page 2";
     $page->url = "test-page-2";
     $page->body = "thing 2";
     $page->save();
     $page = new Page();
     $page->title = "test page 3";
     $page->url = "test-page-3";
     $page->body = "thing 3";
     $page->save();
 }
コード例 #5
0
ファイル: FileTest.php プロジェクト: pokeb/fuzzy-record
 public function __construct()
 {
     MemoryStore::flush();
     Document::delete_all();
     CustomDocument::delete_all();
     User::delete_all();
     $text = "This is the content of the file";
     $file = new File();
     $file->contents = $text;
     $file->write("/tmp/test.txt");
     $user = new User();
     $user->email = "*****@*****.**";
     $user->password = "******";
     $user->accepted_terms_and_conditions = true;
     $user->registration_date = new Date();
     $user->first_name = "Ben";
     $user->last_name = "Copsey";
     $user->save();
 }
コード例 #6
0
ファイル: SorterTest.php プロジェクト: pokeb/fuzzy-record
 public function __construct()
 {
     MemoryStore::flush();
     Page::delete_all();
     $page1 = new Page();
     $page1->title = "This is page 1";
     $page1->last_modified = new Date();
     $page1->body = "This is the content";
     $page1->url = "page-1";
     $page1->save();
     $page2 = new Page();
     $page2->title = "This is page 2";
     $page2->last_modified = new Date();
     $page2->body = "This is the content for page 2";
     $page2->url = "page-2";
     $page2->save();
     $page3 = new Page();
     $page3->title = "This is page 3";
     $page3->last_modified = new Date();
     $page3->body = "This is the content for page 3";
     $page3->url = "page-3";
     $page3->save();
 }
コード例 #7
0
ファイル: MemoryStore.php プロジェクト: pokeb/fuzzy-record
 protected static function memcached_connect()
 {
     if (!MemoryStore::$use_memcache_store) {
         return false;
     } elseif (isset(MemoryStore::$shared_memcache_store)) {
         return true;
     }
     if (!extension_loaded('memcache')) {
         MemoryStore::$use_memcache_store = false;
         error_log("MEMCACHE: Cannot use memcache store because memcache extension is not loaded", 0);
         return false;
     }
     MemoryStore::$shared_memcache_store = new Memcache();
     $connected_to_a_server = false;
     foreach (MemoryStore::$memcache_servers as $server) {
         if (MemoryStore::$shared_memcache_store->addServer($server['host'], $server['port'], true)) {
             //print_r(MemoryStore::$shared_memcache_store->getExtendedStats());
             //Make sure server is up
             if (MemoryStore::$shared_memcache_store->getServerStatus($server['host'], $server['port']) !== 0) {
                 $connected_to_a_server = true;
             }
         }
     }
     if (!$connected_to_a_server) {
         MemoryStore::$use_memcache_store = false;
         //Failed to connect to any servers
         error_log("MEMCACHE: Failed to connect to memcache store, will ignore for the rest of this request", 0);
         return false;
     } else {
         return true;
     }
 }
コード例 #8
0
ファイル: FuzzyRecord.php プロジェクト: pokeb/fuzzy-record
 public function remove_from_memory_cache()
 {
     if (!$this->should_cache) {
         return false;
     }
     return MemoryStore::delete($this->identifier());
 }
コード例 #9
0
ファイル: config.default.php プロジェクト: pokeb/fuzzy-record
<?php

define("SITE_PATH", "/Users/ben/Sites/fuzzyrecord");
define("DB_SERVER", "127.0.0.1");
define("DB_USER", "");
define("DB_PASSWORD", "");
define("DB_DATABASE", "fuzzy-record-test");
define("DB_TYPE", "pdo-mysql");
// valid options are 'pdo-mysql' and 'pdo-pgsql'
MemoryStore::$use_in_memory_store = true;
MemoryStore::$use_memcache_store = false;
//MemoryStore::$memcache_servers = array(array("host" => '127.0.0.1', "port" => 11211));
// This is used by the Document and CustomDocument example classes
define("DOCUMENT_SAVE_PATH", "/Users/ben/Sites/fuzzyrecord/htdocs/documents");