test: use identifier-based names and subtests
This commit is contained in:
parent
39cb1b5698
commit
1750d7dfb6
5 changed files with 48 additions and 53 deletions
|
|
@ -9,7 +9,7 @@ import (
|
|||
"github.com/ayn2op/discordo/internal/tls"
|
||||
)
|
||||
|
||||
func TestBrowserIdentity(t *testing.T) {
|
||||
func TestCommonProperties(t *testing.T) {
|
||||
properties := CommonProperties()
|
||||
|
||||
tests := []struct {
|
||||
|
|
@ -29,13 +29,15 @@ func TestBrowserIdentity(t *testing.T) {
|
|||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestBrowserUserAgent(t *testing.T) {
|
||||
if product := tls.BrowserName() + "/" + tls.BrowserVersion(); !strings.Contains(BrowserUserAgent(), product) {
|
||||
t.Fatalf("user agent does not contain %q", product)
|
||||
}
|
||||
}
|
||||
|
||||
func TestBrowserClientHints(t *testing.T) {
|
||||
func TestHeaders(t *testing.T) {
|
||||
headers := Headers()
|
||||
version := tls.BrowserMajorVersion()
|
||||
tests := []struct {
|
||||
|
|
@ -56,7 +58,7 @@ func TestBrowserClientHints(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestPropertyUUIDs(t *testing.T) {
|
||||
func TestXSuperProperties(t *testing.T) {
|
||||
properties := XSuperProperties()
|
||||
for _, key := range []gateway.IdentifyPropertyKey{"client_launch_id", "client_heartbeat_session_id", "launch_signature"} {
|
||||
t.Run(string(key), func(t *testing.T) {
|
||||
|
|
|
|||
|
|
@ -10,17 +10,18 @@ import (
|
|||
)
|
||||
|
||||
func TestRendererRenderText(t *testing.T) {
|
||||
t.Run("masks spoilers", func(t *testing.T) {
|
||||
source := []byte("before ||secret|| after")
|
||||
node := md.Parse(source)
|
||||
source := []byte("before ||secret|| after")
|
||||
node := md.Parse(source)
|
||||
|
||||
for _, test := range []struct {
|
||||
mask bool
|
||||
want string
|
||||
}{
|
||||
{true, "before [spoiler] after"},
|
||||
{false, "before secret after"},
|
||||
} {
|
||||
for _, test := range []struct {
|
||||
name string
|
||||
mask bool
|
||||
want string
|
||||
}{
|
||||
{"spoilers_masked", true, "before [spoiler] after"},
|
||||
{"spoilers_visible", false, "before secret after"},
|
||||
} {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
rendered := NewRenderer(&config.Config{Markdown: config.MarkdownConfig{MaskSpoilers: test.mask}}).RenderText(source, node, tcell.StyleDefault)
|
||||
var got strings.Builder
|
||||
for _, line := range rendered {
|
||||
|
|
@ -31,6 +32,6 @@ func TestRendererRenderText(t *testing.T) {
|
|||
if got.String() != test.want {
|
||||
t.Fatalf("mask=%t: got %q, want %q", test.mask, got.String(), test.want)
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,26 +1,17 @@
|
|||
package tls
|
||||
|
||||
import (
|
||||
"testing"
|
||||
)
|
||||
import "testing"
|
||||
|
||||
func TestBrowserIdentity(t *testing.T) {
|
||||
hello := clientProfile.GetClientHelloId()
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
got string
|
||||
want string
|
||||
}{
|
||||
{"name", BrowserName(), hello.Client},
|
||||
{"version", BrowserVersion(), hello.Version + ".0.0.0"},
|
||||
}
|
||||
|
||||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
if test.got != test.want {
|
||||
t.Fatalf("got = %q, want = %q", test.got, test.want)
|
||||
}
|
||||
})
|
||||
func TestBrowserName(t *testing.T) {
|
||||
want := clientProfile.GetClientHelloId().Client
|
||||
if got := BrowserName(); got != want {
|
||||
t.Fatalf("BrowserName() = %q, want %q", got, want)
|
||||
}
|
||||
}
|
||||
|
||||
func TestBrowserVersion(t *testing.T) {
|
||||
want := clientProfile.GetClientHelloId().Version + ".0.0.0"
|
||||
if got := BrowserVersion(); got != want {
|
||||
t.Fatalf("BrowserVersion() = %q, want %q", got, want)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@ func TestComposerEditLastMessage(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestMemberSearchCache(t *testing.T) {
|
||||
func TestComposerSearchMember(t *testing.T) {
|
||||
cfg, err := config.Load(filepath.Join(t.TempDir(), "config.toml"))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
|
|
|
|||
|
|
@ -3,26 +3,27 @@ package qr
|
|||
import "testing"
|
||||
|
||||
func TestDecodeMessage(t *testing.T) {
|
||||
t.Run("decodes messages", func(t *testing.T) {
|
||||
tests := []struct {
|
||||
data string
|
||||
want any
|
||||
}{
|
||||
{`{"op":"hello","heartbeat_interval":100,"timeout_ms":200}`, helloMsg{heartbeatInterval: 100, timeoutMS: 200}},
|
||||
{`{"op":"nonce_proof","encrypted_nonce":"nonce"}`, nonceProofMsg{encryptedNonce: "nonce"}},
|
||||
{`{"op":"pending_remote_init","fingerprint":"fingerprint"}`, pendingRemoteInitMsg{fingerprint: "fingerprint"}},
|
||||
{`{"op":"pending_ticket","encrypted_user_payload":"payload"}`, pendingTicketMsg{encryptedUserPayload: "payload"}},
|
||||
{`{"op":"cancel"}`, cancelMsg{}},
|
||||
{`{"op":"pending_login","ticket":"ticket"}`, pendingLoginMsg{ticket: "ticket"}},
|
||||
{`{"op":"unknown"}`, nil},
|
||||
}
|
||||
tests := []struct {
|
||||
name string
|
||||
data string
|
||||
want any
|
||||
}{
|
||||
{"hello", `{"op":"hello","heartbeat_interval":100,"timeout_ms":200}`, helloMsg{heartbeatInterval: 100, timeoutMS: 200}},
|
||||
{"nonce_proof", `{"op":"nonce_proof","encrypted_nonce":"nonce"}`, nonceProofMsg{encryptedNonce: "nonce"}},
|
||||
{"pending_remote_init", `{"op":"pending_remote_init","fingerprint":"fingerprint"}`, pendingRemoteInitMsg{fingerprint: "fingerprint"}},
|
||||
{"pending_ticket", `{"op":"pending_ticket","encrypted_user_payload":"payload"}`, pendingTicketMsg{encryptedUserPayload: "payload"}},
|
||||
{"cancel", `{"op":"cancel"}`, cancelMsg{}},
|
||||
{"pending_login", `{"op":"pending_login","ticket":"ticket"}`, pendingLoginMsg{ticket: "ticket"}},
|
||||
{"unknown", `{"op":"unknown"}`, nil},
|
||||
}
|
||||
|
||||
for _, test := range tests {
|
||||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
if got := decodeMessage([]byte(test.data)); got != test.want {
|
||||
t.Errorf("decodeMessage(%s) = %#v, want %#v", test.data, got, test.want)
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
t.Run("rejects duplicate names", func(t *testing.T) {
|
||||
if _, ok := decodeMessage([]byte(`{"op":"cancel","op":"hello"}`)).(errMsg); !ok {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue