cli/cmd/updater/service_examples_test.go
Claude 7bb3488f0e
refactor: flatten commands, extract php/ci variants to own repos
- Remove internal/cmd/php/ (now core/php repo)
- Remove internal/cmd/ci/ and internal/cmd/sdk/ (now core/ci repo)
- Remove internal/variants/ build tag system entirely
- Move all 30 remaining command packages from internal/cmd/ to cmd/
- Rewrite main.go with direct imports (no more variant selection)
- Update all cross-references from internal/cmd/ to cmd/

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 14:41:05 +00:00

42 lines
1.1 KiB
Go

package updater_test
import (
"fmt"
"log"
"forge.lthn.ai/core/cli/cmd/updater"
)
func ExampleNewUpdateService() {
// Mock the update check functions to prevent actual updates during tests
updater.CheckForUpdates = func(owner, repo, channel string, forceSemVerPrefix bool, releaseURLFormat string) error {
fmt.Println("CheckForUpdates called")
return nil
}
defer func() {
updater.CheckForUpdates = nil // Restore original function
}()
config := updater.UpdateServiceConfig{
RepoURL: "https://github.com/owner/repo",
Channel: "stable",
CheckOnStartup: updater.CheckAndUpdateOnStartup,
}
updateService, err := updater.NewUpdateService(config)
if err != nil {
log.Fatalf("Failed to create update service: %v", err)
}
if err := updateService.Start(); err != nil {
log.Printf("Update check failed: %v", err)
}
// Output: CheckForUpdates called
}
func ExampleParseRepoURL() {
owner, repo, err := updater.ParseRepoURL("https://github.com/owner/repo")
if err != nil {
log.Fatalf("Failed to parse repo URL: %v", err)
}
fmt.Printf("Owner: %s, Repo: %s", owner, repo)
// Output: Owner: owner, Repo: repo
}