Skip to content

Commit

Permalink
Add unit test for registering multiple addresses
Browse files Browse the repository at this point in the history
  • Loading branch information
wxf committed Dec 30, 2020
1 parent ccd59ed commit 716d36e
Showing 1 changed file with 29 additions and 0 deletions.
29 changes: 29 additions & 0 deletions test/brpc_naming_service_unittest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -579,6 +579,14 @@ class DiscoveryNamingServiceImpl : public test::DiscoveryNamingService {
google::protobuf::Closure* done) {
brpc::ClosureGuard done_guard(done);
brpc::Controller* cntl = static_cast<brpc::Controller*>(cntl_base);
auto body = cntl->request_attachment().to_string();
for (brpc::QuerySplitter sp(body); sp; ++sp) {
if (!sp.key().empty()) {
if (sp.key() == "addrs") {
_addrs.insert(sp.value().as_string());
}
}
}
cntl->response_attachment().append(R"({
"code": 0,
"message": "0"
Expand Down Expand Up @@ -611,15 +619,22 @@ class DiscoveryNamingServiceImpl : public test::DiscoveryNamingService {
"message": "0"
})");
_cancel_count++;
_addrs.clear();
return;
}

int RenewCount() const { return _renew_count; }
int CancelCount() const { return _cancel_count; }

bool HasAddr(const std::string& addr) const {
return _addrs.find(addr) != _addrs.end();
}

private:
int _renew_count;
int _cancel_count;

std::set<std::string> _addrs;
};

TEST(NamingServiceTest, discovery_sanity) {
Expand Down Expand Up @@ -662,9 +677,23 @@ TEST(NamingServiceTest, discovery_sanity) {
ASSERT_EQ(0, dc.Register(dparam));
ASSERT_EQ(0, dc.Register(dparam));
bthread_usleep(100000);
ASSERT_TRUE(svc.HasAddr("grpc://10.0.0.1:8000"));
ASSERT_FALSE(svc.HasAddr("http://10.0.0.1:8000"));
}
ASSERT_EQ(svc.RenewCount(), 1);
ASSERT_EQ(svc.CancelCount(), 1);

ASSERT_FALSE(svc.HasAddr("grpc://10.0.0.1:8000"));
ASSERT_FALSE(svc.HasAddr("http://10.0.0.1:8000"));

// addrs splitted by `,'
dparam.addrs = ("grpc://10.0.0.1:8000,http://10.0.0.1:8000");
{
brpc::policy::DiscoveryClient dc;
ASSERT_EQ(0, dc.Register(dparam));
ASSERT_TRUE(svc.HasAddr("grpc://10.0.0.1:8000"));
ASSERT_TRUE(svc.HasAddr("http://10.0.0.1:8000"));
}
}

} //namespace

0 comments on commit 716d36e

Please sign in to comment.