def test_list_insights(self):
        # Setup Expected Response
        next_page_token = ""
        insights_element = {}
        insights = [insights_element]
        expected_response = {
            "next_page_token": next_page_token,
            "insights": insights
        }
        expected_response = recommender_service_pb2.ListInsightsResponse(
            **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 = recommender_v1beta1.RecommenderClient()

        # Setup Request
        parent = client.insight_type_path("[PROJECT]", "[LOCATION]",
                                          "[INSIGHT_TYPE]")

        paged_list_response = client.list_insights(parent)
        resources = list(paged_list_response)
        assert len(resources) == 1

        assert expected_response.insights[0] == resources[0]

        assert len(channel.requests) == 1
        expected_request = recommender_service_pb2.ListInsightsRequest(
            parent=parent)
        actual_request = channel.requests[0][1]
        assert expected_request == actual_request
    def test_mark_recommendation_failed(self):
        # Setup Expected Response
        name_2 = "name2-1052831874"
        description = "description-1724546052"
        recommender_subtype = "recommenderSubtype-1488504412"
        etag_2 = "etag2-1293302904"
        expected_response = {
            "name": name_2,
            "description": description,
            "recommender_subtype": recommender_subtype,
            "etag": etag_2,
        }
        expected_response = recommendation_pb2.Recommendation(
            **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 = recommender_v1beta1.RecommenderClient()

        # Setup Request
        name = client.recommendation_path("[PROJECT]", "[LOCATION]",
                                          "[RECOMMENDER]", "[RECOMMENDATION]")
        etag = "etag3123477"

        response = client.mark_recommendation_failed(name, etag)
        assert expected_response == response

        assert len(channel.requests) == 1
        expected_request = recommender_service_pb2.MarkRecommendationFailedRequest(
            name=name, etag=etag)
        actual_request = channel.requests[0][1]
        assert expected_request == actual_request
    def test_mark_insight_accepted(self):
        # Setup Expected Response
        name_2 = "name2-1052831874"
        description = "description-1724546052"
        insight_subtype = "insightSubtype-1491142701"
        etag_2 = "etag2-1293302904"
        expected_response = {
            "name": name_2,
            "description": description,
            "insight_subtype": insight_subtype,
            "etag": etag_2,
        }
        expected_response = insight_pb2.Insight(**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 = recommender_v1beta1.RecommenderClient()

        # Setup Request
        name = client.insight_path("[PROJECT]", "[LOCATION]", "[INSIGHT_TYPE]",
                                   "[INSIGHT]")
        etag = "etag3123477"

        response = client.mark_insight_accepted(name, etag)
        assert expected_response == response

        assert len(channel.requests) == 1
        expected_request = recommender_service_pb2.MarkInsightAcceptedRequest(
            name=name, etag=etag)
        actual_request = channel.requests[0][1]
        assert expected_request == actual_request
Beispiel #4
0
    def test_list_recommendations_exception(self):
        channel = ChannelStub(responses=[CustomException()])
        patch = mock.patch("google.api_core.grpc_helpers.create_channel")
        with patch as create_channel:
            create_channel.return_value = channel
            client = recommender_v1beta1.RecommenderClient()

        # Setup request
        parent = client.recommender_path("[PROJECT]", "[LOCATION]", "[RECOMMENDER]")

        paged_list_response = client.list_recommendations(parent)
        with pytest.raises(CustomException):
            list(paged_list_response)
    def test_get_recommendation_exception(self):
        # Mock the API response
        channel = ChannelStub(responses=[CustomException()])
        patch = mock.patch("google.api_core.grpc_helpers.create_channel")
        with patch as create_channel:
            create_channel.return_value = channel
            client = recommender_v1beta1.RecommenderClient()

        # Setup request
        name = client.recommendation_path("[PROJECT]", "[LOCATION]",
                                          "[RECOMMENDER]", "[RECOMMENDATION]")

        with pytest.raises(CustomException):
            client.get_recommendation(name)
    def test_mark_insight_accepted_exception(self):
        # Mock the API response
        channel = ChannelStub(responses=[CustomException()])
        patch = mock.patch("google.api_core.grpc_helpers.create_channel")
        with patch as create_channel:
            create_channel.return_value = channel
            client = recommender_v1beta1.RecommenderClient()

        # Setup request
        name = client.insight_path("[PROJECT]", "[LOCATION]", "[INSIGHT_TYPE]",
                                   "[INSIGHT]")
        etag = "etag3123477"

        with pytest.raises(CustomException):
            client.mark_insight_accepted(name, etag)