kdarapu | b26b450 | 2019-10-05 03:02:33 +0530 | [diff] [blame] | 1 | /* |
| 2 | * Copyright 2018-present Open Networking Foundation |
| 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 | |
| 17 | //Package mocks provides the mocks for openolt-adapter. |
| 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 | |
Girish Gowdra | 4c3d460 | 2021-07-22 16:33:37 -0700 | [diff] [blame] | 23 | "github.com/opencord/voltha-lib-go/v6/pkg/db" |
Girish Gowdra | a09aeab | 2020-09-14 16:30:52 -0700 | [diff] [blame] | 24 | tp_pb "github.com/opencord/voltha-protos/v4/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 | |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 37 | // GetTPInstance to mock techprofile GetTPInstance method |
| 38 | func (m MockTechProfile) GetTPInstance(ctx context.Context, path string) (interface{}, error) { |
Girish Gowdra | 0aca498 | 2021-01-04 12:44:27 -0800 | [diff] [blame] | 39 | logger.Debug(ctx, "GetTPInstanceFromKVStore") |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 40 | var usGemPortAttributeList []*tp_pb.GemPortAttributes |
| 41 | var dsGemPortAttributeList []*tp_pb.GemPortAttributes |
| 42 | usGemPortAttributeList = append(usGemPortAttributeList, &tp_pb.GemPortAttributes{ |
| 43 | GemportId: 1, |
| 44 | PbitMap: "0b11111111", |
| 45 | }) |
| 46 | dsGemPortAttributeList = append(dsGemPortAttributeList, &tp_pb.GemPortAttributes{ |
| 47 | GemportId: 1, |
| 48 | PbitMap: "0b11111111", |
| 49 | }) |
| 50 | return &tp_pb.TechProfileInstance{ |
| 51 | Name: "mock-tech-profile", |
| 52 | SubscriberIdentifier: "257", |
| 53 | ProfileType: "mock", |
| 54 | Version: 0, |
| 55 | NumGemPorts: 1, |
| 56 | InstanceControl: &tp_pb.InstanceControl{ |
| 57 | Onu: "multi-instance", |
| 58 | Uni: "single-instance", |
| 59 | MaxGemPayloadSize: "", |
| 60 | }, |
| 61 | UsScheduler: &tp_pb.SchedulerAttributes{ |
| 62 | AllocId: 1, |
| 63 | Direction: tp_pb.Direction_UPSTREAM, |
| 64 | AdditionalBw: tp_pb.AdditionalBW_AdditionalBW_None, |
| 65 | Priority: 0, |
| 66 | Weight: 0, |
| 67 | QSchedPolicy: tp_pb.SchedulingPolicy_WRR, |
| 68 | }, |
| 69 | DsScheduler: &tp_pb.SchedulerAttributes{ |
| 70 | AllocId: 1, |
| 71 | Direction: tp_pb.Direction_DOWNSTREAM, |
| 72 | AdditionalBw: tp_pb.AdditionalBW_AdditionalBW_None, |
| 73 | Priority: 0, |
| 74 | Weight: 0, |
| 75 | QSchedPolicy: tp_pb.SchedulingPolicy_WRR, |
| 76 | }, |
| 77 | UpstreamGemPortAttributeList: usGemPortAttributeList, |
| 78 | DownstreamGemPortAttributeList: dsGemPortAttributeList, |
| 79 | }, nil |
| 80 | |
kdarapu | b26b450 | 2019-10-05 03:02:33 +0530 | [diff] [blame] | 81 | } |
| 82 | |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 83 | // CreateTechProfileInstance to mock techprofile CreateTechProfileInstance method |
| 84 | 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] | 85 | |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 86 | var usGemPortAttributeList []*tp_pb.GemPortAttributes |
| 87 | var dsGemPortAttributeList []*tp_pb.GemPortAttributes |
Takahiro Suzuki | 2ba0e0b | 2020-06-05 14:23:03 -0700 | [diff] [blame] | 88 | if techProfiletblID == 64 { |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 89 | usGemPortAttributeList = append(usGemPortAttributeList, &tp_pb.GemPortAttributes{ |
| 90 | GemportId: 1, |
| 91 | PbitMap: "0b11111111", |
| 92 | }) |
| 93 | dsGemPortAttributeList = append(dsGemPortAttributeList, &tp_pb.GemPortAttributes{ |
| 94 | GemportId: 1, |
| 95 | PbitMap: "0b11111111", |
| 96 | }) |
| 97 | return &tp_pb.TechProfileInstance{ |
Girish Gowdra | fb3d610 | 2020-10-16 16:32:36 -0700 | [diff] [blame] | 98 | Name: "mock-tech-profile", |
| 99 | SubscriberIdentifier: "257", |
| 100 | ProfileType: "mock", |
| 101 | Version: 0, |
| 102 | NumGemPorts: 1, |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 103 | InstanceControl: &tp_pb.InstanceControl{ |
| 104 | Onu: "multi-instance", |
| 105 | Uni: "single-instance", |
| 106 | MaxGemPayloadSize: "", |
| 107 | }, |
| 108 | UsScheduler: &tp_pb.SchedulerAttributes{ |
| 109 | AllocId: 1, |
| 110 | Direction: tp_pb.Direction_UPSTREAM, |
| 111 | AdditionalBw: tp_pb.AdditionalBW_AdditionalBW_None, |
Girish Gowdra | fb3d610 | 2020-10-16 16:32:36 -0700 | [diff] [blame] | 112 | Priority: 0, |
| 113 | Weight: 0, |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 114 | QSchedPolicy: tp_pb.SchedulingPolicy_WRR, |
Girish Gowdra | fb3d610 | 2020-10-16 16:32:36 -0700 | [diff] [blame] | 115 | }, |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 116 | DsScheduler: &tp_pb.SchedulerAttributes{ |
| 117 | AllocId: 1, |
| 118 | Direction: tp_pb.Direction_DOWNSTREAM, |
| 119 | AdditionalBw: tp_pb.AdditionalBW_AdditionalBW_None, |
Girish Gowdra | fb3d610 | 2020-10-16 16:32:36 -0700 | [diff] [blame] | 120 | Priority: 0, |
| 121 | Weight: 0, |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 122 | QSchedPolicy: tp_pb.SchedulingPolicy_WRR, |
Girish Gowdra | fb3d610 | 2020-10-16 16:32:36 -0700 | [diff] [blame] | 123 | }, |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 124 | UpstreamGemPortAttributeList: usGemPortAttributeList, |
| 125 | DownstreamGemPortAttributeList: dsGemPortAttributeList, |
Takahiro Suzuki | 2ba0e0b | 2020-06-05 14:23:03 -0700 | [diff] [blame] | 126 | }, nil |
| 127 | } else if techProfiletblID == 65 { |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 128 | return &tp_pb.EponTechProfileInstance{ |
Takahiro Suzuki | 2ba0e0b | 2020-06-05 14:23:03 -0700 | [diff] [blame] | 129 | Name: "mock-epon-profile", |
| 130 | SubscriberIdentifier: "257", |
| 131 | ProfileType: "mock", |
| 132 | Version: 0, |
| 133 | NumGemPorts: 2, |
| 134 | UpstreamQueueAttributeList: nil, |
| 135 | DownstreamQueueAttributeList: nil, |
| 136 | }, nil |
| 137 | } else { |
| 138 | return nil, nil |
| 139 | } |
kdarapu | b26b450 | 2019-10-05 03:02:33 +0530 | [diff] [blame] | 140 | } |
| 141 | |
Girish Gowdra | 5493426 | 2019-11-13 14:19:55 +0530 | [diff] [blame] | 142 | // DeleteTechProfileInstance to mock techprofile DeleteTechProfileInstance method |
npujar | ec5762e | 2020-01-01 14:08:48 +0530 | [diff] [blame] | 143 | func (m MockTechProfile) DeleteTechProfileInstance(ctx context.Context, techProfiletblID uint32, uniPortName string) error { |
kdarapu | b26b450 | 2019-10-05 03:02:33 +0530 | [diff] [blame] | 144 | return nil |
| 145 | } |
| 146 | |
Girish Gowdra | 5493426 | 2019-11-13 14:19:55 +0530 | [diff] [blame] | 147 | // GetprotoBufParamValue to mock techprofile GetprotoBufParamValue method |
Neha Sharma | 96b7bf2 | 2020-06-15 10:37:32 +0000 | [diff] [blame] | 148 | func (m MockTechProfile) GetprotoBufParamValue(ctx context.Context, paramType string, paramKey string) int32 { |
kdarapu | b26b450 | 2019-10-05 03:02:33 +0530 | [diff] [blame] | 149 | return 0 |
| 150 | |
| 151 | } |
| 152 | |
Girish Gowdra | 5493426 | 2019-11-13 14:19:55 +0530 | [diff] [blame] | 153 | // GetUsScheduler to mock techprofile GetUsScheduler method |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 154 | func (m MockTechProfile) GetUsScheduler(tpInstance *tp_pb.TechProfileInstance) *tp_pb.SchedulerConfig { |
| 155 | return &tp_pb.SchedulerConfig{} |
kdarapu | b26b450 | 2019-10-05 03:02:33 +0530 | [diff] [blame] | 156 | |
| 157 | } |
| 158 | |
Girish Gowdra | 5493426 | 2019-11-13 14:19:55 +0530 | [diff] [blame] | 159 | // GetDsScheduler to mock techprofile GetDsScheduler method |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 160 | func (m MockTechProfile) GetDsScheduler(tpInstance *tp_pb.TechProfileInstance) *tp_pb.SchedulerConfig { |
| 161 | return &tp_pb.SchedulerConfig{} |
kdarapu | b26b450 | 2019-10-05 03:02:33 +0530 | [diff] [blame] | 162 | } |
| 163 | |
Girish Gowdra | 5493426 | 2019-11-13 14:19:55 +0530 | [diff] [blame] | 164 | // GetTrafficScheduler to mock techprofile GetTrafficScheduler method |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 165 | func (m MockTechProfile) GetTrafficScheduler(tpInstance *tp_pb.TechProfileInstance, SchedCfg *tp_pb.SchedulerConfig, |
kdarapu | b26b450 | 2019-10-05 03:02:33 +0530 | [diff] [blame] | 166 | ShapingCfg *tp_pb.TrafficShapingInfo) *tp_pb.TrafficScheduler { |
| 167 | return &tp_pb.TrafficScheduler{} |
| 168 | |
| 169 | } |
| 170 | |
Girish Gowdra | 5493426 | 2019-11-13 14:19:55 +0530 | [diff] [blame] | 171 | // GetTrafficQueues to mock techprofile GetTrafficQueues method |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 172 | 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] | 173 | return []*tp_pb.TrafficQueue{{}}, nil |
kdarapu | b26b450 | 2019-10-05 03:02:33 +0530 | [diff] [blame] | 174 | } |
| 175 | |
Scott Baker | ee7c0a0 | 2020-01-07 11:12:26 -0800 | [diff] [blame] | 176 | // GetMulticastTrafficQueues to mock techprofile GetMulticastTrafficQueues method |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 177 | 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] | 178 | return []*tp_pb.TrafficQueue{{}} |
| 179 | } |
| 180 | |
Gamze Abaka | 7650be6 | 2021-02-26 10:50:36 +0000 | [diff] [blame] | 181 | // GetGemportForPbit to mock techprofile GetGemportForPbit method |
| 182 | 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] | 183 | return &tp_pb.GemPortAttributes{ |
| 184 | GemportId: 1, |
Gamze Abaka | 7650be6 | 2021-02-26 10:50:36 +0000 | [diff] [blame] | 185 | PbitMap: "0b11111111", |
| 186 | AesEncryption: "false", |
| 187 | } |
kdarapu | b26b450 | 2019-10-05 03:02:33 +0530 | [diff] [blame] | 188 | } |
Girish Gowdra | 5493426 | 2019-11-13 14:19:55 +0530 | [diff] [blame] | 189 | |
| 190 | // FindAllTpInstances to mock techprofile FindAllTpInstances method |
Gamze Abaka | cb0e677 | 2021-06-10 08:32:12 +0000 | [diff] [blame] | 191 | 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] | 192 | return []tp_pb.TechProfileInstance{} |
Girish Gowdra | 5493426 | 2019-11-13 14:19:55 +0530 | [diff] [blame] | 193 | } |
Matteo Scandolo | 8458537 | 2021-03-18 14:21:22 -0700 | [diff] [blame] | 194 | |
| 195 | // GetResourceID to mock techprofile GetResourceID method |
| 196 | func (m MockTechProfile) GetResourceID(ctx context.Context, IntfID uint32, ResourceType string, NumIDs uint32) ([]uint32, error) { |
| 197 | return []uint32{}, nil |
| 198 | } |
| 199 | |
| 200 | // FreeResourceID to mock techprofile FreeResourceID method |
| 201 | func (m MockTechProfile) FreeResourceID(ctx context.Context, IntfID uint32, ResourceType string, ReleaseContent []uint32) error { |
| 202 | return nil |
| 203 | } |
Girish Gowdra | 8a0bdcd | 2021-05-13 12:31:04 -0700 | [diff] [blame] | 204 | |
| 205 | // GetTechProfileInstanceKey to mock techprofile GetTechProfileInstanceKey method |
| 206 | func (m MockTechProfile) GetTechProfileInstanceKey(ctx context.Context, tpID uint32, uniPortName string) string { |
| 207 | return "" |
| 208 | } |