Files
Pulse/cmd/pulse/import_payload_test.go
rcourtman 3e2824a7ff feat: remove Enterprise badges, simplify Pro upgrade prompts
- Replace barrel import in AuditLogPanel.tsx to fix ad-blocker crash
- Remove all Enterprise/Pro badges from nav and feature headers
- Simplify upgrade CTAs to clean 'Upgrade to Pro' links
- Update docs: PULSE_PRO.md, API.md, README.md, SECURITY.md
- Align terminology: single Pro tier, no separate Enterprise tier

Also includes prior refactoring:
- Move auth package to pkg/auth for enterprise reuse
- Export server functions for testability
- Stabilize CLI tests
2026-01-09 16:51:08 +00:00

59 lines
1.4 KiB
Go

package main
import (
"encoding/base64"
"testing"
"github.com/rcourtman/pulse-go-rewrite/pkg/server"
)
func TestNormalizeImportPayload_Base64Passthrough(t *testing.T) {
raw := []byte(" Zm9vYmFy \n") // base64("foobar")
out, err := server.NormalizeImportPayload(raw)
if err != nil {
t.Fatalf("err = %v", err)
}
if out != "Zm9vYmFy" {
t.Fatalf("out = %q", out)
}
}
func TestNormalizeImportPayload_Base64OfBase64Unwrap(t *testing.T) {
inner := "Zm9vYmFy" // base64("foobar")
outer := base64.StdEncoding.EncodeToString([]byte(inner))
out, err := server.NormalizeImportPayload([]byte(outer))
if err != nil {
t.Fatalf("err = %v", err)
}
if out != inner {
t.Fatalf("out = %q, want %q", out, inner)
}
}
func TestNormalizeImportPayload_RawBytesGetEncoded(t *testing.T) {
raw := []byte{0x00, 0x01, 0x02, 0xff, 0x10}
out, err := server.NormalizeImportPayload(raw)
if err != nil {
t.Fatalf("err = %v", err)
}
decoded, err := base64.StdEncoding.DecodeString(out)
if err != nil {
t.Fatalf("DecodeString: %v", err)
}
if string(decoded) != string(raw) {
t.Fatalf("roundtrip mismatch")
}
}
func TestLooksLikeBase64(t *testing.T) {
if server.LooksLikeBase64("") {
t.Fatalf("empty should be false")
}
if !server.LooksLikeBase64("Zm9vYmFy") {
t.Fatalf("expected base64 true")
}
if server.LooksLikeBase64("not-base64!!!") {
t.Fatalf("expected base64 false")
}
}