kdarapu | b26b450 | 2019-10-05 03:02:33 +0530 | [diff] [blame] | 1 | /* |
Joey Armstrong | 11f5a57 | 2024-01-12 19:11:32 -0500 | [diff] [blame] | 2 | * Copyright 2018-2024 Open Networking Foundation (ONF) and the ONF Contributors |
kdarapu | b26b450 | 2019-10-05 03:02:33 +0530 | [diff] [blame] | 3 | |
| 4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
| 5 | * you may not use this file except in compliance with the License. |
| 6 | * You may obtain a copy of the License at |
| 7 | |
| 8 | * http://www.apache.org/licenses/LICENSE-2.0 |
| 9 | |
| 10 | * Unless required by applicable law or agreed to in writing, software |
| 11 | * distributed under the License is distributed on an "AS IS" BASIS, |
| 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 13 | * See the License for the specific language governing permissions and |
| 14 | * limitations under the License. |
| 15 | */ |
| 16 | |
Joey Armstrong | 3f0e242 | 2023-07-05 18:25:41 -0400 | [diff] [blame] | 17 | // Package mocks provides the mocks for openolt-adapter. |
kdarapu | b26b450 | 2019-10-05 03:02:33 +0530 | [diff] [blame] | 18 | package mocks |
| 19 | |
| 20 | import ( |
npujar | ec5762e | 2020-01-01 14:08:48 +0530 | [diff] [blame] | 21 | "context" |
Takahiro Suzuki | 2ba0e0b | 2020-06-05 14:23:03 -0700 | [diff] [blame] | 22 | |
khenaidoo | 106c61a | 2021-08-11 18:05:46 -0400 | [diff] [blame] | 23 | "github.com/opencord/voltha-lib-go/v7/pkg/db" |
| 24 | tp_pb "github.com/opencord/voltha-protos/v5/go/tech_profile" |
kdarapu | b26b450 | 2019-10-05 03:02:33 +0530 | [diff] [blame] | 25 | ) |
| 26 | |
| 27 | // MockTechProfile mock struct for OpenoltClient. |
| 28 | type MockTechProfile struct { |
| 29 | TpID uint32 |
| 30 | } |
| 31 | |
Girish Gowdra | 5493426 | 2019-11-13 14:19:55 +0530 | [diff] [blame] | 32 | // SetKVClient to mock techprofile SetKVClient method |
Matteo Scandolo | d9d6f51 | 2020-11-24 13:57:53 -0800 | [diff] [blame] | 33 | func (m MockTechProfile) SetKVClient(ctx context.Context, pathPrefix string) *db.Backend { |
sbarbari | a8910ba | 2019-11-05 10:12:23 -0500 | [diff] [blame] | 34 | return &db.Backend{Client: &MockKVClient{}} |
kdarapu | b26b450 | 2019-10-05 03:02:33 +0530 | [diff] [blame] | 35 | } |
| 36 | |
Holger Hildebrandt | 143b5be | 2023-02-10 08:28:15 +0000 | [diff] [blame] | 37 | // CloseKVClient to mock techprofile CloseKVClient method |
| 38 | func (m MockTechProfile) CloseKVClient(ctx context.Context) { |
| 39 | } |
| 40 | |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 41 | // GetTPInstance to mock techprofile GetTPInstance method |
| 42 | func (m MockTechProfile) GetTPInstance(ctx context.Context, path string) (interface{}, error) { |
Girish Gowdra | 0aca498 | 2021-01-04 12:44:27 -0800 | [diff] [blame] | 43 | logger.Debug(ctx, "GetTPInstanceFromKVStore") |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 44 | var usGemPortAttributeList []*tp_pb.GemPortAttributes |
| 45 | var dsGemPortAttributeList []*tp_pb.GemPortAttributes |
| 46 | usGemPortAttributeList = append(usGemPortAttributeList, &tp_pb.GemPortAttributes{ |
| 47 | GemportId: 1, |
| 48 | PbitMap: "0b11111111", |
| 49 | }) |
| 50 | dsGemPortAttributeList = append(dsGemPortAttributeList, &tp_pb.GemPortAttributes{ |
| 51 | GemportId: 1, |
| 52 | PbitMap: "0b11111111", |
| 53 | }) |
| 54 | return &tp_pb.TechProfileInstance{ |
| 55 | Name: "mock-tech-profile", |
| 56 | SubscriberIdentifier: "257", |
| 57 | ProfileType: "mock", |
| 58 | Version: 0, |
| 59 | NumGemPorts: 1, |
| 60 | InstanceControl: &tp_pb.InstanceControl{ |
| 61 | Onu: "multi-instance", |
| 62 | Uni: "single-instance", |
| 63 | MaxGemPayloadSize: "", |
| 64 | }, |
| 65 | UsScheduler: &tp_pb.SchedulerAttributes{ |
| 66 | AllocId: 1, |
| 67 | Direction: tp_pb.Direction_UPSTREAM, |
| 68 | AdditionalBw: tp_pb.AdditionalBW_AdditionalBW_None, |
| 69 | Priority: 0, |
| 70 | Weight: 0, |
| 71 | QSchedPolicy: tp_pb.SchedulingPolicy_WRR, |
| 72 | }, |
| 73 | DsScheduler: &tp_pb.SchedulerAttributes{ |
| 74 | AllocId: 1, |
| 75 | Direction: tp_pb.Direction_DOWNSTREAM, |
| 76 | AdditionalBw: tp_pb.AdditionalBW_AdditionalBW_None, |
| 77 | Priority: 0, |
| 78 | Weight: 0, |
| 79 | QSchedPolicy: tp_pb.SchedulingPolicy_WRR, |
| 80 | }, |
| 81 | UpstreamGemPortAttributeList: usGemPortAttributeList, |
| 82 | DownstreamGemPortAttributeList: dsGemPortAttributeList, |
| 83 | }, nil |
| 84 | |
kdarapu | b26b450 | 2019-10-05 03:02:33 +0530 | [diff] [blame] | 85 | } |
| 86 | |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 87 | // CreateTechProfileInstance to mock techprofile CreateTechProfileInstance method |
| 88 | func (m MockTechProfile) CreateTechProfileInstance(ctx context.Context, techProfiletblID uint32, uniPortName string, intfID uint32) (interface{}, error) { |
kdarapu | b26b450 | 2019-10-05 03:02:33 +0530 | [diff] [blame] | 89 | |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 90 | var usGemPortAttributeList []*tp_pb.GemPortAttributes |
| 91 | var dsGemPortAttributeList []*tp_pb.GemPortAttributes |
Takahiro Suzuki | 2ba0e0b | 2020-06-05 14:23:03 -0700 | [diff] [blame] | 92 | if techProfiletblID == 64 { |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 93 | usGemPortAttributeList = append(usGemPortAttributeList, &tp_pb.GemPortAttributes{ |
| 94 | GemportId: 1, |
| 95 | PbitMap: "0b11111111", |
| 96 | }) |
| 97 | dsGemPortAttributeList = append(dsGemPortAttributeList, &tp_pb.GemPortAttributes{ |
| 98 | GemportId: 1, |
| 99 | PbitMap: "0b11111111", |
| 100 | }) |
| 101 | return &tp_pb.TechProfileInstance{ |
Girish Gowdra | fb3d610 | 2020-10-16 16:32:36 -0700 | [diff] [blame] | 102 | Name: "mock-tech-profile", |
| 103 | SubscriberIdentifier: "257", |
| 104 | ProfileType: "mock", |
| 105 | Version: 0, |
| 106 | NumGemPorts: 1, |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 107 | InstanceControl: &tp_pb.InstanceControl{ |
| 108 | Onu: "multi-instance", |
| 109 | Uni: "single-instance", |
| 110 | MaxGemPayloadSize: "", |
| 111 | }, |
| 112 | UsScheduler: &tp_pb.SchedulerAttributes{ |
| 113 | AllocId: 1, |
| 114 | Direction: tp_pb.Direction_UPSTREAM, |
| 115 | AdditionalBw: tp_pb.AdditionalBW_AdditionalBW_None, |
Girish Gowdra | fb3d610 | 2020-10-16 16:32:36 -0700 | [diff] [blame] | 116 | Priority: 0, |
| 117 | Weight: 0, |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 118 | QSchedPolicy: tp_pb.SchedulingPolicy_WRR, |
Girish Gowdra | fb3d610 | 2020-10-16 16:32:36 -0700 | [diff] [blame] | 119 | }, |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 120 | DsScheduler: &tp_pb.SchedulerAttributes{ |
| 121 | AllocId: 1, |
| 122 | Direction: tp_pb.Direction_DOWNSTREAM, |
| 123 | AdditionalBw: tp_pb.AdditionalBW_AdditionalBW_None, |
Girish Gowdra | fb3d610 | 2020-10-16 16:32:36 -0700 | [diff] [blame] | 124 | Priority: 0, |
| 125 | Weight: 0, |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 126 | QSchedPolicy: tp_pb.SchedulingPolicy_WRR, |
Girish Gowdra | fb3d610 | 2020-10-16 16:32:36 -0700 | [diff] [blame] | 127 | }, |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 128 | UpstreamGemPortAttributeList: usGemPortAttributeList, |
| 129 | DownstreamGemPortAttributeList: dsGemPortAttributeList, |
Takahiro Suzuki | 2ba0e0b | 2020-06-05 14:23:03 -0700 | [diff] [blame] | 130 | }, nil |
| 131 | } else if techProfiletblID == 65 { |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 132 | return &tp_pb.EponTechProfileInstance{ |
Takahiro Suzuki | 2ba0e0b | 2020-06-05 14:23:03 -0700 | [diff] [blame] | 133 | Name: "mock-epon-profile", |
| 134 | SubscriberIdentifier: "257", |
| 135 | ProfileType: "mock", |
| 136 | Version: 0, |
| 137 | NumGemPorts: 2, |
| 138 | UpstreamQueueAttributeList: nil, |
| 139 | DownstreamQueueAttributeList: nil, |
| 140 | }, nil |
| 141 | } else { |
| 142 | return nil, nil |
| 143 | } |
kdarapu | b26b450 | 2019-10-05 03:02:33 +0530 | [diff] [blame] | 144 | } |
| 145 | |
Girish Gowdra | 5493426 | 2019-11-13 14:19:55 +0530 | [diff] [blame] | 146 | // DeleteTechProfileInstance to mock techprofile DeleteTechProfileInstance method |
npujar | ec5762e | 2020-01-01 14:08:48 +0530 | [diff] [blame] | 147 | func (m MockTechProfile) DeleteTechProfileInstance(ctx context.Context, techProfiletblID uint32, uniPortName string) error { |
kdarapu | b26b450 | 2019-10-05 03:02:33 +0530 | [diff] [blame] | 148 | return nil |
| 149 | } |
| 150 | |
Girish Gowdra | 5493426 | 2019-11-13 14:19:55 +0530 | [diff] [blame] | 151 | // GetprotoBufParamValue to mock techprofile GetprotoBufParamValue method |
Neha Sharma | 96b7bf2 | 2020-06-15 10:37:32 +0000 | [diff] [blame] | 152 | func (m MockTechProfile) GetprotoBufParamValue(ctx context.Context, paramType string, paramKey string) int32 { |
kdarapu | b26b450 | 2019-10-05 03:02:33 +0530 | [diff] [blame] | 153 | return 0 |
| 154 | |
| 155 | } |
| 156 | |
Girish Gowdra | 5493426 | 2019-11-13 14:19:55 +0530 | [diff] [blame] | 157 | // GetUsScheduler to mock techprofile GetUsScheduler method |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 158 | func (m MockTechProfile) GetUsScheduler(tpInstance *tp_pb.TechProfileInstance) *tp_pb.SchedulerConfig { |
| 159 | return &tp_pb.SchedulerConfig{} |
kdarapu | b26b450 | 2019-10-05 03:02:33 +0530 | [diff] [blame] | 160 | |
| 161 | } |
| 162 | |
Girish Gowdra | 5493426 | 2019-11-13 14:19:55 +0530 | [diff] [blame] | 163 | // GetDsScheduler to mock techprofile GetDsScheduler method |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 164 | func (m MockTechProfile) GetDsScheduler(tpInstance *tp_pb.TechProfileInstance) *tp_pb.SchedulerConfig { |
| 165 | return &tp_pb.SchedulerConfig{} |
kdarapu | b26b450 | 2019-10-05 03:02:33 +0530 | [diff] [blame] | 166 | } |
| 167 | |
Girish Gowdra | 5493426 | 2019-11-13 14:19:55 +0530 | [diff] [blame] | 168 | // GetTrafficScheduler to mock techprofile GetTrafficScheduler method |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 169 | func (m MockTechProfile) GetTrafficScheduler(tpInstance *tp_pb.TechProfileInstance, SchedCfg *tp_pb.SchedulerConfig, |
kdarapu | b26b450 | 2019-10-05 03:02:33 +0530 | [diff] [blame] | 170 | ShapingCfg *tp_pb.TrafficShapingInfo) *tp_pb.TrafficScheduler { |
| 171 | return &tp_pb.TrafficScheduler{} |
| 172 | |
| 173 | } |
| 174 | |
Girish Gowdra | 5493426 | 2019-11-13 14:19:55 +0530 | [diff] [blame] | 175 | // GetTrafficQueues to mock techprofile GetTrafficQueues method |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 176 | func (m MockTechProfile) GetTrafficQueues(ctx context.Context, tp *tp_pb.TechProfileInstance, Dir tp_pb.Direction) ([]*tp_pb.TrafficQueue, error) { |
Girish Kumar | 8f73fe0 | 2019-12-09 13:19:37 +0000 | [diff] [blame] | 177 | return []*tp_pb.TrafficQueue{{}}, nil |
kdarapu | b26b450 | 2019-10-05 03:02:33 +0530 | [diff] [blame] | 178 | } |
| 179 | |
Scott Baker | ee7c0a0 | 2020-01-07 11:12:26 -0800 | [diff] [blame] | 180 | // GetMulticastTrafficQueues to mock techprofile GetMulticastTrafficQueues method |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 181 | func (m MockTechProfile) GetMulticastTrafficQueues(ctx context.Context, tp *tp_pb.TechProfileInstance) []*tp_pb.TrafficQueue { |
Scott Baker | ee7c0a0 | 2020-01-07 11:12:26 -0800 | [diff] [blame] | 182 | return []*tp_pb.TrafficQueue{{}} |
| 183 | } |
| 184 | |
Gamze Abaka | 7650be6 | 2021-02-26 10:50:36 +0000 | [diff] [blame] | 185 | // GetGemportForPbit to mock techprofile GetGemportForPbit method |
| 186 | func (m MockTechProfile) GetGemportForPbit(ctx context.Context, tpInst interface{}, Dir tp_pb.Direction, pbit uint32) interface{} { |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 187 | return &tp_pb.GemPortAttributes{ |
| 188 | GemportId: 1, |
Gamze Abaka | 7650be6 | 2021-02-26 10:50:36 +0000 | [diff] [blame] | 189 | PbitMap: "0b11111111", |
| 190 | AesEncryption: "false", |
| 191 | } |
kdarapu | b26b450 | 2019-10-05 03:02:33 +0530 | [diff] [blame] | 192 | } |
Girish Gowdra | 5493426 | 2019-11-13 14:19:55 +0530 | [diff] [blame] | 193 | |
| 194 | // FindAllTpInstances to mock techprofile FindAllTpInstances method |
Gamze Abaka | cb0e677 | 2021-06-10 08:32:12 +0000 | [diff] [blame] | 195 | func (m MockTechProfile) FindAllTpInstances(ctx context.Context, oltDeviceID string, tpID uint32, ponIntf uint32, onuID uint32) interface{} { |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 196 | return []tp_pb.TechProfileInstance{} |
Girish Gowdra | 5493426 | 2019-11-13 14:19:55 +0530 | [diff] [blame] | 197 | } |
Matteo Scandolo | 8458537 | 2021-03-18 14:21:22 -0700 | [diff] [blame] | 198 | |
| 199 | // GetResourceID to mock techprofile GetResourceID method |
| 200 | func (m MockTechProfile) GetResourceID(ctx context.Context, IntfID uint32, ResourceType string, NumIDs uint32) ([]uint32, error) { |
| 201 | return []uint32{}, nil |
| 202 | } |
| 203 | |
| 204 | // FreeResourceID to mock techprofile FreeResourceID method |
| 205 | func (m MockTechProfile) FreeResourceID(ctx context.Context, IntfID uint32, ResourceType string, ReleaseContent []uint32) error { |
| 206 | return nil |
| 207 | } |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 208 | |
| 209 | // GetTechProfileInstanceKey to mock techprofile GetTechProfileInstanceKey method |
| 210 | func (m MockTechProfile) GetTechProfileInstanceKey(ctx context.Context, tpID uint32, uniPortName string) string { |
| 211 | return "" |
| 212 | } |