From 00fae581c0444335a338227ec230a322c5a3fa59 Mon Sep 17 00:00:00 2001 From: Michael Klishin Date: Sat, 13 Mar 2021 06:11:22 +0300 Subject: Merge pull request #2891 from rabbitmq/mk-adapt-to-latest-stomp.py STOMP: adapt Python test suite to stomp.py 6.x (cherry picked from commit fa2830edcd6dd7983b36214a703c8d3ee4754009) --- .../test/python_SUITE_data/deps/stomppy/Makefile | 2 +- .../test/python_SUITE_data/src/base.py | 44 +++++++++++++--------- .../test/python_SUITE_data/src/transactions.py | 6 +++ 3 files changed, 33 insertions(+), 19 deletions(-) diff --git a/deps/rabbitmq_stomp/test/python_SUITE_data/deps/stomppy/Makefile b/deps/rabbitmq_stomp/test/python_SUITE_data/deps/stomppy/Makefile index f74c21a83e..f1fb64c3bd 100644 --- a/deps/rabbitmq_stomp/test/python_SUITE_data/deps/stomppy/Makefile +++ b/deps/rabbitmq_stomp/test/python_SUITE_data/deps/stomppy/Makefile @@ -1,5 +1,5 @@ UPSTREAM_GIT=https://github.com/jasonrbriggs/stomp.py.git -REVISION=v4.1.24 +REVISION=v6.1.0 LIB_DIR=stomppy CHECKOUT_DIR=stomppy-git diff --git a/deps/rabbitmq_stomp/test/python_SUITE_data/src/base.py b/deps/rabbitmq_stomp/test/python_SUITE_data/src/base.py index 5f72206406..6ea54de275 100644 --- a/deps/rabbitmq_stomp/test/python_SUITE_data/src/base.py +++ b/deps/rabbitmq_stomp/test/python_SUITE_data/src/base.py @@ -13,6 +13,8 @@ import os import time import random +from stomp.listener import ConnectionListener + class BaseTest(unittest.TestCase): def await_condition(self, condition, timeout=5): @@ -179,7 +181,7 @@ class BaseTest(unittest.TestCase): numErrs=numErrs, numRcts=numRcts, timeout=timeout) -class WaitableListener(object): +class WaitableListener(ConnectionListener): def __init__(self): self.debug = False @@ -191,29 +193,24 @@ class WaitableListener(object): self.latch = Latch(1) self.msg_no = 0 - def _next_msg_no(self): - self.msg_no += 1 - return self.msg_no - - def _append(self, array, msg, hdrs): - mno = self._next_msg_no() - array.append({'message': msg, 'headers' : hdrs, 'msg_no' : mno}) - self.latch.countdown() + ## + ## API + ## - def on_receipt(self, headers, message): + def on_receipt(self, frame): if self.debug: - print('(on_receipt) message: {}, headers: {}'.format(message, headers)) - self._append(self.receipts, message, headers) + print('(on_receipt) frame: {}, headers: {}'.format(frame.body, frame.headers)) + self._append(self.receipts, frame.body, frame.headers) - def on_error(self, headers, message): + def on_error(self, frame): if self.debug: - print('(on_error) message: {}, headers: {}'.format(message, headers)) - self._append(self.errors, message, headers) + print('(on_error) frame: {}, headers: {}'.format(frame.body, frame.headers)) + self._append(self.errors, frame.body, frame.headers) - def on_message(self, headers, message): + def on_message(self, frame): if self.debug: - print('(on_message) message: {}, headers: {}'.format(message, headers)) - self._append(self.messages, message, headers) + print('(on_message) message: {}, headers: {}'.format(frame.body, frame.headers)) + self._append(self.messages, frame.body, frame.headers) def reset(self, count=1): if self.debug: @@ -235,6 +232,8 @@ class WaitableListener(object): def wait_for_complete_countdown(self, timeout=5): return self.latch.wait_for_complete_countdown(timeout) + ## Implementation + def print_state(self, hdr="", full=False): print(hdr) print('#messages: {}'.format(len(self.messages))) @@ -248,6 +247,15 @@ class WaitableListener(object): if len(self.receipts) != 0: print('Messages: {}'.format(self.receipts)) + def _next_msg_no(self): + self.msg_no += 1 + return self.msg_no + + def _append(self, array, msg, hdrs): + mno = self._next_msg_no() + array.append({'message': msg, 'headers' : hdrs, 'msg_no' : mno}) + self.latch.countdown() + class Latch(object): diff --git a/deps/rabbitmq_stomp/test/python_SUITE_data/src/transactions.py b/deps/rabbitmq_stomp/test/python_SUITE_data/src/transactions.py index b56fae6875..ff8efa0698 100644 --- a/deps/rabbitmq_stomp/test/python_SUITE_data/src/transactions.py +++ b/deps/rabbitmq_stomp/test/python_SUITE_data/src/transactions.py @@ -52,3 +52,9 @@ class TestTransactions(base.BaseTest): self.assertEqual(0, len(self.listener.messages), "Unexpected committed message") +if __name__ == '__main__': + import test_runner + modules = [ + __name__ + ] + test_runner.run_unittests(modules) \ No newline at end of file -- cgit v1.2.1