diff options
author | Vladimir Lavor <vlavor@cisco.com> | 2019-01-15 10:08:12 +0100 |
---|---|---|
committer | Vladimir Lavor <vlavor@cisco.com> | 2019-01-15 12:17:17 +0100 |
commit | 2323d3ffe6e66ea7ffa40be232aa54c1d24c8651 (patch) | |
tree | dc8c836f390cf2ddc14b7369c5684115b041c245 /adapter | |
parent | 08266e35878f198e2fa59fcfc9f0fc3a4b1dfbf5 (diff) |
added mock adapter for new VPP stats
Change-Id: I9d6cf28fcde79ba648321cbd92941ee7ef8e0812
Signed-off-by: Vladimir Lavor <vlavor@cisco.com>
Diffstat (limited to 'adapter')
-rw-r--r-- | adapter/mock/mock_stats_adapter.go | 61 | ||||
-rw-r--r-- | adapter/mock/mock_vpp_adapter.go (renamed from adapter/mock/mock_adapter.go) | 0 | ||||
-rw-r--r-- | adapter/stats_api.go | 14 |
3 files changed, 75 insertions, 0 deletions
diff --git a/adapter/mock/mock_stats_adapter.go b/adapter/mock/mock_stats_adapter.go new file mode 100644 index 0000000..aba93a2 --- /dev/null +++ b/adapter/mock/mock_stats_adapter.go @@ -0,0 +1,61 @@ +// Copyright (c) 2019 Cisco and/or its affiliates. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at: +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Package mock is an alternative VPP stats adapter aimed for unit/integration testing where the +// actual communication with VPP is not demanded. + +package mock + +import ( + "git.fd.io/govpp.git/adapter" +) + +// StatsAdapter simulates VPP stats socket from which stats can be read +type StatsAdapter struct { + entries []*adapter.StatEntry +} + +// NewStatsAdapter returns a new mock stats adapter. +func NewStatsAdapter() *StatsAdapter { + return &StatsAdapter{} +} + +// Connect mocks client connection to the stats API. +func (a *StatsAdapter) Connect() error { + return nil +} + +// Disconnect mocks client connection termination. +func (a *StatsAdapter) Disconnect() error { + return nil +} + +// ListStats mocks name listing for all stats. +func (a *StatsAdapter) ListStats(patterns ...string) ([]string, error) { + var statNames []string + for _, stat := range a.entries { + statNames = append(statNames, stat.Name) + } + return statNames, nil +} + +// DumpStats mocks all stat entries dump. +func (a *StatsAdapter) DumpStats(patterns ...string) ([]*adapter.StatEntry, error) { + return a.entries, nil +} + +// MockStats replaces current values of all supported stats by provided value +func (a *StatsAdapter) MockStats(stats []*adapter.StatEntry) { + a.entries = stats +}
\ No newline at end of file diff --git a/adapter/mock/mock_adapter.go b/adapter/mock/mock_vpp_adapter.go index 9783651..9783651 100644 --- a/adapter/mock/mock_adapter.go +++ b/adapter/mock/mock_vpp_adapter.go diff --git a/adapter/stats_api.go b/adapter/stats_api.go index 8815aae..4a3f130 100644 --- a/adapter/stats_api.go +++ b/adapter/stats_api.go @@ -1,3 +1,17 @@ +// Copyright (c) 2019 Cisco and/or its affiliates. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at: +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + package adapter // StatsAPI provides connection to VPP stats API. |