mirror of
https://github.com/yusing/godoxy.git
synced 2025-07-22 20:24:03 +02:00
fix: tests
This commit is contained in:
parent
80e59bb481
commit
62c551c7fe
5 changed files with 40 additions and 13 deletions
|
@ -98,7 +98,7 @@ func TestUserPassLoginCallbackHandler(t *testing.T) {
|
||||||
Host: "app.example.com",
|
Host: "app.example.com",
|
||||||
Body: io.NopCloser(bytes.NewReader(Must(json.Marshal(tt.creds)))),
|
Body: io.NopCloser(bytes.NewReader(Must(json.Marshal(tt.creds)))),
|
||||||
}
|
}
|
||||||
auth.LoginHandler(w, req)
|
auth.PostAuthCallbackHandler(w, req)
|
||||||
if tt.wantErr {
|
if tt.wantErr {
|
||||||
ExpectEqual(t, w.Code, http.StatusUnauthorized)
|
ExpectEqual(t, w.Code, http.StatusUnauthorized)
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -13,15 +13,16 @@ func TestNewJSON(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestSaveLoadStore(t *testing.T) {
|
func TestSaveLoadStore(t *testing.T) {
|
||||||
|
defer clear(stores)
|
||||||
|
|
||||||
storesPath = t.TempDir()
|
storesPath = t.TempDir()
|
||||||
store := Store[string]("test")
|
store := Store[string]("test")
|
||||||
store.Store("a", "1")
|
store.Store("a", "1")
|
||||||
if err := save(); err != nil {
|
if err := save(); err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
if err := load(); err != nil {
|
// reload
|
||||||
t.Fatal(err)
|
clear(stores)
|
||||||
}
|
|
||||||
loaded := Store[string]("test")
|
loaded := Store[string]("test")
|
||||||
v, ok := loaded.Load("a")
|
v, ok := loaded.Load("a")
|
||||||
if !ok {
|
if !ok {
|
||||||
|
@ -43,6 +44,8 @@ type testObject struct {
|
||||||
func (*testObject) Initialize() {}
|
func (*testObject) Initialize() {}
|
||||||
|
|
||||||
func TestSaveLoadObject(t *testing.T) {
|
func TestSaveLoadObject(t *testing.T) {
|
||||||
|
defer clear(stores)
|
||||||
|
|
||||||
storesPath = t.TempDir()
|
storesPath = t.TempDir()
|
||||||
obj := Object[*testObject]("test")
|
obj := Object[*testObject]("test")
|
||||||
obj.I = 1
|
obj.I = 1
|
||||||
|
@ -50,9 +53,8 @@ func TestSaveLoadObject(t *testing.T) {
|
||||||
if err := save(); err != nil {
|
if err := save(); err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
if err := load(); err != nil {
|
// reload
|
||||||
t.Fatal(err)
|
clear(stores)
|
||||||
}
|
|
||||||
loaded := Object[*testObject]("test")
|
loaded := Object[*testObject]("test")
|
||||||
if loaded.I != 1 || loaded.S != "1" {
|
if loaded.I != 1 || loaded.S != "1" {
|
||||||
t.Fatalf("expected 1, got %d, %s", loaded.I, loaded.S)
|
t.Fatalf("expected 1, got %d, %s", loaded.I, loaded.S)
|
||||||
|
|
|
@ -67,7 +67,7 @@ func TestBackScanner(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create scanner with small chunk size to test chunking
|
// Create scanner with small chunk size to test chunking
|
||||||
scanner := NewBackScanner(mockFile, 10)
|
scanner := NewBackScanner(mockFile, mockFile.MustSize(), 10)
|
||||||
|
|
||||||
// Collect all lines
|
// Collect all lines
|
||||||
var lines [][]byte
|
var lines [][]byte
|
||||||
|
@ -108,7 +108,7 @@ func TestBackScannerWithVaryingChunkSizes(t *testing.T) {
|
||||||
t.Fatalf("failed to write to mock file: %v", err)
|
t.Fatalf("failed to write to mock file: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
scanner := NewBackScanner(mockFile, chunkSize)
|
scanner := NewBackScanner(mockFile, mockFile.MustSize(), chunkSize)
|
||||||
|
|
||||||
var lines [][]byte
|
var lines [][]byte
|
||||||
for scanner.Scan() {
|
for scanner.Scan() {
|
||||||
|
@ -170,7 +170,8 @@ func TestReset(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
linesRead := 0
|
linesRead := 0
|
||||||
s := NewBackScanner(file, defaultChunkSize)
|
stat, _ := file.Stat()
|
||||||
|
s := NewBackScanner(file, stat.Size(), defaultChunkSize)
|
||||||
for s.Scan() {
|
for s.Scan() {
|
||||||
linesRead++
|
linesRead++
|
||||||
}
|
}
|
||||||
|
@ -199,7 +200,7 @@ func BenchmarkBackScanner(b *testing.B) {
|
||||||
}
|
}
|
||||||
for i := range 14 {
|
for i := range 14 {
|
||||||
chunkSize := (2 << i) * kilobyte
|
chunkSize := (2 << i) * kilobyte
|
||||||
scanner := NewBackScanner(mockFile, chunkSize)
|
scanner := NewBackScanner(mockFile, mockFile.MustSize(), chunkSize)
|
||||||
name := strutils.FormatByteSize(chunkSize)
|
name := strutils.FormatByteSize(chunkSize)
|
||||||
b.ResetTimer()
|
b.ResetTimer()
|
||||||
b.Run(name, func(b *testing.B) {
|
b.Run(name, func(b *testing.B) {
|
||||||
|
@ -226,7 +227,8 @@ func BenchmarkBackScannerRealFile(b *testing.B) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
scanner := NewBackScanner(file, 256*kilobyte)
|
stat, _ := file.Stat()
|
||||||
|
scanner := NewBackScanner(file, stat.Size(), 256*kilobyte)
|
||||||
b.ResetTimer()
|
b.ResetTimer()
|
||||||
for scanner.Scan() {
|
for scanner.Scan() {
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,8 +17,11 @@ type MockFile struct {
|
||||||
noLock
|
noLock
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var _ SupportRotate = (*MockFile)(nil)
|
||||||
|
|
||||||
func NewMockFile() *MockFile {
|
func NewMockFile() *MockFile {
|
||||||
f, _ := afero.TempFile(afero.NewMemMapFs(), "", "")
|
f, _ := afero.TempFile(afero.NewMemMapFs(), "", "")
|
||||||
|
f.Seek(0, io.SeekEnd)
|
||||||
return &MockFile{
|
return &MockFile{
|
||||||
File: f,
|
File: f,
|
||||||
}
|
}
|
||||||
|
@ -47,3 +50,13 @@ func (m *MockFile) NumLines() int {
|
||||||
}
|
}
|
||||||
return count
|
return count
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *MockFile) Size() (int64, error) {
|
||||||
|
stat, _ := m.Stat()
|
||||||
|
return stat.Size(), nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *MockFile) MustSize() int64 {
|
||||||
|
size, _ := m.Size()
|
||||||
|
return size
|
||||||
|
}
|
||||||
|
|
|
@ -167,7 +167,17 @@ func TestConvertor(t *testing.T) {
|
||||||
|
|
||||||
t.Run("invalid", func(t *testing.T) {
|
t.Run("invalid", func(t *testing.T) {
|
||||||
m := new(testModel)
|
m := new(testModel)
|
||||||
ExpectError(t, ErrUnsupportedConversion, MapUnmarshalValidate(map[string]any{"Test": struct{}{}}, m))
|
err := MapUnmarshalValidate(map[string]any{"Test": struct{ a int }{1}}, m)
|
||||||
|
ExpectError(t, ErrUnsupportedConversion, err)
|
||||||
|
})
|
||||||
|
|
||||||
|
t.Run("set_empty", func(t *testing.T) {
|
||||||
|
m := testModel{
|
||||||
|
Test: testType{1, "2"},
|
||||||
|
Baz: "3",
|
||||||
|
}
|
||||||
|
ExpectNoError(t, MapUnmarshalValidate(map[string]any{"Test": nil, "Baz": nil}, &m))
|
||||||
|
ExpectEqual(t, m, testModel{})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue