public function tearDown() { // Close any still-open changeset. $changeTracker = new \Tabulate\DB\ChangeTracker($this->db); $changeTracker->closeChangeset(); // Remove all tables. $this->db->query('SET FOREIGN_KEY_CHECKS = 0'); foreach ($this->db->getTableNames(false) as $tbl) { $this->db->query("DROP TABLE IF EXISTS `{$tbl}`"); } $this->db->query('SET FOREIGN_KEY_CHECKS = 1'); parent::tearDown(); }
public function testBasics() { $db = new Database(); // Make sure the default records were created. $db->setCurrentUser(Users::ADMIN); $this->assertEquals(2, $db->getTable('users')->getRecordCount()); $this->assertEquals(2, $db->getTable('groups')->getRecordCount()); $this->assertEquals(2, $db->getTable('group_members')->getRecordCount()); // The anon user can't see anything. $db->setCurrentUser(Users::ANON); $this->assertEquals(Users::ANON, $db->getCurrentUser()); $this->assertEmpty($db->getTables()); // The admin user can see everything. $db->setCurrentUser(Users::ADMIN); $expectedTables = ['changes', 'changesets', 'grants', 'group_members', 'groups', 'sessions', 'test_table', 'test_types', 'users', 'report_sources', 'reports']; $this->assertEquals($expectedTables, $db->getTableNames(), '', 0, 1, true, true); }