blob: 7f4a0f968e25c13ed2a68015b2f5493e3240e83d [file] [log] [blame]
kdarapub26b4502019-10-05 03:02:33 +05301/*
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.
18package mocks
19
20import (
sbarbaria8910ba2019-11-05 10:12:23 -050021 "github.com/opencord/voltha-lib-go/v2/pkg/db"
Scott Baker51290152019-10-24 14:23:20 -070022 "github.com/opencord/voltha-lib-go/v2/pkg/log"
23 tp "github.com/opencord/voltha-lib-go/v2/pkg/techprofile"
Scott Bakerc6e54cb2019-11-04 09:31:25 -080024 tp_pb "github.com/opencord/voltha-protos/v2/go/tech_profile"
kdarapub26b4502019-10-05 03:02:33 +053025)
26
27// MockTechProfile mock struct for OpenoltClient.
28type MockTechProfile struct {
29 TpID uint32
30}
31
32// SetKVClient to mock tefhprofile SetKVClient method
sbarbaria8910ba2019-11-05 10:12:23 -050033func (m MockTechProfile) SetKVClient() *db.Backend {
34 return &db.Backend{Client: &MockKVClient{}}
kdarapub26b4502019-10-05 03:02:33 +053035}
36
37// GetTechProfileInstanceKVPath to mock tefhprofile GetTechProfileInstanceKVPath method
38func (m MockTechProfile) GetTechProfileInstanceKVPath(techProfiletblID uint32, uniPortName string) string {
39 return ""
40
41}
42
43// GetTPInstanceFromKVStore to mock tefhprofile GetTPInstanceFromKVStore method
44func (m MockTechProfile) GetTPInstanceFromKVStore(techProfiletblID uint32, path string) (*tp.TechProfile, error) {
45 log.Debug("Warning Warning Warning: GetTPInstanceFromKVStore")
46 return nil, nil
47
48}
49
50// CreateTechProfInstance to mock tefhprofile CreateTechProfInstance method
51func (m MockTechProfile) CreateTechProfInstance(techProfiletblID uint32, uniPortName string, intfID uint32) *tp.TechProfile {
52
53 return &tp.TechProfile{
54 Name: "mock-tech-profile",
55 SubscriberIdentifier: "257",
56 ProfileType: "mock",
57 Version: 0,
58 NumGemPorts: 2,
59 NumTconts: 1,
60 UpstreamGemPortAttributeList: nil,
61 DownstreamGemPortAttributeList: nil,
62 }
63
64}
65
66// DeleteTechProfileInstance to mock tefhprofile DeleteTechProfileInstance method
67func (m MockTechProfile) DeleteTechProfileInstance(techProfiletblID uint32, uniPortName string) error {
68 return nil
69}
70
71// GetprotoBufParamValue to mock tefhprofile GetprotoBufParamValue method
72func (m MockTechProfile) GetprotoBufParamValue(paramType string, paramKey string) int32 {
73 return 0
74
75}
76
77// GetUsScheduler to mock tefhprofile GetUsScheduler method
78func (m MockTechProfile) GetUsScheduler(tpInstance *tp.TechProfile) *tp_pb.SchedulerConfig {
79 return &tp_pb.SchedulerConfig{}
80
81}
82
83// GetDsScheduler to mock tefhprofile GetDsScheduler method
84func (m MockTechProfile) GetDsScheduler(tpInstance *tp.TechProfile) *tp_pb.SchedulerConfig {
85 return &tp_pb.SchedulerConfig{}
86}
87
88// GetTrafficScheduler to mock tefhprofile GetTrafficScheduler method
89func (m MockTechProfile) GetTrafficScheduler(tpInstance *tp.TechProfile, SchedCfg *tp_pb.SchedulerConfig,
90 ShapingCfg *tp_pb.TrafficShapingInfo) *tp_pb.TrafficScheduler {
91 return &tp_pb.TrafficScheduler{}
92
93}
94
95// GetTrafficQueues to mock tefhprofile GetTrafficQueues method
96func (m MockTechProfile) GetTrafficQueues(tp *tp.TechProfile, Dir tp_pb.Direction) []*tp_pb.TrafficQueue {
97 return []*tp_pb.TrafficQueue{{}}
98}
99
100// GetGemportIDForPbit to mock tefhprofile GetGemportIDForPbit method
101func (m MockTechProfile) GetGemportIDForPbit(tp *tp.TechProfile, Dir tp_pb.Direction, pbit uint32) uint32 {
102 return 0
103}