/**
  * Creates object from $parsedResponse.
  * 
  * @param array $parsedResponse XML response parsed into array.
  * 
  * @return MicrosoftAzure\Storage\Common\Models\RetentionPolicy
  */
 public static function create($parsedResponse)
 {
     $result = new RetentionPolicy();
     $result->setEnabled(Utilities::toBoolean($parsedResponse['Enabled']));
     if ($result->getEnabled()) {
         $result->setDays(intval($parsedResponse['Days']));
     }
     return $result;
 }
 public function testCheckRetentionPolicy()
 {
     $rp = new RetentionPolicy();
     $this->assertNull($rp->getDays(), 'Default RetentionPolicy->getDays should be null');
     $this->assertNull($rp->getEnabled(), 'Default RetentionPolicy->getEnabled should be null');
     $rp->setDays(10);
     $rp->setEnabled(true);
     $this->assertEquals(10, $rp->getDays(), 'Set RetentionPolicy->getDays should be 10');
     $this->assertTrue($rp->getEnabled(), 'Set RetentionPolicy->getEnabled should be true');
 }
 public function testCheckRetentionPolicy()
 {
     // Check that the default values of options are reasonable
     $rp = new RetentionPolicy();
     $this->assertNull($rp->getDays(), 'Default RetentionPolicy->getDays should be null');
     $this->assertNull($rp->getEnabled(), 'Default RetentionPolicy->getEnabled should be null');
     $rp->setDays(10);
     $rp->setEnabled(true);
     $this->assertEquals(10, $rp->getDays(), 'Set RetentionPolicy->getDays should be 10');
     $this->assertTrue($rp->getEnabled(), 'Set RetentionPolicy->getEnabled should be true');
 }
 /**
  * @covers MicrosoftAzure\Storage\Common\Models\RetentionPolicy::setEnabled
  */
 public function testSetEnabled()
 {
     // Setup
     $sample = TestResources::getServicePropertiesSample();
     $retentionPolicy = new RetentionPolicy();
     $expected = Utilities::toBoolean($sample['Logging']['RetentionPolicy']['Enabled']);
     // Test
     $retentionPolicy->setEnabled($expected);
     // Assert
     $actual = $retentionPolicy->getEnabled();
     $this->assertEquals($expected, $actual);
 }
 public static function getInterestingServiceProperties()
 {
     $ret = array();
     // This is the default that comes from the server.
     array_push($ret, self::getDefaultServiceProperties());
     $rp = new RetentionPolicy();
     $rp->setEnabled(true);
     $rp->setDays(10);
     $l = new Logging();
     $l->setRetentionPolicy($rp);
     // Note: looks like only v1.0 is available now.
     // http://msdn.microsoft.com/en-us/library/windowsazure/hh360996.aspx
     $l->setVersion('1.0');
     $l->setDelete(true);
     $l->setRead(true);
     $l->setWrite(true);
     $m = new Metrics();
     $m->setRetentionPolicy($rp);
     $m->setVersion('1.0');
     $m->setEnabled(true);
     $m->setIncludeAPIs(true);
     $sp = new ServiceProperties();
     $sp->setLogging($l);
     $sp->setMetrics($m);
     array_push($ret, $sp);
     $rp = new RetentionPolicy();
     // The service does not accept setting days when enabled is false.
     $rp->setEnabled(false);
     $rp->setDays(null);
     $l = new Logging();
     $l->setRetentionPolicy($rp);
     // Note: looks like only v1.0 is available now.
     // http://msdn.microsoft.com/en-us/library/windowsazure/hh360996.aspx
     $l->setVersion('1.0');
     $l->setDelete(false);
     $l->setRead(false);
     $l->setWrite(false);
     $m = new Metrics();
     $m->setRetentionPolicy($rp);
     $m->setVersion('1.0');
     $m->setEnabled(true);
     $m->setIncludeAPIs(true);
     $sp = new ServiceProperties();
     $sp->setLogging($l);
     $sp->setMetrics($m);
     array_push($ret, $sp);
     $rp = new RetentionPolicy();
     $rp->setEnabled(true);
     // Days has to be 0 < days <= 365
     $rp->setDays(364);
     $l = new Logging();
     $l->setRetentionPolicy($rp);
     // Note: looks like only v1.0 is available now.
     // http://msdn.microsoft.com/en-us/library/windowsazure/hh360996.aspx
     $l->setVersion('1.0');
     $l->setDelete(false);
     $l->setRead(false);
     $l->setWrite(false);
     $m = new Metrics();
     $m->setVersion('1.0');
     $m->setEnabled(false);
     $m->setIncludeAPIs(null);
     $m->setRetentionPolicy($rp);
     $sp = new ServiceProperties();
     $sp->setLogging($l);
     $sp->setMetrics($m);
     array_push($ret, $sp);
     return $ret;
 }