Files

20 lines
636 B
Go

package crypto
import "time"
// GetReserved 仅用于测试,返回预留表副本。
//
// 这是标准 Go export_test.go 手法:本文件属 package crypto(内部包),
// 但文件名以 _test.go 结尾只在 `go test` 时编译,不进生产二进制/生产 API 面;
// crypto_test.go(package crypto_test,黑盒测试)通过它访问私有字段
// p.reserved,而无需在 crypto.go 上暴露一个只为测试存在的导出方法。
func (p *Provider) GetReserved() map[string]time.Time {
p.mu.Lock()
defer p.mu.Unlock()
m := make(map[string]time.Time, len(p.reserved))
for k, v := range p.reserved {
m[k] = v
}
return m
}