Skip to content

Commit 3c7ca1f

Browse files
authored
Merge pull request #98 from ntnn/multi-get-provider
✨ Add multi.Provider.GetProvider
2 parents 79a7e3f + 2bc7b8d commit 3c7ca1f

2 files changed

Lines changed: 15 additions & 0 deletions

File tree

providers/multi/provider.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,14 @@ func (p *Provider) splitClusterName(clusterName string) (string, string) {
177177
return parts[0], parts[1]
178178
}
179179

180+
// GetProvider returns the provider for the given prefix.
181+
func (p *Provider) GetProvider(prefix string) (multicluster.Provider, bool) {
182+
p.lock.RLock()
183+
defer p.lock.RUnlock()
184+
provider, ok := p.providers[prefix]
185+
return provider, ok
186+
}
187+
180188
// AddProvider adds a new provider with the given prefix.
181189
//
182190
// The startFunc is called to start the provider - starting the provider

providers/multi/provider_test.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,15 @@ var _ = Describe("Provider Multi", Ordered, func() {
9696
})
9797

9898
By("Adding the first namespace provider before starting the manager", func() {
99+
_, ok := provider.GetProvider("cloud1")
100+
Expect(ok).To(BeFalse())
101+
99102
err := provider.AddProvider("cloud1", cloud1provider)
100103
Expect(err).NotTo(HaveOccurred())
104+
105+
returnedProvider, ok := provider.GetProvider("cloud1")
106+
Expect(ok).To(BeTrue())
107+
Expect(returnedProvider).To(Equal(cloud1provider))
101108
})
102109

103110
By("Setting up the controller feeding the animals", func() {

0 commit comments

Comments
 (0)