From 7c3c4aaca7cebe586f51d01752fc06b3b19e8b7a Mon Sep 17 00:00:00 2001 From: Christophe Coevoet Date: Fri, 10 Nov 2023 10:19:53 +0100 Subject: [PATCH 1/2] Fix the generated code for enum-based map keys for json services --- .../src/Generator/RequestSerializer/RestJsonSerializer.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/CodeGenerator/src/Generator/RequestSerializer/RestJsonSerializer.php b/src/CodeGenerator/src/Generator/RequestSerializer/RestJsonSerializer.php index 76f29a3fd..cde5cea78 100644 --- a/src/CodeGenerator/src/Generator/RequestSerializer/RestJsonSerializer.php +++ b/src/CodeGenerator/src/Generator/RequestSerializer/RestJsonSerializer.php @@ -227,8 +227,8 @@ private function dumpArrayMap(string $output, string $input, string $contextProp $mapKeyShape = $shape->getKey()->getShape(); if (!empty($mapKeyShape->getEnum())) { $enumClassName = $this->namespaceRegistry->getEnum($mapKeyShape); - $validateEnum = strtr('if (!ENUM_CLASS::exists($mapKey)) { - throw new InvalidArgument(sprintf(\'Invalid key for "%s". The value "%s" is not a valid "ENUM_CLASS".\', __CLASS__, $mapKey)); + $validateEnum = strtr('if (!ENUM_CLASS::exists($name)) { + throw new InvalidArgument(sprintf(\'Invalid key for "%s". The value "%s" is not a valid "ENUM_CLASS".\', __CLASS__, $name)); }', [ 'ENUM_CLASS' => $enumClassName->getName(), ]); From ddad6d8cd1396ba9d77d9fd6f6c7f6c10c2c8bb3 Mon Sep 17 00:00:00 2001 From: Christophe Coevoet Date: Fri, 10 Nov 2023 10:38:57 +0100 Subject: [PATCH 2/2] Fix the changelog test for changes in the CodeGenerator The CodeGenerator package does not have a changelog as it has no releases. --- tests/Unit/ChangelogTest.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/Unit/ChangelogTest.php b/tests/Unit/ChangelogTest.php index 0293ad9aa..61285205d 100644 --- a/tests/Unit/ChangelogTest.php +++ b/tests/Unit/ChangelogTest.php @@ -219,7 +219,9 @@ static function ($branch) { } elseif ('Integration' === $parts[1]) { $service = $parts[2] . '/' . $parts[3]; $base = 'src/Integration/' . $service; - } elseif ('CodeGenerator' === $parts[1] || 'Core' === $parts[1]) { + } elseif ('CodeGenerator' === $parts[1]) { + continue; // The code generator does not have a changelog as it has no releases + } elseif ('Core' === $parts[1]) { $service = $parts[1]; $base = 'src/' . $service; } else {