1f6603c60Sopenharmony_ci/** 2f6603c60Sopenharmony_ci * Copyright (c) 2021 Huawei Device Co., Ltd. 3f6603c60Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4f6603c60Sopenharmony_ci * you may not use this file except in compliance with the License. 5f6603c60Sopenharmony_ci * You may obtain a copy of the License at 6f6603c60Sopenharmony_ci * 7f6603c60Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8f6603c60Sopenharmony_ci * 9f6603c60Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10f6603c60Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11f6603c60Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12f6603c60Sopenharmony_ci * See the License for the specific language governing permissions and 13f6603c60Sopenharmony_ci * limitations under the License. 14f6603c60Sopenharmony_ci */ 15f6603c60Sopenharmony_ci 16f6603c60Sopenharmony_ci#ifndef XTS_ACTS_TOKEN_API_EXPECT_H 17f6603c60Sopenharmony_ci#define XTS_ACTS_TOKEN_API_EXPECT_H 18f6603c60Sopenharmony_ci 19f6603c60Sopenharmony_ci#include <string> 20f6603c60Sopenharmony_ci#include <cstdio> 21f6603c60Sopenharmony_ci#include <cstring> 22f6603c60Sopenharmony_ci#include <cstdlib> 23f6603c60Sopenharmony_ci#include <fcntl.h> 24f6603c60Sopenharmony_ci#include <securec.h> 25f6603c60Sopenharmony_ci#include <sys/stat.h> 26f6603c60Sopenharmony_ci#include <sys/types.h> 27f6603c60Sopenharmony_ci#include <sys/wait.h> 28f6603c60Sopenharmony_ci#include <unistd.h> 29f6603c60Sopenharmony_ci#include "feature.h" 30f6603c60Sopenharmony_ci#include "gtest/gtest.h" 31f6603c60Sopenharmony_ci#include "iunknown.h" 32f6603c60Sopenharmony_ci#include "perm_define.h" 33f6603c60Sopenharmony_ci#include "pms.h" 34f6603c60Sopenharmony_ci#include "pms_common.h" 35f6603c60Sopenharmony_ci#include "pms_inner.h" 36f6603c60Sopenharmony_ci#include "pms_interface.h" 37f6603c60Sopenharmony_ci#include "perm_operate.h" 38f6603c60Sopenharmony_ci#include "service.h" 39f6603c60Sopenharmony_ci#include "samgr_lite.h" 40f6603c60Sopenharmony_ci 41f6603c60Sopenharmony_ci#define TEST_APP_ID "com.permission.test" 42f6603c60Sopenharmony_ci#define TEST_APP_ID2 "com.permission.test2" 43f6603c60Sopenharmony_ci#define SUBTEST_APP_ID "com.permission.subtest" 44f6603c60Sopenharmony_ci#define TEST_APP_SHORT "a" 45f6603c60Sopenharmony_ci#define TEST_APP_LONG "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" 46f6603c60Sopenharmony_ci#define TEST_APP_PATH "/storage/app/etc/permissions/com.permission.test" 47f6603c60Sopenharmony_ci#define TEST_APP_INVALID "com.permission.!@#$%^&*()_+" 48f6603c60Sopenharmony_ci#define TEST_APP_NOT_EXIST "com.permission.onetwothree" 49f6603c60Sopenharmony_ci#define PERMISSION_UNDEFINED "ohos.permission.TEST" 50f6603c60Sopenharmony_ci#define PERMISSION_TOOLONG "ohos.permission.balabalabalabalabalabalabalabalabalabala" 51f6603c60Sopenharmony_ci#define PERMISSION_EMPTY "" 52f6603c60Sopenharmony_ci#define PERMISSION_UNSUPPORTED "!@#$%^&*()_+" 53f6603c60Sopenharmony_ci#define ETC_PREFIX "/storage/app/etc" 54f6603c60Sopenharmony_ci#define PERMISSION_PREFIX "/storage/app/etc/permissions" 55f6603c60Sopenharmony_ci 56f6603c60Sopenharmony_ciconst int SLEEP_TIME = 5; 57f6603c60Sopenharmony_ciconst int TEST_TASKID = 1000; 58f6603c60Sopenharmony_ciconst int SUBTEST_TASKID = 1001; 59f6603c60Sopenharmony_ciconst int ABNORMAL_TASKID = -1; 60f6603c60Sopenharmony_ciconst int SYS_PERM_NUM = 9; 61f6603c60Sopenharmony_ciconst int ABNORMAL_PERM_NUM = 3; 62f6603c60Sopenharmony_ciconst int MAX_PERM_NUM = 1024; 63f6603c60Sopenharmony_ciconst int RET_OK = 0; 64f6603c60Sopenharmony_ciconst int RET_NOK = -1; 65f6603c60Sopenharmony_ciconst int RELI_TEST_TIME = 1000; 66f6603c60Sopenharmony_ciconst int MAX_PID = 0x7fffffff; 67f6603c60Sopenharmony_ciconst int MIN_PID = 0; 68f6603c60Sopenharmony_ciconst int ABNORMAL_PKG_NUM = 5; 69f6603c60Sopenharmony_ciconst int DIR_MODE = 777; 70f6603c60Sopenharmony_ciconst int FLAG_NOT_EXIST = 123; 71f6603c60Sopenharmony_ciconst int PERFORMANCE_RUN_TIMES = 10000; 72f6603c60Sopenharmony_ciconst int MILLISECOND = 1000; 73f6603c60Sopenharmony_ci 74f6603c60Sopenharmony_ciint IsUserGrant(const char *pname); 75f6603c60Sopenharmony_ci 76f6603c60Sopenharmony_ciint CheckPermData(const PermissionTrans *pt, const PermissionSaved *ps, 77f6603c60Sopenharmony_ci const PermissionSaved *pre, int len, int plen); 78f6603c60Sopenharmony_ci 79f6603c60Sopenharmony_civoid ClrPers(PermissionSaved *&permissions); 80f6603c60Sopenharmony_ci 81f6603c60Sopenharmony_civoid CheckAppPermission(const char *identifier, int expRet, int expNum, const PermissionTrans *installPers, 82f6603c60Sopenharmony_ci const PermissionSaved *lastPers = nullptr, int lastLen = 0); 83f6603c60Sopenharmony_ci 84f6603c60Sopenharmony_civoid SubTestWithoutCheck(const char *identifier, int taskID); 85f6603c60Sopenharmony_ci 86f6603c60Sopenharmony_civoid CreateAppDir(void); 87f6603c60Sopenharmony_ci 88f6603c60Sopenharmony_ci#endif // XTS_HITS_TOKEN_API_EXPECT_H