feat: allow custom QR login output
This commit is contained in:
@@ -12,12 +12,41 @@ import (
|
||||
"net/http/cookiejar"
|
||||
"net/http/httptest"
|
||||
"net/url"
|
||||
"os"
|
||||
"strings"
|
||||
"sync"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
func TestWithQRWriter(t *testing.T) {
|
||||
var output bytes.Buffer
|
||||
client, err := NewClient(t.TempDir(), WithQRWriter(&output))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if client.qrWriter != &output {
|
||||
t.Fatalf("qrWriter = %v, want custom writer", client.qrWriter)
|
||||
}
|
||||
}
|
||||
|
||||
func TestWithQRWriterRejectsNil(t *testing.T) {
|
||||
_, err := NewClient(t.TempDir(), WithQRWriter(nil))
|
||||
if err == nil || err.Error() != "QR writer must not be nil" {
|
||||
t.Fatalf("error = %v, want QR writer must not be nil", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestDefaultQRWriterIsStdout(t *testing.T) {
|
||||
client, err := NewClient(t.TempDir())
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if client.qrWriter != os.Stdout {
|
||||
t.Fatalf("qrWriter = %v, want os.Stdout", client.qrWriter)
|
||||
}
|
||||
}
|
||||
|
||||
func TestRequestEncryptedPostAndPlainResponse(t *testing.T) {
|
||||
var received url.Values
|
||||
handlerErrors := make(chan error, 1)
|
||||
|
||||
Reference in New Issue
Block a user