File: passfile_test.go

package info (click to toggle)
golang-github-xo-dburl 0.23.7-1~exp1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 212 kB
  • sloc: makefile: 2
file content (49 lines) | stat: -rw-r--r-- 1,374 bytes parent folder | download
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
package passfile

import (
	"reflect"
	"strings"
	"testing"
)

func TestParse(t *testing.T) {
	entries, err := Parse(strings.NewReader(passfile))
	if err != nil {
		t.Fatalf("expected no error, got: %v", err)
	}
	if len(entries) != 10 {
		t.Fatalf("entries should have exactly 10 entries, got: %d", len(entries))
	}
	exp := []Entry{
		{"postgres", "*", "*", "*", "postgres", "P4ssw0rd"},
		{"cql", "*", "*", "*", "cassandra", "cassandra"},
		{"godror", "*", "*", "*", "system", "P4ssw0rd"},
		{"ignite", "*", "*", "*", "ignite", "ignite"},
		{"mymysql", "*", "*", "*", "root", "P4ssw0rd"},
		{"mysql", "*", "*", "*", "root", "P4ssw0rd"},
		{"oracle", "*", "*", "*", "system", "P4ssw0rd"},
		{"pgx", "*", "*", "*", "postgres", "P4ssw0rd"},
		{"sqlserver", "*", "*", "*", "sa", "Adm1nP@ssw0rd"},
		{"vertica", "*", "*", "*", "dbadmin", "P4ssw0rd"},
	}
	if !reflect.DeepEqual(entries, exp) {
		t.Errorf("entries does not equal expected:\nexp:%#v\n---\ngot:%#v", exp, entries)
	}
}

const passfile = `# sample ~/.usqlpass file
# 
# format is:
# protocol:host:port:dbname:user:pass
postgres:*:*:*:postgres:P4ssw0rd

cql:*:*:*:cassandra:cassandra
godror:*:*:*:system:P4ssw0rd
ignite:*:*:*:ignite:ignite
mymysql:*:*:*:root:P4ssw0rd
mysql:*:*:*:root:P4ssw0rd
oracle:*:*:*:system:P4ssw0rd
pgx:*:*:*:postgres:P4ssw0rd
sqlserver:*:*:*:sa:Adm1nP@ssw0rd
vertica:*:*:*:dbadmin:P4ssw0rd
`