public function testExecutePersist() { $fileIn = tempnam(sys_get_temp_dir(), 'PgOidIn'); file_put_contents($fileIn, 'content'); $lo = new PgLargeObject($fileIn); $this->assertTrue($lo->isNew()); $this->assertTrue($lo->isChanged()); $this->assertFalse($lo->isDeleted()); $this->assertSame($lo->getFilePath(), $fileIn); $task = new Persist($this->entityManager->recordManager); $task->setObject($lo); $this->assertTrue($task->execute($this->db)); $this->assertFalse($lo->isNew()); $this->assertFalse($lo->isChanged()); $this->assertFalse($lo->isDeleted()); $this->assertNull($lo->getFilePath()); // the task has been inserted correctly $this->assertTrue(is_numeric($lo->getOid())); $this->db->query(new PgQuery('BEGIN')); $fileOut = tempnam(sys_get_temp_dir(), 'PgOidOut'); pg_lo_export($this->db->resource->get(), $lo->getOid(), $fileOut); $this->db->query(new PgQuery('COMMIT')); $this->assertFileEquals($fileIn, $fileOut); pg_lo_unlink($this->db->resource->get(), $lo->getOid()); }
public function testConstructWithFilenameDoesExist() { $file = $this->makeAndFillFile(); $lo = new PgLargeObject($file); $this->assertSame($lo->getFilePath(), $file); }