From 5491c551a2f88dbda852bc0e9d0c5406019e2be8 Mon Sep 17 00:00:00 2001 From: mike Date: Fri, 06 Nov 2009 05:13:59 +0000 Subject: LP 448319 : Add a resource translation layer for tutorial execution --- (limited to 'tests/translatortests.py') 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) -- cgit v0.9.1