Add test for removing settings from instance containers

Currently only the happy path. I plan to add tests whether the rest of the settings are still intact.

Contributes to issue CURA-3479.
This commit is contained in:
Ghostkeeper 2017-03-13 13:49:19 +01:00
parent d866216f0c
commit ad0d0bbd96
No known key found for this signature in database
GPG key ID: C5F96EE2BC0F7E75

View file

@ -94,7 +94,7 @@ def test_cfgVersionBad(data, upgrader):
with pytest.raises(data["exception"]):
upgrader.getCfgVersion(data["file_data"])
test_removed_settings_data = [
test_upgrade_preferences_removed_settings_data = [
{
"test_name": "Removed Setting",
"file_data": """[general]
@ -123,14 +123,50 @@ foo = bar
## Tests whether the settings that should be removed are removed for the 2.5
# version of preferences.
@pytest.mark.parametrize("data", test_removed_settings_data)
@pytest.mark.parametrize("data", test_upgrade_preferences_removed_settings_data)
def test_upgradePreferencesRemovedSettings(data, upgrader):
_, upgraded_preferences = upgrader.upgradePreferences(data["file_data"], "<string>")
upgraded_preferences = upgraded_preferences[0]
#Find whether the removed setting is removed from the file now.
bad_setting = "start_layers_at_same_position"
bad_setting = "start_layers_at_same_position" #One of the forbidden settings.
parser = configparser.ConfigParser(interpolation = None)
parser.read_string(upgraded_preferences)
if parser.has_section("general") and "visible_settings" in parser["general"]:
assert bad_setting not in parser["general"]["visible_settings"]
assert bad_setting not in parser["general"]["visible_settings"]
test_upgrade_instance_container_removed_settings_data = [
{
"test_name": "Removed Setting",
"file_data": """[values]
layer_height = 0.1337
start_layers_at_same_position = True
"""
},
{
"test_name": "No Removed Setting",
"file_data": """[values]
oceans_number = 11
"""
},
{
"test_name": "No Values Category",
"file_data": """[general]
type = instance_container
"""
}
]
## Tests whether the settings that should be removed are removed for the 2.5
# version of instance containers.
@pytest.mark.parametrize("data", test_upgrade_instance_container_removed_settings_data)
def test_upgradeInstanceContainerRemovedSettings(data, upgrader):
_, upgraded_container = upgrader.upgradeInstanceContainer(data["file_data"], "<string>")
upgraded_container = upgraded_container[0]
#Find whether the forbidden setting is still in the container.
bad_setting = "start_layers_at_same_position" #One of the forbidden settings.
parser = configparser.ConfigParser(interpolation = None)
parser.read_string(upgraded_container)
if parser.has_section("values"):
assert bad_setting not in parser["values"]