示例#1
0
 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')
示例#2
0
    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)
示例#3
0
 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())
示例#4
0
 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())
示例#5
0
 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())
示例#6
0
 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)
示例#7
0
    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)
示例#8
0
    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)
示例#9
0
    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))
示例#10
0
    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))
示例#11
0
 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)
示例#12
0
    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)
示例#13
0
 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')
示例#14
0
 def test_to_string_param(self):
     mime = MIMEType('text/plain', 'SEND', '/usr/bin/python')
     copy = MIMEType.from_string(str(mime))
     self.assertEqual(mime, copy)
示例#15
0
 def test_to_string_path(self):
     mime = MIMEType('text/plain', 'SEND', path = '^/.*$')
     copy = MIMEType.from_string(str(mime))
     self.assertEqual(mime, copy)
示例#16
0
 def test_to_string_param(self):
     mime = MIMEType('text/plain', 'SEND', '/usr/bin/python')
     copy = MIMEType.from_string(str(mime))
     self.assertEqual(mime, copy)
示例#17
0
 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)
示例#18
0
 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)
示例#19
0
 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)
示例#20
0
 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)
示例#21
0
 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())
示例#22
0
 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)
示例#23
0
 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)
示例#24
0
 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)
示例#25
0
 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)
示例#26
0
 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)
示例#27
0
 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)
示例#28
0
 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)
示例#29
0
 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)
示例#30
0
 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)
示例#31
0
 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())
示例#32
0
 def test_to_string_filter(self):
     mime = MIMEType('text/plain', 'SEND', filters=['gzip', 'bzip2'])
     copy = MIMEType.from_string(str(mime))
     self.assertEqual(mime, copy)
示例#33
0
 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)
示例#34
0
 def test_to_string_path(self):
     mime = MIMEType('text/plain', 'SEND', path='^/.*$')
     copy = MIMEType.from_string(str(mime))
     self.assertEqual(mime, copy)
示例#35
0
 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)
示例#36
0
 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)
示例#37
0
 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)
示例#38
0
 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)
示例#39
0
 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)
示例#40
0
 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)
示例#41
0
 def test_to_string_extension(self):
     mime = MIMEType('text/plain', 'SEND', extensions = ['py'])
     copy = MIMEType.from_string(str(mime))
     self.assertEqual(mime, copy)
示例#42
0
 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)
示例#43
0
 def test_to_string_filter(self):
     mime = MIMEType('text/plain', 'SEND', filters = ['gzip', 'bzip2'])
     copy = MIMEType.from_string(str(mime))
     self.assertEqual(mime, copy)
示例#44
0
 def test_to_string_extension(self):
     mime = MIMEType('text/plain', 'SEND', extensions=['py'])
     copy = MIMEType.from_string(str(mime))
     self.assertEqual(mime, copy)
示例#45
0
 def test_to_string_definitions(self):
     mime = MIMEType('text/plain', 'SEND', definitions = self.definitions)
     copy = MIMEType.from_string(str(mime))
     self.assertEqual(mime, copy)
示例#46
0
 def test_to_string_definitions(self):
     mime = MIMEType('text/plain', 'SEND', definitions=self.definitions)
     copy = MIMEType.from_string(str(mime))
     self.assertEqual(mime, copy)
示例#47
0
 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)
示例#48
0
 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())
示例#49
0
 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)
示例#50
0
 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())
示例#51
0
 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)
示例#52
0
 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())
示例#53
0
 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)
示例#54
0
 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())
示例#55
0
 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)
示例#56
0
 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)
示例#57
0
 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)
示例#58
0
 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)
示例#59
0
 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)
示例#60
0
 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)