11import unittest
22from unittest import TestCase
3+ from uuid import uuid4
34
45from common_utility import ReusableTimer
56from context_logger import setup_logging
1011 ServiceQuery , ScheduledAdvertizer
1112
1213GROUP = Group ('test-group' , 'udp://239.0.0.1:5555' )
14+ SERVICE_INFO = ServiceInfo (uuid4 (), 'test-service' , 'test-role' , {'test' : 'http://localhost:8080' })
1315
1416
1517class AdvertizerIntegrationTest (TestCase ):
16- SERVICE_INFO = ServiceInfo ('test-service' , 'test-role' , {'test' : 'http://localhost:8080' })
1718
1819 @classmethod
1920 def setUpClass (cls ):
2021 setup_logging ('hello' , 'DEBUG' , warn_on_overwrite = False )
2122
2223 def setUp (self ):
2324 print ()
24- self .SERVICE_INFO = ServiceInfo ('test-service' , 'test-role' , {'test' : 'http://localhost:8080' })
2525
2626 def test_sends_hello_when_advertises_service (self ):
2727 # Given
@@ -35,12 +35,12 @@ def test_sends_hello_when_advertises_service(self):
3535 advertizer .start (GROUP )
3636
3737 # When
38- advertizer .advertise (self . SERVICE_INFO )
38+ advertizer .advertise (SERVICE_INFO )
3939
4040 wait_for_assertion (0.1 , lambda : self .assertEqual (1 , len (messages )))
4141
4242 # Then
43- self .assertEqual ([self . SERVICE_INFO .__dict__ ], messages )
43+ self .assertEqual ([SERVICE_INFO .to_dict () ], messages )
4444
4545 def test_sends_hello_when_query_received (self ):
4646 # Given
@@ -56,15 +56,15 @@ def test_sends_hello_when_query_received(self):
5656 test_receiver .start (GROUP .hello ())
5757 test_receiver .register (lambda message : messages .append (message ))
5858
59- advertizer .start (GROUP , self . SERVICE_INFO )
59+ advertizer .start (GROUP , SERVICE_INFO )
6060
6161 # When
6262 test_sender .send (ServiceQuery ('test-service' , 'test-role' ))
6363
6464 wait_for_assertion (0.1 , lambda : self .assertEqual (1 , len (messages )))
6565
6666 # Then
67- self .assertEqual ([self . SERVICE_INFO .__dict__ ], messages )
67+ self .assertEqual ([SERVICE_INFO .to_dict () ], messages )
6868
6969 def test_sends_hello_when_info_changed_and_query_received (self ):
7070 # Given
@@ -81,15 +81,17 @@ def test_sends_hello_when_info_changed_and_query_received(self):
8181 test_receiver .register (lambda message : messages .append (message ))
8282
8383 advertizer .start (GROUP )
84- advertizer .advertise (self . SERVICE_INFO )
84+ advertizer .advertise (SERVICE_INFO )
8585
8686 query = ServiceQuery ('test-service' , 'test-role' )
8787 test_sender .send (query )
8888
8989 wait_for_assertion (0.1 , lambda : self .assertEqual (2 , len (messages )))
9090
91- self .SERVICE_INFO .urls ['test' ] = 'http://localhost:9090'
92- advertizer .advertise (self .SERVICE_INFO )
91+ new_service_info = ServiceInfo (
92+ SERVICE_INFO .uuid , SERVICE_INFO .name , SERVICE_INFO .role , {'test' : 'http://localhost:9090' }
93+ )
94+ advertizer .advertise (new_service_info )
9395
9496 # When
9597 test_sender .send (query )
@@ -98,10 +100,7 @@ def test_sends_hello_when_info_changed_and_query_received(self):
98100
99101 # Then
100102 self .assertEqual ([
101- {'name' : 'test-service' , 'role' : 'test-role' , 'urls' : {'test' : 'http://localhost:8080' }},
102- {'name' : 'test-service' , 'role' : 'test-role' , 'urls' : {'test' : 'http://localhost:8080' }},
103- {'name' : 'test-service' , 'role' : 'test-role' , 'urls' : {'test' : 'http://localhost:9090' }},
104- {'name' : 'test-service' , 'role' : 'test-role' , 'urls' : {'test' : 'http://localhost:9090' }}
103+ SERVICE_INFO .to_dict (), SERVICE_INFO .to_dict (), new_service_info .to_dict (), new_service_info .to_dict ()
105104 ], messages )
106105
107106 def test_sends_hello_when_schedules_advertisement_once (self ):
@@ -118,12 +117,12 @@ def test_sends_hello_when_schedules_advertisement_once(self):
118117 scheduled_advertizer .start (GROUP )
119118
120119 # When
121- scheduled_advertizer .schedule (self . SERVICE_INFO , interval = 0.01 , one_shot = True )
120+ scheduled_advertizer .schedule (SERVICE_INFO , interval = 0.01 , one_shot = True )
122121
123122 wait_for_assertion (0.1 , lambda : self .assertEqual (1 , len (messages )))
124123
125124 # Then
126- self .assertEqual ([self . SERVICE_INFO .__dict__ ], messages )
125+ self .assertEqual ([SERVICE_INFO .to_dict () ], messages )
127126
128127 def test_sends_hello_when_schedules_advertisement_periodically (self ):
129128 # Given
@@ -139,7 +138,7 @@ def test_sends_hello_when_schedules_advertisement_periodically(self):
139138 scheduled_advertizer .start (GROUP )
140139
141140 # When
142- scheduled_advertizer .schedule (self . SERVICE_INFO , interval = 0.01 )
141+ scheduled_advertizer .schedule (SERVICE_INFO , interval = 0.01 )
143142
144143 # Then
145144 wait_for_assertion (0.1 , lambda : self .assertEqual (5 , len (messages )))
0 commit comments