File: scan_common_test.go

package info (click to toggle)
golang-github-cloudflare-cfssl 1.2.0%2Bgit20160825.89.7fb22c8-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 4,916 kB
  • ctags: 2,827
  • sloc: sh: 146; sql: 62; python: 11; makefile: 8
file content (66 lines) | stat: -rw-r--r-- 1,633 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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
package scan

import (
	"fmt"
	"testing"
)

var TestingScanner = &Scanner{
	Description: "Tests common scan functions",
	scan: func(addr, hostname string) (Grade, Output, error) {
		switch addr {
		case "bad.example.com:443":
			return Bad, "bad.com", nil
		case "Warning.example.com:443":
			return Warning, "Warning.com", nil
		case "good.example.com:443":
			return Good, "good.com", nil
		case "skipped.example.com:443/0":
			return Skipped, "skipped", nil
		default:
			return Grade(-1), "invalid", fmt.Errorf("scan: invalid grade")
		}
	},
}

var TestingFamily = &Family{
	Description: "Tests the scan_common",
	Scanners: map[string]*Scanner{
		"TestingScanner": TestingScanner,
	},
}

func TestCommon(t *testing.T) {
	if TestingFamily.Scanners["TestingScanner"] != TestingScanner {
		t.FailNow()
	}

	var grade Grade
	var output Output
	var err error

	grade, output, err = TestingScanner.Scan("bad.example.com:443", "bad.example.com")
	if grade != Bad || output.(string) != "bad.com" || err != nil {
		t.FailNow()
	}

	grade, output, err = TestingScanner.Scan("Warning.example.com:443", "Warning.example.com")
	if grade != Warning || output.(string) != "Warning.com" || err != nil {
		t.FailNow()
	}

	grade, output, err = TestingScanner.Scan("good.example.com:443", "good.example.com")
	if grade != Good || output.(string) != "good.com" || err != nil {
		t.FailNow()
	}

	grade, output, err = TestingScanner.Scan("skipped.example.com:443/0", "")
	if grade != Skipped || output.(string) != "skipped" || err != nil {
		t.FailNow()
	}

	_, _, err = TestingScanner.Scan("invalid", "invalid")
	if err == nil {
		t.FailNow()
	}
}