def test_get_reference_image(self):
        # Setup Expected Response
        name_2 = "name2-1052831874"
        uri = "uri116076"
        expected_response = {"name": name_2, "uri": uri}
        expected_response = product_search_service_pb2.ReferenceImage(
            **expected_response)

        # Mock the API response
        channel = ChannelStub(responses=[expected_response])
        patch = mock.patch("google.api_core.grpc_helpers.create_channel")
        with patch as create_channel:
            create_channel.return_value = channel
            client = vision_v1p4beta1.ProductSearchClient()

        # Setup Request
        name = client.reference_image_path("[PROJECT]", "[LOCATION]",
                                           "[PRODUCT]", "[REFERENCE_IMAGE]")

        response = client.get_reference_image(name)
        assert expected_response == response

        assert len(channel.requests) == 1
        expected_request = product_search_service_pb2.GetReferenceImageRequest(
            name=name)
        actual_request = channel.requests[0][1]
        assert expected_request == actual_request
    def test_create_reference_image(self):
        # Setup Expected Response
        name = "name3373707"
        uri = "uri116076"
        expected_response = {"name": name, "uri": uri}
        expected_response = product_search_service_pb2.ReferenceImage(
            **expected_response)

        # Mock the API response
        channel = ChannelStub(responses=[expected_response])
        patch = mock.patch("google.api_core.grpc_helpers.create_channel")
        with patch as create_channel:
            create_channel.return_value = channel
            client = vision_v1p4beta1.ProductSearchClient()

        # Setup Request
        parent = client.product_path("[PROJECT]", "[LOCATION]", "[PRODUCT]")
        reference_image = {}
        reference_image_id = "referenceImageId1946713331"

        response = client.create_reference_image(parent, reference_image,
                                                 reference_image_id)
        assert expected_response == response

        assert len(channel.requests) == 1
        expected_request = product_search_service_pb2.CreateReferenceImageRequest(
            parent=parent,
            reference_image=reference_image,
            reference_image_id=reference_image_id,
        )
        actual_request = channel.requests[0][1]
        assert expected_request == actual_request