@@ -154,6 +154,45 @@ def test_reload_w_alternate_client(self):
154154 self .assertEqual (req ['method' ], 'GET' )
155155 self .assertEqual (req ['path' ], '/%s' % FULL )
156156
157+ def test_update_w_bound_client (self ):
158+ FULL = 'projects/%s/sinks/%s' % (self .PROJECT , self .SINK_NAME )
159+ RESOURCE = {
160+ 'name' : self .SINK_NAME ,
161+ 'filter' : self .FILTER ,
162+ 'destination' : self .DESTINATION_URI ,
163+ }
164+ conn = _Connection (RESOURCE )
165+ CLIENT = _Client (project = self .PROJECT , connection = conn )
166+ sink = self ._makeOne (self .SINK_NAME , self .FILTER , self .DESTINATION_URI ,
167+ client = CLIENT )
168+ sink .update ()
169+ self .assertEqual (len (conn ._requested ), 1 )
170+ req = conn ._requested [0 ]
171+ self .assertEqual (req ['method' ], 'PUT' )
172+ self .assertEqual (req ['path' ], '/%s' % FULL )
173+ self .assertEqual (req ['data' ], RESOURCE )
174+
175+ def test_update_w_alternate_client (self ):
176+ FULL = 'projects/%s/sinks/%s' % (self .PROJECT , self .SINK_NAME )
177+ RESOURCE = {
178+ 'name' : self .SINK_NAME ,
179+ 'filter' : self .FILTER ,
180+ 'destination' : self .DESTINATION_URI ,
181+ }
182+ conn1 = _Connection ()
183+ CLIENT1 = _Client (project = self .PROJECT , connection = conn1 )
184+ conn2 = _Connection (RESOURCE )
185+ CLIENT2 = _Client (project = self .PROJECT , connection = conn2 )
186+ sink = self ._makeOne (self .SINK_NAME , self .FILTER , self .DESTINATION_URI ,
187+ client = CLIENT1 )
188+ sink .update (client = CLIENT2 )
189+ self .assertEqual (len (conn1 ._requested ), 0 )
190+ self .assertEqual (len (conn2 ._requested ), 1 )
191+ req = conn2 ._requested [0 ]
192+ self .assertEqual (req ['method' ], 'PUT' )
193+ self .assertEqual (req ['path' ], '/%s' % FULL )
194+ self .assertEqual (req ['data' ], RESOURCE )
195+
157196
158197class _Connection (object ):
159198
0 commit comments