Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/tests/translatortests.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/translatortests.py')
-rw-r--r--tests/translatortests.py48
1 files changed, 43 insertions, 5 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)