def testReceivingS01F13(self): self.server.simulate_connect() system_id = self.server.get_next_system_counter() self.server.simulate_packet( secsgem.HsmsPacket(secsgem.HsmsSelectReqHeader(system_id))) packet = self.server.expect_packet(system_id=system_id) self.assertIsNot(packet, None) self.assertEqual(packet.header.sType, 0x02) self.assertEqual(packet.header.sessionID, 0xffff) self.assertEqual(self.client.communicationState.current, "WAIT_CRA") packet = self.server.expect_packet(function=13) self.assertIsNot(packet, None) self.assertEqual(packet.header.sType, 0x00) self.assertEqual(packet.header.sessionID, 0x0) self.assertEqual(packet.header.stream, 0x01) self.assertEqual(packet.header.function, 0x0d) self.assertEqual(self.client.communicationState.current, "WAIT_CRA") self.server.simulate_packet( self.server.generate_stream_function_packet( packet.header.system, secsgem.SecsS01F14([0]))) self.assertEqual(self.client.communicationState.current, "COMMUNICATING")
def testDeselectWhileDisconnecting(self): self.server.simulate_connect() system_id = self.server.get_next_system_counter() self.server.simulate_packet( secsgem.HsmsPacket(secsgem.HsmsSelectReqHeader(system_id))) packet = self.server.expect_packet(system_id=system_id) self.assertIsNot(packet, None) self.assertEqual(packet.header.sType, 0x02) self.assertEqual(packet.header.sessionID, 0xffff) # set the connection to disconnecting by brute force self.client.connection.disconnecting = True system_id = self.server.get_next_system_counter() self.server.simulate_packet( secsgem.HsmsPacket(secsgem.HsmsDeselectReqHeader(system_id))) packet = self.server.expect_packet(system_id=system_id) self.assertIsNot(packet, None) self.assertEqual(packet.header.sType, 0x07) self.assertEqual(packet.header.sessionID, 0xffff)
def testSelection(self): self.server.simulate_connect() self.server.simulate_packet(secsgem.HsmsPacket(secsgem.HsmsSelectReqHeader(self.server.get_next_system_counter()))) self.assertIsNotNone(self.server.expect_packet(s_type=2)) self.assertEqual(self.client.connectionState.state, 'CONNECTED_SELECTED')
def performSelect(self): # select system_id = self.server.get_next_system_counter() self.server.simulate_packet( secsgem.HsmsPacket(secsgem.HsmsSelectReqHeader(system_id))) packet = self.server.expect_packet(system_id=system_id) self.assertIsNot(packet, None) self.assertEqual(packet.header.sType, 0x02) self.assertEqual(packet.header.sessionID, 0xffff)
def establishCommunication(self): self.server.simulate_connect() system_id = self.server.get_next_system_counter() self.server.simulate_packet( secsgem.HsmsPacket(secsgem.HsmsSelectReqHeader(system_id))) packet = self.server.expect_packet(system_id=system_id) packet = self.server.expect_packet(function=13) self.server.simulate_packet( self.server.generate_stream_function_packet( packet.header.system, secsgem.SecsS01F14([0])))
def testConnection(self): self.server.simulate_connect() system_id = self.server.get_next_system_counter() self.server.simulate_packet( secsgem.HsmsPacket(secsgem.HsmsSelectReqHeader(system_id))) packet = self.server.expect_packet(system_id=system_id) self.assertIsNot(packet, None) self.assertEqual(packet.header.sType, 0x02) self.assertEqual(packet.header.sessionID, 0xffff) self.assertEqual(self.client.communicationState.current, "WAIT_CRA")
def testSelectedDisconnect(self): self.server.simulate_connect() self.server.simulate_packet( secsgem.HsmsPacket( secsgem.HsmsSelectReqHeader( self.server.get_next_system_counter()))) self.assertIsNotNone(self.server.expect_packet(s_type=2)) self.server.simulate_disconnect() self.assertEqual( self.client.connectionState.state, secsgem.hsms.connectionstatemachine.STATE_NOT_CONNECTED)