Files
migrate/zool2/exporter_test.go
zeekay 1ef362d803 Implement all VM exporters and importers
Full implementations for all VM types:
- SubnetEVM: PebbleDB exporter/importer
- C-Chain: RPC exporter, RPC importer
- Coreth: LevelDB exporter
- P-Chain: Platform API exporter/importer
- X-Chain: AVM API exporter/importer
- Q-Chain: RPC exporter/importer
- ZooL2: PebbleDB exporter/importer

All implementations include factory registration and test suites.
2025-11-30 21:48:41 -08:00

74 lines
1.6 KiB
Go

package zool2
import (
"testing"
"github.com/luxfi/migrate"
)
func TestExporterImplementsInterface(t *testing.T) {
var _ migrate.Exporter = (*Exporter)(nil)
}
func TestImporterImplementsInterface(t *testing.T) {
var _ migrate.Importer = (*Importer)(nil)
}
func TestNewExporter(t *testing.T) {
config := migrate.ExporterConfig{
VMType: migrate.VMTypeZooL2,
DatabasePath: "/tmp/nonexistent-test-db",
}
exp, err := NewExporter(config)
if err != nil {
t.Fatalf("NewExporter failed: %v", err)
}
if exp == nil {
t.Fatal("NewExporter returned nil exporter")
}
// Should not be initialized yet
_, err = exp.GetInfo()
if err != migrate.ErrNotInitialized {
t.Errorf("Expected ErrNotInitialized, got %v", err)
}
}
func TestNewImporter(t *testing.T) {
config := migrate.ImporterConfig{
VMType: migrate.VMTypeZooL2,
DatabasePath: "/tmp/nonexistent-test-db",
}
imp, err := NewImporter(config)
if err != nil {
t.Fatalf("NewImporter failed: %v", err)
}
if imp == nil {
t.Fatal("NewImporter returned nil importer")
}
// Should not be initialized yet
err = imp.VerifyImport(0)
if err != migrate.ErrNotInitialized {
t.Errorf("Expected ErrNotInitialized, got %v", err)
}
}
func TestExporterDoubleInit(t *testing.T) {
exp := &Exporter{initialized: true}
err := exp.Init(migrate.ExporterConfig{})
if err != migrate.ErrAlreadyInitialized {
t.Errorf("Expected ErrAlreadyInitialized, got %v", err)
}
}
func TestImporterDoubleInit(t *testing.T) {
imp := &Importer{initialized: true}
err := imp.Init(migrate.ImporterConfig{})
if err != migrate.ErrAlreadyInitialized {
t.Errorf("Expected ErrAlreadyInitialized, got %v", err)
}
}