|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- """
- Tests for modules:
-
- To execute webnotes/tests.py webnotes.tests.modules
-
- Uses Sandbox DocType for testing
- """
- import unittest
- import webnotes
-
- from webnotes.modules import Module
-
- class ModuleTest(unittest.TestCase):
- def setUp(self):
- webnotes.conn.begin()
-
- def update_timestamp(self, path):
- """
- Just open a file for write and save it so that the timetamp changes
- """
- import os
- path = os.path.join(Module('core').get_path(), path)
- c = file(path,'r').read()
- file(path,'w').write(c)
-
- def test_module_import(self):
- """
- Import a txt file into the database and check if a new column has been added
- """
- webnotes.conn.rollback()
- webnotes.conn.sql("alter table tabSandbox drop column `to_be_dropped`", ignore_ddl=1)
- webnotes.conn.begin()
-
- # delete from table
- webnotes.conn.sql("delete from tabDocField where parent='Sandbox' and fieldname='to_be_dropped'")
-
- self.update_timestamp('doctype/sandbox/sandbox.txt')
-
- # reload
- Module('core').reload('DocType','Sandbox')
-
- # commit re-adding
- webnotes.conn.commit()
-
- # check if column created
- self.assertTrue('to_be_dropped' in [r[0] for r in webnotes.conn.sql("desc tabSandbox")])
-
- # check if imported in table
- self.assertTrue(len(webnotes.conn.sql("select name from tabDocField where parent='Sandbox' and fieldname='to_be_dropped'"))==1)
-
-
- def test_read_js_code(self):
- """
- Read a js code file
- """
- data = Module('core').get_doc_file('DocType','Sandbox','.js').read()
- self.assertTrue('//test3456' in data)
- self.assertTrue('//import3456' in data)
-
- def test_sql_file(self):
- """
- Test an sql file
- """
- webnotes.conn.rollback()
- webnotes.conn.sql("drop trigger if exists sandbox_trigger")
- self.update_timestamp('doctype/sandbox/my_trigger.sql')
- Module('core').get_file('doctype','sandbox','my_trigger.sql').sync()
- self.assertTrue(webnotes.conn.sql("show triggers like 'tabSandbox'")[0][0]=='sandbox_trigger')
-
- def test_sync_all(self):
- """
- Test sync all (rerun the sql file test calling sync_all)
- """
-
- webnotes.conn.rollback()
- webnotes.conn.sql("drop trigger if exists sandbox_trigger")
- self.update_timestamp('doctype/sandbox/my_trigger.sql')
- Module('core').sync_all()
- self.assertTrue(webnotes.conn.sql("show triggers like 'tabSandbox'")[0][0]=='sandbox_trigger')
-
- def tearDown(self):
- if webnotes.conn.in_transaction:
- webnotes.conn.rollback()
|