awslabs / aws-bootstrap-kit

Apache License 2.0
104 stars 22 forks source link

Flochaz/fix dns role name resolution #26

Closed flochaz closed 3 years ago

flochaz commented 3 years ago

tl;DR;

Fixing https://github.com/aws-samples/aws-bootstrap-kit-examples/issues/35

Description

Current logic don't cope with case sensitivity or role name blocking DNS cross delegation to work properly.

Tests

Added case Capitalized StageName to test this case.

Unit tests

---------------------------------------------------|---------|----------|---------|---------|---------------------
File                                               | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s   
---------------------------------------------------|---------|----------|---------|---------|---------------------
All files                                          |      96 |    78.13 |   97.73 |   95.98 |                     
 lib                                               |   97.72 |    74.58 |   95.83 |   97.72 |                     
  account-provider.ts                              |     100 |      100 |     100 |     100 |                     
  account.ts                                       |   96.15 |    83.33 |     100 |   96.15 | 185                 
  aws-config-recorder.ts                           |     100 |      100 |     100 |     100 |                     
  aws-organizations-stack.ts                       |   93.48 |    69.57 |      80 |   93.48 | 132,140,163         
  dns.ts                                           |   95.83 |     62.5 |     100 |   95.83 | 66                  
  index.ts                                         |     100 |      100 |     100 |     100 |                     
  organization-trail.ts                            |     100 |       50 |     100 |     100 | 145                 
  organization.ts                                  |     100 |      100 |     100 |     100 |                     
  organizational-unit.ts                           |     100 |      100 |     100 |     100 |                     
  secure-root-user.ts                              |     100 |      100 |     100 |     100 |                     
  validate-email-provider.ts                       |     100 |       75 |     100 |     100 | 78                  
  validate-email.ts                                |     100 |    83.33 |     100 |     100 | 47                  
 lib/account-handler                               |   94.74 |    88.46 |     100 |   94.44 |                     
  index.ts                                         |   94.74 |    88.46 |     100 |   94.44 | 57,62               
 lib/dns                                           |   97.73 |       60 |     100 |   97.73 |                     
  cross-account-dns-delegator.ts                   |     100 |      100 |     100 |     100 |                     
  cross-account-zone-delegation-record-provider.ts |     100 |       50 |     100 |     100 | 61                  
  cross-account-zone-delegation-record.ts          |     100 |       50 |     100 |     100 | 22-23               
  utils.ts                                         |   91.67 |       75 |     100 |   91.67 | 8                   
 lib/dns/delegation-record-handler                 |   86.79 |    78.95 |     100 |   86.79 |                     
  index.ts                                         |   86.79 |    78.95 |     100 |   86.79 | 115,174-185,236-237 
 lib/validate-email-handler                        |     100 |    85.71 |     100 |     100 |                     
  index.ts                                         |     100 |    85.71 |     100 |     100 | 75-78               
---------------------------------------------------|---------|----------|---------|---------|---------------------

Test Suites: 8 passed, 8 total
Tests:       28 passed, 28 total
Snapshots:   0 total
Time:        15.737 s, estimated 16 s

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.