|
| 1 | +# APIM Samples Test Matrix |
| 2 | + |
| 3 | +This document outlines the compatibility between samples and infrastructure types, providing a comprehensive test matrix to ensure all components work correctly in both local development and Codespaces environments. The format allows for manual check-off during testing sessions. |
| 4 | + |
| 5 | +## Infrastructure Types |
| 6 | + |
| 7 | +The repository currently supports the following infrastructure types: |
| 8 | + |
| 9 | +1. **SIMPLE_APIM** - Simple API Management with no dependencies |
| 10 | +2. **APIM_ACA** - Azure API Management connected to Azure Container Apps |
| 11 | +3. **AFD_APIM_PE** - Azure Front Door Premium connected to Azure API Management (Standard V2) via Private Link |
| 12 | + |
| 13 | +## Test Matrix |
| 14 | + |
| 15 | +### Printable Test Checklist |
| 16 | + |
| 17 | +Each cell includes checkboxes for both local development and Codespaces/Dev Container environments: |
| 18 | +- [ ] Local: Test in local environment |
| 19 | +- [ ] Dev Container: Test in Codespaces/Dev Container |
| 20 | + |
| 21 | +| Sample | SIMPLE_APIM | APIM_ACA | AFD_APIM_PE | |
| 22 | +|--------|------------|----------|------------| |
| 23 | +| **authX** | - [ ] Local<br>- [ ] Dev Container | - [ ] Local<br>- [ ] Dev Container | - [ ] Local<br>- [ ] Dev Container | |
| 24 | +| **authX-pro** | - [ ] Local<br>- [ ] Dev Container | - [ ] Local<br>- [ ] Dev Container | - [ ] Local<br>- [ ] Dev Container | |
| 25 | +| **general** | - [ ] Local<br>- [ ] Dev Container | - [ ] Local<br>- [ ] Dev Container | - [ ] Local<br>- [ ] Dev Container | |
| 26 | +| **load-balancing** | N/A | - [ ] Local<br>- [ ] Dev Container | - [ ] Local<br>- [ ] Dev Container | |
| 27 | +| **secure-blob-access** | - [ ] Local<br>- [ ] Dev Container | - [ ] Local<br>- [ ] Dev Container | - [ ] Local<br>- [ ] Dev Container | |
| 28 | +| **_TEMPLATE** | N/A | N/A | N/A | |
| 29 | + |
| 30 | +### Digital Compatibility Reference |
| 31 | + |
| 32 | +| Sample | SIMPLE_APIM | APIM_ACA | AFD_APIM_PE | |
| 33 | +|--------|------------|----------|------------| |
| 34 | +| authX | ✅ | ✅ | ✅ | |
| 35 | +| authX-pro | ✅ | ✅ | ✅ | |
| 36 | +| general | ✅ | ✅ | ✅ | |
| 37 | +| load-balancing | N/A | ✅ | ✅ | |
| 38 | +| secure-blob-access | ✅ | ✅ | ✅ | |
| 39 | +| _TEMPLATE | N/A | N/A | N/A | |
| 40 | + |
| 41 | +## Testing Requirements |
| 42 | + |
| 43 | +To ensure robust functionality across environments, all samples should: |
| 44 | + |
| 45 | +1. Be tested in both local development and Codespaces/Dev Container environments |
| 46 | +2. Pass all tests for their supported infrastructures as indicated in the matrix above |
| 47 | +3. Be verified that the `supported_infrastructures` variable in each sample's `create.ipynb` file is correctly reflected in this matrix |
| 48 | + |
| 49 | +## Testing Workflow |
| 50 | + |
| 51 | +1. Print this document for manual tracking or use markdown checkboxes in digital form |
| 52 | +2. For each combination of sample, infrastructure, and environment: |
| 53 | + - Deploy the infrastructure and sample |
| 54 | + - Run tests |
| 55 | + - Mark the corresponding checkbox when tests pass |
| 56 | +3. Document any issues encountered in the "Test Notes" section below |
| 57 | + |
| 58 | +## Test Procedure |
| 59 | + |
| 60 | +For each sample and infrastructure combination: |
| 61 | + |
| 62 | +1. Deploy the infrastructure using the appropriate method: |
| 63 | + ```bash |
| 64 | + cd infrastructure/<infrastructure-name> |
| 65 | + # Execute the create.ipynb notebook |
| 66 | + ``` |
| 67 | + |
| 68 | +2. Deploy and test the sample: |
| 69 | + ```bash |
| 70 | + cd samples/<sample-name> |
| 71 | + # Execute the create.ipynb notebook with the matching infrastructure |
| 72 | + ``` |
| 73 | + |
| 74 | +3. Verify that all operations work correctly and no errors are reported |
| 75 | + |
| 76 | +4. Clean up resources when testing is complete: |
| 77 | + ```bash |
| 78 | + # Execute the clean-up.ipynb notebook in the infrastructure directory |
| 79 | + ``` |
| 80 | + |
| 81 | +## Test Notes |
| 82 | + |
| 83 | +| Date | Tester | Sample | Infrastructure | Environment | Notes | |
| 84 | +|------|--------|--------|---------------|-------------|-------| |
| 85 | +| YYYY-MM-DD | Name | sample-name | infra-name | Local/DevC | Any issues or observations | |
| 86 | + |
| 87 | +## General Notes |
| 88 | + |
| 89 | +- "N/A" indicates that the sample does not support that particular infrastructure type |
| 90 | +- The `_TEMPLATE` sample is not meant for deployment; it's a template for creating new samples |
| 91 | +- The test matrix should be updated whenever new samples or infrastructures are added |
| 92 | +- Infrastructure limitations should be documented when a sample is incompatible with a specific infrastructure type |
| 93 | +- Tester name, date, and detailed notes should be recorded for any failures or unexpected behavior |
0 commit comments