diff --git a/Vagrantfile b/Vagrantfile index b7cb361c657375c721139198c257d3c9ea54c19b..ec0bd057a6a0dbe0de91f37ad10e7352b1618317 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -13,9 +13,9 @@ Vagrant.configure("2") do |config| /usr/lib/rabbitmq/bin/rabbitmq-plugins enable rabbitmq_management service rabbitmq-server restart - rabbitmqctl add_user guest guest - rabbitmqctl set_permissions -p / guest ".*" ".*" ".*" - rabbitmqctl set_user_tags guest administrator + rabbitmqctl add_user user user + rabbitmqctl set_permissions -p / user ".*" ".*" ".*" + rabbitmqctl set_user_tags user administrator # Install deps pip install -r /vagrant/requirements.txt diff --git a/setup.py b/setup.py index 967d021222173dba1f4fca289f2d5c66d289bfbc..b3da1879fc12eeab52665da9b6a8922dd7a517c2 100644 --- a/setup.py +++ b/setup.py @@ -4,7 +4,7 @@ from distutils.core import setup setup(name='CoolAMQP', version='0.6', - description='The AMQP client library', + description='The angry AMQP client library', author=u'DMS Serwis s.c.', author_email='piotrm@smok.co', url='https://github.com/smok-serwis/coolamqp', @@ -12,7 +12,7 @@ setup(name='CoolAMQP', keywords=['amqp', 'pyamqp', 'rabbitmq', 'client', 'network', 'ha', 'high availability'], packages=['coolamqp', 'coolamqp.backends'], license='MIT License', - long_description='''The Python AMQP client library that makes you forget about all the nasty corner cases about AMQP reconnection''', + long_description='''The Python AMQP client library that makes you STOP FUCKING WITH AMQP RECONNECTION''', requires=[ "amqp", "six" diff --git a/tests/README.md b/tests/README.md new file mode 100644 index 0000000000000000000000000000000000000000..08936ac03b31b58cc36364f9f7186954545a5264 --- /dev/null +++ b/tests/README.md @@ -0,0 +1,3 @@ +Tests work using either Travis CI or Vagrant. + +If you want to debug things, you have RabbitMQ management enabled on Vagrant. Go to http://127.0.0.1:15672 and log in with **user** / **user** diff --git a/tests/__init__.py b/tests/__init__.py index 039ba81f7dc7c9f08b99f974b5fb58b585e95e37..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -1,8 +0,0 @@ -""" -Fucking all tests are integration, because why fuck you. -How the fuck do you unit test a fucking NETWORK CLIENT LIBRARY? -Are you going to FUCKING MOCK AN ENTIRE AMQP BROKER? Fuck you. - -You can run them either using fucking Travis CI or fucking Vagrant, it does not -fucking matter. -""" diff --git a/tests/test_cluster.py b/tests/test_cluster.py index ffc926b23d08b4cea7292e27de462526a6ed63b1..251c49420f95b58af46c9e2c987da76878f5de9b 100644 --- a/tests/test_cluster.py +++ b/tests/test_cluster.py @@ -2,12 +2,43 @@ from __future__ import absolute_import, division, print_function import unittest +from coolamqp import Cluster, ClusterNode, Queue, MessageReceived, ConnectionUp, \ + ConnectionDown, ConsumerCancelled, Message -from coolamqp import Cluster, ClusterNode class MyTestCase(unittest.TestCase): - def test_connect(self): - amqp = Cluster([ClusterNode('127.0.0.1', 'guest', 'guest')]) - amqp.start() - amqp.shutdown() + def setUp(self): + self.amqp = Cluster([ClusterNode('127.0.0.1', 'guest', 'guest')]) + self.amqp.start() + self.assertIsInstance(self.amqp.drain(1), ConnectionUp) + def tearDown(self): + self.amqp.shutdown() + + def test_send_and_receive(self): + myq = Queue('myqueue', exclusive=True) + + self.amqp.consume(myq) + self.amqp.send(Message(b'what the fuck'), '', routing_key='myqueue') + + p = self.amqp.drain(wait=10) + self.assertIsInstance(p, MessageReceived) + self.assertEquals(p.message.body, b'what the fuck') + +# def test_consumer_cancelled_on_queue_deletion(self): +# myq = Queue('myqueue', exclusive=True) +# +# self.amqp.consume(myq) +# self.amqp.delete_queue(myq) +# +# self.assertIsInstance(self.amqp.drain(wait=10), ConsumerCancelled) + + def test_consumer_cancelled_on_consumer_cancel(self): + myq = Queue('myqueue', exclusive=True) + + self.amqp.consume(myq) + self.amqp.cancel(myq) + + self.assertIsInstance(self.amqp.drain(wait=10), ConsumerCancelled) + + self.amqp.delete_queue(myq)