Files
Fabric/internal/plugins/db/fsdb/sessions_test.go
Kayvan Sylvan 4004c51b9e refactor: restructure project to align with standard Go layout
### CHANGES

- Introduce `cmd` directory for all main application binaries.
- Move all Go packages into the `internal` directory.
- Rename the `restapi` package to `server` for clarity.
- Consolidate patterns and strategies into a new `data` directory.
- Group all auxiliary scripts into a new `scripts` directory.
- Move all documentation and images into a `docs` directory.
- Update all Go import paths to reflect the new structure.
- Adjust CI/CD workflows and build commands for new layout.
2025-07-08 22:47:17 -07:00

39 lines
1011 B
Go

package fsdb
import (
"testing"
"github.com/danielmiessler/fabric/internal/chat"
)
func TestSessions_GetOrCreateSession(t *testing.T) {
dir := t.TempDir()
sessions := &SessionsEntity{
StorageEntity: &StorageEntity{Dir: dir, FileExtension: ".json"},
}
sessionName := "testSession"
session, err := sessions.Get(sessionName)
if err != nil {
t.Fatalf("failed to get or create session: %v", err)
}
if session.Name != sessionName {
t.Errorf("expected session name %v, got %v", sessionName, session.Name)
}
}
func TestSessions_SaveSession(t *testing.T) {
dir := t.TempDir()
sessions := &SessionsEntity{
StorageEntity: &StorageEntity{Dir: dir, FileExtension: ".json"},
}
sessionName := "testSession"
session := &Session{Name: sessionName, Messages: []*chat.ChatCompletionMessage{{Content: "message1"}}}
err := sessions.SaveSession(session)
if err != nil {
t.Fatalf("failed to save session: %v", err)
}
if !sessions.Exists(sessionName) {
t.Errorf("expected session to be saved")
}
}