mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-12-30 04:57:55 +08:00
43 lines
788 B
Go
43 lines
788 B
Go
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:%v", err)
|
|
}
|
|
|
|
if len(c.Topo.DataCenters) <= 0 || c.Topo.DataCenters[0].Name != "dc1" {
|
|
t.Fatalf("unmarshal error:%s", c)
|
|
}
|
|
}
|