Allow node IDs with spaces/dashes in config. Use dashes in GUI. (ref #230)

This commit is contained in:
Jakob Borg
2014-05-18 12:05:17 +02:00
parent 729b0143e1
commit bbefcef53b
5 changed files with 74 additions and 8 deletions

View File

@@ -224,3 +224,53 @@ func TestNodeAddresses(t *testing.T) {
t.Errorf("Nodes differ;\n E: %#v\n A: %#v", expected, cfg.Nodes)
}
}
func TestStripNodeIs(t *testing.T) {
data := []byte(`
<configuration version="2">
<node id="AAAA-BBBB-CCCC">
<address>dynamic</address>
</node>
<node id="AAAA BBBB DDDD">
<address></address>
</node>
<node id="AAAABBBBEEEE">
<address></address>
</node>
<repository directory="~/Sync">
<node id="AAA ABBB-BCC CC" name=""></node>
<node id="AA-AAB BBBD-DDD" name=""></node>
<node id="AAA AB-BBB EEE-E" name=""></node>
</repository>
</configuration>
`)
expected := []NodeConfiguration{
{
NodeID: "AAAABBBBCCCC",
Addresses: []string{"dynamic"},
},
{
NodeID: "AAAABBBBDDDD",
Addresses: []string{"dynamic"},
},
{
NodeID: "AAAABBBBEEEE",
Addresses: []string{"dynamic"},
},
}
cfg, err := Load(bytes.NewReader(data), "n4")
if err != nil {
t.Error(err)
}
for i := range expected {
if !reflect.DeepEqual(cfg.Nodes[i], expected[i]) {
t.Errorf("Nodes[%d] differ;\n E: %#v\n A: %#v", i, expected[i], cfg.Nodes[i])
}
if cfg.Repositories[0].Nodes[i].NodeID != expected[i].NodeID {
t.Errorf("Repo nodes[%d] differ;\n E: %#v\n A: %#v", i, expected[i].NodeID, cfg.Repositories[0].Nodes[i].NodeID)
}
}
}