[ticket/10875] Revise sql cache test.

Delete data from database before retrieving it from cache,
ensuring results come from cache.

PHPBB3-10875
This commit is contained in:
Oleg Pudeyev 2012-11-30 12:18:33 -05:00
parent 1ebc6eb68b
commit 7bba09811c

View file

@ -89,20 +89,26 @@ class phpbb_cache_test extends phpbb_database_test_case
WHERE config_name = 'foo'"; WHERE config_name = 'foo'";
$result = $db->sql_query($sql, 300); $result = $db->sql_query($sql, 300);
$first_result = $db->sql_fetchrow($result); $first_result = $db->sql_fetchrow($result);
$expected = array('config_name' => 'foo', 'config_value' => '23', 'is_dynamic' => 0);
$this->assertEquals($expected, $first_result);
$this->assertFileExists($this->cache_dir . 'sql_' . md5(preg_replace('/[\n\r\s\t]+/', ' ', $sql)) . '.php'); $this->assertFileExists($this->cache_dir . 'sql_' . md5(preg_replace('/[\n\r\s\t]+/', ' ', $sql)) . '.php');
$sql = "DELETE FROM phpbb_config";
$result = $db->sql_query($sql);
$sql = "SELECT * FROM phpbb_config $sql = "SELECT * FROM phpbb_config
WHERE config_name = 'foo'"; WHERE config_name = 'foo'";
$result = $db->sql_query($sql, 300); $result = $db->sql_query($sql, 300);
$this->assertEquals($first_result, $db->sql_fetchrow($result)); $this->assertEquals($expected, $db->sql_fetchrow($result));
$sql = "SELECT * FROM phpbb_config $sql = "SELECT * FROM phpbb_config
WHERE config_name = 'bar'"; WHERE config_name = 'foo'";
$result = $db->sql_query($sql, 300); $result = $db->sql_query($sql);
$this->assertNotEquals($first_result, $db->sql_fetchrow($result)); $no_cache_result = $db->sql_fetchrow($result);
$this->assertSame(false, $no_cache_result);
$db->sql_close(); $db->sql_close();
} }