Files
goSam/options_test.go
idk 702cc4d699 Configurable host:port (#7)
* replyParser had a bug where, when a base64 address ended with '==', the key-value pairs would break. I worked around the issue by switching '==' it with a non-base64 character before the split, and back after.

* switch to strings.SplitN and apply gofmt, add test

* I don't know exactly why, but checking that the kvPair in replyParser.go is not nil fixes the crash on image-heavy sites.

* added new configuration options for host, port, address, and debugging

* Fix commit history

* added tunnel length control features

* added tunnel length control defaults

* added length variance feature

* added tunnel quantity option

* added backup tunnel quantity option

* added leaseset configuration options

* gofmt

* add new options to session establishment commands & gofmt

* Reference the change to the debug global in the httpTest.go example

* Switch to less than or equal to 16 tunnels at a time.

* add in the comments I forgot to do.

* add in the comments I forgot to do.

* Improved formatting with linter.

* Improved formatting with linter.

* Ditch interfaces in the functional arguments, instead use different functions for the string and int-based variations.

* Fixed broken option

* added in missing formatting directive.

* change addr to host in client so names are consistent.

* change TestClientLookupInvalid back.
2018-07-16 08:49:03 +02:00

192 lines
5.0 KiB
Go

package goSam
import "testing"
func TestOptionAddrString(t *testing.T) {
client, err := NewClientFromOptions(SetAddr("127.0.0.1:7656"), SetDebug(true))
if err != nil {
t.Fatalf("NewDefaultClient() Error: %q\n", err)
}
if err := client.Close(); err != nil {
t.Fatalf("client.Close() Error: %q\n", err)
}
}
func TestOptionAddrStringLh(t *testing.T) {
client, err := NewClientFromOptions(SetAddr("localhost:7656"), SetDebug(true))
if err != nil {
t.Fatalf("NewDefaultClient() Error: %q\n", err)
}
if err := client.Close(); err != nil {
t.Fatalf("client.Close() Error: %q\n", err)
}
}
func TestOptionAddrSlice(t *testing.T) {
client, err := NewClientFromOptions(SetAddr("127.0.0.1", "7656"), SetDebug(true))
if err != nil {
t.Fatalf("NewDefaultClient() Error: %q\n", err)
}
if err := client.Close(); err != nil {
t.Fatalf("client.Close() Error: %q\n", err)
}
}
func TestOptionAddrMixedSlice(t *testing.T) {
client, err := NewClientFromOptions(SetAddrMixed("127.0.0.1", 7656), SetDebug(true))
if err != nil {
t.Fatalf("NewDefaultClient() Error: %q\n", err)
}
if err := client.Close(); err != nil {
t.Fatalf("client.Close() Error: %q\n", err)
}
}
func TestOptionHost(t *testing.T) {
client, err := NewClientFromOptions(SetHost("127.0.0.1"), SetDebug(true))
if err != nil {
t.Fatalf("NewDefaultClient() Error: %q\n", err)
}
if err := client.Close(); err != nil {
t.Fatalf("client.Close() Error: %q\n", err)
}
}
func TestOptionPort(t *testing.T) {
client, err := NewClientFromOptions(SetPort("7656"), SetDebug(true))
if err != nil {
t.Fatalf("NewDefaultClient() Error: %q\n", err)
}
if err := client.Close(); err != nil {
t.Fatalf("client.Close() Error: %q\n", err)
}
}
func TestOptionPortInt(t *testing.T) {
client, err := NewClientFromOptions(SetPortInt(7656), SetDebug(true))
if err != nil {
t.Fatalf("NewDefaultClient() Error: %q\n", err)
}
if err := client.Close(); err != nil {
t.Fatalf("client.Close() Error: %q\n", err)
}
}
func TestOptionDebug(t *testing.T) {
client, err := NewClientFromOptions(SetDebug(true))
if err != nil {
t.Fatalf("NewDefaultClient() Error: %q\n", err)
}
if err := client.Close(); err != nil {
t.Fatalf("client.Close() Error: %q\n", err)
}
}
func TestOptionInLength(t *testing.T) {
client, err := NewClientFromOptions(SetInLength(3), SetDebug(true))
client.inlength()
if err != nil {
t.Fatalf("NewDefaultClient() Error: %q\n", err)
}
if err := client.Close(); err != nil {
t.Fatalf("client.Close() Error: %q\n", err)
}
}
func TestOptionOutLength(t *testing.T) {
client, err := NewClientFromOptions(SetInLength(3), SetDebug(true))
client.outlength()
if err != nil {
t.Fatalf("NewDefaultClient() Error: %q\n", err)
}
if err := client.Close(); err != nil {
t.Fatalf("client.Close() Error: %q\n", err)
}
}
func TestOptionInVariance(t *testing.T) {
client, err := NewClientFromOptions(SetInVariance(1), SetDebug(true))
client.invariance()
if err != nil {
t.Fatalf("NewDefaultClient() Error: %q\n", err)
}
if err := client.Close(); err != nil {
t.Fatalf("client.Close() Error: %q\n", err)
}
}
func TestOptionOutVariance(t *testing.T) {
client, err := NewClientFromOptions(SetOutVariance(1), SetDebug(true))
client.outvariance()
if err != nil {
t.Fatalf("NewDefaultClient() Error: %q\n", err)
}
if err := client.Close(); err != nil {
t.Fatalf("client.Close() Error: %q\n", err)
}
}
func TestOptionInQuantity(t *testing.T) {
client, err := NewClientFromOptions(SetInQuantity(6), SetDebug(true))
client.inquantity()
if err != nil {
t.Fatalf("NewDefaultClient() Error: %q\n", err)
}
if err := client.Close(); err != nil {
t.Fatalf("client.Close() Error: %q\n", err)
}
}
func TestOptionOutQuantity(t *testing.T) {
client, err := NewClientFromOptions(SetOutQuantity(6), SetDebug(true))
client.outquantity()
if err != nil {
t.Fatalf("NewDefaultClient() Error: %q\n", err)
}
if err := client.Close(); err != nil {
t.Fatalf("client.Close() Error: %q\n", err)
}
}
func TestOptionInBackups(t *testing.T) {
client, err := NewClientFromOptions(SetInBackups(5), SetDebug(true))
client.inbackups()
if err != nil {
t.Fatalf("NewDefaultClient() Error: %q\n", err)
}
if err := client.Close(); err != nil {
t.Fatalf("client.Close() Error: %q\n", err)
}
}
func TestOptionOutBackups(t *testing.T) {
client, err := NewClientFromOptions(SetOutBackups(5), SetDebug(true))
client.outbackups()
if err != nil {
t.Fatalf("NewDefaultClient() Error: %q\n", err)
}
if err := client.Close(); err != nil {
t.Fatalf("client.Close() Error: %q\n", err)
}
}
func TestOptionEncryptLease(t *testing.T) {
client, err := NewClientFromOptions(SetEncrypt(true), SetDebug(true))
if err != nil {
t.Fatalf("NewDefaultClient() Error: %q\n", err)
}
if err := client.Close(); err != nil {
t.Fatalf("client.Close() Error: %q\n", err)
}
}
func TestOptionUnpublishedLease(t *testing.T) {
client, err := NewClientFromOptions(SetUnpublished(true), SetDebug(true))
if err != nil {
t.Fatalf("NewDefaultClient() Error: %q\n", err)
}
if err := client.Close(); err != nil {
t.Fatalf("client.Close() Error: %q\n", err)
}
}