fix(api): quantityToMB 按 MiB 向上取整,配额不再少算零头

This commit is contained in:
Lemon-miaow committed 2026-09-27 13:16:49 +08:00
1 parent 2c5a85a033
commit 01408014b2
2 files changed
+36 -10

No files matched your search

+31
View File
@@ -0,0 +1,31 @@
package api
import (
"testing"
"k8s.io/apimachinery/pkg/api/resource"
)
// Sizes reach the quota sums in whole MiB, rounded up: a part-MiB used to be
// dropped, so a server sized in decimal units counted for less than it holds.
func TestQuantityToMB(t *testing.T) {
for _, c := range []struct {
in string
want int
}{
{"4Gi", 4096},
{"1Mi", 1},
{"1G", 954}, // 953.67 MiB
{"1500M", 1431}, // 1430.51 MiB
{"1048577", 2}, // one byte past 1 MiB
{"1", 1},
{"0", 0},
} {
if got := quantityToMB(resource.MustParse(c.in)); got != c.want {
t.Errorf("quantityToMB(%s) = %d, want %d", c.in, got, c.want)
}
}
if got := quantityToMB(resource.Quantity{}); got != 0 {
t.Errorf("quantityToMB(unset) = %d, want 0", got)
}
}