20 lines
636 B
Go
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
|
|
}
|