Files
insights-go/feature_flags_dependency_value_test.go
zeekay b4e1366340 rebrand: export Insights types instead of PostHog
Rename Go package from posthog to insights across all 80+ files.
Consumers now import as `insights "github.com/hanzoai/insights-go"`
and use insights.Client, insights.Config, insights.Capture, etc.

- Rename posthog.go -> insights.go, posthog_test.go -> insights_test.go
- Update package declaration from posthog to insights in all .go files
- Update SDKName from posthog-go to insights-go
- Update DefaultEndpoint from app.posthog.com to insights.hanzo.ai
- Update all FieldError/ConfigError type strings
- Update User-Agent headers, log prefixes, comments, and docs
- Update JSON test fixtures to match new SDK name
- Update CLI, examples, extras, and sdk_compliance_adapter
- Fix pre-existing go vet warnings (non-constant format strings)
2026-03-13 19:54:58 -07:00

79 lines
2.0 KiB
Go

package insights
import (
"testing"
"github.com/stretchr/testify/require"
)
func TestCheckFlagDependencyValue(t *testing.T) {
// String variant matches string exactly (case-sensitive)
result, err := checkFlagDependencyValue("control", "control")
require.NoError(t, err)
require.True(t, result)
result, err = checkFlagDependencyValue("Control", "Control")
require.NoError(t, err)
require.True(t, result)
result, err = checkFlagDependencyValue("control", "Control")
require.NoError(t, err)
require.False(t, result)
result, err = checkFlagDependencyValue("Control", "CONTROL")
require.NoError(t, err)
require.False(t, result)
result, err = checkFlagDependencyValue("control", "test")
require.NoError(t, err)
require.False(t, result)
// String variant matches boolean true (any variant is truthy)
result, err = checkFlagDependencyValue(true, "control")
require.NoError(t, err)
require.True(t, result)
result, err = checkFlagDependencyValue(true, "test")
require.NoError(t, err)
require.True(t, result)
result, err = checkFlagDependencyValue(false, "control")
require.NoError(t, err)
require.False(t, result)
// Boolean matches boolean exactly
result, err = checkFlagDependencyValue(true, true)
require.NoError(t, err)
require.True(t, result)
result, err = checkFlagDependencyValue(false, false)
require.NoError(t, err)
require.True(t, result)
result, err = checkFlagDependencyValue(false, true)
require.NoError(t, err)
require.False(t, result)
result, err = checkFlagDependencyValue(true, false)
require.NoError(t, err)
require.False(t, result)
// Empty string doesn't match
result, err = checkFlagDependencyValue(true, "")
require.NoError(t, err)
require.False(t, result)
result, err = checkFlagDependencyValue("control", "")
require.NoError(t, err)
require.False(t, result)
// Type mismatches
result, err = checkFlagDependencyValue(123, "control")
require.NoError(t, err)
require.False(t, result)
result, err = checkFlagDependencyValue("control", true)
require.NoError(t, err)
require.False(t, result)
}