Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ module github.com/ironcore-dev/network-operator

go 1.26.0

tool github.com/matryer/moq

require (
github.com/felix-kaestner/copy v0.0.0-20250930112410-8fbc5c5b74a5
github.com/go-crypt/crypt v0.14.15
Expand All @@ -13,6 +15,7 @@ require (
github.com/openconfig/gnoi v0.8.0
github.com/openconfig/ygot v0.34.0
github.com/pin/tftp/v3 v3.2.0
github.com/prometheus/client_golang v1.23.2
github.com/sapcc/go-api-declarations v1.24.0
github.com/stretchr/testify v1.11.1
github.com/tidwall/gjson v1.19.0
Expand Down Expand Up @@ -72,12 +75,12 @@ require (
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/kylelemons/godebug v1.1.0 // indirect
github.com/matryer/moq v0.7.1 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/openconfig/goyang v1.6.3 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/prometheus/client_golang v1.23.2 // indirect
github.com/prometheus/client_model v0.6.2 // indirect
github.com/prometheus/common v0.67.5 // indirect
github.com/prometheus/procfs v0.20.1 // indirect
Expand Down
2 changes: 2 additions & 0 deletions go.sum

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

64 changes: 6 additions & 58 deletions internal/provider/cisco/iosxr/provider_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -88,64 +88,12 @@ func Test_Payload(t *testing.T) {
}
}

// MockClient provides a mock implementation of gnmiext.Client for testing.
type MockClient struct {
// Function fields for mocking different methods
CapabilitiesFunc func() *gnmiext.Capabilities
GetConfigFunc func(ctx context.Context, configs ...gnmiext.DataElement) error
PatchFunc func(ctx context.Context, patches ...gnmiext.DataElement) error
UpdateFunc func(ctx context.Context, updates ...gnmiext.DataElement) error
DeleteFunc func(ctx context.Context, deletes ...gnmiext.DataElement) error
GetStateFunc func(ctx context.Context, states ...gnmiext.DataElement) error
}

var _ gnmiext.Client = (*MockClient)(nil)

// Implement the methods that Provider uses
func (m *MockClient) Capabilities() *gnmiext.Capabilities {
if m.CapabilitiesFunc != nil {
return m.CapabilitiesFunc()
}
return nil
}

func (m *MockClient) GetConfig(ctx context.Context, configs ...gnmiext.DataElement) error {
if m.GetConfigFunc != nil {
return m.GetConfigFunc(ctx, configs...)
}
return nil
}

func (m *MockClient) GetState(ctx context.Context, states ...gnmiext.DataElement) error {
if m.GetStateFunc != nil {
return m.GetStateFunc(ctx, states...)
}
return nil
}

func (m *MockClient) Patch(ctx context.Context, patches ...gnmiext.DataElement) error {
if m.PatchFunc != nil {
return m.PatchFunc(ctx, patches...)
}
return nil
}

func (m *MockClient) Update(ctx context.Context, updates ...gnmiext.DataElement) error {
if m.UpdateFunc != nil {
return m.UpdateFunc(ctx, updates...)
}
return nil
}

func (m *MockClient) Delete(ctx context.Context, deletes ...gnmiext.DataElement) error {
if m.DeleteFunc != nil {
return m.DeleteFunc(ctx, deletes...)
}
return nil
}

func Test_EnsureInterface(t *testing.T) {
m := &MockClient{}
m := &gnmiext.ClientMock{
UpdateFunc: func(ctx context.Context, el ...gnmiext.DataElement) error {
return nil
},
}
p := &Provider{client: m}

ctx := t.Context()
Expand Down Expand Up @@ -186,7 +134,7 @@ func Test_EnsureInterface(t *testing.T) {
}

func Test_GetState(t *testing.T) {
m := &MockClient{
m := &gnmiext.ClientMock{
GetStateFunc: func(ctx context.Context, states ...gnmiext.DataElement) error {
states[0].(*PhysIfState).State = "im-state-up"
return nil
Expand Down
Loading
Loading