def test_explicit_features(self, batch_annotate): # Set up an image annotation request with no features. image = types.Image(source={ 'image_uri': 'http://foo.com/img.jpg', }) request = types.AnnotateImageRequest( image=image, features=[ types.Feature(type=1), types.Feature(type=2), types.Feature(type=3), ], ) # Perform the single image request. self.client.annotate_image(request) # Evalute the argument sent to batch_annotate_images. assert batch_annotate.call_count == 1 _, args, kwargs = batch_annotate.mock_calls[0] # Only a single request object should be sent. assert len(args[0]) == 1 # Evalute the request object to ensure it looks correct. request_sent = args[0][0] assert request_sent.image is request.image assert len(request_sent.features) == 3 for feature, i in zip(request_sent.features, range(1, 4)): assert feature.type == i assert feature.max_results == 0
def test_all_features_default(self, batch_annotate): # Set up an image annotation request with no features. image = types.Image(source={"image_uri": "http://foo.com/img.jpg"}) request = types.AnnotateImageRequest(image=image) assert not request.features # Perform the single image request. self.client.annotate_image(request) # Evalute the argument sent to batch_annotate_images. assert batch_annotate.call_count == 1 _, args, kwargs = batch_annotate.mock_calls[0] # Only a single request object should be sent. assert len(args[0]) == 1 # Evalute the request object to ensure it looks correct. request_sent = args[0][0] all_features = self.client._get_all_features() assert request_sent.image is request.image assert len(request_sent.features) == len(all_features)