package store

import (
	"testing"
	"time"
)

func TestOpen(t *testing.T) {
	db, err := Open(&Config{Path: t.TempDir(), Retention: time.Hour})
	if err != nil {
		t.Fatalf("Open() error = %v", err)
	}
	if err := db.Close(); err != nil {
		t.Fatalf("Close() error = %v", err)
	}
}

func TestOpenRejectsInvalidConfig(t *testing.T) {
	for _, cfg := range []*Config{
		nil,
		{Retention: time.Hour},
		{Path: t.TempDir()},
	} {
		if _, err := Open(cfg); err == nil {
			t.Fatalf("Open(%+v) must reject invalid config", cfg)
		}
	}
}
