lnwire: add test cases for node alias validation

This commit is contained in:
Olaoluwa Osuntokun 2019-01-03 20:52:35 -08:00
parent 0b10f4c4d8
commit 1821773e39
No known key found for this signature in database
GPG Key ID: CE58F7F8E20FD9A2

@ -0,0 +1,42 @@
package lnwire
import "testing"
// TestNodeAliasValidation tests that the NewNodeAlias method will only accept
// valid node announcements.
func TestNodeAliasValidation(t *testing.T) {
t.Parallel()
var testCases = []struct {
alias string
valid bool
}{
// UTF-8 alias with valid length.
{
alias: "meruem",
valid: true,
},
// UTF-8 alias with invalid length.
{
alias: "p3kysxqr23swl33m6h5grmzddgw5nsgkky3g52zc6frpwz",
valid: false,
},
// String with non UTF-8 characters.
{
alias: "\xE0\x80\x80",
valid: false,
},
}
for i, testCase := range testCases {
_, err := NewNodeAlias(testCase.alias)
switch {
case err != nil && testCase.valid:
t.Fatalf("#%v: alias should have been invalid", i)
case err == nil && !testCase.valid:
t.Fatalf("#%v: invalid alias was missed", i)
}
}
}