2 * Copyright (c) 2014-2015 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 #include <cynara_test_commons.h>
18 #include <cynara_test_env.h>
19 #include <cynara_test_file_operations.h>
20 #include <cynara_test_cynara_mask.h>
22 #include <dpl/exception.h>
23 #include <dpl/test/test_exception.h>
27 namespace CynaraTestConsts
30 const std::string DB_DIR(CYNARA_DB_DIR);
31 const std::string USER("cynara");
32 const std::string LABEL("System");
33 const std::string SERVICE("cynara.service");
34 const std::string SERVICE_PLUGINS_DIR("/usr/lib/cynara/plugin/service/");
38 void environmentWrap(const char *testName, const std::function<void(void)> &func)
40 CynaraTestEnv env(testName);
42 env.loadDefaultDatabase();
46 } catch (const DPL::Test::TestException &e) {
49 } catch (const DPL::Exception &e) {
52 } catch (const std::exception &e) {
57 throw std::runtime_error("Unknown exception");
62 void loadServicePlugins(const DirectoryPaths &pluginDirectories)
66 FileOperations::removeDirFiles(CynaraTestConsts::SERVICE_PLUGINS_DIR);
67 for (const auto &dir : pluginDirectories)
68 FileOperations::copyCynaraFiles(dir.c_str(), CynaraTestConsts::SERVICE_PLUGINS_DIR);