Move URL etag from permalinks to media subdef urls

This commit is contained in:
Romain Neutron
2013-04-02 15:46:15 +02:00
parent 22919fd8ac
commit d5c97082d6
4 changed files with 21 additions and 7 deletions

View File

@@ -146,15 +146,14 @@ class media_Permalink_Adapter implements media_Permalink_Interface, cache_cachea
{
$registry = registry::get_instance();
return sprintf('%spermalink/v1/%d/%d/%s/%s.%s?token=%s&etag=%s',
return sprintf('%spermalink/v1/%d/%d/%s/%s.%s?token=%s',
$registry->get('GV_ServerName'),
$this->media_subdef->get_sbas_id(),
$this->media_subdef->get_record_id(),
$this->media_subdef->get_name(),
$this->get_label(),
pathinfo($this->media_subdef->get_file(), PATHINFO_EXTENSION),
$this->get_token(),
$this->media_subdef->getEtag()
$this->get_token()
);
}

View File

@@ -364,6 +364,14 @@ class media_subdef extends media_abstract implements cache_cacheableInterface
return $this;
}
public function get_url()
{
$url = parent::get_url();
$etag = $this->getEtag();
return $url . ($etag ? '?etag=' . $etag : '');
}
/**
*
* @return int

View File

@@ -57,8 +57,7 @@ class media_Permalink_AdapterTest extends PhraseanetPHPUnitAbstract
. static::$records['record_1']->get_record_id()
. '/document/' . static::$object->get_label()
. '.' . pathinfo(static::$records['record_1']->get_subdef('document')->get_file(), PATHINFO_EXTENSION)
. '?token=' . static::$object->get_token()
. '&etag=' . static::$subdef->getEtag();
. '?token=' . static::$object->get_token();
$this->assertEquals($url, static::$object->get_url($registry));
}
@@ -75,8 +74,7 @@ class media_Permalink_AdapterTest extends PhraseanetPHPUnitAbstract
. static::$records['record_1']->get_record_id()
. '/preview/' . $previewPermalink->get_label()
. '.' . pathinfo(static::$records['record_1']->get_subdef('preview')->get_file(), PATHINFO_EXTENSION)
. '?token=' . $previewPermalink->get_token()
. '&etag=' . $subdef->getEtag();
. '?token=' . $previewPermalink->get_token();
$this->assertEquals($url, $previewPermalink->get_url($registry));
}

View File

@@ -90,6 +90,15 @@ class media_subdefTest extends \PhraseanetPHPUnitAbstract
$this->assertEquals(self::$recordonbleu->get_sbas_id(), self::$objectPresent->get_record()->get_sbas_id());
}
/**
* @covers media_subdef::get_url
*/
public function testGet_url()
{
$this->assertEquals('/skins/icons/substitution/image_jpeg.png', self::$objectNotPresent->get_url());
$this->assertRegExp('#\/datafiles\/' . self::$objectPresent->get_sbas_id() . '\/' . self::$objectPresent->get_record_id() . '\/preview\/\?etag=[0-9a-f]{32}#', self::$objectPresent->get_url());
}
/**
* @covers media_subdef::get_permalink
*/