chore: establish local platform baseline
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
package deviceauth
|
||||
|
||||
import (
|
||||
"context"
|
||||
"os"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/redis/go-redis/v9"
|
||||
)
|
||||
|
||||
func TestRedisReplayGuardClaimsNonceOnce(t *testing.T) {
|
||||
address := os.Getenv("TEST_REDIS_ADDR")
|
||||
if address == "" {
|
||||
t.Skip("TEST_REDIS_ADDR is not set")
|
||||
}
|
||||
client := redis.NewClient(&redis.Options{Addr: address})
|
||||
defer client.Close()
|
||||
guard := NewRedisReplayGuard(client, "voice-platform-test")
|
||||
nonce := time.Now().UTC().Format("20060102T150405.000000000")
|
||||
claimed, err := guard.Claim(context.Background(), "device-test", nonce, time.Minute)
|
||||
if err != nil || !claimed {
|
||||
t.Fatalf("first claim = %v, err = %v", claimed, err)
|
||||
}
|
||||
claimed, err = guard.Claim(context.Background(), "device-test", nonce, time.Minute)
|
||||
if err != nil || claimed {
|
||||
t.Fatalf("second claim = %v, err = %v", claimed, err)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user