コード例 #1
0
ファイル: test_integration.py プロジェクト: xixichen08/pyads
    def tearDownClass(cls):
        cls.test_server.stop()

        ads.close_port()

        if platform_is_linux():
            ads.delete_route(cls.endpoint)
コード例 #2
0
ファイル: test_integration.py プロジェクト: MrLeeh/pyads
    def tearDownClass(cls):
        cls.test_server.stop()

        # wait a bit for server to shutdown
        time.sleep(1)

        ads.close_port()

        if platform_is_linux():
            ads.delete_route(cls.endpoint)
コード例 #3
0
ファイル: test_integration.py プロジェクト: MrLeeh/pyads
    def setUpClass(cls):
        # Start dummy ADS Endpoint
        cls.test_server = AdsTestServer(logging=False)
        cls.test_server.start()

        # Endpoint AMS Address
        cls.endpoint = AmsAddr(TEST_SERVER_AMS_NET_ID, TEST_SERVER_AMS_PORT)

        # Open AMS Port
        ads.open_port()

        # wait a bit otherwise error might occur
        time.sleep(1)

        # NOTE: On a Windows machine, this route needs to be configured
        # within the router service for the tests to work.
        if platform_is_linux():
            ads.add_route(cls.endpoint, TEST_SERVER_IP_ADDRESS)
コード例 #4
0
ファイル: test_ads.py プロジェクト: MrLeeh/pyads
    def test_set_local_address(self):
        # type: () -> None
        """Test set_local_address function.

        Skip test on Windows as set_local_address is not supported for Windows.

        """
        if platform_is_linux():
            pyads.open_port()
            org_adr = pyads.get_local_address()
            self.assertIsNotNone(org_adr)
            org_netid = org_adr.netid

            # Set netid to specific value
            pyads.set_local_address("0.0.0.0.1.5")
            netid = pyads.get_local_address().netid
            self.assertEqual(netid, "0.0.0.0.1.5")

            # Change netid by String
            pyads.set_local_address("0.0.0.0.1.6")
            netid = pyads.get_local_address().netid
            self.assertEqual(netid, "0.0.0.0.1.6")

            # Change netid by Struct
            pyads.set_local_address(org_adr.netIdStruct())
            netid = pyads.get_local_address().netid
            self.assertEqual(netid, org_netid)

            # Check raised error on short netid
            with self.assertRaises(ValueError):
                pyads.ads.set_local_address("1.2.3")

            # Check raised error on invalid netid
            with self.assertRaises(ValueError):
                pyads.set_local_address("1.2.3.a")

            # Check wrong netid datatype
            with self.assertRaises(AssertionError):
                pyads.set_local_address(123)
コード例 #5
0
    def test_correct_route(self):
        if platform_is_linux():
            # Start receiving listener
            route_thread = threading.Thread(target=self.plc_route_receiver)
            route_thread.setDaemon(True)
            route_thread.start()

            time.sleep(1)

            # Try to set up a route with ourselves using all the optionals
            try:
                result = add_route_to_plc(
                    self.SENDER_AMS,
                    self.HOSTNAME,
                    self.PLC_IP,
                    self.USERNAME,
                    self.PASSWORD,
                    route_name=self.ROUTE_NAME,
                    added_net_id=self.ADDING_AMS_ID,
                )
            except:
                result = None

            self.assertTrue(result)