azure-integration-tester
Skill274 starsChanged 28 days agoMITView on GitHub
Run post-deployment integration tests for Azure resources. Verify Function Apps, Storage Accounts, Databases, App Services are healthy and accessible. Use after successful Azure deployment.
In this repository53 other files it gives its agents.
- website/docs/authoring/agents.mdAGENTS.md
- .github/copilot-instructions.mdCopilot instructions
- .github/skills/git-ape-onboarding/templates/copilot-instructions.mdCopilot instructions
- aws-api-gatewaySkill
- aws-bedrockSkill
- aws-cloudformationSkill
- aws-cloudwatchSkill
- aws-cognitoSkill
- aws-cost-estimatorSkill
- aws-dynamodbSkill
- aws-ec2Skill
- aws-ecsSkill
- aws-eksSkill
- aws-eventbridgeSkill
- aws-iamSkill
- aws-lambdaSkill
- aws-naming-researchSkill
- aws-rdsSkill
- aws-s3Skill
- aws-secrets-managerSkill
- aws-security-analyzerSkill
- aws-snsSkill
- aws-sqsSkill
- aws-step-functionsSkill
- csd-assessment-reportSkill
- deployment-blueprintsSkill
- fulfillment-and-meteringSkill
- isv-landing-zone-foundationSkill
- marketplace-offer-typesSkill
- marketplace-onboardingSkill
- multi-tenant-saasSkill
- onboard-to-marketplaceSkill
- saas-accelerator-bootstrapSkill
- saas-assessment-reportSkill
- scale-and-sreSkill
- security-and-complianceSkill
- tenant-isolation-modelsSkill
- tenant-lifecycle-automationSkill
- azure-cost-estimatorSkill
- azure-deployment-preflightSkill
- azure-drift-detectorSkill
- azure-naming-researchSkill
- azure-policy-advisorSkill
- azure-resource-availabilitySkill
- azure-resource-visualizerSkill
- azure-rest-api-referenceSkill
- azure-role-selectorSkill
- azure-security-analyzerSkill
- azure-stack-deploySkill
- azure-stack-destroySkill
- git-ape-onboardingSkill
- git-ape-skillsSkill
- prereq-checkSkill
The file
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 5 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 11
Run comprehensive integration tests on deployed Azure resources to verify they are functional, accessible, and properly configured.
- Distinctive: line 15
After successful ARM template deployment
- Distinctive: line 17
Before handing off deployment to user
- Distinctive: line 89
Check that security best practices are applied:
- Very specific: line 167
All test scripts are located in the ./scripts/ directory:
- Distinctive: line 184
If tests fail, provide diagnostic information:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Azure Integration Tester
Run comprehensive integration tests on deployed Azure resources to verify they are functional, accessible, and properly configured.
When to Use
- After successful ARM template deployment
- To verify resource health and endpoints
- Before handing off deployment to user
- For troubleshooting deployment issues
Procedure
1. Identify Deployed Resources
Parse deployment outputs to identify resource types:
- Function Apps → HTTP endpoint tests
- Storage Accounts → Connectivity and blob operations
- SQL Databases / Cosmos DB → Connection tests
- App Services → HTTP endpoint tests
- Application Insights → Telemetry verification
2. Run Resource-Specific Tests
For Function Apps:
Execute test-function-app.sh:
./scripts/test-function-app.sh \
--url "https://func-api-dev-eastus.azurewebsites.net" \
--resource-group "rg-webapp-dev-eastus" \
--name "func-api-dev-eastus"Tests performed:
- ✓ HTTP endpoint accessibility (GET /)
- ✓ Health endpoint (/api/health or /admin/host/status)
- ✓ Response time under threshold
- ✓ HTTPS enforcement (reject HTTP)
- ✓ CORS configuration
- ✓ Application Insights connectivity
For Storage Accounts:
Execute test-storage.sh:
./scripts/test-storage.sh \
--account-name "stwebappdev8k3m" \
--resource-group "rg-webapp-dev-eastus"Tests performed:
- ✓ Account accessibility
- ✓ Blob service available
- ✓ Create/read/delete test blob
- ✓ HTTPS-only enforcement
- ✓ Firewall rules (if configured)
- ✓ Minimum TLS version
For Databases:
Execute test-database.sh:
./scripts/test-database.sh \
--type "sqldb" \
--server "sql-webapp-dev-eastus.database.windows.net" \
--database "mydb" \
--resource-group "rg-webapp-dev-eastus"Tests performed:
- ✓ Server reachability
- ✓ Database exists
- ✓ Connection successful (using managed identity if configured)
- ✓ Basic query execution (SELECT 1)
- ✓ Firewall rules allow access
- ✓ Encryption enabled
3. Verify Security Configurations
Check that security best practices are applied:
# HTTPS-only enforcement
az resource show --ids {resource-id} --query "properties.httpsOnly"
# Managed identity enabled
az resource show --ids {resource-id} --query "identity.type"
# TLS version
az resource show --ids {resource-id} --query "properties.minTlsVersion"
# Diagnostic logs enabled
az monitor diagnostic-settings list --resource {resource-id}4. Generate Test Report
Output a comprehensive test report:
## Integration Test Report
**Deployment ID:** {deployment-id}
**Tested:** {timestamp}
**Duration:** {test-duration}
### Test Results
#### Function App: func-api-dev-eastus
- ✅ HTTP endpoint accessible (200 OK)
- ✅ Response time: 245ms (threshold: 3000ms)
- ✅ HTTPS enforcement verified
- ✅ Application Insights connected
- ⚠️ No custom health endpoint found (using default)
#### Storage Account: stwebappdev8k3m
- ✅ Blob service accessible
- ✅ Test blob created/read/deleted successfully
- ✅ HTTPS-only enforced
- ✅ TLS 1.2 minimum version set
#### Security Configuration
- ✅ All resources use HTTPS-only
- ✅ Managed identities configured
- ✅ Diagnostic logging enabled
- ✅ Resource tags applied correctly
### Summary
**Total Tests:** 12
**Passed:** 11 ✅
**Warnings:** 1 ⚠️
**Failed:** 0 ❌
**Overall Status:** HEALTHY ✅
### Recommendations
1. Consider adding custom health endpoint to Function App for better monitoring
2. Configure Application Insights alerts for failures
3. Enable auto-scaling if expecting variable load
### Next Steps
Your Azure resources are deployed and verified. You can now:
1. Deploy your application code to the Function App
2. Configure any application-specific settings
3. Set up CI/CD pipelines for automated deployments
4. Monitor resources in Azure Portal
**Azure Portal Links:**
- Function App: https://portal.azure.com/#@{tenant}/resource{function-app-id}
- Resource Group: https://portal.azure.com/#@{tenant}/resource{rg-id}Test Scripts
All test scripts are located in the ./scripts/ directory:
- test-function-app.sh - Function App health checks
- test-storage.sh - Storage Account connectivity
- test-database.sh - Database connection tests
Common Test Patterns
See test-patterns.md for detailed test patterns including:
- Retry logic for transient failures
- Health endpoint formats
- Connection string handling
- Managed identity authentication
- Error diagnostics
Error Handling
If tests fail, provide diagnostic information:
❌ **Test Failed: Function App Endpoint**
**Error:** Connection refused
**Endpoint:** https://func-api-dev-eastus.azurewebsites.net
**Possible Causes:**
1. Function App still starting up (can take 2-3 minutes after deployment)
2. Network security group blocking access
3. Function App in stopped state
**Troubleshooting:**
1. Wait 2 minutes and retry
2. Check Function App status: `az functionapp show --name {name} --resource-group {rg} --query "state"`
3. View logs: `az webapp log tail --name {name} --resource-group {rg}`
**Retry Command:**
./scripts/test-function-app.sh --url {url} --retry 3 --delay 30Skipping Tests
Some tests may not apply:
- Resource Groups have no endpoints to test
- Some resources may be private (no public access)
In these cases, output:
ℹ️ **Integration Tests: N/A**
No testable endpoints for Resource Group deployments.
Verified resource creation via Azure Resource Graph instead.Usage Examples
After Function App deployment:
@git-ape deploy a python function app
[... deployment completes ...]
/azure-integration-tester {deployment-outputs}Manual invocation:
/azure-integration-tester
Please provide deployment outputs or resource details:
- Function App URL: https://func-api-dev-eastus.azurewebsites.net
- Resource Group: rg-webapp-dev-eastus
- Storage Account: stwebappdev8k3mOutput Format
Always provide:
- Detailed test results for each resource
- Pass/fail status with diagnostics
- Security configuration verification
- Performance metrics (response times)
- Overall health summary
- Recommendations for improvements
- Next steps for the user
- Azure Portal links for monitoring
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

