package crypto import ( "testing" ) func TestEncryptDecrypt(t *testing.T) { plaintext := "sk-test-api-key-12345" encrypted, err := Encrypt(plaintext) if err != nil { t.Fatalf("Encrypt() error = %v", err) } if encrypted == plaintext { t.Error("Encrypt() returned plaintext") } decrypted, err := Decrypt(encrypted) if err != nil { t.Fatalf("Decrypt() error = %v", err) } if decrypted != plaintext { t.Errorf("Decrypt() = %q, want %q", decrypted, plaintext) } } func TestSha256Hex(t *testing.T) { input := "test" result := Sha256Hex(input) if len(result) != 64 { t.Errorf("Sha256Hex() returned %d chars, want 64", len(result)) } // Same input should produce same hash result2 := Sha256Hex(input) if result != result2 { t.Error("Sha256Hex() not deterministic") } // Different input should produce different hash result3 := Sha256Hex("different") if result == result3 { t.Error("Sha256Hex() same hash for different inputs") } } func TestEncryptorInvalidKey(t *testing.T) { _, err := NewEncryptor([]byte("short")) if err == nil { t.Error("NewEncryptor() should error with invalid key length") } }