Skip to content

Commit 80ff0f9

Browse files
committed
Test: Duplicate activity uuids and names
1 parent 3cd2661 commit 80ff0f9

2 files changed

Lines changed: 58 additions & 2 deletions

File tree

yaml-generation/functions.php

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,38 @@ function getActivityNameByUuid($uuid, $dimensionsAggregated) {
213213
}
214214

215215

216+
function getUuidByActivityName($activityName, $dimensionsAggregated) {
217+
$activity = getActivityByActivityName($activityName, $dimensionsAggregated);
218+
if ($activity) {
219+
return $activity["uuid"];
220+
} else {
221+
return null;
222+
}
223+
}
224+
225+
226+
function getActivityByActivityName($activityName, $dimensionsAggregated) {
227+
foreach ($dimensionsAggregated as $dimension => $subdimensions) {
228+
ksort($subdimensions);
229+
foreach ($subdimensions as $subdimension => $elements) {
230+
if (sizeof($elements) == 0) {
231+
echo "unsetting $subdimension\n";
232+
unset($dimensionsAggregated[$dimension][$subdimension]);
233+
continue;
234+
}
235+
if (substr($subdimension, 0, 1) == "_") {
236+
continue;
237+
}
238+
239+
if (array_key_exists($activityName, $elements)) {
240+
return $elements[$activityName];
241+
}
242+
}
243+
}
244+
return null;
245+
}
246+
247+
216248
/**
217249
*
218250
* @param unknown $headings

yaml-generation/generateDimensions.php

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
} else {
4949
$dimensionsAggregated = $dimensions;
5050
}
51-
51+
$errorMsg = array();
5252
foreach ($dimensionsAggregated as $dimension => $subdimensions) {
5353
ksort($subdimensions);
5454
foreach ($subdimensions as $subdimension => $elements) {
@@ -68,8 +68,23 @@
6868
var_dump($activity);
6969
echo "</pre>";
7070
exit;
71-
}
71+
}
7272

73+
if (!array_key_exists("uuid", $activity)) {
74+
array_push($errorMsg, "$activityName is missing an uuid in $dimension");
75+
} else {
76+
$uuid = $dimensionsAggregated[$dimension][$subdimension][$activityName]["uuid"];
77+
$tmp_activityName = getActivityNameByUuid($uuid, $dimensionsAggregated);
78+
if ($tmp_activityName != $activityName) {
79+
array_push($errorMsg, "Duplicate UUID: $uuid in '$dimension'\n - ". $tmp_activityName ."\n - " . $activityName);
80+
}
81+
82+
if ($uuid != getUuidByActivityName($activityName, $dimensionsAggregated)) {
83+
array_push($errorMsg, "Duplicate activity name: ". $activityName ."");
84+
}
85+
}
86+
87+
7388
if (!array_key_exists("tags", $activity)) {
7489
$dimensionsAggregated[$dimension][$subdimension][$activityName]["tags"] = ["none"];
7590
}
@@ -126,6 +141,15 @@
126141
}
127142
}
128143
}
144+
if (count($errorMsg) > 0) {
145+
echo "\n\nFound " . count($errorMsg) . " errors:\n";
146+
foreach ($errorMsg as $e) {
147+
echo "ERROR: $e\n";
148+
}
149+
exit("Please fix the errors");
150+
}
151+
152+
129153
foreach ($dimensionsAggregated as $dimension => $subdimensions) {
130154
if (sizeof($subdimensions) == 0) {
131155
echo "unsetting $dimension\n";

0 commit comments

Comments
 (0)