def test_successful_summation(self):
        arguments = [2, 3]

        def run(scenario, channel):
            connector = Connector(channel)
            return connector.summation(scenario)

        application_future = self._client_execution_thread_pool.submit(
            run, arguments, self._real_time_channel)
        invocation_metadata, rpc = self._real_time_channel.take_stream_unary(
            target_service.methods_by_name['Summation'])

        actual_request1 = rpc.take_request()
        actual_request2 = rpc.take_request()
        actual_requests = [actual_request1, actual_request2]
        expected_requests = [
            CalculationRequest(value=2),
            CalculationRequest(value=3)
        ]

        self.assertListEqual(expected_requests, actual_requests)

        rpc.requests_closed()
        rpc.terminate(CalculationResponse(value=5), (), grpc.StatusCode.OK, '')

        actual_result = application_future.result()
        expected_result = 5

        self.assertEqual(expected_result, actual_result)
    def test_successful_Summation(self):
        rpc = self._real_time_server.invoke_stream_unary(
            target_service.methods_by_name['Summation'], (), None)
        rpc.send_request(CalculationRequest(value=2))
        rpc.send_request(CalculationRequest(value=3))
        rpc.requests_closed()

        actual, trailing_metadata, code, details = rpc.termination()
        expected = CalculationResponse(value=5)

        self.assertEqual(expected, actual)
        self.assertIs(code, grpc.StatusCode.OK)
    def test_successful_Buffer3Sum(self):
        rpc = self._real_time_server.invoke_stream_stream(
            target_service.methods_by_name['Buffer3Sum'], (), None)
        rpc.send_request(CalculationRequest(value=1))
        rpc.send_request(CalculationRequest(value=2))
        rpc.send_request(CalculationRequest(value=3))

        actual = rpc.take_response()
        expected = CalculationResponse(value=6)

        self.assertEqual(expected, actual)

        rpc.send_request(CalculationRequest(value=4))
        rpc.send_request(CalculationRequest(value=5))
        rpc.send_request(CalculationRequest(value=6))

        actual = rpc.take_response()
        expected = CalculationResponse(value=15)

        self.assertEqual(expected, actual)

        rpc.send_request(CalculationRequest(value=7))
        rpc.send_request(CalculationRequest(value=8))
        rpc.requests_closed()

        trailing_metadata, code, details = rpc.termination()
        actual = rpc.take_response()
        expected = CalculationResponse(value=15)

        self.assertEqual(expected, actual)
        self.assertIs(code, grpc.StatusCode.OK)
    def test_successful_buffer3_sum(self):
        arguments = [1, 2, 3, 4, 5, 6, 7, 8]

        def run(scenario, channel):
            connector = Connector(channel)
            return connector.buffer3_sum(scenario)

        application_future = self._client_execution_thread_pool.submit(
            run, arguments, self._fake_time_channel)
        invocation_metadata, rpc = self._fake_time_channel.take_stream_stream(
            target_service.methods_by_name['Buffer3Sum'])

        actual_request1 = rpc.take_request()
        actual_request2 = rpc.take_request()
        actual_request3 = rpc.take_request()
        actual_requests = [actual_request1, actual_request2, actual_request3]
        expected_requests = [
            CalculationRequest(value=1),
            CalculationRequest(value=2),
            CalculationRequest(value=3)
        ]

        self.assertListEqual(expected_requests, actual_requests)

        rpc.send_response(CalculationResponse(value=6))

        actual_request1 = rpc.take_request()
        actual_request2 = rpc.take_request()
        actual_request3 = rpc.take_request()
        actual_requests = [actual_request1, actual_request2, actual_request3]
        expected_requests = [
            CalculationRequest(value=4),
            CalculationRequest(value=5),
            CalculationRequest(value=6)
        ]

        self.assertListEqual(expected_requests, actual_requests)

        rpc.send_response(CalculationResponse(value=15))

        actual_request1 = rpc.take_request()
        actual_request2 = rpc.take_request()
        actual_requests = [actual_request1, actual_request2]
        expected_requests = [
            CalculationRequest(value=7),
            CalculationRequest(value=8)
        ]

        self.assertListEqual(expected_requests, actual_requests)

        rpc.requests_closed()
        rpc.send_response(CalculationResponse(value=15))
        rpc.terminate((), grpc.StatusCode.OK, '')

        actual_result = application_future.result()
        expected_result = [6, 15, 15]

        self.assertListEqual(expected_result, actual_result)
    def test_successful_natural_numbers_lq(self):
        arguments = 2

        def run(scenario, channel):
            connector = Connector(channel)
            return connector.natural_numbers_lq(scenario)

        application_future = self._client_execution_thread_pool.submit(
            run, arguments, self._fake_time_channel)
        invocation_metadata, actual_request, rpc = (
            self._fake_time_channel.take_unary_stream(
                target_service.methods_by_name['NaturalNumberGenerator']))

        expected_request = CalculationRequest(value=2)

        self.assertEqual(expected_request, actual_request)

        rpc.send_response(CalculationResponse(value=1))
        rpc.send_response(CalculationResponse(value=2))

        rpc.terminate((), grpc.StatusCode.OK, '')

        actual_result = application_future.result()
        expected_result = [1, 2]

        self.assertListEqual(expected_result, actual_result)
Example #6
0
 def natural_numbers_lq(self, number):
     response_iterator = self.stub.NaturalNumberGenerator(
         CalculationRequest(value=number))
     results = []
     for response in response_iterator:
         results.append(response.value)
     return results
    def test_successful_Square(self):
        request = CalculationRequest(value=2)

        rpc = self._real_time_server.invoke_unary_unary(
            target_service.methods_by_name['Square'], (), request, None)

        actual, trailing_metadata, code, details = rpc.termination()
        expected = CalculationResponse(value=4)

        self.assertEqual(expected, actual)
        self.assertIs(code, grpc.StatusCode.OK)
    def test_successful_NaturalNumberGenerator(self):
        request = CalculationRequest(value=2)

        rpc = self._real_time_server.invoke_unary_stream(
            target_service.methods_by_name['NaturalNumberGenerator'], (),
            request, None)

        actual = [
            rpc.take_response(),
            rpc.take_response(),
        ]
        trailing_metadata, code, details = rpc.termination()
        expected = [CalculationResponse(value=1), CalculationResponse(value=2)]

        self.assertEqual(expected[0], actual[0])
        self.assertEqual(expected[1], actual[1])
        self.assertIs(code, grpc.StatusCode.OK)
    def test_successful_square(self):
        arguments = 2

        def run(scenario, channel):
            connector = Connector(channel)
            return connector.square(scenario)  # test target

        application_future = self._client_execution_thread_pool.submit(
            run, arguments, self._real_time_channel)
        invocation_metadata, actual_request, rpc = (
            self._real_time_channel.take_unary_unary(
                target_service.methods_by_name['Square']))

        expected_request = CalculationRequest(value=2)

        self.assertEqual(expected_request, actual_request)

        rpc.terminate(CalculationResponse(value=4), (), grpc.StatusCode.OK, '')

        actual_result = application_future.result()
        expected_result = 4

        self.assertEqual(expected_result, actual_result)
Example #10
0
 def square(self, number):
     return self.stub.Square(CalculationRequest(value=number)).value
Example #11
0
 def itr():
     for number in array:
         yield CalculationRequest(value=number)
Example #12
0
def generator(max_value):
    for v in range(1, max_value + 1):
        yield CalculationRequest(value=v)