diff options
Diffstat (limited to 'src/lib/hooks/tests/callout_handle_associate_unittest.cc')
-rw-r--r-- | src/lib/hooks/tests/callout_handle_associate_unittest.cc | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/lib/hooks/tests/callout_handle_associate_unittest.cc b/src/lib/hooks/tests/callout_handle_associate_unittest.cc new file mode 100644 index 0000000..cf09388 --- /dev/null +++ b/src/lib/hooks/tests/callout_handle_associate_unittest.cc @@ -0,0 +1,35 @@ +// Copyright (C) 2018 Internet Systems Consortium, Inc. ("ISC") +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at http://mozilla.org/MPL/2.0/. + +#include <config.h> + +#include <hooks/callout_handle.h> +#include <hooks/callout_handle_associate.h> +#include <gtest/gtest.h> + +using namespace isc::hooks; + +namespace { + +// This test verifies that the callout handle can be created and +// retrieved from the CalloutHandleAssociate. +TEST(CalloutHandleAssociate, getCalloutHandle) { + CalloutHandleAssociate associate; + // The handle should be initialized and returned. + CalloutHandlePtr callout_handle = associate.getCalloutHandle(); + ASSERT_TRUE(callout_handle); + + // When calling the second time, the same handle should be returned. + CalloutHandlePtr callout_handle2 = associate.getCalloutHandle(); + EXPECT_TRUE(callout_handle == callout_handle2); + + // A different associate should produce a different handle. + CalloutHandleAssociate associate2; + callout_handle2 = associate2.getCalloutHandle(); + EXPECT_FALSE(callout_handle == callout_handle2); +} + +} // end of anonymous namespace |