There seems to be several methods out there, based on elevating warnings to errors using warnings.simplefilter. Here's another method, based on recording warnings in a variable, and checking that the last one is a MySQLdb.Warning. Hopefully to be integrated in INSPIRE.

 import MySQLdb import unittest import warnings [...]
class TestTagInsert(unittest.TestCase): def test_too_long_tags(self): with
warnings.catch_warnings(record=True) as warn: [Run SQL statement]
self.assert_(len(warn) == 1) # Ensures that the next statement won't break the
testing self.assertEqual( MySQLdb.Warning, warn[-1].category ) #If you also want
to check the text of the warning: self.assert_( 'truncated' in
str(warn[-1].message))