reflector.go/reflector/client_test.go
Mark Beamer Jr a2a0b27bc4 implemented stopper pattern
-made defer adjustments inline and deleted the separate function.
-adjusted method in upload to take the only parameter it requires.
-Implemented stopper param for reflector server
-Aligned Cluster New to NewCluster
-Adjusted DHT to use StopAndWait
-Removed blocking waitgroup add
-Unified all components under prism.
-Moved defer done outside of functions.
-renamed NewCluster to New
-fixed travis errors.
2018-06-13 09:36:44 -04:00

68 lines
1.3 KiB
Go

package reflector
import (
"crypto/rand"
"io/ioutil"
"os"
"strconv"
"testing"
"github.com/lbryio/reflector.go/store"
log "github.com/sirupsen/logrus"
)
var address = "localhost:" + strconv.Itoa(DefaultPort)
func TestMain(m *testing.M) {
dir, err := ioutil.TempDir("", "reflector_client_test")
if err != nil {
log.Panic("could not create temp directory - ", err)
}
defer func(directory string) {
if err := os.RemoveAll(dir); err != nil {
log.Panic("error removing files and directory - ", err)
}
}(dir)
ms := store.MemoryBlobStore{}
s := NewServer(&ms)
go func() {
if err := s.Start(address); err != nil {
log.Panic("error starting up reflector server - ", err)
}
}()
os.Exit(m.Run())
}
func TestNotConnected(t *testing.T) {
c := Client{}
err := c.SendBlob([]byte{})
if err == nil {
t.Error("client should error if it is not connected")
}
}
func TestSmallBlob(t *testing.T) {
c := Client{}
err := c.Connect(address)
if err != nil {
t.Error("error connecting client to server - ", err)
}
err = c.SendBlob([]byte{})
if err == nil {
t.Error("client should error if blob is empty")
}
blob := make([]byte, 1000)
_, err = rand.Read(blob)
if err != nil {
t.Error("failed to make random blob")
}
err = c.SendBlob([]byte{})
if err == nil {
t.Error("client should error if blob is the wrong size")
}
}