6d3a4f1db8
When preparing a tutorial for netxlite, I figured it is easier to tell people "hey, this is the package you should use for all low-level networking stuff" rather than introducing people to a set of packages working together where some piece of functionality is here and some other piece is there. Part of https://github.com/ooni/probe/issues/1591
24 lines
678 B
Go
24 lines
678 B
Go
package mocks
|
|
|
|
import "github.com/ooni/probe-cli/v3/internal/netxlite/dnsx"
|
|
|
|
// HTTPSSvc is the result of HTTPS queries.
|
|
type HTTPSSvc = dnsx.HTTPSSvc
|
|
|
|
// DNSDecoder allows mocking dnsx.DNSDecoder.
|
|
type DNSDecoder struct {
|
|
MockDecodeLookupHost func(qtype uint16, reply []byte) ([]string, error)
|
|
|
|
MockDecodeHTTPS func(reply []byte) (*HTTPSSvc, error)
|
|
}
|
|
|
|
// DecodeLookupHost calls MockDecodeLookupHost.
|
|
func (e *DNSDecoder) DecodeLookupHost(qtype uint16, reply []byte) ([]string, error) {
|
|
return e.MockDecodeLookupHost(qtype, reply)
|
|
}
|
|
|
|
// DecodeHTTPS calls MockDecodeHTTPS.
|
|
func (e *DNSDecoder) DecodeHTTPS(reply []byte) (*HTTPSSvc, error) {
|
|
return e.MockDecodeHTTPS(reply)
|
|
}
|