Browse Source

Compare arrays not json strings

In php 7.1 the pretty print json output changed. Thus now we compare
arrays.
Roeland Jago Douma 7 years ago
parent
commit
9d00f367f9
1 changed files with 31 additions and 6 deletions
  1. 31 6
      tests/lib/IntegrityCheck/CheckerTest.php

+ 31 - 6
tests/lib/IntegrityCheck/CheckerTest.php

@@ -102,8 +102,13 @@ class CheckerTest extends TestCase {
 			->expects($this->once())
 			->method('file_put_contents')
 			->with(
-					\OC::$SERVERROOT . '/tests/data/integritycheck/app//appinfo/signature.json',
-					$expectedSignatureFileData
+					$this->equalTo(\OC::$SERVERROOT . '/tests/data/integritycheck/app//appinfo/signature.json'),
+					$this->callback(function($signature) use ($expectedSignatureFileData) {
+						$expectedArray = json_decode($expectedSignatureFileData, true);
+						$actualArray = json_decode($signature, true);
+						$this->assertEquals($expectedArray, $actualArray);
+						return true;
+					})
 			);
 
 		$keyBundle = file_get_contents(__DIR__ .'/../../data/integritycheck/SomeApp.crt');
@@ -456,7 +461,12 @@ class CheckerTest extends TestCase {
 				->method('file_put_contents')
 				->with(
 						\OC::$SERVERROOT . '/tests/data/integritycheck/app//core/signature.json',
-						$expectedSignatureFileData
+						$this->callback(function($signature) use ($expectedSignatureFileData) {
+						$expectedArray = json_decode($expectedSignatureFileData, true);
+						$actualArray = json_decode($signature, true);
+						$this->assertEquals($expectedArray, $actualArray);
+						return true;
+						})
 				);
 
 		$keyBundle = file_get_contents(__DIR__ .'/../../data/integritycheck/core.crt');
@@ -486,7 +496,12 @@ class CheckerTest extends TestCase {
 				->method('file_put_contents')
 				->with(
 						\OC::$SERVERROOT . '/tests/data/integritycheck/htaccessUnmodified//core/signature.json',
-						$expectedSignatureFileData
+					$this->callback(function($signature) use ($expectedSignatureFileData) {
+						$expectedArray = json_decode($expectedSignatureFileData, true);
+						$actualArray = json_decode($signature, true);
+						$this->assertEquals($expectedArray, $actualArray);
+						return true;
+					})
 				);
 
 		$keyBundle = file_get_contents(__DIR__ .'/../../data/integritycheck/core.crt');
@@ -511,7 +526,12 @@ class CheckerTest extends TestCase {
 				->method('file_put_contents')
 				->with(
 						\OC::$SERVERROOT . '/tests/data/integritycheck/htaccessWithInvalidModifiedContent//core/signature.json',
-						$expectedSignatureFileData
+					$this->callback(function($signature) use ($expectedSignatureFileData) {
+						$expectedArray = json_decode($expectedSignatureFileData, true);
+						$actualArray = json_decode($signature, true);
+						$this->assertEquals($expectedArray, $actualArray);
+						return true;
+					})
 				);
 
 		$keyBundle = file_get_contents(__DIR__ .'/../../data/integritycheck/core.crt');
@@ -542,7 +562,12 @@ class CheckerTest extends TestCase {
 				->method('file_put_contents')
 				->with(
 						\OC::$SERVERROOT . '/tests/data/integritycheck/htaccessWithValidModifiedContent/core/signature.json',
-						$expectedSignatureFileData
+					$this->callback(function($signature) use ($expectedSignatureFileData) {
+						$expectedArray = json_decode($expectedSignatureFileData, true);
+						$actualArray = json_decode($signature, true);
+						$this->assertEquals($expectedArray, $actualArray);
+						return true;
+					})
 				);
 
 		$keyBundle = file_get_contents(__DIR__ .'/../../data/integritycheck/core.crt');