mirror of
https://github.com/Forceu/Gokapi.git
synced 2026-01-16 22:09:32 -06:00
44 lines
1.3 KiB
Go
44 lines
1.3 KiB
Go
package processingstatus
|
|
|
|
import (
|
|
"errors"
|
|
"github.com/forceu/gokapi/internal/models"
|
|
"github.com/forceu/gokapi/internal/storage/processingstatus/pstatusdb"
|
|
"github.com/forceu/gokapi/internal/test"
|
|
"testing"
|
|
)
|
|
|
|
func TestSetStatus(t *testing.T) {
|
|
const id = "testchunk"
|
|
status, ok := getStatus(id)
|
|
test.IsEqualBool(t, ok, false)
|
|
test.IsEmpty(t, status.ChunkId)
|
|
Set(id, 2, models.File{Id: "testfile"}, nil)
|
|
status, ok = getStatus(id)
|
|
test.IsEqualBool(t, ok, true)
|
|
test.IsEqualString(t, status.ChunkId, id)
|
|
test.IsEqualString(t, status.FileId, "testfile")
|
|
test.IsEqualInt(t, status.CurrentStatus, 2)
|
|
Set(id, 1, models.File{}, nil)
|
|
status, ok = getStatus(id)
|
|
test.IsEqualBool(t, ok, true)
|
|
test.IsEqualString(t, status.ChunkId, id)
|
|
test.IsEqualInt(t, status.CurrentStatus, 2)
|
|
Set(id, 3, models.File{Id: "testfile"}, errors.New("test"))
|
|
status, ok = getStatus(id)
|
|
test.IsEqualBool(t, ok, true)
|
|
test.IsEqualString(t, status.ChunkId, id)
|
|
test.IsEqualInt(t, status.CurrentStatus, 3)
|
|
test.IsEqualString(t, status.FileId, "testfile")
|
|
test.IsEqualString(t, status.ErrorMessage, "test")
|
|
}
|
|
|
|
func getStatus(id string) (models.UploadStatus, bool) {
|
|
for _, status := range pstatusdb.GetAll() {
|
|
if status.ChunkId == id {
|
|
return status, true
|
|
}
|
|
}
|
|
return models.UploadStatus{}, false
|
|
}
|