(t *testing.T)
| 668 | } |
| 669 | |
| 670 | func TestBuildAuditDataWithFirewall(t *testing.T) { |
| 671 | // Create test data with firewall analysis |
| 672 | run := WorkflowRun{ |
| 673 | DatabaseID: 123456, |
| 674 | WorkflowName: "Test Workflow", |
| 675 | Status: "completed", |
| 676 | Conclusion: "success", |
| 677 | CreatedAt: time.Date(2024, 1, 1, 10, 0, 0, 0, time.UTC), |
| 678 | Event: "push", |
| 679 | HeadBranch: "main", |
| 680 | URL: "https://github.com/org/repo/actions/runs/123456", |
| 681 | TokenUsage: 1500, |
| 682 | Turns: 5, |
| 683 | ErrorCount: 0, |
| 684 | WarningCount: 0, |
| 685 | LogsPath: testutil.TempDir(t, "test-*"), |
| 686 | } |
| 687 | |
| 688 | metrics := LogMetrics{ |
| 689 | TokenUsage: 1500, |
| 690 | Turns: 5, |
| 691 | } |
| 692 | |
| 693 | firewallAnalysis := &FirewallAnalysis{ |
| 694 | DomainBuckets: DomainBuckets{ |
| 695 | AllowedDomains: []string{"api.github.com:443", "npmjs.org:443"}, |
| 696 | BlockedDomains: []string{"blocked.example.com:443"}, |
| 697 | }, |
| 698 | TotalRequests: 10, |
| 699 | AllowedRequests: 7, |
| 700 | BlockedRequests: 3, |
| 701 | RequestsByDomain: map[string]DomainRequestStats{ |
| 702 | "api.github.com:443": {Allowed: 5, Blocked: 0}, |
| 703 | "npmjs.org:443": {Allowed: 2, Blocked: 0}, |
| 704 | "blocked.example.com:443": {Allowed: 0, Blocked: 3}, |
| 705 | }, |
| 706 | } |
| 707 | |
| 708 | processedRun := ProcessedRun{ |
| 709 | Run: run, |
| 710 | FirewallAnalysis: firewallAnalysis, |
| 711 | MissingTools: []MissingToolReport{}, |
| 712 | MCPFailures: []MCPFailureReport{}, |
| 713 | } |
| 714 | |
| 715 | // Build audit data |
| 716 | auditData := buildAuditData(processedRun, metrics, nil) |
| 717 | |
| 718 | // Verify firewall analysis is included |
| 719 | if auditData.FirewallAnalysis == nil { |
| 720 | t.Fatal("Expected firewall analysis to be included in audit data") |
| 721 | } |
| 722 | |
| 723 | // Verify firewall data is correct |
| 724 | if auditData.FirewallAnalysis.TotalRequests != 10 { |
| 725 | t.Errorf("Expected 10 total requests, got %d", auditData.FirewallAnalysis.TotalRequests) |
| 726 | } |
| 727 | if auditData.FirewallAnalysis.AllowedRequests != 7 { |
nothing calls this directly
no test coverage detected