def test_session_query(self, coretlv: CoreHandler): coretlv.dispatch_replies = mock.MagicMock() message = coreapi.CoreSessionMessage.create(MessageFlags.STRING.value, []) coretlv.handle_message(message) args, _ = coretlv.dispatch_replies.call_args replies = args[0] assert len(replies) == 1
def test_session_join(self, coretlv: CoreHandler): coretlv.dispatch_replies = mock.MagicMock() session_id = coretlv.session.id message = coreapi.CoreSessionMessage.create( MessageFlags.ADD.value, [(SessionTlvs.NUMBER, str(session_id))]) coretlv.handle_message(message) assert coretlv.session.id == session_id
def test_exec_node_command(self, coretlv: CoreHandler): coretlv.dispatch_replies = mock.MagicMock() node = coretlv.session.add_node(CoreNode) cmd = "echo hello" message = coreapi.CoreExecMessage.create( MessageFlags.TEXT.value, [ (ExecuteTlvs.NODE, node.id), (ExecuteTlvs.NUMBER, 1), (ExecuteTlvs.COMMAND, cmd), ], ) node.cmd = MagicMock(return_value="hello") coretlv.handle_message(message) node.cmd.assert_called_with(cmd)
def test_exec_node_tty(self, coretlv: CoreHandler): coretlv.dispatch_replies = mock.MagicMock() node = coretlv.session.add_node(CoreNode) message = coreapi.CoreExecMessage.create( MessageFlags.TTY.value, [ (ExecuteTlvs.NODE, node.id), (ExecuteTlvs.NUMBER, 1), (ExecuteTlvs.COMMAND, "bash"), ], ) coretlv.handle_message(message) args, _ = coretlv.dispatch_replies.call_args replies = args[0] assert len(replies) == 1
def test_exec_local_command(self, request, coretlv: CoreHandler): if request.config.getoption("mock"): pytest.skip("mocking calls") coretlv.dispatch_replies = mock.MagicMock() node = coretlv.session.add_node(CoreNode) cmd = "echo hello" message = coreapi.CoreExecMessage.create( MessageFlags.TEXT.value | MessageFlags.LOCAL.value, [ (ExecuteTlvs.NODE, node.id), (ExecuteTlvs.NUMBER, 1), (ExecuteTlvs.COMMAND, cmd), ], ) coretlv.handle_message(message) args, _ = coretlv.dispatch_replies.call_args replies = args[0] assert len(replies) == 1