예제 #1
0
 def test_to_lxml_full(self):
     vhost = VHost('test vhost', 80, 'HTTP', '/www', '/system',
                   [Log('ACCESSLOG'), Log('WARNINGLOG')],
                   ['127.0.0.0/8', '192.168.0.0/16'],
                   {'host.domain': True, 'test.domain': None},
                   'private_key', 'certificate')
     copy = VHost.from_lxml_element(vhost.to_lxml_element())
     self.assertEqual(vhost, copy)
예제 #2
0
 def test_port(self):
     vhost = VHost('test vhost', 80)
     self.assertEqual(80, vhost.get_port())
     vhost.set_port(8080)
     self.assertEqual(8080, vhost.get_port())
     vhost.set_port(None)
     self.assertEqual(None, vhost.get_port())
     vhost = VHost(port = 80)
     self.assertEqual(80, vhost.get_port())
예제 #3
0
 def test_protocol(self):
     vhost = VHost('test vhost', 80, 'HTTP')
     self.assertEqual('HTTP', vhost.get_protocol())
     vhost.set_protocol('NEW PROTOCOL')
     self.assertEqual('NEW PROTOCOL', vhost.get_protocol())
     vhost.set_protocol(None)
     self.assertEqual(None, vhost.get_protocol())
     vhost = VHost(protocol = 'HTTP')
     self.assertEqual('HTTP', vhost.get_protocol())
예제 #4
0
 def test_to_lxml_full(self):
     vhost = VHost('test vhost', 80, 'HTTP', '/www', '/system',
                   [Log('ACCESSLOG'), Log('WARNINGLOG')],
                   ['127.0.0.0/8', '192.168.0.0/16'], {
                       'host.domain': True,
                       'test.domain': None
                   }, 'private_key', 'certificate')
     copy = VHost.from_lxml_element(vhost.to_lxml_element())
     self.assertEqual(vhost, copy)
예제 #5
0
 def test_name(self):
     vhost = VHost('test vhost')
     self.assertEqual('test vhost', vhost.get_name())
     vhost.set_name('vhost')
     self.assertEqual('vhost', vhost.get_name())
     vhost.set_name(None)
     self.assertEqual(None, vhost.get_name())
     vhost = VHost(name = 'test vhost')
     self.assertEqual('test vhost', vhost.get_name())
예제 #6
0
 def test_sys_root(self):
     vhost = VHost('test vhost', 80, 'HTTP', '/www', '/system')
     self.assertEqual('/system', vhost.get_sys_root())
     vhost.set_sys_root('/var/system')
     self.assertEqual('/var/system', vhost.get_sys_root())
     vhost.set_sys_root(None)
     self.assertEqual(None, vhost.get_sys_root())
     vhost = VHost(sys_root = '/system')
     self.assertEqual('/system', vhost.get_sys_root())
예제 #7
0
 def _post_connect(self):
     """
     Called after a transport is established and authentication took place.
     """
     fs = self.get_sftp_filesystem()
     for vhname in fs.listdir(self.apache_available):
         vhost = VHost()
         vhost.name = vhname
         self.add_vhost(vhost)
         vhost.read_config()
예제 #8
0
 def setUp(self):
     self.vhost_0 = VHost(
         'vhost 0', 80, 'HTTP', '/www', '/system',
         [Log('ACCESSLOG'), Log('WARNINGLOG')],
         ['127.0.0.0/8', '192.168.0.0/16'], {
             'host.domain': True,
             'test.domain': None
         })
     self.vhost_1 = VHost(
         'vhost 1', 443, 'HTTPS', '/www', '/system',
         [Log('ACCESSLOG'), Log('WARNINGLOG')])
     self.text = '<VHOSTS>{0}{1}</VHOSTS>'.format(str(self.vhost_0),
                                                  str(self.vhost_1))
예제 #9
0
    def test_from_lxml_full(self):
        text = '''<VHOST>
  <NAME>test vhost</NAME>
  <PORT>80</PORT>
  <PROTOCOL>HTTP</PROTOCOL>
  <DOCROOT>/www</DOCROOT>
  <SYSROOT>/system</SYSROOT>
  <ACCESSLOG />
  <WARNINGLOG />
  <IP>127.0.0.0/8</IP>
  <IP>192.168.0.0/16</IP>
  <HOST useRegex="YES">host.domain</HOST>
  <HOST>test.domain</HOST>
  <SSL_PRIVATEKEY>private_key</SSL_PRIVATEKEY>
  <SSL_CERTIFICATE>certificate</SSL_CERTIFICATE>
</VHOST>'''
        vhost = VHost.from_lxml_element(etree.XML(text))
        right = VHost('test vhost', 80, 'HTTP', '/www', '/system',
                      [Log('ACCESSLOG'), Log('WARNINGLOG')],
                      ['127.0.0.0/8', '192.168.0.0/16'], {
                          'host.domain': True,
                          'test.domain': None
                      }, 'private_key', 'certificate')
        self.assertEqual(vhost, right)
예제 #10
0
    def test_vhost(self):
        text = '''
<VHOST custom="unknown">
  <PORT>123</PORT>
  <UNKNOWN>
    <CUSTOM />
  </UNKNOWN>
</VHOST>'''
        vhost = VHost.from_string(text)
        tree = vhost.to_lxml_element()
        self.assertEqual('unknown', tree.get('custom'))
        unknown = tree.findall('UNKNOWN')
        self.assertEqual(1, len(unknown))
        unknown = unknown[0]
        custom = list(unknown)
        self.assertEqual(1, len(custom))
        custom = custom[0]
        self.assertEqual('CUSTOM', custom.tag)
예제 #11
0
    def test_vhost(self):
        text = '''
<VHOST custom="unknown">
  <PORT>123</PORT>
  <UNKNOWN>
    <CUSTOM />
  </UNKNOWN>
</VHOST>'''
        vhost = VHost.from_string(text)
        tree = vhost.to_lxml_element()
        self.assertEqual('unknown', tree.get('custom'))
        unknown = tree.findall('UNKNOWN')
        self.assertEqual(1, len(unknown))
        unknown = unknown[0]
        custom = list(unknown)
        self.assertEqual(1, len(custom))
        custom = custom[0]
        self.assertEqual('CUSTOM', custom.tag)
예제 #12
0
    def test_from_lxml_full(self):
        text = '''<VHOST>
  <NAME>test vhost</NAME>
  <PORT>80</PORT>
  <PROTOCOL>HTTP</PROTOCOL>
  <DOCROOT>/www</DOCROOT>
  <SYSROOT>/system</SYSROOT>
  <ACCESSLOG />
  <WARNINGLOG />
  <IP>127.0.0.0/8</IP>
  <IP>192.168.0.0/16</IP>
  <HOST useRegex="YES">host.domain</HOST>
  <HOST>test.domain</HOST>
  <SSL_PRIVATEKEY>private_key</SSL_PRIVATEKEY>
  <SSL_CERTIFICATE>certificate</SSL_CERTIFICATE>
</VHOST>'''
        vhost = VHost.from_lxml_element(etree.XML(text))
        right = VHost('test vhost', 80, 'HTTP', '/www', '/system',
                      [Log('ACCESSLOG'), Log('WARNINGLOG')],
                      ['127.0.0.0/8', '192.168.0.0/16'],
                      {'host.domain': True, 'test.domain': None},
                      'private_key', 'certificate')
        self.assertEqual(vhost, right)
예제 #13
0
 def test_name(self):
     vhost = VHost('test vhost')
     self.assertEqual('test vhost', vhost.get_name())
     vhost.set_name('vhost')
     self.assertEqual('vhost', vhost.get_name())
     vhost.set_name(None)
     self.assertEqual(None, vhost.get_name())
     vhost = VHost(name='test vhost')
     self.assertEqual('test vhost', vhost.get_name())
예제 #14
0
 def test_to_string_ip(self):
     vhost = VHost(ip=['127.0.0.0/8'])
     copy = VHost.from_string(str(vhost))
     self.assertEqual(vhost, copy)
예제 #15
0
 def test_to_string_private_key(self):
     vhost = VHost(private_key='private_key')
     copy = VHost.from_string(str(vhost))
     self.assertEqual(vhost, copy)
예제 #16
0
 def test_to_string_protocol(self):
     vhost = VHost(protocol='HTTP')
     copy = VHost.from_string(str(vhost))
     self.assertEqual(vhost, copy)
예제 #17
0
 def test_to_string_sys_root(self):
     vhost = VHost(sys_root='/system')
     copy = VHost.from_string(str(vhost))
     self.assertEqual(vhost, copy)
예제 #18
0
 def test_to_lxml_logs(self):
     vhost = VHost(logs=[Log('ACCESSLOG'), Log('SOMELOG')])
     copy = VHost.from_lxml_element(vhost.to_lxml_element())
     self.assertEqual(vhost, copy)
예제 #19
0
 def test_to_lxml_certificate(self):
     vhost = VHost(certificate='certificate')
     copy = VHost.from_lxml_element(vhost.to_lxml_element())
     self.assertEqual(vhost, copy)
예제 #20
0
 def test_to_lxml_logs(self):
     vhost = VHost(logs = [Log('ACCESSLOG'), Log('SOMELOG')])
     copy = VHost.from_lxml_element(vhost.to_lxml_element())
     self.assertEqual(vhost, copy)
예제 #21
0
 def test_to_lxml_ip(self):
     vhost = VHost(ip = ['127.0.0.0/8'])
     copy = VHost.from_lxml_element(vhost.to_lxml_element())
     self.assertEqual(vhost, copy)
예제 #22
0
 def test_to_lxml_doc_root(self):
     vhost = VHost(doc_root = '/www')
     copy = VHost.from_lxml_element(vhost.to_lxml_element())
     self.assertEqual(vhost, copy)
예제 #23
0
 def test_to_lxml_sys_root(self):
     vhost = VHost(sys_root = '/system')
     copy = VHost.from_lxml_element(vhost.to_lxml_element())
     self.assertEqual(vhost, copy)
예제 #24
0
 def test_to_string_doc_root(self):
     vhost = VHost(doc_root = '/www')
     copy = VHost.from_string(str(vhost))
     self.assertEqual(vhost, copy)
예제 #25
0
 def test_to_lxml_protocol(self):
     vhost = VHost(protocol = 'HTTP')
     copy = VHost.from_lxml_element(vhost.to_lxml_element())
     self.assertEqual(vhost, copy)
예제 #26
0
 def test_to_lxml_port(self):
     vhost = VHost(port = 80)
     copy = VHost.from_lxml_element(vhost.to_lxml_element())
     self.assertEqual(vhost, copy)
예제 #27
0
 def test_to_lxml_port(self):
     vhost = VHost(port=80)
     copy = VHost.from_lxml_element(vhost.to_lxml_element())
     self.assertEqual(vhost, copy)
예제 #28
0
 def test_to_lxml_host(self):
     vhost = VHost(host = {'.*': True, 'a.org': None})
     copy = VHost.from_lxml_element(vhost.to_lxml_element())
     self.assertEqual(vhost, copy)
예제 #29
0
 def test_to_lxml_doc_root(self):
     vhost = VHost(doc_root='/www')
     copy = VHost.from_lxml_element(vhost.to_lxml_element())
     self.assertEqual(vhost, copy)
예제 #30
0
 def test_to_lxml_private_key(self):
     vhost = VHost(private_key = 'private_key')
     copy = VHost.from_lxml_element(vhost.to_lxml_element())
     self.assertEqual(vhost, copy)
예제 #31
0
 def test_to_lxml_host(self):
     vhost = VHost(host={'.*': True, 'a.org': None})
     copy = VHost.from_lxml_element(vhost.to_lxml_element())
     self.assertEqual(vhost, copy)
예제 #32
0
 def test_to_lxml_certificate(self):
     vhost = VHost(certificate = 'certificate')
     copy = VHost.from_lxml_element(vhost.to_lxml_element())
     self.assertEqual(vhost, copy)
예제 #33
0
 def test_to_lxml_name(self):
     vhost = VHost('test vhost')
     copy = VHost.from_lxml_element(vhost.to_lxml_element())
     self.assertEqual(vhost, copy)
예제 #34
0
 def test_to_string_protocol(self):
     vhost = VHost(protocol = 'HTTP')
     copy = VHost.from_string(str(vhost))
     self.assertEqual(vhost, copy)
예제 #35
0
 def test_to_string_doc_root(self):
     vhost = VHost(doc_root='/www')
     copy = VHost.from_string(str(vhost))
     self.assertEqual(vhost, copy)
예제 #36
0
 def test_to_string_private_key(self):
     vhost = VHost(private_key = 'private_key')
     copy = VHost.from_string(str(vhost))
     self.assertEqual(vhost, copy)
예제 #37
0
 def test_to_string_logs(self):
     vhost = VHost(logs=[Log('ACCESSLOG'), Log('SOMELOG')])
     copy = VHost.from_string(str(vhost))
     self.assertEqual(vhost, copy)
예제 #38
0
 def test_to_string_port(self):
     vhost = VHost(port = 80)
     copy = VHost.from_string(str(vhost))
     self.assertEqual(vhost, copy)
예제 #39
0
 def test_to_string_host(self):
     vhost = VHost(host={'.*': True, 'a.org': None})
     copy = VHost.from_string(str(vhost))
     self.assertEqual(vhost, copy)
예제 #40
0
 def test_to_string_name(self):
     vhost = VHost('test vhost')
     copy = VHost.from_string(str(vhost))
     self.assertEqual(vhost, copy)
예제 #41
0
 def test_to_string_certificate(self):
     vhost = VHost(certificate='certificate')
     copy = VHost.from_string(str(vhost))
     self.assertEqual(vhost, copy)
예제 #42
0
 def test_to_string_host(self):
     vhost = VHost(host = {'.*': True, 'a.org': None})
     copy = VHost.from_string(str(vhost))
     self.assertEqual(vhost, copy)
예제 #43
0
 def test_to_lxml_name(self):
     vhost = VHost('test vhost')
     copy = VHost.from_lxml_element(vhost.to_lxml_element())
     self.assertEqual(vhost, copy)
예제 #44
0
 def test_sys_root(self):
     vhost = VHost('test vhost', 80, 'HTTP', '/www', '/system')
     self.assertEqual('/system', vhost.get_sys_root())
     vhost.set_sys_root('/var/system')
     self.assertEqual('/var/system', vhost.get_sys_root())
     vhost.set_sys_root(None)
     self.assertEqual(None, vhost.get_sys_root())
     vhost = VHost(sys_root='/system')
     self.assertEqual('/system', vhost.get_sys_root())
예제 #45
0
 def test_to_lxml_protocol(self):
     vhost = VHost(protocol='HTTP')
     copy = VHost.from_lxml_element(vhost.to_lxml_element())
     self.assertEqual(vhost, copy)
예제 #46
0
 def test_to_string_ip(self):
     vhost = VHost(ip = ['127.0.0.0/8'])
     copy = VHost.from_string(str(vhost))
     self.assertEqual(vhost, copy)
예제 #47
0
 def test_to_lxml_sys_root(self):
     vhost = VHost(sys_root='/system')
     copy = VHost.from_lxml_element(vhost.to_lxml_element())
     self.assertEqual(vhost, copy)
예제 #48
0
 def test_to_string_logs(self):
     vhost = VHost(logs = [Log('ACCESSLOG'), Log('SOMELOG')])
     copy = VHost.from_string(str(vhost))
     self.assertEqual(vhost, copy)
예제 #49
0
 def test_to_lxml_ip(self):
     vhost = VHost(ip=['127.0.0.0/8'])
     copy = VHost.from_lxml_element(vhost.to_lxml_element())
     self.assertEqual(vhost, copy)
예제 #50
0
 def test_to_string_name(self):
     vhost = VHost('test vhost')
     copy = VHost.from_string(str(vhost))
     self.assertEqual(vhost, copy)
예제 #51
0
 def test_to_lxml_private_key(self):
     vhost = VHost(private_key='private_key')
     copy = VHost.from_lxml_element(vhost.to_lxml_element())
     self.assertEqual(vhost, copy)
예제 #52
0
 def test_to_string_port(self):
     vhost = VHost(port=80)
     copy = VHost.from_string(str(vhost))
     self.assertEqual(vhost, copy)
예제 #53
0
 def test_from_lxml_certificate(self):
     text = '<VHOST><SSL_CERTIFICATE>certificate</SSL_CERTIFICATE></VHOST>'
     vhost = VHost.from_lxml_element(etree.XML(text))
     right = VHost(certificate = 'certificate')
     self.assertEqual(vhost, right)
예제 #54
0
 def test_to_string_certificate(self):
     vhost = VHost(certificate = 'certificate')
     copy = VHost.from_string(str(vhost))
     self.assertEqual(vhost, copy)
예제 #55
0
 def test_port(self):
     vhost = VHost('test vhost', 80)
     self.assertEqual(80, vhost.get_port())
     vhost.set_port(8080)
     self.assertEqual(8080, vhost.get_port())
     vhost.set_port(None)
     self.assertEqual(None, vhost.get_port())
     vhost = VHost(port=80)
     self.assertEqual(80, vhost.get_port())
예제 #56
0
 def test_to_string_sys_root(self):
     vhost = VHost(sys_root = '/system')
     copy = VHost.from_string(str(vhost))
     self.assertEqual(vhost, copy)
예제 #57
0
 def test_protocol(self):
     vhost = VHost('test vhost', 80, 'HTTP')
     self.assertEqual('HTTP', vhost.get_protocol())
     vhost.set_protocol('NEW PROTOCOL')
     self.assertEqual('NEW PROTOCOL', vhost.get_protocol())
     vhost.set_protocol(None)
     self.assertEqual(None, vhost.get_protocol())
     vhost = VHost(protocol='HTTP')
     self.assertEqual('HTTP', vhost.get_protocol())
예제 #58
0
 def test_logs(self):
     a_log = Log('ACCESSLOG')
     w_log = Log('WARNINGLOG')
     vhost = VHost('test vhost', 80, 'HTTP', '/www', '/system', [a_log, w_log])
     self.assertEqual([a_log, w_log], vhost.get_logs())
     vhost.add_log(a_log)
     self.assertEqual([a_log, w_log, a_log], vhost.get_logs())
     vhost.remove_log(0)
     self.assertEqual([w_log, a_log], vhost.get_logs())
     vhost.add_log(w_log, 0)
     self.assertEqual([w_log, w_log, a_log], vhost.get_logs())
     vhost = VHost(logs = [a_log, w_log])
     self.assertEqual([a_log, w_log], vhost.get_logs())
예제 #59
0
 def test_logs(self):
     a_log = Log('ACCESSLOG')
     w_log = Log('WARNINGLOG')
     vhost = VHost('test vhost', 80, 'HTTP', '/www', '/system',
                   [a_log, w_log])
     self.assertEqual([a_log, w_log], vhost.get_logs())
     vhost.add_log(a_log)
     self.assertEqual([a_log, w_log, a_log], vhost.get_logs())
     vhost.remove_log(0)
     self.assertEqual([w_log, a_log], vhost.get_logs())
     vhost.add_log(w_log, 0)
     self.assertEqual([w_log, w_log, a_log], vhost.get_logs())
     vhost = VHost(logs=[a_log, w_log])
     self.assertEqual([a_log, w_log], vhost.get_logs())
예제 #60
0
 def test_from_lxml_certificate(self):
     text = '<VHOST><SSL_CERTIFICATE>certificate</SSL_CERTIFICATE></VHOST>'
     vhost = VHost.from_lxml_element(etree.XML(text))
     right = VHost(certificate='certificate')
     self.assertEqual(vhost, right)