This repository has been archived on 2026-03-07. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
apex-mocks/mocks_test.go
T

83 lines
2.7 KiB
Go

// Copyright (c) 2022 Unbound Software Development Svenska AB
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of
// this software and associated documentation files (the "Software"), to deal in
// the Software without restriction, including without limitation the rights to
// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
// the Software, and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package apex
import (
"fmt"
"sync"
"testing"
"github.com/stretchr/testify/assert"
)
func TestMock_Check(t *testing.T) {
type fields struct {
Logged []string
}
type args struct {
wantLogged []string
}
tests := []struct {
name string
fields fields
args args
want []string
}{
{
name: "same",
fields: fields{Logged: []string{"same"}},
args: args{wantLogged: []string{"same"}},
want: nil,
},
{
name: "different",
fields: fields{Logged: []string{"same"}},
args: args{wantLogged: []string{"different"}},
want: []string{"\n\tError Trace:\tmocks.go:63\n\t \t\t\t\tmocks_test.go:63\n\tError: \tNot equal: \n\t \texpected: []string{\"different\"}\n\t \tactual : []string{\"same\"}\n\t \t\n\t \tDiff:\n\t \t--- Expected\n\t \t+++ Actual\n\t \t@@ -1,3 +1,3 @@\n\t \t ([]string) (len=1) {\n\t \t- (string) (len=9) \"different\"\n\t \t+ (string) (len=4) \"same\"\n\t \t }\n\tTest: \t\n"},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
m := &Mock{
RWMutex: &sync.RWMutex{},
Logged: tt.fields.Logged,
}
temp := &MockT{}
m.Check(temp, tt.args.wantLogged)
assert.Equal(t, tt.want, temp.errors)
})
}
}
func TestNew(t *testing.T) {
logger := New()
logger.Logger.Info("logging")
logger.Check(t, []string{"info: logging"})
}
type MockT struct {
testing.T
errors []string
}
func (m *MockT) Errorf(format string, args ...interface{}) {
m.errors = append(m.errors, fmt.Sprintf(format, args...))
}