예제 #1
0
    def test_port_count(self):
        sa = build_app([SinglePortService], 'tns', name='SinglePortApp')
        sa.interface.build_interface_document(self.url)
        sa_wsdl_el = sa.interface.root_elt

        self.assertEquals(1, len(sa_wsdl_el.findall(self.port_type_string)))
        pl = sa_wsdl_el.findall(self.port_type_string)
        self.assertEqual(1, len(pl))


        da = build_app([DoublePortService], 'tns', name='DoublePortApp')
        da_wsdl_string = da.interface.build_interface_document(self.url)
        da_wsdl_el = da.interface.root_elt

        self.assertEquals(2, len(da_wsdl_el.findall(self.port_type_string)))
예제 #2
0
    def test_default_port_type(self):
        # Test the default port is created
        # Test the default port has the correct name
        app = build_app([TDefaultPortService()], "DefaultPortTest", "DefaultPortName")

        wrapper = AppTestWrapper(app)
        self._default_port_type(wrapper, "DefaultPortName", 1)
예제 #3
0
    def test_port_name(self):
        sa = build_app([SinglePortService], 'tns', name='SinglePortApp')
        sa.interface.build_interface_document(self.url)
        sa_wsdl_el = sa.interface.root_elt

        pl = sa_wsdl_el.findall(self.port_type_string)
        print(('\n', pl, pl[0].attrib))
        self.assertEqual('FirstPortType', pl[0].get('name'))

        da = build_app([DoublePortService], 'tns', name='DoublePortApp')

        da.interface.build_interface_document(self.url)
        da_wsdl_el = da.interface.root_elt

        pl2 = da_wsdl_el.findall(self.port_type_string)
        self.assertEqual('FirstPort', pl2[0].get('name'))
        self.assertEqual('SecondPort', pl2[1].get('name'))
예제 #4
0
    def test_port_count(self):
        sa = build_app([TSinglePortService()], 'tns', name='SinglePortApp')
        wsdl = Wsdl11(sa.interface)
        wsdl.build_interface_document(self.url)
        sa_wsdl_el = wsdl.root_elt

        self.assertEquals(1, len(sa_wsdl_el.findall(self.port_type_string)))
        pl = sa_wsdl_el.findall(self.port_type_string)
        self.assertEqual(1, len(pl))

        da = build_app([TDoublePortService()], 'tns', name='DoublePortApp')
        wsdl = Wsdl11(da.interface)
        wsdl.build_interface_document(self.url)

        from lxml import etree
        print etree.tostring(wsdl.root_elt, pretty_print=True)
        self.assertEquals(2, len(wsdl.root_elt.findall(self.port_type_string)))
예제 #5
0
    def test_default_binding_methods_multiple(self):
        app = build_app(
            [TDefaultPortServiceMultipleMethods()], "DefaultBindingMethodsTns", "MultipleDefaultBindMethodsApp"
        )

        wrapper = AppTestWrapper(app)

        self._default_binding_methods(wrapper, 3, ["echo_one", "echo_two", "echo_three"])
예제 #6
0
    def test_tns(self):
        sa = build_app([SinglePortService], 'SinglePort', 'TestServiceName')

        sa.interface.build_interface_document(self.url)
        sa_el = sa.interface.root_elt
        tns = sa_el.get('targetNamespace')
        self.assertEqual('SinglePort', tns)

        sa = build_app(
            [SinglePortService, DoublePortService],
            'MultiServiceTns',
            'AppName'
        )

        sa.interface.build_interface_document(self.url)
        tns = sa.interface.root_elt.get('targetNamespace')

        self.assertEqual(tns, 'MultiServiceTns')
예제 #7
0
    def test_default_service(self):
        single_app = build_app(
                [DefaultPortService],
                'DefaultServiceTns',
                'DefaultPortServiceApp'
                )

        single_wrapper = AppTestWrapper(single_app)
        self._default_service(single_wrapper, "DefaultPortServiceApp")
예제 #8
0
    def test_default_service_multiple_methods(self):
        triple_app = build_app(
                [DefaultPortServiceMultipleMethods],
                'DefaultServiceTns',
                'DefaultPortServiceApp'
                )

        triple_wrapper = AppTestWrapper(triple_app)
        self._default_service(triple_wrapper, "DefaultPortServiceApp")
예제 #9
0
    def test_default_binding_multiple(self):
        app = build_app(
                [DefaultPortServiceMultipleMethods],
                'DefaultPortTest',
                'MultipleDefaultBindingNameApp'
                )

        wrapper = AppTestWrapper(app)

        self._default_binding(wrapper, 'MultipleDefaultBindingNameApp', 3)
예제 #10
0
    def test_default_binding(self):
        app = build_app(
                [DefaultPortService],
                'DefaultPortTest',
                'DefaultBindingName'
        )

        wrapper = AppTestWrapper(app)

        self._default_binding(wrapper, "DefaultBindingName", 1)
예제 #11
0
    def test_default_port_type_multiple(self):
        app = build_app(
                [DefaultPortServiceMultipleMethods],
                'DefaultServiceTns',
                'MultipleDefaultPortServiceApp'
                )

        wrapper = AppTestWrapper(app)

        self._default_port_type(wrapper, "MultipleDefaultPortServiceApp", 3)
예제 #12
0
    def test_service_name(self):
        sa = build_app([SinglePortService], 'SinglePort', 'TestServiceName')
        sa.interface.build_interface_document(self.url)
        sa_el = sa.interface.root_elt

        sl = [s for s in sa_el.iterfind(self.service_string)]
        name = sl[0].get('name')
        print((len(sl)))

        self.assertEqual('SinglePortService_ServiceInterface', name)
예제 #13
0
    def test_raise_no_service_port(self):

        app = build_app(
            [MissingServicePortService],
            'MisingPortTns',
            'MissingPortApp'
        )

        self.assertRaises(ValueError, app.interface.build_interface_document,
                                                                       self.url)

        app = build_app(
            [SinglePortService, MissingServicePortService],
            'MissingServicePort2Tns',
            'MissingServicePort2App'
        )

        self.assertRaises(ValueError, app.interface.build_interface_document,
                                                                       self.url)
예제 #14
0
    def test_raise_invalid_port(self):

        app = build_app(
            [BadRPCPortService],
            'MisingPortTns',
            'MissingPortApp'
        )

        self.assertRaises(ValueError, app.interface.build_interface_document,
                                                                       self.url)

        app = build_app(
            [BadRPCPortService, SinglePortService],
            'MissingPort2Tns',
            'MissingPortApp'
        )

        self.assertRaises(ValueError, app.interface.build_interface_document,
                                                                       self.url)
예제 #15
0
    def test_default_port_type(self):
        # Test the default port is created
        # Test the default port has the correct name

        app = build_app(
                [DefaultPortService],
                'DefaultPortTest',
                'DefaultPortName'
        )

        wrapper = AppTestWrapper(app)
        self._default_port_type(wrapper, 'DefaultPortName', 1)
예제 #16
0
    def test_raise_missing_port(self):
        # Test that an exception is raised when a port is declared in the service class
        # but the rpc method does not declare a port.

        app = build_app(
            [MissingRPCPortService],
            'MisingPortTns',
            'MissingPortApp'
        )

        self.assertRaises(ValueError, app.interface.build_interface_document,
                                                                       self.url)

        app = build_app(
            [SinglePortService, MissingRPCPortService],
            'MissingPort2Tns',
            'MissingPort2App'
        )

        self.assertRaises(ValueError, app.interface.build_interface_document,
                                                                       self.url)
예제 #17
0
    def test_raise_invalid_port(self):

        app = build_app(
            [TBadRPCPortService()],
            'MisingPortTns',
            'MissingPortApp'
        )

        interface_doc = Wsdl11(app.interface)
        self.assertRaises(ValueError, interface_doc.build_interface_document,
                                                                       self.url)

        app = build_app(
            [TBadRPCPortService(), TSinglePortService()],
            'MissingPort2Tns',
            'MissingPortApp'
        )

        interface_doc = Wsdl11(app.interface)
        self.assertRaises(ValueError, interface_doc.build_interface_document,
                                                                       self.url)
예제 #18
0
    def test_default_binding_methods(self):
        app = build_app(
            [DefaultPortService],
            'DefaultPortTest',
            'DefaultPortMethods'
        )

        wrapper = AppTestWrapper(app)

        self._default_binding_methods(
            wrapper,
            1,
            ['echo_default_port_service']
        )
예제 #19
0
    def test_default_binding_methods_multiple(self):
        app = build_app(
                [DefaultPortServiceMultipleMethods],
                'DefaultBindingMethodsTns',
                'MultipleDefaultBindMethodsApp'
        )

        wrapper = AppTestWrapper(app)

        self._default_binding_methods(
                wrapper,
                3,
                ['echo_one', 'echo_two', 'echo_three']
        )
예제 #20
0
    def test_service_contains_ports(self):
        # Check that the element for the service has the correct number of ports
        # Check that the element for the service has the correct port names

        app = build_app(
            [SinglePortService],
            'SinglePortTns',
            'SinglePortApp'
        )

        wrapper = AppTestWrapper(app)
        service = wrapper.get_service_list()[0]
        # verify that there is only one port
        ports = wrapper.get_port_list(service)
        self.assertEquals(1, len(ports))

        # verify that the ports name matched the port specified in
        # the service class
        port = ports[0]

        self.assertEquals('FirstPortType', port.get('name'))
예제 #21
0
    def test_default_service(self):
        single_app = build_app([TDefaultPortService()], "DefaultServiceTns", "DefaultPortServiceApp")

        single_wrapper = AppTestWrapper(single_app)
        self._default_service(single_wrapper, "DefaultPortServiceApp")
예제 #22
0
    def test_default_binding_multiple(self):
        app = build_app([TDefaultPortServiceMultipleMethods()], "DefaultPortTest", "MultipleDefaultBindingNameApp")

        wrapper = AppTestWrapper(app)

        self._default_binding(wrapper, "MultipleDefaultBindingNameApp", 3)
예제 #23
0
    def test_default_port_type_multiple(self):
        app = build_app([TDefaultPortServiceMultipleMethods()], "DefaultServiceTns", "MultipleDefaultPortServiceApp")

        wrapper = AppTestWrapper(app)

        self._default_port_type(wrapper, "MultipleDefaultPortServiceApp", 3)
예제 #24
0
    def test_default_binding(self):
        app = build_app([TDefaultPortService()], "DefaultPortTest", "DefaultBindingName")

        wrapper = AppTestWrapper(app)

        self._default_binding(wrapper, "DefaultBindingName", 1)
예제 #25
0
    def test_default_binding_methods(self):
        app = build_app([TDefaultPortService()], "DefaultPortTest", "DefaultPortMethods")

        wrapper = AppTestWrapper(app)

        self._default_binding_methods(wrapper, 1, ["echo_default_port_service"])