Skip to content
This repository was archived by the owner on May 16, 2019. It is now read-only.

Commit 51b1e55

Browse files
committed
Merge pull request #236 from tomgalloway/market_listeners_tests
Market listeners tests
2 parents b171f56 + cf0c0c4 commit 51b1e55

File tree

2 files changed

+76
-5
lines changed

2 files changed

+76
-5
lines changed

market/tests/test_listeners.py

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
from twisted.trial import unittest
2+
from twisted.python import log
3+
from mock import MagicMock
4+
5+
from market.listeners import MessageListenerImpl
6+
from protos.objects import PlaintextMessage
7+
8+
class MarketListenersTest(unittest.TestCase):
9+
10+
def setUp(self):
11+
self.catcher = []
12+
observer = self.catcher.append
13+
log.addObserver(observer)
14+
self.addCleanup(log.removeObserver, observer)
15+
self.db = MagicMock()
16+
self.ws = MagicMock()
17+
18+
@staticmethod
19+
def _create_valid_plaintext_message(handle):
20+
p = PlaintextMessage()
21+
p.sender_guid = 'test_guid'
22+
p.handle = handle
23+
p.pubkey = 'test_pubkey'
24+
p.subject = 'test_subject'
25+
p.type = 1
26+
p.message = 'test_message'
27+
p.timestamp = 10
28+
p.avatar_hash = 'test_avatar_hash'
29+
return p
30+
31+
@staticmethod
32+
def _create_valid_message_json(handle):
33+
new_line = '\n'
34+
tab = ' '
35+
nlt = new_line + tab
36+
nldt = nlt + tab
37+
if handle != '':
38+
handle = '"handle": "'+handle+'", ' + nldt
39+
message = '{' + nlt + '"message": {' + nldt + \
40+
'"public_key": "746573745f7075626b6579", ' + nldt + handle + \
41+
'"sender": "746573745f67756964", ' + nldt + \
42+
'"timestamp": 10, ' + nldt + \
43+
'"avatar_hash": "746573745f6176617461725f68617368", ' + nldt + \
44+
'"message": "test_message", ' + nldt + \
45+
'"message_type": "ORDER", ' + nldt + \
46+
'"subject": "test_subject"' + nlt + '}\n}'
47+
return message
48+
49+
def test_MarketListeners_notify_without_handle_success(self):
50+
p = self._create_valid_plaintext_message('')
51+
signature = 'test_signature'
52+
l = MessageListenerImpl(self.ws, self.db)
53+
l.notify(p, signature)
54+
self.db.messages.save_message.assert_called_with('746573745f67756964',
55+
u'', 'test_pubkey',
56+
u'test_subject',
57+
'ORDER',
58+
u'test_message', 10,
59+
'test_avatar_hash',
60+
signature, False)
61+
self.ws.push.assert_called_with(self._create_valid_message_json(''))
62+
63+
def test_MarketListeners_notify_with_handle_success(self):
64+
p = self._create_valid_plaintext_message('test_handle')
65+
signature = 'test_signature'
66+
l = MessageListenerImpl(self.ws, self.db)
67+
l.notify(p, signature)
68+
self.db.messages.save_message.assert_called_with('746573745f67756964',
69+
u'test_handle',
70+
'test_pubkey',
71+
u'test_subject',
72+
'ORDER',
73+
u'test_message', 10,
74+
'test_avatar_hash',
75+
signature, False)
76+
self.ws.push.assert_called_with(self._create_valid_message_json('test_handle'))

market/tests/test_profile.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
from twisted.trial import unittest
2-
from twisted.python import log
32
from protos import objects
43
import os
54

@@ -55,10 +54,6 @@ class MarketProfileTest(unittest.TestCase):
5554
VALID_GUID = '4c103483-3757-4ac6-85af-51e1f3193236'
5655

5756
def setUp(self):
58-
self.catcher = []
59-
observer = self.catcher.append
60-
log.addObserver(observer)
61-
self.addCleanup(log.removeObserver, observer)
6257
self.db = Database(filepath="test.db")
6358
self.createTestUser()
6459

0 commit comments

Comments
 (0)