Files
seaweedfs/weed/s3api/s3tables/handler_table_test.go
T
Chris LuandGitHub 628ce57625 iceberg: support table register (#10067)
* s3tables: add RegisterTable op

* iceberg: support table register

* iceberg: test register table

* iceberg: parse engine-written metadata version from location

* iceberg: test metadata version parsing for both filename forms

* iceberg: map register errors through wrapped manager error

* iceberg: validate register metadata-location bucket and reject traversal

* iceberg: log register metadata load failure
2026-06-23 14:07:13 -07:00

26 lines
801 B
Go

package s3tables
import "testing"
func TestMetadataVersionFromLocation(t *testing.T) {
cases := []struct {
location string
want int
}{
{"s3://bucket/ns/tbl/metadata/v1.metadata.json", 1},
{"s3://bucket/ns/tbl/metadata/v7.metadata.json", 7},
{"v42.metadata.json", 42},
{"s3://bucket/ns/tbl/metadata/00003-9f1c2b3a-4d5e-6f70-8192-a3b4c5d6e7f8.metadata.json", 3},
{"00012-abcdef.metadata.json", 12},
{"s3://bucket/ns/tbl/metadata/00000-abc.metadata.json", 1},
{"s3://bucket/ns/tbl/metadata/v0.metadata.json", 1},
{"s3://bucket/ns/tbl/metadata/garbage.metadata.json", 1},
{"", 1},
}
for _, c := range cases {
if got := metadataVersionFromLocation(c.location); got != c.want {
t.Errorf("metadataVersionFromLocation(%q) = %d, want %d", c.location, got, c.want)
}
}
}