| /* |
| * 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 <gtest/gtest.h> |
| |
| #include <geode/AuthenticatedView.hpp> |
| #include <geode/Cache.hpp> |
| #include <geode/PoolManager.hpp> |
| #include <geode/RegionFactory.hpp> |
| #include <geode/RegionShortcut.hpp> |
| |
| using apache::geode::client::CacheClosedException; |
| using apache::geode::client::CacheFactory; |
| using apache::geode::client::RegionShortcut; |
| |
| /** |
| * Cache should close and throw exceptions on methods called after close. |
| */ |
| TEST(CacheTest, close) { |
| auto cache = CacheFactory{}.set("log-level", "none").create(); |
| ASSERT_FALSE(cache.isClosed()); |
| |
| cache.close(); |
| ASSERT_TRUE(cache.isClosed()); |
| |
| EXPECT_THROW(cache.close(), CacheClosedException); |
| EXPECT_THROW(cache.close(true), CacheClosedException); |
| EXPECT_THROW(cache.createAuthenticatedView(nullptr, "pool"), |
| CacheClosedException); |
| EXPECT_THROW(cache.createDataInput(nullptr, 0), CacheClosedException); |
| EXPECT_THROW(cache.createDataOutput(), CacheClosedException); |
| EXPECT_THROW(cache.createPdxInstanceFactory("classname"), |
| CacheClosedException); |
| EXPECT_THROW(cache.createRegionFactory(RegionShortcut::LOCAL), |
| CacheClosedException); |
| EXPECT_THROW(cache.getCacheTransactionManager(), CacheClosedException); |
| EXPECT_THROW(cache.getName(), CacheClosedException); |
| EXPECT_THROW(cache.getPdxIgnoreUnreadFields(), CacheClosedException); |
| EXPECT_THROW(cache.getPdxReadSerialized(), CacheClosedException); |
| EXPECT_THROW(cache.getPoolManager(), CacheClosedException); |
| EXPECT_THROW(cache.getQueryService(), CacheClosedException); |
| EXPECT_THROW(cache.getQueryService("pool"), CacheClosedException); |
| EXPECT_THROW(cache.getRegion("region"), CacheClosedException); |
| EXPECT_THROW(cache.getSystemProperties(), CacheClosedException); |
| EXPECT_THROW(cache.getTypeRegistry(), CacheClosedException); |
| EXPECT_THROW(cache.initializeDeclarativeCache(""), CacheClosedException); |
| EXPECT_THROW(cache.readyForEvents(), CacheClosedException); |
| EXPECT_THROW(cache.rootRegions(), CacheClosedException); |
| } |