3cb782f0a2
While there, modernize the way in which we run tests to avoid depending on the fake files scattered around the tree and to use some well defined mock structures instead. Part of https://github.com/ooni/probe/issues/1591
27 lines
500 B
Go
27 lines
500 B
Go
package mocks
|
|
|
|
import (
|
|
"errors"
|
|
"testing"
|
|
|
|
"github.com/miekg/dns"
|
|
)
|
|
|
|
func TestEncoder(t *testing.T) {
|
|
t.Run("Encode", func(t *testing.T) {
|
|
expected := errors.New("mocked error")
|
|
e := &Encoder{
|
|
MockEncode: func(domain string, qtype uint16, padding bool) ([]byte, error) {
|
|
return nil, expected
|
|
},
|
|
}
|
|
out, err := e.Encode("dns.google", dns.TypeA, true)
|
|
if !errors.Is(err, expected) {
|
|
t.Fatal("unexpected err", err)
|
|
}
|
|
if out != nil {
|
|
t.Fatal("unexpected out")
|
|
}
|
|
})
|
|
}
|