| 14 | ) |
| 15 | |
| 16 | func TestNewHBAs(t *testing.T) { |
| 17 | matches := func(actual []*HostBasedAuthentication, expected string) cmp.Comparison { |
| 18 | printed := make([]string, len(actual)) |
| 19 | for i := range actual { |
| 20 | printed[i] = actual[i].String() |
| 21 | } |
| 22 | |
| 23 | parsed := strings.Split(strings.Trim(expected, "\t\n"), "\n") |
| 24 | for i := range parsed { |
| 25 | parsed[i] = strings.Join(strings.Fields(parsed[i]), " ") |
| 26 | } |
| 27 | |
| 28 | return cmp.DeepEqual(printed, parsed) |
| 29 | } |
| 30 | |
| 31 | hba := NewHBAs() |
| 32 | assert.Assert(t, matches(hba.Mandatory, ` |
| 33 | local all "postgres" "peer" |
| 34 | hostssl replication "_crunchyrepl" all "cert" |
| 35 | hostssl "postgres" "_crunchyrepl" all "cert" |
| 36 | host all "_crunchyrepl" all "reject" |
| 37 | `)) |
| 38 | assert.Assert(t, matches(hba.Default, ` |
| 39 | hostssl all all all "scram-sha-256" |
| 40 | `)) |
| 41 | } |
| 42 | |
| 43 | func TestHostBasedAuthentication(t *testing.T) { |
| 44 | assert.Equal(t, `local all "postgres","pgo" "peer"`, |