143 lines
2.7 KiB
Go
143 lines
2.7 KiB
Go
package shared
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
const yaml_params = `
|
|
---
|
|
port: 9999
|
|
host: 0.0.0.0 #localhost
|
|
# all the params relative to mongodb
|
|
mongo:
|
|
# the url where to get mongodb
|
|
url: localhost:1234
|
|
|
|
# the name of the database to use
|
|
database_name: doorman
|
|
|
|
# the name of the collection where all the street can be found
|
|
doorman_definition_collection: doorman_definitions
|
|
|
|
# all the parameters relative to nsq message-queue
|
|
nsq:
|
|
# the url where to find nsq lookupd url
|
|
nsq_lookupd_url: 127.0.0.1:4161
|
|
|
|
# all the parameters relative to nanomsg message-queue
|
|
nanomsg:
|
|
nanomsg_url: ipc:///tmp/doorman.ipc
|
|
|
|
|
|
`
|
|
|
|
func TestLoadFromYamlData(t *testing.T) {
|
|
p, err := LoadFromYamlData([]byte(yaml_params))
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
if p.Port != 9999 {
|
|
t.Error("port")
|
|
}
|
|
if p.Host != "0.0.0.0" {
|
|
t.Error("host")
|
|
}
|
|
}
|
|
|
|
func TestMongoParams(t *testing.T) {
|
|
p, err := LoadFromYamlData([]byte(yaml_params))
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
if p.Mongo.Url != "localhost:1234" {
|
|
t.Error("mongo.url")
|
|
}
|
|
if p.Mongo.DatabaseName != "doorman" {
|
|
t.Error("mongo.DatabaseName")
|
|
}
|
|
if p.Mongo.DoormanDefinitionCollection != "doorman_definitions" {
|
|
t.Error("Mongo.DoormanDefinitionCollection", p.Mongo.DoormanDefinitionCollection)
|
|
}
|
|
}
|
|
|
|
func TestNSQParams(t *testing.T) {
|
|
p, err := LoadFromYamlData([]byte(yaml_params))
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
if p.NSQ.NSQLookupdUrl != "127.0.0.1:4161" {
|
|
t.Error("Nsq.NSQLookupdUrl", p.NSQ.NSQLookupdUrl)
|
|
}
|
|
}
|
|
|
|
func TestNanoMsgParams(t *testing.T) {
|
|
p, err := LoadFromYamlData([]byte(yaml_params))
|
|
if err != nil {
|
|
t.Error(err)
|
|
return
|
|
}
|
|
if p.NanoMsg.NanoMsgUrl != "ipc:///tmp/doorman.ipc" {
|
|
t.Error("NanoMsgParams.NanoMsgUrl", p.NanoMsg.NanoMsgUrl)
|
|
}
|
|
}
|
|
|
|
func TestMinimalParams(t *testing.T) {
|
|
params := "---\n"
|
|
p, err := LoadFromYamlData([]byte(params))
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
if p.Mongo.Url != "" {
|
|
t.Error()
|
|
}
|
|
if p.Port != 1999 {
|
|
t.Error("bad default port", p.Port)
|
|
}
|
|
if p.Host != "localhost" {
|
|
t.Error("bad default host")
|
|
}
|
|
if p.MessageQueue != "" {
|
|
t.Error("message queue")
|
|
}
|
|
|
|
if p.Database != "" {
|
|
t.Error("database")
|
|
}
|
|
}
|
|
|
|
func TestUseMongoDb(t *testing.T) {
|
|
p := &Params{}
|
|
if p.Database = ""; p.UseMongoDb() {
|
|
t.Error()
|
|
}
|
|
if p.Database = "mOnGo"; !p.UseMongoDb() {
|
|
t.Error()
|
|
}
|
|
if p.Database = "monGoDb"; !p.UseMongoDb() {
|
|
t.Error()
|
|
}
|
|
}
|
|
|
|
func TestUseNSQ(t *testing.T) {
|
|
p := &Params{}
|
|
if p.MessageQueue = ""; p.UseNSQ() {
|
|
t.Error()
|
|
}
|
|
if p.MessageQueue = "nSq"; !p.UseNSQ() {
|
|
t.Error()
|
|
}
|
|
}
|
|
|
|
func TestUseNanoMsg(t *testing.T) {
|
|
p := &Params{}
|
|
if p.MessageQueue = ""; p.UseNanomsg() {
|
|
t.Error()
|
|
}
|
|
if p.MessageQueue = "nAnOmSg"; !p.UseNanomsg() {
|
|
t.Error()
|
|
}
|
|
}
|