package cli import ( "testing" ) // TestCLIEntry ensures the CLI can be imported and basic initialization works func TestCLIEntry(t *testing.T) { // This test primarily serves as a compilation test // to ensure all imports resolve correctly cmd := NewRootCommand() if cmd == nil { t.Fatal("NewRootCommand() returned nil") } if cmd.Use != "vaultik" { t.Errorf("Expected command use to be 'vaultik', got '%s'", cmd.Use) } // Verify all subcommands are registered expectedCommands := []string{"snapshot", "store", "restore", "prune", "verify", "fetch"} for _, expected := range expectedCommands { found := false for _, cmd := range cmd.Commands() { if cmd.Use == expected || cmd.Name() == expected { found = true break } } if !found { t.Errorf("Expected command '%s' not found", expected) } } // Verify snapshot command has subcommands snapshotCmd, _, err := cmd.Find([]string{"snapshot"}) if err != nil { t.Errorf("Failed to find snapshot command: %v", err) } else { // Check snapshot subcommands expectedSubCommands := []string{"create", "list", "purge", "verify"} for _, expected := range expectedSubCommands { found := false for _, subcmd := range snapshotCmd.Commands() { if subcmd.Use == expected || subcmd.Name() == expected { found = true break } } if !found { t.Errorf("Expected snapshot subcommand '%s' not found", expected) } } } }