def test_mime(self): mime = MIMEType('text/plain', 'SEND') self.assertEqual('text/plain', mime.get_mime()) mime.set_mime('application/xhtml+xml') self.assertEqual('application/xhtml+xml', mime.get_mime()) self.assertRaises(AttributeError, mime.set_mime, None) self.assertRaises(AttributeError, MIMEType, None, 'SEND')
def test_from_lxml_filter(self): text = '''<MIME mime="text/plain" handler="SEND"> <FILTER value="gzip" /> <FILTER value="bzip2" /> </MIME>''' mime = MIMEType.from_lxml_element(etree.XML(text)) right = MIMEType('text/plain', 'SEND', filters=['gzip', 'bzip2']) self.assertEqual(mime, right)
def test_self_executed(self): mime = MIMEType('text/plain', 'SEND') self.assertEqual(None, mime.get_self_executed()) mime.set_self_executed('YES') self.assertEqual('YES', mime.get_self_executed()) mime.set_self_executed(None) self.assertEqual(None, mime.get_self_executed()) mime = MIMEType('text/plain', 'SEND', self_executed = 'YES') self.assertEqual('YES', mime.get_self_executed())
def test_path(self): mime = MIMEType('text/plain', 'SEND') self.assertEqual(None, mime.get_path()) mime.set_path('^/www/.*$') self.assertEqual('^/www/.*$', mime.get_path()) mime.set_path(None) self.assertEqual(None, mime.get_path()) mime = MIMEType('text/plain', 'SEND', path = '^/www/.*$') self.assertEqual('^/www/.*$', mime.get_path())
def test_param(self): mime = MIMEType('text/plain', 'SEND') self.assertEqual(None, mime.get_param()) mime.set_param('/usr/bin/python') self.assertEqual('/usr/bin/python', mime.get_param()) mime.set_param(None) self.assertEqual(None, mime.get_param()) mime = MIMEType('text/plain', 'SEND', param = '/usr/bin/python') self.assertEqual('/usr/bin/python', mime.get_param())
def setUp(self): self.mime_0 = MIMEType('text/html', 'FASTCGI', '', self_executed='YES', extensions=['fcgi']) self.mime_1 = MIMEType( 'text/plain', 'SEND', '', extensions=['asc', 'c', 'cc', 'f', 'f90', 'h', 'hh']) self.text = '<MIMES>{0}{1}</MIMES>'.format(self.mime_0, self.mime_1)
def test_from_lxml_full(self): text = '''<MIME mime="text/plain" handler="SEND" self="YES" param="python"> <EXTENSION value="py" /> <FILTER value="gzip" /> <FILTER value="bzip2" /> <PATH regex="^/.*$" /> {0} </MIME>'''.format('\n'.join(map(str, self.definitions))) mime = MIMEType.from_lxml_element(etree.XML(text)) right = MIMEType('text/plain', 'SEND', 'python', ['py'], '^/.*$', ['gzip', 'bzip2'], 'YES', self.definitions) self.assertEqual(mime, right)
def test_from_lxml_filter(self): text = '''<MIME mime="text/plain" handler="SEND"> <FILTER value="gzip" /> <FILTER value="bzip2" /> </MIME>''' mime = MIMEType.from_lxml_element(etree.XML(text)) right = MIMEType('text/plain', 'SEND', filters = ['gzip', 'bzip2']) self.assertEqual(mime, right)
def test_mime_type(self): text = ''' <MIME mime="text/plain" custom="unknown"> <CUSTOM /> </MIME>''' mime = MIMEType.from_string(text) tree = mime.to_lxml_element() self.assertEqual('unknown', tree.get('custom')) custom = tree.findall('CUSTOM') self.assertEqual(1, len(custom))
def test_creation(self): MIMEType('text/plain') MIMEType('text/plain', 'CGI') MIMEType('text/plain', 'CGI', '/usr/bin/python') MIMEType('text/plain', 'CGI', '/usr/bin/python', set(['py'])) MIMEType('text/plain', 'CGI', '/usr/bin/python', set(['py']), '^/cgi-bin/.*$') MIMEType('text/plain', 'CGI', '/usr/bin/python', set(['py']), '^/cgi-bin/.*$', ['gzip']) MIMEType('text/plain', 'CGI', '/usr/bin/python', set(['py']), '^/cgi-bin/.*$', ['gzip'], 'NO') MIMEType('text/plain', 'CGI', '/usr/bin/python', set(['py']), '^/cgi-bin/.*$', ['gzip'], 'NO', self.definitions)
def test_to_string_param(self): mime = MIMEType('text/plain', 'SEND', '/usr/bin/python') copy = MIMEType.from_string(str(mime)) self.assertEqual(mime, copy)
def test_to_string_path(self): mime = MIMEType('text/plain', 'SEND', path = '^/.*$') copy = MIMEType.from_string(str(mime)) self.assertEqual(mime, copy)
def test_from_lxml_definitions(self): text = '<MIME mime="text/plain" handler="SEND">{0}</MIME>'.format( '\n'.join(map(str, self.definitions))) mime = MIMEType.from_lxml_element(etree.XML(text)) right = MIMEType('text/plain', 'SEND', definitions = self.definitions) self.assertEqual(mime, right)
def test_from_lxml_self_executed(self): text = '<MIME mime="text/plain" handler="SEND" self="YES" />' mime = MIMEType.from_lxml_element(etree.XML(text)) right = MIMEType('text/plain', 'SEND', self_executed='YES') self.assertEqual(mime, right)
def test_from_lxml_extension(self): text = '<MIME mime="text/plain" handler="SEND"><EXTENSION value="py" /></MIME>' mime = MIMEType.from_lxml_element(etree.XML(text)) right = MIMEType('text/plain', 'SEND', extensions = ['py']) self.assertEqual(mime, right)
def test_to_lxml_self_executed(self): mime = MIMEType('text/plain', 'SEND', self_executed='YES') copy = MIMEType.from_lxml_element(mime.to_lxml_element()) self.assertEqual(mime, copy)
def test_handler(self): mime = MIMEType('text/plain',) self.assertEqual(None, mime.get_handler()) mime.set_handler('SEND') self.assertEqual('SEND', mime.get_handler()) mime.set_handler(None) self.assertEqual(None, mime.get_handler()) mime = MIMEType('text/plain', 'SEND') self.assertEqual('SEND', mime.get_handler()) mime = MIMEType('text/plain', handler = 'SEND') self.assertEqual('SEND', mime.get_handler())
def test_to_string_self_executed(self): mime = MIMEType('text/plain', 'SEND', self_executed='YES') copy = MIMEType.from_string(str(mime)) self.assertEqual(mime, copy)
def test_to_lxml_filter(self): mime = MIMEType('text/plain', 'SEND', filters=['gzip', 'bzip2']) copy = MIMEType.from_lxml_element(mime.to_lxml_element()) self.assertEqual(mime, copy)
def test_to_lxml_path(self): mime = MIMEType('text/plain', 'SEND', path='^/.*$') copy = MIMEType.from_lxml_element(mime.to_lxml_element()) self.assertEqual(mime, copy)
def test_to_lxml_extension(self): mime = MIMEType('text/plain', 'SEND', extensions=['py']) copy = MIMEType.from_lxml_element(mime.to_lxml_element()) self.assertEqual(mime, copy)
def test_to_lxml_param(self): mime = MIMEType('text/plain', 'SEND', '/usr/bin/python') copy = MIMEType.from_lxml_element(mime.to_lxml_element()) self.assertEqual(mime, copy)
def test_to_string_self_executed(self): mime = MIMEType('text/plain', 'SEND', self_executed = 'YES') copy = MIMEType.from_string(str(mime)) self.assertEqual(mime, copy)
def test_to_lxml_definitions(self): mime = MIMEType('text/plain', 'SEND', definitions=self.definitions) copy = MIMEType.from_lxml_element(mime.to_lxml_element()) self.assertEqual(mime, copy)
def test_to_string_full(self): mime = MIMEType('text/plain', 'SEND', 'python', ['py'], '^/.*$', ['gzip', 'bzip2'], 'YES', self.definitions) copy = MIMEType.from_string(str(mime)) self.assertEqual(mime, copy)
def test_to_lxml_full(self): mime = MIMEType('text/plain', 'SEND', 'python', ['py'], '^/.*$', ['gzip', 'bzip2'], 'YES', self.definitions) copy = MIMEType.from_lxml_element(mime.to_lxml_element()) self.assertEqual(mime, copy)
def test_extension(self): mime = MIMEType('text/plain', 'SEND') self.assertEqual(set(), mime.get_extensions()) mime.add_extension('py') mime.add_extension('html') self.assertEqual(set(['py', 'html']), mime.get_extensions()) mime.remove_extension('py') self.assertEqual(set(['html']), mime.get_extensions()) mime = MIMEType('text/plain', 'SEND', extensions = set(['py', 'html'])) self.assertEqual(set(['py', 'html']), mime.get_extensions())
def test_to_string_filter(self): mime = MIMEType('text/plain', 'SEND', filters=['gzip', 'bzip2']) copy = MIMEType.from_string(str(mime)) self.assertEqual(mime, copy)
def test_from_lxml_param(self): text = '<MIME mime="text/plain" handler="SEND" param="/usr/bin/python" />' mime = MIMEType.from_lxml_element(etree.XML(text)) right = MIMEType('text/plain', 'SEND', '/usr/bin/python') self.assertEqual(mime, right)
def test_to_string_path(self): mime = MIMEType('text/plain', 'SEND', path='^/.*$') copy = MIMEType.from_string(str(mime)) self.assertEqual(mime, copy)
def test_from_lxml_path(self): text = '<MIME mime="text/plain" handler="SEND"><PATH regex="^/.*$" /></MIME>' mime = MIMEType.from_lxml_element(etree.XML(text)) right = MIMEType('text/plain', 'SEND', path = '^/.*$') self.assertEqual(mime, right)
def test_from_lxml_self_executed(self): text = '<MIME mime="text/plain" handler="SEND" self="YES" />' mime = MIMEType.from_lxml_element(etree.XML(text)) right = MIMEType('text/plain', 'SEND', self_executed = 'YES') self.assertEqual(mime, right)
def test_to_lxml_extension(self): mime = MIMEType('text/plain', 'SEND', extensions = ['py']) copy = MIMEType.from_lxml_element(mime.to_lxml_element()) self.assertEqual(mime, copy)
def test_from_lxml_definitions(self): text = '<MIME mime="text/plain" handler="SEND">{0}</MIME>'.format( '\n'.join(map(str, self.definitions))) mime = MIMEType.from_lxml_element(etree.XML(text)) right = MIMEType('text/plain', 'SEND', definitions=self.definitions) self.assertEqual(mime, right)
def test_to_lxml_filter(self): mime = MIMEType('text/plain', 'SEND', filters = ['gzip', 'bzip2']) copy = MIMEType.from_lxml_element(mime.to_lxml_element()) self.assertEqual(mime, copy)
def test_to_string_extension(self): mime = MIMEType('text/plain', 'SEND', extensions = ['py']) copy = MIMEType.from_string(str(mime)) self.assertEqual(mime, copy)
def test_to_lxml_definitions(self): mime = MIMEType('text/plain', 'SEND', definitions = self.definitions) copy = MIMEType.from_lxml_element(mime.to_lxml_element()) self.assertEqual(mime, copy)
def test_to_string_filter(self): mime = MIMEType('text/plain', 'SEND', filters = ['gzip', 'bzip2']) copy = MIMEType.from_string(str(mime)) self.assertEqual(mime, copy)
def test_to_string_extension(self): mime = MIMEType('text/plain', 'SEND', extensions=['py']) copy = MIMEType.from_string(str(mime)) self.assertEqual(mime, copy)
def test_to_string_definitions(self): mime = MIMEType('text/plain', 'SEND', definitions = self.definitions) copy = MIMEType.from_string(str(mime)) self.assertEqual(mime, copy)
def test_to_string_definitions(self): mime = MIMEType('text/plain', 'SEND', definitions=self.definitions) copy = MIMEType.from_string(str(mime)) self.assertEqual(mime, copy)
def test_handler(self): mime = MIMEType('text/plain', ) self.assertEqual(None, mime.get_handler()) mime.set_handler('SEND') self.assertEqual('SEND', mime.get_handler()) mime.set_handler(None) self.assertEqual(None, mime.get_handler()) mime = MIMEType('text/plain', 'SEND') self.assertEqual('SEND', mime.get_handler()) mime = MIMEType('text/plain', handler='SEND') self.assertEqual('SEND', mime.get_handler())
def test_to_lxml_path(self): mime = MIMEType('text/plain', 'SEND', path = '^/.*$') copy = MIMEType.from_lxml_element(mime.to_lxml_element()) self.assertEqual(mime, copy)
def test_param(self): mime = MIMEType('text/plain', 'SEND') self.assertEqual(None, mime.get_param()) mime.set_param('/usr/bin/python') self.assertEqual('/usr/bin/python', mime.get_param()) mime.set_param(None) self.assertEqual(None, mime.get_param()) mime = MIMEType('text/plain', 'SEND', param='/usr/bin/python') self.assertEqual('/usr/bin/python', mime.get_param())
def test_to_lxml_self_executed(self): mime = MIMEType('text/plain', 'SEND', self_executed = 'YES') copy = MIMEType.from_lxml_element(mime.to_lxml_element()) self.assertEqual(mime, copy)
def test_extension(self): mime = MIMEType('text/plain', 'SEND') self.assertEqual(set(), mime.get_extensions()) mime.add_extension('py') mime.add_extension('html') self.assertEqual(set(['py', 'html']), mime.get_extensions()) mime.remove_extension('py') self.assertEqual(set(['html']), mime.get_extensions()) mime = MIMEType('text/plain', 'SEND', extensions=set(['py', 'html'])) self.assertEqual(set(['py', 'html']), mime.get_extensions())
def test_path(self): mime = MIMEType('text/plain', 'SEND') self.assertEqual(None, mime.get_path()) mime.set_path('^/www/.*$') self.assertEqual('^/www/.*$', mime.get_path()) mime.set_path(None) self.assertEqual(None, mime.get_path()) mime = MIMEType('text/plain', 'SEND', path='^/www/.*$') self.assertEqual('^/www/.*$', mime.get_path())
def test_from_lxml_extension(self): text = '<MIME mime="text/plain" handler="SEND"><EXTENSION value="py" /></MIME>' mime = MIMEType.from_lxml_element(etree.XML(text)) right = MIMEType('text/plain', 'SEND', extensions=['py']) self.assertEqual(mime, right)
def test_from_string_self_executed(self): text = '<MIME mime="text/plain" handler="SEND" self="YES" />' mime = MIMEType.from_string(text) right = MIMEType('text/plain', 'SEND', self_executed = 'YES') self.assertEqual(mime, right)
def test_from_lxml(self): text = '<MIME mime="text/plain" handler="SEND" />' mime = MIMEType.from_lxml_element(etree.XML(text)) right = MIMEType('text/plain', 'SEND') self.assertEqual(mime, right)
def test_from_lxml_path(self): text = '<MIME mime="text/plain" handler="SEND"><PATH regex="^/.*$" /></MIME>' mime = MIMEType.from_lxml_element(etree.XML(text)) right = MIMEType('text/plain', 'SEND', path='^/.*$') self.assertEqual(mime, right)