Пример #1
0
 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());
 }
Пример #2
0
 public function testConstructWithFilenameDoesExist()
 {
     $file = $this->makeAndFillFile();
     $lo = new PgLargeObject($file);
     $this->assertSame($lo->getFilePath(), $file);
 }