Organize backend into product executable and shared Go modules
This commit is contained in:
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])
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user