Description: Upstream changes introduced in version 0.1b3 This patch has been created by dpkg-source during the package build. Here's the last changelog entry, hopefully it gives details on why those changes were made: . jcl (0.1b3) unstable; urgency=low . * JCL v0.1 beta 3 . The person named in the Author field signed this changelog entry. Author: David Rousselie --- The information above should follow the Patch Tagging Guidelines, please checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here are templates for supplementary fields that you might want to add: Origin: , Bug: Bug-Debian: http://bugs.debian.org/ Forwarded: Reviewed-By: Last-Update: --- jcl-0.1b3.orig/Makefile +++ jcl-0.1b3/Makefile @@ -2,7 +2,7 @@ PYTHON=`which python` DESTDIR=/ BUILDIR=$(CURDIR)/debian/jcl PROJECT=jcl -VERSION=0.1b2 +VERSION=0.1b3 all: @echo "make source - Create source package" @@ -23,7 +23,7 @@ buildrpm: builddeb: $(PYTHON) setup.py sdist $(COMPILE) --dist-dir=../ rename -f 's/$(PROJECT)-(.*)\.tar\.gz/$(PROJECT)_$$1\.orig\.tar\.gz/' ../* - dpkg-buildpackage -i -I -rfakeroot + dpkg-buildpackage -us -uc -i -I -rfakeroot clean: $(PYTHON) setup.py clean --- /dev/null +++ jcl-0.1b3/src/jcl/model/tests/__init___flymake.py @@ -0,0 +1,84 @@ +"""JCL test module""" +__revision__ = "" + +import unittest +import threading +import os +import tempfile +import sys + +from sqlobject import SQLObject +from sqlobject.col import StringCol +from sqlobject.dbconnection import TheURIOpener + +import jcl.model as model + +if sys.platform == "win32": + DB_DIR = "/c|/temp/" +else: + DB_DIR = "/tmp/" + +class MyMockSQLObject(SQLObject): + _connection = model.hub + string_attr = StringCol() + +class ModelModule_TestCase(unittest.TestCase): + def setUp(self): + self.db_path = tempfile.mktemp("db", "jcltest", DB_DIR) + if os.path.exists(self.db_path): + os.unlink(self.db_path) + self.db_url = "sqlite://" + self.db_path + model.db_connection_str = self.db_url + model.db_connect() + MyMockSQLObject.createTable(ifNotExists=True) + model.db_disconnect() + + def tearDown(self): + model.db_connect() + MyMockSQLObject.dropTable(ifExists=True) + del TheURIOpener.cachedURIs[self.db_url] + model.hub.threadConnection.close() + model.db_disconnect() + if os.path.exists(self.db_path): + os.unlink(self.db_path) + + def test_multiple_db_connection(self): + def create_account_thread(): + for i in xrange(100): + string_attr = "obj2" + str(i) + model.db_connect() + obj = MyMockSQLObject(string_attr=string_attr) + model.db_disconnect() + model.db_connect() + obj2 = MyMockSQLObject.select(MyMockSQLObject.q.string_attr == string_attr) + model.db_disconnect() + self.assertEquals(obj, obj2[0]) + timer_thread = threading.Thread(target=create_account_thread, + name="CreateAccountThread") + timer_thread.start() + for i in xrange(100): + string_attr = "obj1" + str(i) + model.db_connect() + obj = MyMockSQLObject(string_attr=string_attr) + model.db_disconnect() + model.db_connect() + obj2 = MyMockSQLObject.select(MyMockSQLObject.q.string_attr == string_attr) + model.db_disconnect() + self.assertEquals(obj, obj2[0]) + timer_thread.join(2) + threads = threading.enumerate() + self.assertEquals(len(threads), 1) + model.db_connect() + objs = MyMockSQLObject.select() + self.assertEquals(objs.count(), 200) + model.db_disconnect() + +def suite(): + suite = unittest.TestSuite() + suite.addTest(unittest.makeSuite(ModelModule_TestCase, 'test')) + from jcl.model.tests import account + suite.addTest(account.suite()) + return suite + +if __name__ == '__main__': + unittest.main(defaultTest='suite') --- jcl-0.1b3.orig/src/jcl/model/tests/account.py +++ jcl-0.1b3/src/jcl/model/tests/account.py @@ -137,6 +137,42 @@ class AccountModule_TestCase(JCLTestCase "user1@jcl.test.com") self.assertEquals(result, "test") + def test_boolean_post_func_with_1_str(self): + result = account.boolean_post_func("1", None, "user1@jcl.test.com") + self.assertEquals(result, True) + + def test_boolean_post_func_with_True_str(self): + result = account.boolean_post_func("True", None, "user1@jcl.test.com") + self.assertEquals(result, True) + + def test_boolean_post_func_with_False_str(self): + result = account.boolean_post_func("False", None, "user1@jcl.test.com") + self.assertEquals(result, False) + + def test_boolean_post_func_with_1_unicode(self): + result = account.boolean_post_func(u"1", None, "user1@jcl.test.com") + self.assertEquals(result, True) + + def test_boolean_post_func_with_True_unicode(self): + result = account.boolean_post_func(u"true", None, "user1@jcl.test.com") + self.assertEquals(result, True) + + def test_boolean_post_func_with_False_unicode(self): + result = account.boolean_post_func(u"False", None, "user1@jcl.test.com") + self.assertEquals(result, False) + + def test_boolean_post_func_with_1(self): + result = account.boolean_post_func(1, None, "user1@jcl.test.com") + self.assertEquals(result, False) + + def test_boolean_post_func_with_True(self): + result = account.boolean_post_func(True, None, "user1@jcl.test.com") + self.assertEquals(result, True) + + def test_boolean_post_func_with_False(self): + result = account.boolean_post_func(False, None, "user1@jcl.test.com") + self.assertEquals(result, False) + def test_int_post_func(self): result = account.int_post_func("42", None, "user1@jcl.test.com") self.assertEquals(result, 42) --- jcl-0.1b3.orig/src/jcl/jabber/tests/register.py +++ jcl-0.1b3/src/jcl/jabber/tests/register.py @@ -56,7 +56,7 @@ class SetRegisterHandler_TestCase(JCLTes result = self.handler.handle(iq_set, Lang.en, None, x_data) self.assertEquals(result, None) - def test_handle_invalid_name(self): + def test_handle_invalid_name_with_invalid_char(self): """Test with invalid supplied name""" iq_set = Iq(stanza_type="set", from_jid="user1@test.com/res", @@ -73,6 +73,23 @@ class SetRegisterHandler_TestCase(JCLTes self.assertEquals(error.get_text(), Lang.en.field_error \ % ("name", Lang.en.arobase_in_name_forbidden)) + def test_handle_invalid_name_with_whitespace(self): + """Test with invalid supplied name""" + iq_set = Iq(stanza_type="set", + from_jid="user1@test.com/res", + to_jid="jcl.test.com") + x_data = Form("submit") + x_data.add_field(name="name", + value="wrong name", + field_type="text-single") + result = self.handler.handle(iq_set, Lang.en, None, x_data) + self.assertEquals(len(result), 1) + self.assertEquals(result[0].xmlnode.prop("type"), "error") + error = result[0].get_error() + self.assertEquals(error.get_condition().name, "not-acceptable") + self.assertEquals(error.get_text(), Lang.en.field_error \ + % ("name", Lang.en.arobase_in_name_forbidden)) + def test_handle_invalid_empty_name(self): """Test with empty supplied name""" iq_set = Iq(stanza_type="set",