cthulhu/test/harness/settings_test.py

98 lines
3.8 KiB
Python
Raw Normal View History

from cthulhu import settings_manager
from json import load, dump
from pprint import pprint
def exerciseBackendAPI(backendName, profile):
settingsManager = settings_manager.SettingsManager(backendName)
print("\n\n================ Testing Backend %s ====================\n\n" % \
backendName)
print('Profile: ', profile)
print('Profiles list: ', settingsManager.availableProfiles())
#settingsManager.setProfile(profile)
# Getters
preferences = settingsManager.getPreferences(profile)
print('preferences: \n', preferences, '\n\n')
generalSettings = settingsManager.getGeneralSettings(profile)
print('generalSettings: \n', generalSettings, '\n\n')
pronunciations = settingsManager.getPronunciations(profile)
print('pronunciations: \n', pronunciations, '\n\n')
keybindings = settingsManager.getKeybindings(profile)
print('keybindings: \n', keybindings, '\n\n')
# Adding new settings to the profile and merging them
newGeneralSettings = getSettingsFromFile('general')
print("newGeneralSettings = ")
pprint(newGeneralSettings)
settingsManager._setProfileGeneral(newGeneralSettings)
generalSettings = settingsManager.getGeneralSettings(profile)
print("generalSettings = ")
pprint(generalSettings)
newKeybindingsSettings = getSettingsFromFile('keybindings')
print("\n\nnewKeybindingsSettings = ")
pprint(newKeybindingsSettings)
settingsManager._setProfileKeybindings(newKeybindingsSettings)
keybindings = settingsManager.getKeybindings(profile)
print("keybindings = ")
pprint(keybindings)
newPronunciationsSettings = getSettingsFromFile('pronunciations')
print("\n\nnewPronunciationsSettings = ")
pprint(newPronunciationsSettings)
settingsManager._setProfileGeneral(newPronunciationsSettings)
pronunciations = settingsManager.getPronunciations(profile)
print("pronunciations = ")
pprint(pronunciations)
#settingsManager.saveSettings()
isFirstStart = settingsManager.isFirstStart()
print("\n\nIs First Start? => ", isFirstStart)
print("\n\nSetting firstStart key")
settingsManager.setFirstStart()
isFirstStart = settingsManager.isFirstStart()
print("\n\nIs First Start? => ", isFirstStart)
print("\n\n===========================================================\n\n")
print("\n\nTesting import from a file I")
print("\n===========================================================")
availableProfilesBefore = settingsManager.availableProfiles()
print("\nAvailable Profiles BEFORE the import => ", availableProfilesBefore)
settingsManager.importProfile('importFile.conf')
availableProfilesAfter = settingsManager.availableProfiles()
print("\nAvailable Profiles AFTER the import => ", availableProfilesAfter)
print("\n\nTesting import from a file II")
print("\n===========================================================")
availableProfilesBefore = settingsManager.availableProfiles()
print("\nAvailable Profiles BEFORE the import => ", availableProfilesBefore)
settingsManager.importProfile('importFile2.conf')
availableProfilesAfter = settingsManager.availableProfiles()
print("\nAvailable Profiles AFTER the import => ", availableProfilesAfter)
def getSettingsFromFile(dictName):
fileName = '%sSettings.conf' % dictName
try:
dictFile = open(fileName)
except:
import sys
print("You should run the test from the test directory")
sys.exit()
settings = load(dictFile)
dictFile.close()
return settings
# main
profile = 'default'
print('profile: default backendName: json\n')
exerciseBackendAPI('json', 'default')
#print 'profile: default backendName: gconf\n'
#exerciseBackendAPI('gconf', 'default')
#exerciseBackendAPI('default', 'gsettings', s)