- Move remaining beach packages and embedded admin assets\n- Rewrite framework, example, build, and gate paths
41 lines
912 B
Go
41 lines
912 B
Go
package lagoon
|
|
|
|
import (
|
|
"bytes"
|
|
"context"
|
|
"encoding/base64"
|
|
"strings"
|
|
"testing"
|
|
|
|
"git.golem15.com/golem15/summercms/modules/bonfire"
|
|
)
|
|
|
|
func TestEncryptedKeyGeneratePrints32ByteBase64(t *testing.T) {
|
|
cmd := KeyGenerateCommand()
|
|
if cmd.Name != "key:generate" {
|
|
t.Fatalf("Name = %q", cmd.Name)
|
|
}
|
|
if cmd.Run == nil {
|
|
t.Fatal("Run is nil")
|
|
}
|
|
|
|
var buf bytes.Buffer
|
|
out := bonfire.NewOutput(strings.NewReader(""), &buf, &buf)
|
|
if err := cmd.Run(context.Background(), nil, out); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
line := strings.TrimSpace(buf.String())
|
|
fields := strings.Fields(line)
|
|
if len(fields) == 0 {
|
|
t.Fatal("key:generate produced no output")
|
|
}
|
|
encoded := fields[len(fields)-1]
|
|
raw, err := base64.StdEncoding.DecodeString(encoded)
|
|
if err != nil {
|
|
t.Fatalf("output %q is not base64: %v", encoded, err)
|
|
}
|
|
if len(raw) != 32 {
|
|
t.Fatalf("decoded key length = %d, want 32", len(raw))
|
|
}
|
|
}
|