AWS Ссылки на тестирование CDK - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь выполнить модульное тестирование моего приложения CDK. У меня создана роль, и я хочу убедиться, что в ней назначены все политики. Поскольку роли и политики - это разные ресурсы, политики недоступны из ресурса Cloud Formation Role. Роль имеет только ссылку на политику:

"MyRole4CBCE4C9": {
      "Type": "AWS::IAM::Role",
      "Properties": {
        "AssumeRolePolicyDocument": {
          "Statement": [
            {
              ...
            }
          ],
          "Version": "2012-10-17"
        },
        "ManagedPolicyArns": [
          {
            "Ref": "MyPolicyC18AB378"
          }
        ]
      },

В тесте у меня есть:

expectCDK(stack).to(haveResource("AWS::IAM::Role", {
                AssumeRolePolicyDocument: {
                    Statement: [
                        ...
                    ],
                    Version: "2012-10-17",
                },
            }
        ));

Как я могу проверить правильность политики этой роли? Шаги, которые у меня в голове, следующие:

  1. Получить «Ref» из свойств роли
  2. Найти политику по этой ссылке
  3. Подтвердить все необходимые данные в Политика

Однако кажется, что CDK не предоставляет функций для получения элемента по его логическому идентификатору и получения ресурса из haveResource как объекта.

Что такое способ CDK подойти к такому тестированию?

UPD: похоже, я могу подойти к нему с помощью StackInspector, хотя мне все еще интересно, что это за истинный способ.

...