diff options
author | mike <michael.jmontcalm@gmail.com> | 2009-11-06 05:13:59 (GMT) |
---|---|---|
committer | mike <michael.jmontcalm@gmail.com> | 2009-11-06 05:13:59 (GMT) |
commit | 5491c551a2f88dbda852bc0e9d0c5406019e2be8 (patch) | |
tree | 94eeb2b16fc8b02d7df5ae46b7ae71a6463645bb /tests | |
parent | 134d1333acc68ac2ccd3b0459df1be948500f1a7 (diff) |
LP 448319 : Add a resource translation layer for tutorial execution
Diffstat (limited to 'tests')
-rw-r--r-- | tests/translatortests.py | 48 | ||||
-rw-r--r-- | tests/vaulttests.py | 13 |
2 files changed, 47 insertions, 14 deletions
diff --git a/tests/translatortests.py b/tests/translatortests.py index 0f053b9..e71b795 100644 --- a/tests/translatortests.py +++ b/tests/translatortests.py @@ -16,9 +16,12 @@ import unittest import os +import uuid from sugar.tutorius.translator import * from sugar.tutorius.properties import * +from sugar.tutorius.tutorial import * +from sugar.tutorius import addon ############################################################################## ## Helper classes @@ -46,30 +49,65 @@ class ListResources(TPropContainer): ############################################################################## class ResourceTranslatorTests(unittest.TestCase): - temp_path = "/tmp/tutorius" - file_name = "temp.txt" + temp_path = "/tmp/" + file_name = "file.txt" def setUp(self): + # Generate a tutorial ID + self.tutorial_id = unicode(uuid.uuid1()) + + # Create a dummy fsm + self.fsm = Tutorial("TestTutorial1") + # Add a few states + act1 = addon.create('BubbleMessage', message="Hi", position=[300, 450]) + ev1 = addon.create('GtkWidgetEventFilter', "0.12.31.2.2", "clicked") + act2 = addon.create('BubbleMessage', message="Second message", position=[250, 150], tail_pos=[1,2]) + self.fsm.add_action("INIT", act1) + st2 = self.fsm.add_state((act2,)) + self.fsm.add_transition("INIT",(ev1, st2)) + + # Create a dummy metadata dictionnary + self.test_metadata_dict = {} + self.test_metadata_dict['name'] = 'TestTutorial1' + self.test_metadata_dict['guid'] = unicode(self.tutorial_id) + self.test_metadata_dict['version'] = '1' + self.test_metadata_dict['description'] = 'This is a test tutorial 1' + self.test_metadata_dict['rating'] = '3.5' + self.test_metadata_dict['category'] = 'Test' + self.test_metadata_dict['publish_state'] = 'false' + activities_dict = {} + activities_dict['org.laptop.tutoriusactivity'] = '1' + activities_dict['org.laptop,writus'] = '1' + self.test_metadata_dict['activities'] = activities_dict + + Vault.saveTutorial(self.fsm, self.test_metadata_dict) + try: os.mkdir(self.temp_path) except: pass - new_file = file(os.path.join(self.temp_path, self.file_name), "w") + abs_file_path = os.path.join(self.temp_path, self.file_name) + new_file = file(abs_file_path, "w") + + # Add the resource in the Vault + self.res_name = Vault.add_resource(self.tutorial_id, abs_file_path) # Use a dummy prob manager - we shouldn't be using it self.prob_man = object() - self.translator = ResourceTranslator(self.prob_man, '0101010101', testing=True) + self.translator = ResourceTranslator(self.prob_man, self.tutorial_id) pass def tearDown(self): + Vault.deleteTutorial(self.tutorial_id) + os.unlink(os.path.join(self.temp_path, self.file_name)) - pass def test_translate(self): # Create an action with a resource property res_action = ResourceAction() + res_action.resource = self.res_name self.translator.translate(res_action) diff --git a/tests/vaulttests.py b/tests/vaulttests.py index 48869a7..ca61225 100644 --- a/tests/vaulttests.py +++ b/tests/vaulttests.py @@ -270,20 +270,19 @@ class VaultInterfaceTest(unittest.TestCase): assert os.path.isfile(image_path), 'cannot find the test image file' # Create and save a tutorial - tutorial = Tutorial('test', self.fsm) - Vault.saveTutorial(tutorial, self.test_metadata_dict) + Vault.saveTutorial(self.fsm, self.test_metadata_dict) bundler = TutorialBundler(self.save_test_guid) tuto_path = bundler.get_tutorial_path(self.save_test_guid) # add the ressource to the tutorial - ressource_id = Vault.add_ressource(self.save_test_guid, image_path) + ressource_id = Vault.add_resource(self.save_test_guid, image_path) # Check that the image file is now in the vault assert os.path.isfile(os.path.join(tuto_path, 'ressources', ressource_id)), 'image file not found in vault' # Check if get_ressource_path Vault interface function is working - vault_path = Vault.get_ressource_path(self.save_test_guid, ressource_id) + vault_path = Vault.get_resource_path(self.save_test_guid, ressource_id) assert os.path.isfile(vault_path), 'path returned is not a file' basename, extension = os.path.splitext(vault_path) @@ -291,14 +290,10 @@ class VaultInterfaceTest(unittest.TestCase): # Delete the ressource - Vault.delete_ressource(self.save_test_guid, ressource_id) + Vault.delete_resource(self.save_test_guid, ressource_id) # Check that the ressource is not in the vault anymore assert os.path.isfile(os.path.join(tuto_path, 'ressources', ressource_id)) == False, 'image file found in vault when it should have been deleted.' - - - - def tearDown(self): folder = os.path.join(os.getenv("HOME"),".sugar", 'default', 'tutorius', 'data'); |