| 299 | /// General read/write settings test |
| 300 | #[tokio::test] |
| 301 | async fn test_settings() { |
| 302 | let mut settings = Settings::new().await.unwrap(); |
| 303 | |
| 304 | assert_eq!(settings.get(Setting::TelemetryEnabled), None); |
| 305 | assert_eq!(settings.get(Setting::OldClientId), None); |
| 306 | assert_eq!(settings.get(Setting::ShareCodeWhispererContent), None); |
| 307 | assert_eq!(settings.get(Setting::KnowledgeIndexType), None); |
| 308 | assert_eq!(settings.get(Setting::McpLoadedBefore), None); |
| 309 | assert_eq!(settings.get(Setting::ChatDefaultModel), None); |
| 310 | assert_eq!(settings.get(Setting::ChatDisableMarkdownRendering), None); |
| 311 | |
| 312 | settings.set(Setting::TelemetryEnabled, true).await.unwrap(); |
| 313 | settings.set(Setting::OldClientId, "test").await.unwrap(); |
| 314 | settings.set(Setting::ShareCodeWhispererContent, false).await.unwrap(); |
| 315 | settings.set(Setting::KnowledgeIndexType, "fast").await.unwrap(); |
| 316 | settings.set(Setting::McpLoadedBefore, true).await.unwrap(); |
| 317 | settings.set(Setting::ChatDefaultModel, "model 1").await.unwrap(); |
| 318 | settings |
| 319 | .set(Setting::ChatDisableMarkdownRendering, false) |
| 320 | .await |
| 321 | .unwrap(); |
| 322 | settings.set(Setting::EnabledCheckpoint, true).await.unwrap(); |
| 323 | |
| 324 | assert_eq!(settings.get(Setting::TelemetryEnabled), Some(&Value::Bool(true))); |
| 325 | assert_eq!( |
| 326 | settings.get(Setting::OldClientId), |
| 327 | Some(&Value::String("test".to_string())) |
| 328 | ); |
| 329 | assert_eq!( |
| 330 | settings.get(Setting::ShareCodeWhispererContent), |
| 331 | Some(&Value::Bool(false)) |
| 332 | ); |
| 333 | assert_eq!( |
| 334 | settings.get(Setting::KnowledgeIndexType), |
| 335 | Some(&Value::String("fast".to_string())) |
| 336 | ); |
| 337 | assert_eq!(settings.get(Setting::McpLoadedBefore), Some(&Value::Bool(true))); |
| 338 | assert_eq!( |
| 339 | settings.get(Setting::ChatDefaultModel), |
| 340 | Some(&Value::String("model 1".to_string())) |
| 341 | ); |
| 342 | assert_eq!( |
| 343 | settings.get(Setting::ChatDisableMarkdownRendering), |
| 344 | Some(&Value::Bool(false)) |
| 345 | ); |
| 346 | assert_eq!(settings.get(Setting::EnabledCheckpoint), Some(&Value::Bool(true))); |
| 347 | |
| 348 | settings.remove(Setting::TelemetryEnabled).await.unwrap(); |
| 349 | settings.remove(Setting::OldClientId).await.unwrap(); |
| 350 | settings.remove(Setting::ShareCodeWhispererContent).await.unwrap(); |
| 351 | settings.remove(Setting::KnowledgeIndexType).await.unwrap(); |
| 352 | settings.remove(Setting::McpLoadedBefore).await.unwrap(); |
| 353 | settings.remove(Setting::ChatDisableMarkdownRendering).await.unwrap(); |
| 354 | settings.remove(Setting::EnabledCheckpoint).await.unwrap(); |
| 355 | |
| 356 | assert_eq!(settings.get(Setting::TelemetryEnabled), None); |
| 357 | assert_eq!(settings.get(Setting::OldClientId), None); |
| 358 | assert_eq!(settings.get(Setting::ShareCodeWhispererContent), None); |