You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
796 B
42 lines
796 B
package topology
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
)
|
|
|
|
func TestLoadConfiguration(t *testing.T) {
|
|
|
|
confContent := `
|
|
|
|
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<Configuration>
|
|
<Topology>
|
|
<DataCenter name="dc1">
|
|
<Rack name="rack1">
|
|
<Ip>192.168.1.1</Ip>
|
|
</Rack>
|
|
</DataCenter>
|
|
<DataCenter name="dc2">
|
|
<Rack name="rack1">
|
|
<Ip>192.168.1.2</Ip>
|
|
</Rack>
|
|
<Rack name="rack2">
|
|
<Ip>192.168.1.3</Ip>
|
|
<Ip>192.168.1.4</Ip>
|
|
</Rack>
|
|
</DataCenter>
|
|
</Topology>
|
|
</Configuration>
|
|
`
|
|
c, err := NewConfiguration([]byte(confContent))
|
|
|
|
fmt.Printf("%s\n", c)
|
|
if err != nil {
|
|
t.Fatalf("unmarshal error:%s", err.Error())
|
|
}
|
|
|
|
if len(c.Topo.DataCenters) <= 0 || c.Topo.DataCenters[0].Name != "dc1" {
|
|
t.Fatalf("unmarshal error:%s", c)
|
|
}
|
|
}
|