|
|
@@ -16,8 +16,10 @@ namespace Cake\Test\TestSuite;
|
|
|
|
|
|
use Cake\Core\Plugin;
|
|
|
use Cake\Datasource\ConnectionManager;
|
|
|
+use Cake\Log\Log;
|
|
|
use Cake\ORM\TableRegistry;
|
|
|
use Cake\TestSuite\Fixture\FixtureManager;
|
|
|
+use Cake\TestSuite\Stub\ConsoleOutput;
|
|
|
use Cake\TestSuite\TestCase;
|
|
|
|
|
|
/**
|
|
|
@@ -54,6 +56,37 @@ class FixtureManagerTest extends TestCase
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * Test logging depends on fixture manager debug.
|
|
|
+ *
|
|
|
+ * @return void
|
|
|
+ */
|
|
|
+ public function testLogSchemaWithDebug()
|
|
|
+ {
|
|
|
+ $db = ConnectionManager::get('test');
|
|
|
+ $restore = $db->logQueries();
|
|
|
+ $db->logQueries(true);
|
|
|
+
|
|
|
+ $this->manager->setDebug(true);
|
|
|
+ $buffer = new ConsoleOutput();
|
|
|
+ Log::config('testQueryLogger', [
|
|
|
+ 'className' => 'Console',
|
|
|
+ 'stream' => $buffer
|
|
|
+ ]);
|
|
|
+
|
|
|
+ $test = $this->getMock('Cake\TestSuite\TestCase');
|
|
|
+ $test->fixtures = ['core.articles'];
|
|
|
+ $this->manager->fixturize($test);
|
|
|
+ // Need to load/shutdown twice to ensure fixture is created.
|
|
|
+ $this->manager->load($test);
|
|
|
+ $this->manager->shutdown();
|
|
|
+ $this->manager->load($test);
|
|
|
+ $this->manager->shutdown();
|
|
|
+
|
|
|
+ $db->logQueries($restore);
|
|
|
+ $this->assertContains('CREATE TABLE', implode('', $buffer->messages()));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* Test loading fixtures with constraints.
|
|
|
*
|
|
|
* @return void
|