(t *testing.T)
| 56 | } |
| 57 | |
| 58 | func TestComputeFirewallDiff_RemovedDomains(t *testing.T) { |
| 59 | run1 := &FirewallAnalysis{ |
| 60 | RequestsByDomain: map[string]DomainRequestStats{ |
| 61 | "api.github.com:443": {Allowed: 5, Blocked: 0}, |
| 62 | "old-api.internal.com:443": {Allowed: 8, Blocked: 0}, |
| 63 | }, |
| 64 | } |
| 65 | run2 := &FirewallAnalysis{ |
| 66 | RequestsByDomain: map[string]DomainRequestStats{ |
| 67 | "api.github.com:443": {Allowed: 5, Blocked: 0}, |
| 68 | }, |
| 69 | } |
| 70 | |
| 71 | diff := computeFirewallDiff(100, 200, run1, run2) |
| 72 | |
| 73 | assert.Len(t, diff.RemovedDomains, 1, "Should have 1 removed domain") |
| 74 | assert.Equal(t, "old-api.internal.com:443", diff.RemovedDomains[0].Domain, "Removed domain should be old-api.internal.com") |
| 75 | assert.Equal(t, "removed", diff.RemovedDomains[0].Status, "Status should be 'removed'") |
| 76 | assert.Equal(t, "allowed", diff.RemovedDomains[0].Run1Status, "Domain was allowed in run 1") |
| 77 | assert.Equal(t, 8, diff.RemovedDomains[0].Run1Allowed, "Domain had 8 allowed requests") |
| 78 | assert.Equal(t, 1, diff.Summary.RemovedDomainCount, "Summary should show 1 removed domain") |
| 79 | // An allowed-only removed domain must NOT be an anomaly. |
| 80 | assert.False(t, diff.RemovedDomains[0].IsAnomaly, "Allowed removed domain should not be an anomaly") |
| 81 | assert.False(t, diff.Summary.HasAnomalies, "No anomalies expected for an allowed removed domain") |
| 82 | } |
| 83 | |
| 84 | // TestComputeFirewallDiff_RemovedDeniedDomain verifies that a domain which was denied in |
| 85 | // the base run but is absent from the comparison run is flagged as an anomaly. This |
nothing calls this directly
no test coverage detected