public function testDeleteImageUrlAccessDenied()
 {
     $this->expectFilenameTranslation('/gs/mybucket/photo.jpg', 'some_blob_key');
     $req = new \google\appengine\ImagesDeleteUrlBaseRequest();
     $resp = new \google\appengine\ImagesDeleteUrlBaseResponse();
     $req->setBlobKey('some_blob_key');
     $exception = new \google\appengine\runtime\ApplicationError(ImagesServiceError\ErrorCode::ACCESS_DENIED, 'a message');
     $this->setExpectedException('\\google\\appengine\\api\\cloud_storage\\CloudStorageException', 'Access denied to image.');
     $this->apiProxyMock->expectCall('images', 'DeleteUrlBase', $req, $exception);
     CloudStorageTools::deleteImageServingUrl('gs://mybucket/photo.jpg');
     $this->apiProxyMock->verify();
 }
Exemplo n.º 2
0
 public function testDeleteImageUrlUsingDefaultKeyword()
 {
     $gs_filename = 'gs://#default#/photo.jpg';
     $this->expectGetDefaultBucketName('bucket');
     $this->expectApcFetch('__DEFAULT_GCS_BUCKET_NAME__', false, false);
     $this->expectApcStore('__DEFAULT_GCS_BUCKET_NAME__', 'bucket', true);
     $this->expectFilenameTranslation('/gs/bucket/photo.jpg', 'some_blob_key');
     $this->expectDeleteUrlBase('some_blob_key');
     CloudStorageTools::deleteImageServingUrl($gs_filename);
     $this->apiProxyMock->verify();
 }
Exemplo n.º 3
0
 public function delete()
 {
     $this->requiresLogin();
     $user = Bootstrap::$main->user;
     $id = 0 + $this->id;
     $data = false;
     if ($id) {
         $data = $this->image()->get($id);
     }
     if (!$data) {
         $this->error(18);
     }
     if ($data['user'] != $user['id']) {
         $this->error(19);
     }
     if ($this->_appengine) {
         $file = 'gs://' . CloudStorageTools::getDefaultGoogleStorageBucketName() . '/' . $data['src'];
         CloudStorageTools::deleteImageServingUrl($file);
     } else {
         $file = $this->_media_dir . '/' . $data['src'];
         $ext = @end(explode('.', $file));
         @unlink(preg_replace("/\\.{$ext}\$/", '-t.' . $ext, $file));
         @unlink(preg_replace("/\\.{$ext}\$/", '-s.' . $ext, $file));
     }
     @unlink($file);
     $this->image()->remove($data['id']);
     return $this->status();
 }