usage_log_cyber_test.go 791 B

12345678910111213141516171819202122232425
  1. package service
  2. import (
  3. "testing"
  4. "github.com/stretchr/testify/require"
  5. )
  6. func TestRequestTypeCyberBlocked(t *testing.T) {
  7. require.True(t, RequestTypeCyberBlocked.IsValid())
  8. require.Equal(t, "cyber", RequestTypeCyberBlocked.String())
  9. rt, err := ParseUsageRequestType("cyber")
  10. require.NoError(t, err)
  11. require.Equal(t, RequestTypeCyberBlocked, rt)
  12. // 显式 cyber 被 EffectiveRequestType 保留(不被 legacy 推导覆盖)
  13. u := &UsageLog{RequestType: RequestTypeCyberBlocked, Stream: true}
  14. require.Equal(t, RequestTypeCyberBlocked, u.EffectiveRequestType())
  15. // Sync 保留 cyber 且不覆盖真实 stream
  16. u.SyncRequestTypeAndLegacyFields()
  17. require.Equal(t, RequestTypeCyberBlocked, u.RequestType)
  18. require.True(t, u.Stream, "cyber 不应覆盖真实 stream 字段")
  19. }