allow ipv4 (for testing)

This commit is contained in:
Martin Geno 2018-01-18 15:25:52 +01:00 committed by Martin/Geno
parent 2503df8031
commit 23600524a5
No known key found for this signature in database
GPG Key ID: F0D39A37E925E941
2 changed files with 31 additions and 3 deletions

View File

@ -25,6 +25,10 @@ type Connection struct {
type Config map[string]interface{} type Config map[string]interface{}
func (c Config) Type() string {
return c["type"].(string)
}
func (c Config) Address() string { func (c Config) Address() string {
return c["address"].(string) return c["address"].(string)
} }
@ -37,7 +41,7 @@ func Connect(configuration map[string]interface{}) (database.Connection, error)
var config Config var config Config
config = configuration config = configuration
conn, err := net.Dial("udp6", config.Address()) conn, err := net.Dial(config.Type(), config.Address())
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -54,7 +58,7 @@ func (conn *Connection) InsertNode(node *runtime.Node) {
var b bytes.Buffer var b bytes.Buffer
writer := bufio.NewWriter(&b) writer := bufio.NewWriter(&b)
flater, err := flate.NewWriter(writer, flate.NoCompression) flater, err := flate.NewWriter(writer, flate.BestCompression)
if err != nil { if err != nil {
log.Printf("[database-yanic] could not create flater: %s", err) log.Printf("[database-yanic] could not create flater: %s", err)
return return

View File

@ -3,6 +3,8 @@ package yanic
import ( import (
"testing" "testing"
"github.com/FreifunkBremen/yanic/data"
"github.com/FreifunkBremen/yanic/runtime"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
) )
@ -10,16 +12,38 @@ func TestStart(t *testing.T) {
assert := assert.New(t) assert := assert.New(t)
conn, err := Connect(map[string]interface{}{ conn, err := Connect(map[string]interface{}{
"type": "udp6",
"address": "fasfs", "address": "fasfs",
}) })
assert.Nil(conn) assert.Nil(conn)
assert.Error(err) assert.Error(err)
conn, err = Connect(map[string]interface{}{ conn, err = Connect(map[string]interface{}{
"address": "[::1]:11001", "type": "udp",
"address": "localhost:11001",
}) })
assert.NoError(err) assert.NoError(err)
conn.InsertNode(&runtime.Node{
Nodeinfo: &data.NodeInfo{
NodeID: "73deadbeaf13",
Hostname: "inject-test",
Network: data.Network{
Mac: "73:de:ad:be:af:13",
Addresses: []string{"a", "b"},
},
},
Statistics: &data.Statistics{
NodeID: "73deadbeaf13",
Clients: data.Clients{
Total: 1000,
Wifi: 500,
Wifi24: 100,
Wifi5: 300,
},
},
})
conn.Close() conn.Close()
} }