Loading source
Pulling the file list, source metadata, and syntax-aware rendering for this listing.
Source from repo
Prepare applications for Azure deployment by generating infrastructure code, Dockerfiles, and config files.
Files
Skill
Size
Entrypoint
Format
Open file
Syntax-highlighted preview of this file as included in the skill package.
references/functional-verification.md
1# Functional Verification23Verify that the application works correctly — both UI and backend — before proceeding to validation and deployment. This step prevents deploying broken or incomplete functionality to Azure.45## When to Verify67After generating all artifacts (code, infrastructure, configuration) and applying security hardening — but **before** marking the plan as `Ready for Validation`.89## Verification Checklist1011Use `ask_user` to confirm functional testing with the user:1213```14"Before we proceed to deploy, would you like to verify the app works as expected?15We can test both the UI and backend to catch issues before they reach Azure."16```1718### Backend Verification1920| Check | How |21|-------|-----|22| **App starts without errors** | Run the app and confirm no startup crashes or missing dependencies |23| **API endpoints respond** | Test core routes (e.g., `curl` health, list, create endpoints) |24| **Data operations work** | Verify CRUD operations against storage, database, or other services |25| **Authentication flows** | Confirm auth works (tokens, managed identity fallback, login/logout) |26| **Error handling** | Verify error responses are meaningful (not unhandled exceptions) |2728### UI Verification2930| Check | How |31|-------|-----|32| **Page loads** | Open the app in a browser and confirm the UI renders |33| **Interactive elements work** | Test buttons, forms, file inputs, navigation links |34| **Data displays correctly** | Verify lists, images, and dynamic content render from the backend |35| **User workflows complete** | Walk through the core user journey end-to-end (e.g., upload → view → delete) |3637## Decision Tree3839```40App artifacts generated?41├── Yes → Ask user: "Would you like to verify functionality?"42│ ├── User says yes43│ │ ├── App can run locally? → Run locally, verify backend + UI44│ │ ├── API-only / no UI? → Test endpoints with curl or similar45│ │ └── Static site? → Open in browser, verify rendering46│ │ Then:47│ │ ├── Works → Proceed to Update Plan (step 6)48│ │ └── Issues found → Fix issues, re-test49│ └── User says no / skip → Proceed to Update Plan (step 6)50└── No → Go back to Generate Artifacts (step 3)51```5253## Running Locally5455For apps that can run locally, help the user start the app based on the detected runtime:5657| Runtime | Command | Notes |58|---------|---------|-------|59| Node.js | `npm install && npm start` | Set `PORT=3000` if not configured |60| Python | `pip install -r requirements.txt && python app.py` | Use virtual environment |61| .NET | `dotnet run` | Check `launchSettings.json` for port |62| Java | `mvn spring-boot:run` or `gradle bootRun` | Check `application.properties` |6364> ⚠️ **Warning:** For apps using Azure services (e.g., Blob Storage, Cosmos DB), local testing requires the user to be authenticated via `az login` with sufficient RBAC roles, or to have local emulators configured (e.g., Azurite for Storage).6566## Record in Plan6768After functional verification, add a note to `.azure/deployment-plan.md`:6970```markdown71## Functional Verification72- Status: Verified / Skipped73- Backend: Tested / Not applicable74- UI: Tested / Not applicable75- Notes: <any issues found and resolved>76```77