awl/cli_test.go
Sam 220964fc02
All checks were successful
continuous-integration/drone/push Build is passing
Windows and Plan 9 DNS Config (#17)
Closes #14, #15

Co-authored-by: Sam Therapy <sam@samtherapy.net>
Reviewed-on: #17
2022-06-30 22:37:08 +00:00

43 lines
897 B
Go

// SPDX-License-Identifier: BSD-3-Clause
package main
import (
"testing"
"git.froth.zone/sam/awl/util"
"github.com/miekg/dns"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestApp(t *testing.T) {
app := prepareCLI()
// What more can even be done lmao
require.NotNil(t, app)
}
func TestArgParse(t *testing.T) {
tests := []struct {
in []string
want util.Answers
}{
{
[]string{"@::1", "localhost", "AAAA"},
util.Answers{Server: "::1", Request: dns.TypeAAAA, Name: "localhost"},
},
{
[]string{"@1.0.0.1", "google.com"},
util.Answers{Server: "1.0.0.1", Request: dns.TypeA, Name: "google.com"},
},
{
[]string{"@8.8.4.4"},
util.Answers{Server: "8.8.4.4", Request: dns.TypeNS, Name: "."},
},
}
for _, test := range tests {
act, err := parseArgs(test.in)
assert.Nil(t, err)
assert.Equal(t, test.want, act)
}
}