[Zope-Checkins] CVS: Zope3/lib/python/Zope/Publisher/XMLRPC/tests - testMethodPublisher.py:1.1.2.1 TestViews.py:1.1.2.2 testDirectives.py:1.1.2.2

Stephan Richter srichter@cbu.edu
Wed, 13 Mar 2002 05:58:06 -0500


Update of /cvs-repository/Zope3/lib/python/Zope/Publisher/XMLRPC/tests
In directory cvs.zope.org:/tmp/cvs-serv11175/lib/python/Zope/Publisher/XMLRPC/tests

Modified Files:
      Tag: srichter-OFS_Formulator-branch
	TestViews.py testDirectives.py 
Added Files:
      Tag: srichter-OFS_Formulator-branch
	testMethodPublisher.py 
Log Message:
- Added some more tests. Won;t do more, since Publisher is being redesigned
  later this week. I will wait until then.

- Added preliminary SOAP support, so we can test Mozilla's SOAP 
  capabilities. Unfortunately, soaplib is very old; I will look into using 
  SOAPpy instead. It seems fairly complete.


=== Added File Zope3/lib/python/Zope/Publisher/XMLRPC/tests/testMethodPublisher.py ===
# Copyright (c) 2001 Zope Corporation and Contributors.  All Rights Reserved.
# 
# This software is subject to the provisions of the Zope Public License,
# Version 1.1 (ZPL).  A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE.

import unittest, sys

from Zope.Publisher.XMLRPC.MethodPublisher import MethodPublisher
from Zope.Publisher.XMLRPC.IXMLRPCPublisher import IXMLRPCPublisher

from Interface import verify, instancesOfObjectImplements

class Presentation(MethodPublisher):
    index = 'index'
    action = 'action'
    foo = 'foo'


class TestMethodPublisher(unittest.TestCase):

    def setUp(self):
        self.pres = Presentation()


    def testImplementsIXMLRPCPublisher(self):
        self.failUnless(IXMLRPCPublisher.isImplementedBy(self.pres))


    def testInterfacesVerify(self):
        for interface in instancesOfObjectImplements(Presentation):
            verify(interface, Presentation)


    def testXMLRPCDefault(self):
        self.assertEquals(self.pres.xmlrpc_default(None),
            (self.pres, ('info',)))


    def testXMLRPCTraverseIndex(self):
        self.assertEquals(self.pres.xmlrpc_traverse(None, 'index'),
            'index')


    def testXMLRPCTraverseAction(self):
        self.assertEquals(self.pres.xmlrpc_traverse(None, 'action'),
            'action')


    def testXMLRPCTraverseNotFound(self):
        self.failUnlessRaises(AttributeError, self.pres.xmlrpc_traverse, 
            None, 'bar')



def test_suite():
    loader=unittest.TestLoader()
    return loader.loadTestsFromTestCase(TestMethodPublisher)

if __name__=='__main__':
    unittest.TextTestRunner().run(test_suite())


=== Zope3/lib/python/Zope/Publisher/XMLRPC/tests/TestViews.py 1.1.2.1 => 1.1.2.2 ===
 
 from Interface import Interface
-from Zope.Publisher.Browser.IBrowserPublisher import IBrowserPublisher
+from Zope.Publisher.XMLRPC.IXMLRPCPublisher import IXMLRPCPublisher
 
 class IC(Interface): pass
 
 class V1:
-    __implements__ = IBrowserPublisher
+    __implements__ = IXMLRPCPublisher
 
     def __init__(self,context): 
         self._context = context 
@@ -30,7 +30,7 @@
     pass
 
 class R1:
-    __implements__ = IBrowserPublisher
+    __implements__ = IXMLRPCPublisher
 
 r1 = R1()
 


=== Zope3/lib/python/Zope/Publisher/XMLRPC/tests/testDirectives.py 1.1.2.1 => 1.1.2.2 ===
 import unittest, sys
 from Zope.Configuration.xmlconfig import xmlconfig
-from Zope.Publisher.Browser.IBrowserPublisher import IBrowserPublisher
-from Zope.Publisher.Browser.tests.TestViews import IC, V1, VZMI, R1, RZMI
+from Zope.Publisher.XMLRPC.IXMLRPCPublisher import IXMLRPCPublisher
+from Zope.Publisher.XMLRPC.tests.TestViews import IC, V1, VZMI, R1, RZMI
 from Zope.Testing.CleanUp import CleanUp # Base class w registry cleanup
 from Zope.ComponentArchitecture import getView, getResource
 from Zope.ComponentArchitecture import getDefaultViewName
@@ -22,7 +22,7 @@
 
 template = """<zopeConfigure
    xmlns='http://namespaces.zope.org/zope'
-   xmlns:browser='http://namespaces.zope.org/browser'>
+   xmlns:xmlrpc='http://namespaces.zope.org/xmlrpc'>
    %s
    </zopeConfigure>"""
 
@@ -31,135 +31,50 @@
 
 class Test(CleanUp, unittest.TestCase):
 
-    # XXX: tests for other directives needed
-
     def testView(self):
 
         ob = Ob()
-        self.assertEqual(getView(ob, 'test', IBrowserPublisher, None), None)
+        self.assertEqual(getView(ob, 'test', IXMLRPCPublisher, None), None)
 
         xmlconfig(StringIO(template % (
             """
             <directive name="view"
-                       attributes="component, name, for, layer"
-               handler="Zope.Publisher.Browser.metaConfigure.view"
-               namespace="http://namespaces.zope.org/browser" />
-            <browser:view name="test"
-                  factory="Zope.Publisher.Browser.tests.TestViews.V1"
-                  for="Zope.Publisher.Browser.tests.TestViews.IC" /> 
+              attributes="component, name, for, layer"
+              handler="Zope.Publisher.XMLRPC.metaConfigure.view"
+              namespace="http://namespaces.zope.org/xmlrpc" />
+            <xmlrpc:view name="test"
+              factory="Zope.Publisher.XMLRPC.tests.TestViews.V1"
+              for="Zope.Publisher.XMLRPC.tests.TestViews.IC" /> 
             """
             ))) 
         
-        self.assertEqual(getView(ob, 'test', IBrowserPublisher, None
+        self.assertEqual(getView(ob, 'test', IXMLRPCPublisher, None
                                  ).__class__, V1)
+
          
     def testDefaultView(self):
 
         ob = Ob()
-        self.assertEqual(getView(ob, 'test', IBrowserPublisher, None), None)
+        self.assertEqual(getView(ob, 'test', IXMLRPCPublisher, None), None)
 
         xmlconfig(StringIO(template % (
             """
             <directive name="defaultView"
                        attributes="component, name, for, layer"
-               handler="Zope.Publisher.Browser.metaConfigure.defaultView"
-               namespace="http://namespaces.zope.org/browser" />
-            <browser:defaultView name="test"
-                  factory="Zope.Publisher.Browser.tests.TestViews.V1"
-                  for="Zope.Publisher.Browser.tests.TestViews.IC" /> 
+               handler="Zope.Publisher.XMLRPC.metaConfigure.defaultView"
+               namespace="http://namespaces.zope.org/xmlrpc" />
+            <xmlrpc:defaultView name="test"
+                  factory="Zope.Publisher.XMLRPC.tests.TestViews.V1"
+                  for="Zope.Publisher.XMLRPC.tests.TestViews.IC" /> 
             """
             ))) 
         
-        self.assertEqual(getView(ob, 'test', IBrowserPublisher, None
+        self.assertEqual(getView(ob, 'test', IXMLRPCPublisher, None
                                  ).__class__, V1)
-        self.assertEqual(getDefaultViewName(ob, IBrowserPublisher
+        self.assertEqual(getDefaultViewName(ob, IXMLRPCPublisher
                                  ), 'test')
                                  
-        
-      
-    def testSKinView(self):
-
-        ob = Ob()
-        self.assertEqual(getView(ob, 'test', IBrowserPublisher, None), None)
-
-        xmlconfig(StringIO(template % (
-            """
-            <directive name="view"
-                       attributes="component, name, for, layer"
-                handler="Zope.Publisher.Browser.metaConfigure.view"
-                namespace="http://namespaces.zope.org/browser" />
-            <directive name="skin" attributes="name, layers"
-                handler="Zope.Publisher.Browser.metaConfigure.skin"
-                namespace="http://namespaces.zope.org/browser" />
-            <browser:skin name="zmi" layers="zmi," />
-            <browser:view name="test"
-                  factory="Zope.Publisher.Browser.tests.TestViews.VZMI"
-                  layer="zmi" 
-                  for="Zope.Publisher.Browser.tests.TestViews.IC" /> 
-            <browser:view name="test"
-                  factory="Zope.Publisher.Browser.tests.TestViews.V1"
-                  for="Zope.Publisher.Browser.tests.TestViews.IC" />
-            """
-            ))) 
-        
-        self.assertEqual(getView(ob, 'test', IBrowserPublisher, None
-                                 ).__class__, V1)
-        self.assertEqual(getView(ob, 'test', IBrowserPublisher, None,
-                                 skin='zmi').__class__,
-                         VZMI)
-
-    def testResource(self):
-
-        ob = Ob()
-        self.assertEqual(getResource(ob, 'test', IBrowserPublisher, None),
-                         None)
-
-        xmlconfig(StringIO(template % (
-            """
-            <directive name="resource"
-                       attributes="component, name, layer"
-               handler="Zope.Publisher.Browser.metaConfigure.resource"
-               namespace="http://namespaces.zope.org/browser" />
-            <browser:resource name="test"
-                  component="Zope.Publisher.Browser.tests.TestViews.r1" /> 
-            """
-            ))) 
-        
-        self.assertEqual(
-            getResource(ob, 'test', IBrowserPublisher, None).__class__,
-            R1)
-         
-    def testSKinResource(self):
-
-        ob = Ob()
-        self.assertEqual(
-            getResource(ob, 'test', IBrowserPublisher, None),
-            None)
-
-        xmlconfig(StringIO(template % (
-            """
-            <directive name="resource" attributes="component, name, layer"
-                handler="Zope.Publisher.Browser.metaConfigure.resource"
-                namespace="http://namespaces.zope.org/browser" />
-            <directive name="skin" attributes="name, layers"
-                handler="Zope.Publisher.Browser.metaConfigure.skin"
-                namespace="http://namespaces.zope.org/browser" />
-            <browser:skin name="zmi" layers="zmi," />
-            <browser:resource name="test"
-                  component="Zope.Publisher.Browser.tests.TestViews.rZMI"
-                  layer="zmi" /> 
-            <browser:resource name="test"
-                  component="Zope.Publisher.Browser.tests.TestViews.r1" />
-            """
-            ))) 
-        
-        self.assertEqual(
-            getResource(ob, 'test', IBrowserPublisher, None).__class__,
-            R1)
-        self.assertEqual(
-            getResource(ob, 'test', IBrowserPublisher, None,
-                        skin='zmi').__class__,
-            RZMI)
+              
     
 def test_suite():
     loader=unittest.TestLoader()