/**
  * Creates ServiceProperties object from parsed XML response.
  *
  * @param array $parsedResponse XML response parsed into array.
  * 
  * @return MicrosoftAzure\Storage\Common\Models\ServiceProperties.
  */
 public static function create($parsedResponse)
 {
     $result = new ServiceProperties();
     $result->setLogging(Logging::create($parsedResponse['Logging']));
     $result->setMetrics(Metrics::create($parsedResponse['HourMetrics']));
     return $result;
 }
 /**
  * @covers MicrosoftAzure\Storage\Common\Models\ServiceProperties::getLogging
  */
 public function testGetLogging()
 {
     // Setup
     $sample = TestResources::getServicePropertiesSample();
     $logging = Logging::create($sample['Logging']);
     $result = new ServiceProperties();
     $result->setLogging($logging);
     // Test
     $actual = $result->getLogging($logging);
     // Assert
     $this->assertEquals($logging, $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;
 }
 public function testCheckServiceProperties()
 {
     // Check that the default values of options are reasonable
     $l = new Logging();
     $m = new Metrics();
     $sp = new ServiceProperties();
     $this->assertNull($sp->getLogging(), 'Default ServiceProperties->getLogging should not be null');
     $this->assertNull($sp->getMetrics(), 'Default ServiceProperties->getMetrics should not be null');
     $sp->setLogging($l);
     $sp->setMetrics($m);
     $this->assertEquals($sp->getLogging(), $l, 'Set ServiceProperties->getLogging');
     $this->assertEquals($sp->getMetrics(), $m, 'Set ServiceProperties->getMetrics');
 }
 public function testCheckServiceProperties()
 {
     $l = new Logging();
     $m = new Metrics();
     $sp = new ServiceProperties();
     $this->assertNull($sp->getLogging(), 'Default ServiceProperties->getLogging should not be null');
     $this->assertNull($sp->getMetrics(), 'Default ServiceProperties->getMetrics should not be null');
     $sp->setLogging($l);
     $sp->setMetrics($m);
     $this->assertEquals($sp->getLogging(), $l, 'Set ServiceProperties->getLogging');
     $this->assertEquals($sp->getMetrics(), $m, 'Set ServiceProperties->getMetrics');
 }