Organize backend into product executable and shared Go modules

This commit is contained in:
Stephan D committed 2026-09-12 14:14:08 +02:00
1 parent 981e84a4b4
commit f0720ec66b
382 files changed
+1944 -6989

No files matched your search

@@ -0,0 +1,52 @@
package repositoryimp
import (
"testing"
ri "git.sendico.io/tech/sxchnge/shared/database/repository/index"
"go.mongodb.org/mongo-driver/v2/bson"
)
func TestIndexDefinitionFromDocumentMapsIndexMetadata(t *testing.T) {
ttl := int32(3600)
def := indexDefinitionFromDocument(mongoIndexDocument{
Name: "account_ref_unique",
Key: bson.D{{Key: "accountRef", Value: int32(1)}, {Key: "version", Value: int64(-1)}},
Unique: true,
Sparse: true,
ExpireAfterSeconds: &ttl,
})
if def.Name != "account_ref_unique" || !def.Unique || !def.Sparse {
t.Fatalf("unexpected definition metadata: %#v", def)
}
if def.TTL == nil || *def.TTL != ttl {
t.Fatalf("TTL = %v, want %d", def.TTL, ttl)
}
wantKeys := []ri.Key{
{Field: "accountRef", Sort: ri.Asc},
{Field: "version", Sort: ri.Desc},
}
if len(def.Keys) != len(wantKeys) {
t.Fatalf("keys = %#v, want %#v", def.Keys, wantKeys)
}
for i := range wantKeys {
if def.Keys[i] != wantKeys[i] {
t.Fatalf("keys[%d] = %#v, want %#v", i, def.Keys[i], wantKeys[i])
}
}
}
func TestIndexDefinitionFromDocumentMapsTypedIndex(t *testing.T) {
def := indexDefinitionFromDocument(mongoIndexDocument{
Name: "text_index",
Key: bson.D{{Key: "description", Value: "text"}},
})
if len(def.Keys) != 1 {
t.Fatalf("keys = %#v", def.Keys)
}
if def.Keys[0] != (ri.Key{Field: "description", Type: ri.IndexTypeText}) {
t.Fatalf("key = %#v", def.Keys[0])
}
}