fix(go): repair migration wire contracts and runtime lifecycle; document incomplete port
This commit is contained in:
1 parent
e43a310617
commit
32e47014b5
35 files changed
+16826
-438
No files matched your search
@@ -0,0 +1,51 @@
|
||||
package catalogs
|
||||
|
||||
import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestItemCatalogPathsAndLookup(t *testing.T) {
|
||||
for _, file := range []string{"ItemCatalog.json", "ConsumableConfig.json"} {
|
||||
dir := t.TempDir()
|
||||
if err := os.WriteFile(filepath.Join(dir, file), []byte(`{"records":[{"Id":36000000,"Name":"Test","Quality":2,"SubType":18}]}`), 0600); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
entries, err := LoadItemCatalog4229938(dir)
|
||||
if err != nil || len(entries) != 1 {
|
||||
t.Fatalf("%s: %v %v", file, entries, err)
|
||||
}
|
||||
entry := ItemCatalog4229938_Find(36000000)
|
||||
if entry == nil || entry.Name != "Test" || entry.Quality != 2 {
|
||||
t.Fatalf("bad projection: %+v", entry)
|
||||
}
|
||||
entry.Name = "mutated"
|
||||
if ItemCatalog4229938_Find(36000000).Name != "Test" {
|
||||
t.Fatal("caller mutated cache")
|
||||
}
|
||||
}
|
||||
empty := t.TempDir()
|
||||
if _, err := LoadItemCatalog4229938(empty); err == nil {
|
||||
t.Fatal("reused another directory's cache")
|
||||
}
|
||||
if err := os.WriteFile(filepath.Join(empty, "ItemCatalog.json"), []byte(`{"records":[]}`), 0600); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if entries, err := LoadItemCatalog4229938(empty); err != nil || len(entries) != 0 {
|
||||
t.Fatalf("retry after missing file: %v %v", entries, err)
|
||||
}
|
||||
if ItemCatalog4229938_Find(36000000) != nil {
|
||||
t.Fatal("stale current catalog")
|
||||
}
|
||||
}
|
||||
|
||||
func TestShippedItemCatalog(t *testing.T) {
|
||||
entries, err := LoadItemCatalog4229938("../../data/client_data/Configs")
|
||||
if err != nil || len(entries) == 0 {
|
||||
t.Fatalf("shipped consumables not loadable: %v", err)
|
||||
}
|
||||
if entry := ItemCatalog4229938_Find(36000000); entry == nil || entry.SubType != 18 {
|
||||
t.Fatalf("missing known item: %+v", entry)
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user