HEX
Server: Apache/2.4.46 (Win64) OpenSSL/1.1.1j PHP/8.4.25
System: Windows NT DESKTOP-4TAV2RJ 10.0 build 19045 (Windows 10) AMD64
User: fred (0)
PHP: 8.4.25
Disabled: NONE
Upload Files
File: C:/Python311/Lib/site-packages/win32com/test/testServers.py
import unittest

import pythoncom
import win32com.client.dynamic
import win32com.test.util
import winerror


def TestConnections():
    import win32com.demos.connect

    win32com.demos.connect.test()


class InterpCase(win32com.test.util.TestCase):
    def setUp(self):
        # Ensure the correct version registered.
        from win32com.servers import interp

        win32com.test.util.RegisterPythonServer(interp.__file__, "Python.Interpreter")

    def _testInterp(self, interp):
        self.assertEqual(interp.Eval("1+1"), 2)
        win32com.test.util.assertRaisesCOM_HRESULT(
            self, winerror.DISP_E_TYPEMISMATCH, interp.Eval, 2
        )

    def testInproc(self):
        interp = win32com.client.dynamic.Dispatch(
            "Python.Interpreter", clsctx=pythoncom.CLSCTX_INPROC
        )
        self._testInterp(interp)

    def testLocalServer(self):
        interp = win32com.client.dynamic.Dispatch(
            "Python.Interpreter", clsctx=pythoncom.CLSCTX_LOCAL_SERVER
        )
        self._testInterp(interp)

    def testAny(self):
        interp = win32com.client.dynamic.Dispatch("Python.Interpreter")
        self._testInterp(interp)


class ConnectionsTestCase(win32com.test.util.TestCase):
    def testConnections(self):
        TestConnections()


if __name__ == "__main__":
    unittest.main("testServers")