github.com/eliastor/durgaform@v0.0.0-20220816172711-d0ab2d17673e/internal/getproviders/hanging_source.go (about) 1 package getproviders 2 3 import ( 4 "context" 5 6 "github.com/eliastor/durgaform/internal/addrs" 7 ) 8 9 // HangingSource is an implementation of Source which hangs until the given 10 // context is cancelled. This is useful only for unit tests of user-controlled 11 // cancels. 12 type HangingSource struct { 13 } 14 15 var _ Source = (*HangingSource)(nil) 16 17 func (s *HangingSource) AvailableVersions(ctx context.Context, provider addrs.Provider) (VersionList, Warnings, error) { 18 <-ctx.Done() 19 return nil, nil, nil 20 } 21 22 func (s *HangingSource) PackageMeta(ctx context.Context, provider addrs.Provider, version Version, target Platform) (PackageMeta, error) { 23 <-ctx.Done() 24 return PackageMeta{}, nil 25 } 26 27 func (s *HangingSource) ForDisplay(provider addrs.Provider) string { 28 return "hanging source" 29 }