antigravity_privacy_service_test.go 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. //go:build unit
  2. package service
  3. import (
  4. "testing"
  5. )
  6. func applyAntigravitySubscriptionResult(account *Account, result AntigravitySubscriptionResult) (map[string]any, map[string]any) {
  7. credentials := make(map[string]any)
  8. for k, v := range account.Credentials {
  9. credentials[k] = v
  10. }
  11. credentials["plan_type"] = result.PlanType
  12. extra := make(map[string]any)
  13. for k, v := range account.Extra {
  14. extra[k] = v
  15. }
  16. if result.SubscriptionStatus != "" {
  17. extra["subscription_status"] = result.SubscriptionStatus
  18. } else {
  19. delete(extra, "subscription_status")
  20. }
  21. if result.SubscriptionError != "" {
  22. extra["subscription_error"] = result.SubscriptionError
  23. } else {
  24. delete(extra, "subscription_error")
  25. }
  26. return credentials, extra
  27. }
  28. func TestApplyAntigravityPrivacyMode_SetsInMemoryExtra(t *testing.T) {
  29. account := &Account{}
  30. applyAntigravityPrivacyMode(account, AntigravityPrivacySet)
  31. if account.Extra == nil {
  32. t.Fatal("expected account.Extra to be initialized")
  33. }
  34. if got := account.Extra["privacy_mode"]; got != AntigravityPrivacySet {
  35. t.Fatalf("expected privacy_mode %q, got %v", AntigravityPrivacySet, got)
  36. }
  37. }
  38. func TestApplyAntigravityPrivacyMode_PreservedBySubscriptionResult(t *testing.T) {
  39. account := &Account{
  40. Credentials: map[string]any{
  41. "access_token": "token",
  42. },
  43. Extra: map[string]any{
  44. "existing": "value",
  45. },
  46. }
  47. applyAntigravityPrivacyMode(account, AntigravityPrivacySet)
  48. _, extra := applyAntigravitySubscriptionResult(account, AntigravitySubscriptionResult{
  49. PlanType: "Pro",
  50. })
  51. if got := extra["privacy_mode"]; got != AntigravityPrivacySet {
  52. t.Fatalf("expected subscription writeback to keep privacy_mode %q, got %v", AntigravityPrivacySet, got)
  53. }
  54. if got := extra["existing"]; got != "value" {
  55. t.Fatalf("expected existing extra fields to be preserved, got %v", got)
  56. }
  57. }