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_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_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_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 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_definitions(self): mime = MIMEType('text/plain', 'SEND') self.assertEqual([], mime.get_definitions()) for definition in self.definitions: mime.add_definition(definition) self.assertEqual(self.definitions, mime.get_definitions()) for i in xrange(len(self.definitions)): self.assertEqual(self.definitions[i], mime.get_definition(i)) mime.remove_definition(0) self.assertEqual(self.definitions[1:], mime.get_definitions()) mime = MIMEType('text/plain', 'SEND', definitions=self.definitions) self.assertEqual(self.definitions, mime.get_definitions())
def test_filters(self): mime = MIMEType('text/plain', 'SEND') self.assertEqual([], mime.get_filters()) mime.add_filter('gzip') mime.add_filter('bzip2') self.assertEqual(['gzip', 'bzip2'], mime.get_filters()) mime.add_filter('bzip2', 0) self.assertEqual(['bzip2', 'gzip', 'bzip2'], mime.get_filters()) mime.remove_filter(2) self.assertEqual(['bzip2', 'gzip'], mime.get_filters()) self.assertEqual('gzip', mime.get_filter(1)) mime = MIMEType('text/plain', 'SEND', filters=['gzip', 'bzip2']) self.assertEqual(['gzip', 'bzip2'], mime.get_filters())
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_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_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_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_to_string_path(self): mime = MIMEType('text/plain', 'SEND', path='^/.*$') 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_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_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_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_param(self): mime = MIMEType('text/plain', 'SEND', '/usr/bin/python') 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_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_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_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_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_string_definitions(self): mime = MIMEType('text/plain', 'SEND', definitions=self.definitions) copy = MIMEType.from_string(str(mime)) self.assertEqual(mime, copy)
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_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_string_filter(self): mime = MIMEType('text/plain', 'SEND', filters=['gzip', 'bzip2']) copy = MIMEType.from_string(str(mime)) self.assertEqual(mime, copy)