void WdtResourceControllerTest::ReleaseStaleTest() { int maxNamespaces = 2; string transferPrefix = "add-objects-limit-transfer"; for (int namespaceNum = 1; namespaceNum <= maxNamespaces; namespaceNum++) { string wdtNamespace = "test-namespace-" + to_string(namespaceNum); registerWdtNamespace(wdtNamespace); } int index = 0; { string wdtNamespace = "test-namespace-1"; auto transferRequest = makeTransferRequest(getTransferId(transferPrefix, index)); ReceiverPtr receiverPtr; ErrorCode code = createReceiver(wdtNamespace, transferRequest.transferId, transferRequest, receiverPtr); ASSERT_TRUE(code == OK); ASSERT_TRUE(receiverPtr != nullptr); SenderPtr senderPtr; code = createSender(wdtNamespace, transferRequest.transferId, transferRequest, senderPtr); ASSERT_TRUE(code == OK); ASSERT_TRUE(senderPtr != nullptr); index++; } ASSERT_TRUE(numSenders_ == 1); ASSERT_TRUE(numReceivers_ == 1); releaseAllSenders("test-namespace-1"); releaseAllReceivers("test-namespace-1"); ASSERT_TRUE(numSenders_ == 0); ASSERT_TRUE(numReceivers_ == 0); { string wdtNamespace = "test-namespace-1"; auto transferRequest = makeTransferRequest(getTransferId(transferPrefix, index)); ReceiverPtr receiverPtr; ErrorCode code = createReceiver(wdtNamespace, transferRequest.transferId, transferRequest, receiverPtr); ASSERT_TRUE(code == OK); ASSERT_TRUE(receiverPtr != nullptr); SenderPtr senderPtr; code = createSender(wdtNamespace, transferRequest.transferId, transferRequest, senderPtr); ASSERT_TRUE(code == OK); ASSERT_TRUE(senderPtr != nullptr); senderPtr = getSender(wdtNamespace, getTransferId(transferPrefix, index)); receiverPtr = getReceiver(wdtNamespace, getTransferId(transferPrefix, index)); ASSERT_TRUE(senderPtr != nullptr); ASSERT_TRUE(receiverPtr != nullptr); code = releaseReceiver(wdtNamespace, getTransferId(transferPrefix, index)); EXPECT_EQ(code, OK); code = releaseReceiver(wdtNamespace, getTransferId(transferPrefix, index)); ASSERT_TRUE(code != OK); index++; } }
WdtNamespaceController::~WdtNamespaceController() { releaseAllSenders(); releaseAllReceivers(); }