|
|
@@ -24,6 +24,34 @@
|
|
|
- **File permissions**: Use octal notation (0o755, 0o644) for file permissions
|
|
|
- **Comments**: End comments in periods unless comments are at the end of the line.
|
|
|
|
|
|
+## Testing with Mock Providers
|
|
|
+
|
|
|
+When writing tests that involve provider configurations, use the mock providers to avoid API calls:
|
|
|
+
|
|
|
+```go
|
|
|
+func TestYourFunction(t *testing.T) {
|
|
|
+ // Enable mock providers for testing
|
|
|
+ originalUseMock := config.UseMockProviders
|
|
|
+ config.UseMockProviders = true
|
|
|
+ defer func() {
|
|
|
+ config.UseMockProviders = originalUseMock
|
|
|
+ config.ResetProviders()
|
|
|
+ }()
|
|
|
+
|
|
|
+ // Reset providers to ensure fresh mock data
|
|
|
+ config.ResetProviders()
|
|
|
+
|
|
|
+ // Your test code here - providers will now return mock data
|
|
|
+ providers := config.Providers()
|
|
|
+ // ... test logic
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+The mock providers include:
|
|
|
+- **Anthropic**: claude-3-opus, claude-3-haiku, claude-3-5-sonnet-20241022, claude-3-5-haiku-20241022
|
|
|
+- **OpenAI**: gpt-4, gpt-3.5-turbo, gpt-4-turbo, gpt-4o, gpt-4o-mini
|
|
|
+- **Gemini**: gemini-2.5-pro, gemini-2.5-flash
|
|
|
+
|
|
|
## Formatting
|
|
|
|
|
|
- ALWAYS format any Go code you write.
|