mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-01-03 02:39:52 -06:00
Review address for separate functon
This commit is contained in:
committed by
Phil Davis
parent
a05a746297
commit
b9fda28235
@@ -54,6 +54,28 @@ class GraphHelper {
|
||||
return (bool)preg_match($regex, $spaceId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Key name can consist of @@@
|
||||
* This function separate such key and return its actual value from actual drive response which can be used for assertion
|
||||
*
|
||||
* @param string $keyName
|
||||
* @param array $actualDriveInformation
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public static function separateAndGetValueForKey(string $keyName, array $actualDriveInformation): string {
|
||||
// break the segment with @@@ to find the actual value from the actual drive infromation
|
||||
$separatedKey = explode("@@@", $keyName);
|
||||
// this stores the actual value of each key from drive information response used for assertion
|
||||
$actualKeyValue = $actualDriveInformation;
|
||||
|
||||
foreach ($separatedKey as $key) {
|
||||
$actualKeyValue = $actualKeyValue[$key];
|
||||
}
|
||||
|
||||
return $actualKeyValue;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $baseUrl
|
||||
* @param string $path
|
||||
|
||||
@@ -1378,15 +1378,7 @@ class GraphContext implements Context {
|
||||
*/
|
||||
public function checkUserDriveInformation(array $expectedDriveInformation, array $actualDriveInformation):void {
|
||||
foreach (array_keys($expectedDriveInformation) as $keyName) {
|
||||
// break the segment with @@@ to find the actual value from the drive infromation from response
|
||||
$separatedKey = explode("@@@", $keyName);
|
||||
// this stores the actual value of each key from drive information response used for assertion
|
||||
$actualKeyValue = $actualDriveInformation;
|
||||
|
||||
foreach ($separatedKey as $key) {
|
||||
$actualKeyValue = $actualKeyValue[$key];
|
||||
}
|
||||
|
||||
$actualKeyValue = GraphHelper::separateAndGetValueForKey($keyName, $actualDriveInformation);
|
||||
switch ($expectedDriveInformation[$keyName]) {
|
||||
case '%user_id%':
|
||||
Assert::assertTrue(GraphHelper::isUUIDv4($actualKeyValue), __METHOD__ . ' Expected user_id to have UUIDv4 pattern but found: ' . $actualKeyValue);
|
||||
@@ -1424,7 +1416,11 @@ class GraphContext implements Context {
|
||||
public function theResponseShouldContainTheFollowingDriveInformation(TableNode $table): void {
|
||||
$expectedDriveInformation = $table->getRowsHash();
|
||||
// array of user drive information (Personal Drive Information Only)
|
||||
$actualDriveInformation = $this->featureContext->getJsonDecodedResponse($this->featureContext->getResponse())['drive'];
|
||||
$this->checkUserDriveInformation($expectedDriveInformation, $actualDriveInformation);
|
||||
$actualDriveInformation = $this->featureContext->getJsonDecodedResponse($this->featureContext->getResponse());
|
||||
if (\is_array($actualDriveInformation) && \array_key_exists('drive', $actualDriveInformation)) {
|
||||
$this->checkUserDriveInformation($expectedDriveInformation, $actualDriveInformation['drive']);
|
||||
} else {
|
||||
throw new Error('Response is not an array or the array does not consist key "drive"');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user