Full Mattermost server source with integrated Community Enterprise features. Includes vendor directory for offline/air-gapped builds. Structure: - enterprise-impl/: Enterprise feature implementations - enterprise-community/: Init files that register implementations - enterprise/: Bridge imports (community_imports.go) - vendor/: All dependencies for offline builds Build (online): go build ./cmd/mattermost Build (offline/air-gapped): go build -mod=vendor ./cmd/mattermost 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
40 lines
751 B
Go
40 lines
751 B
Go
package model
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestSafeDereference(t *testing.T) {
|
|
t.Run("any", func(t *testing.T) {
|
|
s := SafeDereference[any](nil)
|
|
assert.Nil(t, s)
|
|
})
|
|
|
|
t.Run("struct", func(t *testing.T) {
|
|
s := SafeDereference[struct{}](nil)
|
|
assert.Equal(t, struct{}{}, s)
|
|
|
|
s = SafeDereference(&struct{}{})
|
|
assert.Equal(t, struct{}{}, s)
|
|
})
|
|
|
|
t.Run("string", func(t *testing.T) {
|
|
s := SafeDereference[string](nil)
|
|
assert.Equal(t, "", s)
|
|
|
|
s = SafeDereference(NewPointer("foo"))
|
|
assert.Equal(t, "foo", s)
|
|
})
|
|
|
|
t.Run("string pointer", func(t *testing.T) {
|
|
s := SafeDereference[*string](nil)
|
|
assert.Nil(t, s)
|
|
|
|
f := NewPointer("foo")
|
|
s = SafeDereference(&f)
|
|
assert.Equal(t, f, s)
|
|
})
|
|
}
|