1# Copyright (c) 2020 Ultimaker B.V. 2# Uranium is released under the terms of the LGPLv3 or higher. 3 4from UM.Workspace.WorkspaceMetadataStorage import WorkspaceMetadataStorage 5 6 7def test_setEntryToStore(): 8 storage = WorkspaceMetadataStorage() 9 storage.setEntryToStore("test", "bloop", 12) 10 assert storage.getPluginMetadata("test") == {"bloop": 12} 11 12 13def test_setNestedEntryToStore(): 14 storage = WorkspaceMetadataStorage() 15 storage.setEntryToStore("test", "bloop", {"zomg": "blorp"}) 16 assert storage.getPluginMetadata("test") == {"bloop": {"zomg": "blorp"}} 17 18 19def test_setMultipleEntriesToStore(): 20 storage = WorkspaceMetadataStorage() 21 storage.setEntryToStore("test", "bloop", 13) 22 storage.setEntryToStore("test", "bloop2", 32) 23 24 metadata = storage.getPluginMetadata("test") 25 assert len(metadata.keys()) == 2 26 assert metadata["bloop"] == 13 27 assert metadata["bloop2"] == 32 28 29 30def test_getUnknownEntry(): 31 storage = WorkspaceMetadataStorage() 32 storage.setEntryToStore("test", "bloop", 12) 33 assert storage.getPluginMetadata("unknown") == {} 34 35 36def test_setAllDataAndClear(): 37 storage = WorkspaceMetadataStorage() 38 storage.setAllData({"zomg": {"value": "zomg"}}) 39 assert storage.getPluginMetadata("zomg") == {"value": "zomg"} 40 41 storage.clear() 42 assert storage.getPluginMetadata("zomg") == {} 43 44 45def test_getAllData(): 46 storage = WorkspaceMetadataStorage() 47 storage.setEntryToStore("test", "bloop", 13) 48 storage.setEntryToStore("test_2", "bloop", 34) 49 50 data = storage.getAllData() 51 assert len(data.keys()) == 2 52 assert data["test"]["bloop"] == 13 53 assert data["test_2"]["bloop"] == 34