(t *testing.T)
| 1014 | } |
| 1015 | |
| 1016 | func TestComputeRunMetricsDiff_WithRateLimitData(t *testing.T) { |
| 1017 | summary1 := &RunSummary{ |
| 1018 | Run: WorkflowRun{ |
| 1019 | TokenUsage: 1000, |
| 1020 | Duration: 2 * time.Minute, |
| 1021 | Turns: 5, |
| 1022 | }, |
| 1023 | GitHubRateLimitUsage: &GitHubRateLimitUsage{ |
| 1024 | TotalRequestsMade: 40, |
| 1025 | CoreConsumed: 40, |
| 1026 | CoreRemaining: 4960, |
| 1027 | CoreLimit: 5000, |
| 1028 | }, |
| 1029 | } |
| 1030 | summary2 := &RunSummary{ |
| 1031 | Run: WorkflowRun{ |
| 1032 | TokenUsage: 1200, |
| 1033 | Duration: 3 * time.Minute, |
| 1034 | Turns: 6, |
| 1035 | }, |
| 1036 | GitHubRateLimitUsage: &GitHubRateLimitUsage{ |
| 1037 | TotalRequestsMade: 60, |
| 1038 | CoreConsumed: 60, |
| 1039 | CoreRemaining: 4940, |
| 1040 | CoreLimit: 5000, |
| 1041 | }, |
| 1042 | } |
| 1043 | |
| 1044 | diff := computeRunMetricsDiff(summary1, summary2) |
| 1045 | require.NotNil(t, diff, "diff should not be nil") |
| 1046 | require.NotNil(t, diff.GitHubRateLimitDetails, "GitHubRateLimitDetails should be populated") |
| 1047 | assert.Equal(t, 40, diff.GitHubRateLimitDetails.Run1TotalAPICalls, "Run1 API calls should be 40") |
| 1048 | assert.Equal(t, 60, diff.GitHubRateLimitDetails.Run2TotalAPICalls, "Run2 API calls should be 60") |
| 1049 | assert.Equal(t, "+50%", diff.GitHubRateLimitDetails.APICallsChange, "API calls should increase by 50%") |
| 1050 | } |
| 1051 | |
| 1052 | func TestComputeRunMetricsDiff_RateLimitAloneNotNil(t *testing.T) { |
| 1053 | // RunMetricsDiff should be non-nil when only rate limit data is present |
nothing calls this directly
no test coverage detected