Skip to main content
Glama
builder_test.go1.55 kB
package builder import ( "os" "testing" "github.com/mariocandela/beelzebub/v3/parser" "github.com/stretchr/testify/assert" ) func TestBuilderClose_LogFile(t *testing.T) { // Create a temporary directory for the test tmpDir := t.TempDir() logFilePath := tmpDir + "/test.log" // Create a builder instance builder := NewBuilder() // Build logger which opens a log file loggingConfig := parser.Logging{ Debug: false, DebugReportCaller: false, LogDisableTimestamp: true, LogsPath: logFilePath, } err := builder.buildLogger(loggingConfig) assert.NoError(t, err) assert.NotNil(t, builder.logsFile) // Verify the log file exists and is open fileInfo, err := os.Stat(logFilePath) assert.NoError(t, err) assert.NotNil(t, fileInfo) // Close the builder err = builder.Close() assert.NoError(t, err) // Verify the log file is closed by attempting to write to it // Writing to a closed file should return an error _, err = builder.logsFile.WriteString("test") assert.Error(t, err) assert.Contains(t, err.Error(), "file already closed") } func TestBuilderClose_NoLogFile(t *testing.T) { // Create a builder without opening a log file builder := NewBuilder() // Close should succeed even without a log file err := builder.Close() assert.NoError(t, err) } func TestBuilderClose_NilLogFile(t *testing.T) { // Create a builder with explicitly nil log file builder := &Builder{ logsFile: nil, } // Close should succeed with nil log file err := builder.Close() assert.NoError(t, err) }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mariocandela/beelzebub'

If you have feedback or need assistance with the MCP directory API, please join our Discord server