Bläddra i källkod

removed json encoding from get/setValue

Mark van Holsteijn 5 år sedan
förälder
incheckning
b4c75b541b
2 ändrade filer med 12 tillägg och 30 borttagningar
  1. 3 6
      lib/Data/GoogleCloudStorage.php
  2. 9 24
      tst/Data/GoogleCloudStorageTest.php

+ 3 - 6
lib/Data/GoogleCloudStorage.php

@@ -253,14 +253,12 @@ class GoogleCloudStorage extends AbstractData
             $key = 'config/' . $namespace . '/' . $key;
         }
 
-        $data = Json::encode($value);
-
         $metadata = array('namespace' => $namespace);
         if ($namespace != 'salt') {
             $metadata['value'] = strval($value);
         }
         try {
-            $this->_bucket->upload($data, array(
+            $this->_bucket->upload($value, array(
                 'name'          => $key,
                 'chunkSize'     => 262144,
                 'predefinedAcl' => 'private',
@@ -288,9 +286,8 @@ class GoogleCloudStorage extends AbstractData
             $key = 'config/' . $namespace . '/' . $key;
         }
         try {
-            $o    = $this->_bucket->object($key);
-            $data = $o->downloadAsString();
-            return (string) Json::decode($data);
+            $o = $this->_bucket->object($key);
+            return $o->downloadAsString();
         } catch (NotFoundException $e) {
             return '';
         }

+ 9 - 24
tst/Data/GoogleCloudStorageTest.php

@@ -143,20 +143,21 @@ class GoogleCloudStorageTest extends PHPUnit_Framework_TestCase
 
         $client = hash_hmac('sha512', '127.0.0.1', $salt);
         $expire = time();
-        $this->_model->setValue($expire, 'traffic_limiter', $client);
+        $this->_model->setValue(strval($expire), 'traffic_limiter', $client);
         $storedExpired = $this->_model->getValue('traffic_limiter', $client);
-        $this->assertEquals($expire, $storedExpired);
-        $this->assertEquals($expire, $storedExpired);
+        $this->assertEquals(strval($expire), $storedExpired);
+
         $this->_model->purgeValues('traffic_limiter', time() - 60);
         $this->assertEquals($storedExpired, $this->_model->getValue('traffic_limiter', $client));
         $this->_model->purgeValues('traffic_limiter', time() + 60);
         $this->assertEquals('', $this->_model->getValue('traffic_limiter', $client));
 
         $purgeAt = $expire + (15 * 60);
-        $this->_model->setValue($purgeAt, 'purge_limiter', '');
+        $this->_model->setValue(strval($purgeAt), 'purge_limiter', '');
         $storedPurgedAt = $this->_model->getValue('purge_limiter', '');
-        $this->assertEquals($purgeAt, $storedPurgedAt);
-        $this->_model->purgeValues('purge_limiter', time() + 60);
+        $this->assertEquals(strval($purgeAt), $storedPurgedAt);
+        $this->_model->purgeValues('purge_limiter', $purgeAt + 60);
+        $this->assertEquals('', $this->_model->getValue('purge_limiter', ''));
         $this->assertEquals('', $this->_model->getValue('purge_limiter', 'at'));
     }
 
@@ -168,25 +169,9 @@ class GoogleCloudStorageTest extends PHPUnit_Framework_TestCase
         $salt   = bin2hex(random_bytes(256));
         $client = hash_hmac('sha512', '127.0.0.1', $salt);
         $expire = time();
-        $this->_model->setValue($expire, 'traffic_limiter', $client);
-        $storedExpired = $this->_model->getValue('traffic_limiter', $client);
-        $this->assertEquals($expire, $storedExpired);
-
-        $this->_model->purgeValues('traffic_limiter', time() - 60);
-        $this->assertEquals($storedExpired, $this->_model->getValue('traffic_limiter', $client));
-
-        $this->_model->purgeValues('traffic_limiter', time() + 60);
-        $this->assertEquals('', $this->_model->getValue('traffic_limiter', $client));
-    }
-
-    public function testKeyValuePurgeTrafficLimiterWithKey()
-    {
-        $salt   = bin2hex(random_bytes(256));
-        $client = hash_hmac('sha512', '127.0.0.1', $salt);
-        $expire = time();
-        $this->_model->setValue($expire, 'traffic_limiter', $client);
+        $this->_model->setValue(strval($expire), 'traffic_limiter', $client);
         $storedExpired = $this->_model->getValue('traffic_limiter', $client);
-        $this->assertEquals($expire, $storedExpired);
+        $this->assertEquals(strval($expire), $storedExpired);
 
         $this->_model->purgeValues('traffic_limiter', time() - 60);
         $this->assertEquals($storedExpired, $this->_model->getValue('traffic_limiter', $client));