// SPDX-License-Identifier: BSD-3-Clause package cli_test // TODO: readd these // import ( // "os" // "testing" // "git.froth.zone/sam/awl/internal/structs" // "git.froth.zone/sam/awl/query" // "github.com/miekg/dns" // "github.com/stretchr/testify/assert" // "github.com/stretchr/testify/require" // ) // func TestApp(t *testing.T) { // t.Parallel() // app := prepareCLI() // // What more can even be done lmao // require.NotNil(t, app) // } // func TestArgParse(t *testing.T) { // t.Parallel() // tests := []struct { // in []string // want structs.Request // }{ // { // []string{"@::1", "localhost", "AAAA"}, // structs.Request{Server: "::1", Type: dns.TypeAAAA, Name: "localhost"}, // }, // { // []string{"@1.0.0.1", "google.com"}, // structs.Request{Server: "1.0.0.1", Type: dns.TypeA, Name: "google.com"}, // }, // { // []string{"@8.8.4.4"}, // structs.Request{Server: "8.8.4.4", Type: dns.TypeNS, Name: "."}, // }, // } // for _, test := range tests { // act, err := parseArgs(test.in, &query.Options{}) // assert.Nil(t, err) // assert.Equal(t, test.want, act) // } // } // func TestQuery(t *testing.T) { // app := prepareCLI() // args := os.Args[0:1] // args = append(args, "--Treebug") // err := app.Run(args) // assert.NotNil(t, err) // } // func TestNoArgs(t *testing.T) { // app := prepareCLI() // args := os.Args[0:1] // args = append(args, "--no-truncate") // err := app.Run(args) // assert.Nil(t, err) // } // func TestFlags(t *testing.T) { // app := prepareCLI() // args := os.Args[0:1] // args = append(args, "--debug") // args = append(args, "--short") // args = append(args, "-4") // err := app.Run(args) // assert.Nil(t, err) // } // func TestHTTPS(t *testing.T) { // app := prepareCLI() // args := os.Args[0:1] // args = append(args, "-H") // // args = append(args, "@https://cloudflare-dns.com/dns-query") // args = append(args, "git.froth.zone") // err := app.Run(args) // assert.Nil(t, err) // } // func TestJSON(t *testing.T) { // app := prepareCLI() // args := os.Args[0:1] // args = append(args, "-j") // args = append(args, "git.froth.zone") // err := app.Run(args) // assert.Nil(t, err) // } // func TestTLS(t *testing.T) { // app := prepareCLI() // args := os.Args[0:1] // args = append(args, "-T") // args = append(args, "git.froth.zone") // err := app.Run(args) // assert.Nil(t, err) // } // func TestXML(t *testing.T) { // app := prepareCLI() // args := os.Args[0:1] // args = append(args, "-X") // args = append(args, "git.froth.zone") // err := app.Run(args) // assert.Nil(t, err) // } // func TestYAML(t *testing.T) { // app := prepareCLI() // args := os.Args[0:1] // args = append(args, "-y") // args = append(args, "git.froth.zone") // err := app.Run(args) // assert.Nil(t, err) // } // func TestQUIC(t *testing.T) { // app := prepareCLI() // args := os.Args[0:1] // args = append(args, "-Q") // // args = append(args, "@dns.adguard.com") // args = append(args, "git.froth.zone") // err := app.Run(args) // assert.Nil(t, err) // } // func TestReverse(t *testing.T) { // app := prepareCLI() // args := os.Args[0:1] // args = append(args, "-x") // args = append(args, "8.8.8.8") // err := app.Run(args) // assert.Nil(t, err) // } // func FuzzCli(f *testing.F) { // testcases := []string{"git.froth.zone", "", "!12345", "google.com.edu.org.fr"} // for _, tc := range testcases { // f.Add(tc) // } // f.Fuzz(func(t *testing.T, orig string) { // app := prepareCLI() // args := os.Args[0:1] // args = append(args, orig) // err := app.Run(args) // if err != nil { // require.ErrorContains(t, err, "domain must be fully qualified") // } // require.Nil(t, err) // }) // }