diff --git a/run_tests.py b/run_tests.py index 5f2ff95..a20f1db 100644 --- a/run_tests.py +++ b/run_tests.py @@ -51,7 +51,7 @@ if __name__ == '__main__': sender_suite = unittest.makeSuite(Sender_TestCase, "test") jcl_suite = unittest.TestSuite() # jcl_suite.addTest(FeederComponent_TestCase('test_handle_tick')) -# jcl_suite.addTest(FeederComponent_TestCase('test_handle_presence_available_to_account_live_password')) +# jcl_suite.addTest(FeederComponent_TestCase('test_handle_set_register_new_field_mandatory')) # jcl_suite = unittest.TestSuite((feeder_component_suite)) # jcl_suite = unittest.TestSuite((component_suite)) jcl_suite = unittest.TestSuite((component_suite, diff --git a/src/jcl/jabber/component.py b/src/jcl/jabber/component.py index 439c0ec..9477bbc 100644 --- a/src/jcl/jabber/component.py +++ b/src/jcl/jabber/component.py @@ -358,9 +358,8 @@ class JCLComponent(Component, object): x_data.from_xml(query.children) name = x_data.get_field_value("name") if name is None: - # TODO : find correct error for mandatory field info_query = info_query.make_error_response(\ - "resource-constraint") + "not-acceptable") self.stream.send(info_query) return self.db_connect() @@ -390,8 +389,7 @@ class JCLComponent(Component, object): field_default_func)) except FieldError, exception: _account.destroySelf() - # TODO: get correct error from exception - info_query = info_query.make_error_response("resource-constraint") + info_query = info_query.make_error_response("not-acceptable") self.stream.send(info_query) self.db_disconnect() return diff --git a/tests/jcl/jabber/test_component.py b/tests/jcl/jabber/test_component.py index 679899b..1af43dc 100644 --- a/tests/jcl/jabber/test_component.py +++ b/tests/jcl/jabber/test_component.py @@ -751,7 +751,9 @@ class JCLComponent_TestCase(unittest.TestCase): stanza_sent = self.comp.stream.sent self.assertEquals(len(stanza_sent), 1) self.assertTrue(isinstance(stanza_sent[0], Iq)) - # TODO : add more assertions need to find the correct exception + self.assertEquals(stanza_sent[0].get_node().prop("type"), "error") + error = stanza_sent[0].get_error() + self.assertEquals(error.get_condition().name, "not-acceptable") def test_handle_set_register_new_field_mandatory(self): self.comp.account_class = AccountExample @@ -780,8 +782,10 @@ class JCLComponent_TestCase(unittest.TestCase): stanza_sent = self.comp.stream.sent self.assertEquals(len(stanza_sent), 1) self.assertTrue(isinstance(stanza_sent[0], Iq)) - # TODO : add more assertions need to find the correct exception - + self.assertEquals(stanza_sent[0].get_node().prop("type"), "error") + error = stanza_sent[0].get_error() + self.assertEquals(error.get_condition().name, "not-acceptable") + def test_handle_set_register_update_complex(self): self.comp.account_class = AccountExample self.comp.stream = MockStream()