1 /* 2 * Copyright (c) 2024 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #include "mock_permission.h" 17 18 #include "nativetoken_kit.h" 19 #include "token_setproc.h" 20 21 namespace OHOS::testserver { MockPermission()22 void TestServerMockPermission::MockPermission() 23 { 24 static const char *permissionParams[] = { 25 "ohos.permission.DISTRIBUTED_DATASYNC"}; 26 uint64_t tokenId; 27 NativeTokenInfoParams infoInstance = { 28 .dcapsNum = 0, 29 .permsNum = 1, 30 .aclsNum = 0, 31 .dcaps = nullptr, 32 .perms = permissionParams, 33 .acls = nullptr, 34 .processName = "distributedsched", 35 .aplStr = "system_core", 36 }; 37 tokenId = GetAccessTokenId(&infoInstance); 38 SetSelfTokenID(tokenId); 39 } 40 MockProcess(const char * processName)41 void TestServerMockPermission::MockProcess(const char *processName) 42 { 43 static const char *permissionParams[] = { 44 "ohos.permission.DISTRIBUTED_DATASYNC"}; 45 uint64_t tokenId; 46 NativeTokenInfoParams infoInstance = { 47 .dcapsNum = 0, 48 .permsNum = 1, 49 .aclsNum = 0, 50 .dcaps = nullptr, 51 .perms = permissionParams, 52 .acls = nullptr, 53 .processName = processName, 54 .aplStr = "system_core", 55 }; 56 tokenId = GetAccessTokenId(&infoInstance); 57 SetSelfTokenID(tokenId); 58 } 59 } // namespace OHOS::testserver