18d05d8e7Sopenharmony_ci/* 28d05d8e7Sopenharmony_ci * Copyright (c) 2024 Huawei Device Co., Ltd. 38d05d8e7Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 48d05d8e7Sopenharmony_ci * you may not use this file except in compliance with the License. 58d05d8e7Sopenharmony_ci * You may obtain a copy of the License at 68d05d8e7Sopenharmony_ci * 78d05d8e7Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 88d05d8e7Sopenharmony_ci * 98d05d8e7Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 108d05d8e7Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 118d05d8e7Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 128d05d8e7Sopenharmony_ci * See the License for the specific language governing permissions and 138d05d8e7Sopenharmony_ci * limitations under the License. 148d05d8e7Sopenharmony_ci */ 158d05d8e7Sopenharmony_ci 168d05d8e7Sopenharmony_ci#ifndef TEST_UNITTEST_MOCK_FILE_ASSISTANT_H 178d05d8e7Sopenharmony_ci#define TEST_UNITTEST_MOCK_FILE_ASSISTANT_H 188d05d8e7Sopenharmony_ci 198d05d8e7Sopenharmony_ci#include <gmock/gmock.h> 208d05d8e7Sopenharmony_ci 218d05d8e7Sopenharmony_ci#ifdef FILE_SUBSYSTEM_DEBUG_LOCAL 228d05d8e7Sopenharmony_ci#include <node_api.h> 238d05d8e7Sopenharmony_ci#else 248d05d8e7Sopenharmony_ci#include "napi/native_api.h" 258d05d8e7Sopenharmony_ci#include "napi/native_node_api.h" 268d05d8e7Sopenharmony_ci#endif 278d05d8e7Sopenharmony_ci#include "uv.h" 288d05d8e7Sopenharmony_ci 298d05d8e7Sopenharmony_cinamespace OHOS { 308d05d8e7Sopenharmony_cinamespace FileAccessFwk { 318d05d8e7Sopenharmony_ciclass Assistant { 328d05d8e7Sopenharmony_cipublic: 338d05d8e7Sopenharmony_ci virtual ~Assistant() = default; 348d05d8e7Sopenharmony_ci virtual bool Bool() = 0; 358d05d8e7Sopenharmony_ci virtual int Int() = 0; 368d05d8e7Sopenharmony_cipublic: 378d05d8e7Sopenharmony_ci virtual napi_status napi_get_uv_event_loop(napi_env, struct uv_loop_s**) = 0; 388d05d8e7Sopenharmony_ci virtual napi_status napi_call_function(napi_env, napi_value, napi_value, size_t, const napi_value*, napi_value*) 398d05d8e7Sopenharmony_ci = 0; 408d05d8e7Sopenharmony_ci virtual napi_status napi_get_reference_value(napi_env, napi_ref, napi_value*) = 0; 418d05d8e7Sopenharmony_ci virtual napi_status napi_get_named_property(napi_env, napi_value, const char*, napi_value*) = 0; 428d05d8e7Sopenharmony_ci virtual int uv_queue_work(uv_loop_t*, uv_work_t*, uv_work_cb, uv_after_work_cb) = 0; 438d05d8e7Sopenharmony_ci virtual napi_status napi_get_value_int32(napi_env, napi_value, int32_t*) = 0; 448d05d8e7Sopenharmony_ci virtual napi_status napi_get_value_int64(napi_env, napi_value, int64_t*) = 0; 458d05d8e7Sopenharmony_ci virtual napi_status napi_create_string_utf8(napi_env, const char*, size_t, napi_value*) = 0; 468d05d8e7Sopenharmony_ci virtual napi_status napi_create_int32(napi_env, int32_t, napi_value*) = 0; 478d05d8e7Sopenharmony_ci virtual napi_status napi_create_int64(napi_env, int64_t, napi_value*) = 0; 488d05d8e7Sopenharmony_ci virtual napi_status napi_get_value_string_utf8(napi_env, napi_value, char*, size_t, size_t*) = 0; 498d05d8e7Sopenharmony_ci virtual napi_status napi_get_boolean(napi_env, bool, napi_value*) = 0; 508d05d8e7Sopenharmony_ci virtual napi_status napi_create_array(napi_env, napi_value*) = 0; 518d05d8e7Sopenharmony_ci virtual napi_status napi_get_array_length(napi_env, napi_value, uint32_t*) = 0; 528d05d8e7Sopenharmony_ci virtual napi_status napi_get_element(napi_env, napi_value, uint32_t, napi_value*) = 0; 538d05d8e7Sopenharmony_ci virtual napi_status napi_escape_handle(napi_env, napi_escapable_handle_scope, napi_value, napi_value*) = 0; 548d05d8e7Sopenharmony_ci virtual napi_status napi_get_null(napi_env, napi_value*) = 0; 558d05d8e7Sopenharmony_ci virtual napi_status napi_create_object(napi_env, napi_value*) = 0; 568d05d8e7Sopenharmony_ci virtual napi_status napi_create_array_with_length(napi_env, size_t, napi_value*) = 0; 578d05d8e7Sopenharmony_ci virtual napi_status napi_create_double(napi_env, double, napi_value*) = 0; 588d05d8e7Sopenharmony_ci virtual napi_status napi_set_named_property(napi_env, napi_value, const char*, napi_value) = 0; 598d05d8e7Sopenharmony_ci virtual napi_status napi_create_function(napi_env, const char*, size_t, napi_callback, void*, napi_value*) = 0; 608d05d8e7Sopenharmony_ci virtual napi_status napi_get_cb_info(napi_env, napi_callback_info, size_t*, napi_value*, napi_value*, void**) = 0; 618d05d8e7Sopenharmony_ci virtual napi_status napi_get_undefined(napi_env, napi_value*) = 0; 628d05d8e7Sopenharmony_ci virtual napi_status napi_get_value_bool(napi_env, napi_value, bool*) = 0; 638d05d8e7Sopenharmony_cipublic: 648d05d8e7Sopenharmony_ci static inline std::shared_ptr<Assistant> ins_ = nullptr; 658d05d8e7Sopenharmony_ci}; 668d05d8e7Sopenharmony_ci 678d05d8e7Sopenharmony_ciclass AssistantMock : public Assistant { 688d05d8e7Sopenharmony_cipublic: 698d05d8e7Sopenharmony_ci MOCK_METHOD0(Bool, bool()); 708d05d8e7Sopenharmony_ci MOCK_METHOD0(Int, int()); 718d05d8e7Sopenharmony_cipublic: 728d05d8e7Sopenharmony_ci MOCK_METHOD2(napi_get_uv_event_loop, napi_status(napi_env, struct uv_loop_s**)); 738d05d8e7Sopenharmony_ci MOCK_METHOD6(napi_call_function, napi_status(napi_env, napi_value, napi_value, size_t, const napi_value*, 748d05d8e7Sopenharmony_ci napi_value*)); 758d05d8e7Sopenharmony_ci MOCK_METHOD3(napi_get_reference_value, napi_status(napi_env, napi_ref, napi_value*)); 768d05d8e7Sopenharmony_ci MOCK_METHOD4(napi_get_named_property, napi_status(napi_env, napi_value, const char*, napi_value*)); 778d05d8e7Sopenharmony_ci MOCK_METHOD4(uv_queue_work, int(uv_loop_t*, uv_work_t*, uv_work_cb, uv_after_work_cb)); 788d05d8e7Sopenharmony_ci MOCK_METHOD3(napi_get_value_int32, napi_status(napi_env, napi_value, int32_t*)); 798d05d8e7Sopenharmony_ci MOCK_METHOD3(napi_get_value_int64, napi_status(napi_env, napi_value, int64_t*)); 808d05d8e7Sopenharmony_ci MOCK_METHOD3(napi_create_int64, napi_status(napi_env, int64_t, napi_value*)); 818d05d8e7Sopenharmony_ci MOCK_METHOD4(napi_create_string_utf8, napi_status(napi_env, const char*, size_t, napi_value*)); 828d05d8e7Sopenharmony_ci MOCK_METHOD3(napi_create_int32, napi_status(napi_env, int32_t, napi_value*)); 838d05d8e7Sopenharmony_ci MOCK_METHOD5(napi_get_value_string_utf8, napi_status(napi_env, napi_value, char*, size_t, size_t*)); 848d05d8e7Sopenharmony_ci MOCK_METHOD3(napi_get_boolean, napi_status(napi_env, bool, napi_value*)); 858d05d8e7Sopenharmony_ci MOCK_METHOD2(napi_create_array, napi_status(napi_env, napi_value*)); 868d05d8e7Sopenharmony_ci MOCK_METHOD3(napi_get_array_length, napi_status(napi_env, napi_value, uint32_t*)); 878d05d8e7Sopenharmony_ci MOCK_METHOD4(napi_get_element, napi_status(napi_env, napi_value, uint32_t, napi_value*)); 888d05d8e7Sopenharmony_ci MOCK_METHOD4(napi_escape_handle, napi_status(napi_env, napi_escapable_handle_scope, napi_value, napi_value*)); 898d05d8e7Sopenharmony_ci MOCK_METHOD2(napi_get_null, napi_status(napi_env, napi_value*)); 908d05d8e7Sopenharmony_ci MOCK_METHOD2(napi_create_object, napi_status(napi_env, napi_value*)); 918d05d8e7Sopenharmony_ci MOCK_METHOD3(napi_create_array_with_length, napi_status(napi_env, size_t, napi_value*)); 928d05d8e7Sopenharmony_ci MOCK_METHOD3(napi_create_double, napi_status(napi_env, double, napi_value*)); 938d05d8e7Sopenharmony_ci MOCK_METHOD4(napi_set_named_property, napi_status(napi_env, napi_value, const char*, napi_value)); 948d05d8e7Sopenharmony_ci MOCK_METHOD6(napi_create_function, napi_status(napi_env, const char*, size_t, napi_callback, void*, napi_value*)); 958d05d8e7Sopenharmony_ci MOCK_METHOD6(napi_get_cb_info, napi_status(napi_env, napi_callback_info, size_t*, napi_value*, napi_value*, 968d05d8e7Sopenharmony_ci void**)); 978d05d8e7Sopenharmony_ci MOCK_METHOD2(napi_get_undefined, napi_status(napi_env, napi_value*)); 988d05d8e7Sopenharmony_ci MOCK_METHOD3(napi_get_value_bool, napi_status(napi_env, napi_value, bool*)); 998d05d8e7Sopenharmony_ci}; 1008d05d8e7Sopenharmony_ci 1018d05d8e7Sopenharmony_ci} // End of namespace FileAccessFwk 1028d05d8e7Sopenharmony_ci} // End of namespace OHOS 1038d05d8e7Sopenharmony_ci#endif // TEST_UNITTEST_MOCK_FILE_ASSISTANT_H