Skip to content
Snippets Groups Projects
Commit b2fecb5d authored by Piotr Maślanka's avatar Piotr Maślanka
Browse files

+tests

parent 3dcfc24c
No related branches found
No related tags found
No related merge requests found
...@@ -13,9 +13,9 @@ Vagrant.configure("2") do |config| ...@@ -13,9 +13,9 @@ Vagrant.configure("2") do |config|
/usr/lib/rabbitmq/bin/rabbitmq-plugins enable rabbitmq_management /usr/lib/rabbitmq/bin/rabbitmq-plugins enable rabbitmq_management
service rabbitmq-server restart service rabbitmq-server restart
rabbitmqctl add_user guest guest rabbitmqctl add_user user user
rabbitmqctl set_permissions -p / guest ".*" ".*" ".*" rabbitmqctl set_permissions -p / user ".*" ".*" ".*"
rabbitmqctl set_user_tags guest administrator rabbitmqctl set_user_tags user administrator
# Install deps # Install deps
pip install -r /vagrant/requirements.txt pip install -r /vagrant/requirements.txt
......
...@@ -4,7 +4,7 @@ from distutils.core import setup ...@@ -4,7 +4,7 @@ from distutils.core import setup
setup(name='CoolAMQP', setup(name='CoolAMQP',
version='0.6', version='0.6',
description='The AMQP client library', description='The angry AMQP client library',
author=u'DMS Serwis s.c.', author=u'DMS Serwis s.c.',
author_email='piotrm@smok.co', author_email='piotrm@smok.co',
url='https://github.com/smok-serwis/coolamqp', url='https://github.com/smok-serwis/coolamqp',
...@@ -12,7 +12,7 @@ setup(name='CoolAMQP', ...@@ -12,7 +12,7 @@ setup(name='CoolAMQP',
keywords=['amqp', 'pyamqp', 'rabbitmq', 'client', 'network', 'ha', 'high availability'], keywords=['amqp', 'pyamqp', 'rabbitmq', 'client', 'network', 'ha', 'high availability'],
packages=['coolamqp', 'coolamqp.backends'], packages=['coolamqp', 'coolamqp.backends'],
license='MIT License', 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=[ requires=[
"amqp", "amqp",
"six" "six"
......
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**
"""
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.
"""
...@@ -2,12 +2,43 @@ ...@@ -2,12 +2,43 @@
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
import unittest import unittest
from coolamqp import Cluster, ClusterNode, Queue, MessageReceived, ConnectionUp, \
ConnectionDown, ConsumerCancelled, Message
from coolamqp import Cluster, ClusterNode
class MyTestCase(unittest.TestCase): class MyTestCase(unittest.TestCase):
def test_connect(self): def setUp(self):
amqp = Cluster([ClusterNode('127.0.0.1', 'guest', 'guest')]) self.amqp = Cluster([ClusterNode('127.0.0.1', 'guest', 'guest')])
amqp.start() self.amqp.start()
amqp.shutdown() 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)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment