[Zope-Checkins] CVS: Zope/lib/python/ZServer/tests - test_config.py:1.4

Chris McDonough chrism at zope.com
Thu Oct 2 17:31:29 EDT 2003


Thank you!

On Thu, 2003-10-02 at 16:38, Fred L. Drake, Jr. wrote:
> Update of /cvs-repository/Zope/lib/python/ZServer/tests
> In directory cvs.zope.org:/tmp/cvs-serv9936
> 
> Modified Files:
> 	test_config.py 
> Log Message:
> test proper behavior of the monitor server factory both with and
> without an emergency user (the original test was failing; now we're
> more thorough)
> 
> 
> === Zope/lib/python/ZServer/tests/test_config.py 1.3 => 1.4 ===
> --- Zope/lib/python/ZServer/tests/test_config.py:1.3	Mon Mar 24 17:32:40 2003
> +++ Zope/lib/python/ZServer/tests/test_config.py	Thu Oct  2 16:38:29 2003
> @@ -26,7 +26,7 @@
>  TEMPFILENAME = tempfile.mktemp()
>  
> 
> -class ZServerConfigurationTestCase(unittest.TestCase):
> +class BaseTest(unittest.TestCase):
>      schema = None
>  
>      def get_schema(self):
> @@ -40,7 +40,7 @@
>              </schema>
>              """)
>              schema = ZConfig.loadSchemaFile(sio)
> -            ZServerConfigurationTestCase.schema = schema
> +            BaseTest.schema = schema
>          return self.schema
>  
>      def load_factory(self, text):
> @@ -49,6 +49,24 @@
>          self.assertEqual(len(conf.servers), 1)
>          return conf.servers[0]
>  
> +    def check_prepare(self, factory):
> +        port = factory.port
> +        o = object()
> +        factory.prepare("127.0.0.1", o, "module",
> +                        {"key": "value"}, portbase=9300)
> +        self.assert_(factory.dnsresolver is o)
> +        self.assertEqual(factory.module, "module")
> +        self.assertEqual(factory.cgienv.items(), [("key", "value")])
> +        if port is None:
> +            self.assert_(factory.host is None)
> +            self.assert_(factory.port is None)
> +        else:
> +            self.assertEqual(factory.host, "127.0.0.1")
> +            self.assertEqual(factory.port, 9300 + port)
> +
> +
> +class ZServerConfigurationTestCase(BaseTest):
> +
>      def load_unix_domain_factory(self, text):
>          fn = TEMPFILENAME
>          f = open(fn, 'w')
> @@ -144,19 +162,6 @@
>          self.check_prepare(factory)
>          factory.create().close()
>  
> -    def test_monitor_factory(self):
> -        factory = self.load_factory("""\
> -            <monitor-server>
> -              address 85
> -            </monitor-server>
> -            """)
> -        self.assert_(isinstance(factory,
> -                                ZServer.datatypes.MonitorServerFactory))
> -        self.assertEqual(factory.host, '')
> -        self.assertEqual(factory.port, 85)
> -        self.check_prepare(factory)
> -        factory.create().close()
> -
>      def test_icp_factory(self):
>          factory = self.load_factory("""\
>              <icp-server>
> @@ -170,24 +175,54 @@
>          self.check_prepare(factory)
>          factory.create().close()
>  
> -    def check_prepare(self, factory):
> -        port = factory.port
> -        o = object()
> -        factory.prepare("127.0.0.1", o, "module",
> -                        {"key": "value"}, portbase=9300)
> -        self.assert_(factory.dnsresolver is o)
> -        self.assertEqual(factory.module, "module")
> -        self.assertEqual(factory.cgienv.items(), [("key", "value")])
> -        if port is None:
> -            self.assert_(factory.host is None)
> -            self.assert_(factory.port is None)
> -        else:
> -            self.assertEqual(factory.host, "127.0.0.1")
> -            self.assertEqual(factory.port, 9300 + port)
> +
> +class MonitorServerConfigurationTestCase(BaseTest):
> +
> +    def setUp(self):
> +        from AccessControl import User
> +        self.__emergency_user = User.emergency_user
> +
> +    class FakeUser:
> +        def _getPassword(self):
> +            return "foo"
> +
> +    def tearDown(self):
> +        from AccessControl import User
> +        User.emergency_user = self.__emergency_user
> +
> +    def setUser(self, null):
> +        from AccessControl import User
> +        u = self.FakeUser()
> +        if null:
> +            u.__null_user__ = True
> +        User.emergency_user = u
> +
> +    def create(self):
> +        factory = self.load_factory("""\
> +            <monitor-server>
> +              address 85
> +            </monitor-server>
> +            """)
> +        self.assert_(isinstance(factory,
> +                                ZServer.datatypes.MonitorServerFactory))
> +        self.assertEqual(factory.host, '')
> +        self.assertEqual(factory.port, 85)
> +        self.check_prepare(factory)
> +        return factory.create()
> +
> +    def test_monitor_factory_without_emergency_user(self):
> +        self.setUser(True)
> +        self.assert_(self.create() is None)
> +
> +    def test_monitor_factory_with_emergency_user(self):
> +        self.setUser(False)
> +        self.create().close()
>  
> 
>  def test_suite():
> -    return unittest.makeSuite(ZServerConfigurationTestCase)
> +    suite = unittest.makeSuite(ZServerConfigurationTestCase)
> +    suite.addTest(unittest.makeSuite(MonitorServerConfigurationTestCase))
> +    return suite
>  
>  if __name__ == "__main__":
>      unittest.main(defaultTest="test_suite")
> 
> 
> _______________________________________________
> Zope-Checkins maillist  -  Zope-Checkins at zope.org
> http://mail.zope.org/mailman/listinfo/zope-checkins
-- 
Chris McDonough <chrism at zope.com>
Zope Corporation




More information about the Zope-Checkins mailing list