blob: 25efffd5ca898845f19a8d131069005bc68bb322 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "InvocationContext.h"
#include "RpcClient.h"
#include "gtest/gtest.h"
ROCKETMQ_NAMESPACE_BEGIN
TEST(InvocationContextTest, testOnCompletion_OK) {
bool cb_invoked = false;
auto callback = [&](const InvocationContext<SendMessageResponse>* invocation_context) {
cb_invoked = true;
throw 1;
};
auto invocation_context = new InvocationContext<SendMessageResponse>();
invocation_context->status = grpc::Status(grpc::StatusCode::DEADLINE_EXCEEDED, "Mock deadline exceeded");
invocation_context->callback = callback;
invocation_context->onCompletion(true);
EXPECT_TRUE(cb_invoked);
}
ROCKETMQ_NAMESPACE_END