|
|
|
package cmd
|
|
|
|
|
|
|
|
import "testing"
|
|
|
|
|
|
|
|
func TestValidateCall(t *testing.T) {
|
|
|
|
type args struct {
|
|
|
|
sign string
|
|
|
|
}
|
|
|
|
tests := []struct {
|
|
|
|
name string
|
|
|
|
args args
|
|
|
|
wantCall string
|
|
|
|
wantErrorMsg string
|
|
|
|
}{
|
|
|
|
{
|
|
|
|
"Good call (simple)",
|
|
|
|
args{ sign: "on4kjm", },
|
|
|
|
"ON4KJM", "",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"Good call (suffix)",
|
|
|
|
args{ sign: "on4kjm/p", },
|
|
|
|
"ON4KJM/P", "",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"Good call (prefix only)",
|
|
|
|
args{ sign: "DL/on4KJm", },
|
|
|
|
"DL/ON4KJM", "",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"Good call (prefix and suffix)",
|
|
|
|
args{ sign: "DL/on4KJm/p", },
|
|
|
|
"DL/ON4KJM/P", "",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"Good call (Numerical prefix)",
|
|
|
|
args{ sign: "4x/on4KJm/p", },
|
|
|
|
"4X/ON4KJM/P", "",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"Good call (prefix and long suffix)",
|
|
|
|
args{ sign: "DL/on4KJm/qrpp ", },
|
|
|
|
"DL/ON4KJM/QRPP", "",
|
|
|
|
},
|
|
|
|
//Error cases
|
|
|
|
{
|
|
|
|
"Pure junk passed",
|
|
|
|
args{ sign: "aaaaaa", },
|
|
|
|
"*AAAAAA", "Invalid call",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"empty string",
|
|
|
|
args{ sign: "", },
|
|
|
|
"*", "Invalid call",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"string with spaces",
|
|
|
|
args{ sign: " ", },
|
|
|
|
"*", "Invalid call",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"invalid prefix",
|
|
|
|
args{ sign: "xyz/on4kjm", },
|
|
|
|
"*XYZ/ON4KJM", "Invalid prefix",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"Too many /",
|
|
|
|
args{ sign: "F/on4kjm/p/x", },
|
|
|
|
"*F/ON4KJM/P/X", "Too many '/'",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"signe /",
|
|
|
|
args{ sign: "/", },
|
|
|
|
"*/", "Invalid call",
|
|
|
|
},
|
|
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
|
|
gotCall, gotErrorMsg := ValidateCall(tt.args.sign)
|
|
|
|
if gotCall != tt.wantCall {
|
|
|
|
t.Errorf("ValidateCall() gotCall = %v, want %v", gotCall, tt.wantCall)
|
|
|
|
}
|
|
|
|
if gotErrorMsg != tt.wantErrorMsg {
|
|
|
|
t.Errorf("ValidateCall() gotErrorMsg = %v, want %v", gotErrorMsg, tt.wantErrorMsg)
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|