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