Restructure refimpl into go-lang and python subdirectories
Move Go reference implementation to refimpl/go-lang/ and add new Python reference implementation in refimpl/python/. Update build.sh with renamed draft and simplified tool paths. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
79
refimpl/go-lang/ect/config_test.go
Normal file
79
refimpl/go-lang/ect/config_test.go
Normal file
@@ -0,0 +1,79 @@
|
||||
package ect
|
||||
|
||||
import (
|
||||
"os"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
func TestDefaultConfig(t *testing.T) {
|
||||
c := DefaultConfig()
|
||||
if c.IATMaxAge != 15*time.Minute {
|
||||
t.Errorf("IATMaxAge: got %v", c.IATMaxAge)
|
||||
}
|
||||
if c.JTIReplaySize != 0 {
|
||||
t.Errorf("JTIReplaySize: got %d", c.JTIReplaySize)
|
||||
}
|
||||
}
|
||||
|
||||
func TestLoadConfigFromEnv(t *testing.T) {
|
||||
os.Setenv(EnvIATMaxAgeMinutes, "20")
|
||||
os.Setenv(EnvJTIReplayCacheSize, "1000")
|
||||
os.Setenv(EnvIATMaxFutureSec, "45")
|
||||
os.Setenv(EnvDefaultExpiryMin, "12")
|
||||
os.Setenv(EnvJTIReplayTTLMin, "90")
|
||||
defer func() {
|
||||
os.Unsetenv(EnvIATMaxAgeMinutes)
|
||||
os.Unsetenv(EnvJTIReplayCacheSize)
|
||||
os.Unsetenv(EnvIATMaxFutureSec)
|
||||
os.Unsetenv(EnvDefaultExpiryMin)
|
||||
os.Unsetenv(EnvJTIReplayTTLMin)
|
||||
}()
|
||||
c := LoadConfigFromEnv()
|
||||
if c.IATMaxAge != 20*time.Minute {
|
||||
t.Errorf("IATMaxAge from env: got %v", c.IATMaxAge)
|
||||
}
|
||||
if c.JTIReplaySize != 1000 {
|
||||
t.Errorf("JTIReplaySize from env: got %d", c.JTIReplaySize)
|
||||
}
|
||||
if c.IATMaxFuture != 45*time.Second {
|
||||
t.Errorf("IATMaxFuture: got %v", c.IATMaxFuture)
|
||||
}
|
||||
if c.DefaultExpiry != 12*time.Minute {
|
||||
t.Errorf("DefaultExpiry: got %v", c.DefaultExpiry)
|
||||
}
|
||||
if c.JTIReplayTTL != 90*time.Minute {
|
||||
t.Errorf("JTIReplayTTL: got %v", c.JTIReplayTTL)
|
||||
}
|
||||
}
|
||||
|
||||
func TestLoadConfigFromEnv_invalidInt(t *testing.T) {
|
||||
os.Setenv(EnvIATMaxAgeMinutes, "bad")
|
||||
defer os.Unsetenv(EnvIATMaxAgeMinutes)
|
||||
c := LoadConfigFromEnv()
|
||||
if c.IATMaxAge != 15*time.Minute {
|
||||
t.Errorf("invalid int should keep default: got %v", c.IATMaxAge)
|
||||
}
|
||||
}
|
||||
|
||||
func TestConfig_CreateOptions(t *testing.T) {
|
||||
c := DefaultConfig()
|
||||
opts := c.CreateOptions("my-kid")
|
||||
if opts.KeyID != "my-kid" {
|
||||
t.Errorf("KeyID: got %q", opts.KeyID)
|
||||
}
|
||||
if opts.DefaultExpiry != c.DefaultExpiry {
|
||||
t.Errorf("DefaultExpiry: got %v", opts.DefaultExpiry)
|
||||
}
|
||||
}
|
||||
|
||||
func TestConfig_VerifyOptions(t *testing.T) {
|
||||
c := DefaultConfig()
|
||||
opts := c.VerifyOptions()
|
||||
if opts.IATMaxAge != c.IATMaxAge {
|
||||
t.Errorf("IATMaxAge: got %v", opts.IATMaxAge)
|
||||
}
|
||||
if opts.DAG.ClockSkewTolerance != DefaultClockSkewTolerance {
|
||||
t.Errorf("DAG.ClockSkewTolerance: got %d", opts.DAG.ClockSkewTolerance)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user