1/* 2 * Copyright (C) 2023 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#ifndef SECURITY_GUARD_RDB_PREDICATES_MOCK_H 17#define SECURITY_GUARD_RDB_PREDICATES_MOCK_H 18 19#include <cstdint> 20#include <string> 21 22#include <gtest/gtest.h> 23 24namespace OHOS::NativeRdb { 25class AbsPredicates { 26public: 27 AbsPredicates() = default; 28 virtual ~AbsPredicates() = default; 29 virtual AbsPredicates *EqualTo(std::string field, std::string value) {return nullptr;}; 30 virtual AbsPredicates *EqualTo(std::string field, int value) {return nullptr;}; 31 virtual AbsPredicates *NotEqualTo(std::string field, std::string value) {return nullptr;}; 32 virtual AbsPredicates *BeginWrap() {return nullptr;}; 33 virtual AbsPredicates *EndWrap() {return nullptr;}; 34 virtual AbsPredicates *Or() {return nullptr;}; 35 virtual AbsPredicates *And() {return nullptr;}; 36 virtual AbsPredicates *Contains(std::string field, std::string value) {return nullptr;}; 37 virtual AbsPredicates *BeginsWith(std::string field, std::string value) {return nullptr;}; 38 virtual AbsPredicates *EndsWith(std::string field, std::string value) {return nullptr;}; 39 virtual AbsPredicates *IsNull(std::string field) {return nullptr;}; 40 virtual AbsPredicates *IsNotNull(std::string field) {return nullptr;}; 41 virtual AbsPredicates *Like(std::string field, std::string value) {return nullptr;}; 42 virtual AbsPredicates *Glob(std::string field, std::string value) {return nullptr;}; 43 virtual AbsPredicates *Between(std::string field, std::string low, std::string high) {return nullptr;}; 44 virtual AbsPredicates *NotBetween(std::string field, std::string low, std::string high) {return nullptr;}; 45 virtual AbsPredicates *GreaterThan(std::string field, std::string value) {return nullptr;}; 46 virtual AbsPredicates *LessThan(std::string field, std::string value) {return nullptr;}; 47 virtual AbsPredicates *GreaterThanOrEqualTo(std::string field, std::string value) {return nullptr;}; 48 virtual AbsPredicates *LessThanOrEqualTo(std::string field, std::string value) {return nullptr;}; 49 virtual AbsPredicates *OrderByAsc(std::string field) {return nullptr;}; 50 virtual AbsPredicates *OrderByDesc(std::string field) {return nullptr;}; 51 virtual AbsPredicates *Distinct() {return nullptr;}; 52 virtual AbsPredicates *Limit(int value) {return nullptr;}; 53 virtual AbsPredicates *Offset(int rowOffset) {return nullptr;}; 54 virtual AbsPredicates *GroupBy(std::vector<std::string> fields) {return nullptr;}; 55 virtual AbsPredicates *IndexedBy(std::string indexName) {return nullptr;}; 56 virtual AbsPredicates *In(std::string field, std::vector<std::string> values) {return nullptr;}; 57 virtual AbsPredicates *NotIn(std::string field, std::vector<std::string> values) {return nullptr;}; 58}; 59 60class AbsRdbPredicates : public AbsPredicates { 61public: 62 AbsRdbPredicates(std::string string) : AbsPredicates() {}; 63 ~AbsRdbPredicates() override {}; 64}; 65 66class RdbPredicates : public AbsRdbPredicates { 67public: 68 explicit RdbPredicates(std::string string) : AbsRdbPredicates(string){}; 69 ~RdbPredicates() override {}; 70 virtual AbsPredicates *NotEqualTo(std::string field, std::string value) {return nullptr;}; 71 virtual AbsPredicates *BeginWrap() {return nullptr;}; 72 virtual AbsPredicates *EndWrap() {return nullptr;}; 73 virtual AbsPredicates *Or() {return nullptr;}; 74 virtual AbsPredicates *And() {return nullptr;}; 75 virtual AbsPredicates *Contains(std::string field, std::string value) {return nullptr;}; 76 virtual AbsPredicates *BeginsWith(std::string field, std::string value) {return nullptr;}; 77 virtual AbsPredicates *EndsWith(std::string field, std::string value) {return nullptr;}; 78 virtual AbsPredicates *IsNull(std::string field) {return nullptr;}; 79 virtual AbsPredicates *IsNotNull(std::string field) {return nullptr;}; 80 virtual AbsPredicates *Like(std::string field, std::string value) {return nullptr;}; 81 virtual AbsPredicates *Glob(std::string field, std::string value) {return nullptr;}; 82 virtual AbsPredicates *Between(std::string field, std::string low, std::string high) {return nullptr;}; 83 virtual AbsPredicates *NotBetween(std::string field, std::string low, std::string high) {return nullptr;}; 84 virtual AbsPredicates *GreaterThan(std::string field, std::string value) {return nullptr;}; 85 virtual AbsPredicates *LessThan(std::string field, std::string value) {return nullptr;}; 86 virtual AbsPredicates *GreaterThanOrEqualTo(std::string field, std::string value) {return nullptr;}; 87 virtual AbsPredicates *LessThanOrEqualTo(std::string field, std::string value) {return nullptr;}; 88 virtual AbsPredicates *OrderByAsc(std::string field) {return nullptr;}; 89 virtual AbsPredicates *OrderByDesc(std::string field) {return nullptr;}; 90 virtual AbsPredicates *Distinct() {return nullptr;}; 91 virtual AbsPredicates *Limit(int value) {return nullptr;}; 92 virtual AbsPredicates *Offset(int rowOffset) {return nullptr;}; 93 virtual AbsPredicates *GroupBy(std::vector<std::string> fields) {return nullptr;}; 94 virtual AbsPredicates *IndexedBy(std::string indexName) {return nullptr;}; 95 virtual AbsPredicates *In(std::string field, std::vector<std::string> values) {return nullptr;}; 96 virtual AbsPredicates *NotIn(std::string field, std::vector<std::string> values) {return nullptr;}; 97}; 98} // namespace OHOS::NativeRdb 99#endif // SECURITY_GUARD_RDB_PREDICATES_MOCK_H