lib/model: Don't include unshared folders in ClusterConfig (fixes #4926)

Also fixes a data race where ClusterConfig would access folderFiles
without a lock. Tweaked the ClusterConfig unit test to verify the
behavior.
This commit is contained in:
Jakob Borg
2018-05-08 09:19:34 +02:00
committed by Audrius Butkevicius
parent 616883304e
commit 2343c82c33
2 changed files with 28 additions and 9 deletions

View File

@@ -607,20 +607,29 @@ func TestClusterConfig(t *testing.T) {
cfg.Folders = []config.FolderConfiguration{
{
ID: "folder1",
Path: "testdata",
Path: "testdata1",
Devices: []config.FolderDeviceConfiguration{
{DeviceID: device1},
{DeviceID: device2},
},
},
{
ID: "folder2",
Path: "testdata",
ID: "folder2",
Path: "testdata2",
Paused: true, // should still be included
Devices: []config.FolderDeviceConfiguration{
{DeviceID: device1},
{DeviceID: device2},
},
},
{
ID: "folder3",
Path: "testdata3",
Devices: []config.FolderDeviceConfiguration{
{DeviceID: device1},
// should not be included, does not include device2
},
},
}
db := db.OpenMemory()