File: handshake_test.go

package info (click to toggle)
golang-github-la5nta-wl2k-go 0.11.9-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,856 kB
  • sloc: ansic: 14; makefile: 2
file content (44 lines) | stat: -rw-r--r-- 1,235 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// Copyright 2015 Martin Hebnes Pedersen (LA5NTA). All rights reserved.
// Use of this source code is governed by the MIT-license that can be
// found in the LICENSE file.

package fbb

import (
	"fmt"
	"io"
	"reflect"
	"testing"
)

func TestParseFW(t *testing.T) {
	tests := map[string][]Address{
		";FW: LA5NTA":       []Address{AddressFromString("LA5NTA")},
		";FW: LE1OF":        []Address{AddressFromString("LE1OF")},
		";FW: LE1OF LA5NTA": []Address{AddressFromString("LE1OF"), AddressFromString("LA5NTA")},
		";FW: la4tta":       []Address{{Addr: "LA4TTA"}},
	}

	for input, expected := range tests {
		got, err := parseFW(input)
		if err != nil {
			t.Errorf("Got unexpected error while parsing '%s': %s", input, err)
		} else if !reflect.DeepEqual(got, expected) {
			t.Errorf("Expected %s, got %s", expected, got)
		}
	}
}

func TestIsLoginFailure(t *testing.T) {
	tests := map[error]bool{
		fmt.Errorf("[1] Secure login failed - account password does not match. - Disconnecting (88.90.2.192)"): true,
		io.EOF:              false,
		io.ErrUnexpectedEOF: false,
	}

	for err, expect := range tests {
		if got := IsLoginFailure(err); got != expect {
			t.Errorf("'%s' - Expected %t got %t", err.Error(), expect, got)
		}
	}
}