예제 #1
0
    def testDeselect(self):
        self.server.simulate_connect()

        packet = self.server.expect_packet(s_type=0x01)

        self.assertIsNot(packet, None)
        self.assertEqual(packet.header.sType, 0x01)
        self.assertEqual(packet.header.sessionID, 0xffff)

        self.server.simulate_packet(
            secsgem.HsmsPacket(
                secsgem.HsmsSelectRspHeader(packet.header.system)))

        clientCommandThread = threading.Thread(
            target=self.client.send_deselect_req,
            name="TestHsmsHandlerActive_testDeselect")
        clientCommandThread.daemon = True  # make thread killable on program termination
        clientCommandThread.start()

        packet = self.server.expect_packet(s_type=0x03)

        self.assertIsNot(packet, None)
        self.assertEqual(packet.header.sType, 0x03)
        self.assertEqual(packet.header.sessionID, 0xffff)

        self.server.simulate_packet(
            secsgem.HsmsPacket(
                secsgem.HsmsDeselectRspHeader(packet.header.system)))

        clientCommandThread.join(1)
        self.assertFalse(clientCommandThread.isAlive())
    def testSelection(self):
        self.server.simulate_connect()

        request_packet = self.server.expect_packet(s_type=1)
        self.assertIsNotNone(request_packet)
        self.server.simulate_packet(secsgem.HsmsPacket(secsgem.HsmsSelectRspHeader(request_packet.header.system)))

        self.assertEqual(self.client.connectionState.state, 'CONNECTED_SELECTED')
예제 #3
0
    def testSelect(self):
        self.server.simulate_connect()

        packet = self.server.expect_packet(s_type=0x01)

        self.assertIsNot(packet, None)
        self.assertEqual(packet.header.sType, 0x01)
        self.assertEqual(packet.header.sessionID, 0xffff)

        self.server.simulate_packet(
            secsgem.HsmsPacket(
                secsgem.HsmsSelectRspHeader(packet.header.system)))
예제 #4
0
    def testSelectedDisconnect(self):
        self.server.simulate_connect()

        request_packet = self.server.expect_packet(s_type=1)
        self.assertIsNotNone(request_packet)
        self.server.simulate_packet(
            secsgem.HsmsPacket(
                secsgem.HsmsSelectRspHeader(request_packet.header.system)))

        self.server.simulate_disconnect()

        self.assertEqual(
            self.client.connectionState.state,
            secsgem.hsms.connectionstatemachine.STATE_NOT_CONNECTED)
예제 #5
0
    def testSecsPacketWithoutSecsDecode(self):
        self.server.simulate_connect()

        packet = self.server.expect_packet(s_type=0x01)

        self.assertIsNot(packet, None)
        self.assertEqual(packet.header.sType, 0x01)
        self.assertEqual(packet.header.sessionID, 0xffff)

        self.server.simulate_packet(
            secsgem.HsmsPacket(
                secsgem.HsmsSelectRspHeader(packet.header.system)))

        system_id = self.server.get_next_system_counter()
        self.server.simulate_packet(
            self.server.generate_stream_function_packet(
                system_id, secsgem.SecsS01F01()))

        print(self.client)