53 lines
930 B
Go
53 lines
930 B
Go
package extension_repo
|
|
|
|
import (
|
|
"seanime/internal/util"
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestExtensionID(t *testing.T) {
|
|
|
|
tests := []struct {
|
|
id string
|
|
expected bool
|
|
}{
|
|
{"my-extension", true},
|
|
{"my-extension-", false},
|
|
{"-my-extension", false},
|
|
{"my-extension-1", true},
|
|
{"my.extension", false},
|
|
{"my_extension", false},
|
|
}
|
|
|
|
for _, test := range tests {
|
|
if isValidExtensionIDString(test.id) != test.expected {
|
|
t.Errorf("isValidExtensionID(%v) != %v", test.id, test.expected)
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
func TestReplacePackageName(t *testing.T) {
|
|
extensionPackageName := "ext_" + util.GenerateCryptoID()
|
|
|
|
payload := `package main
|
|
|
|
import (
|
|
"bytes"
|
|
"crypto/aes"
|
|
"crypto/cipher"
|
|
"encoding/base64"
|
|
"encoding/hex"
|
|
"errors"
|
|
"fmt"`
|
|
|
|
newPayload := ReplacePackageName(payload, extensionPackageName)
|
|
|
|
if strings.Contains(newPayload, "package main") {
|
|
t.Errorf("ReplacePackageName failed")
|
|
}
|
|
|
|
t.Log(newPayload)
|
|
}
|