package cluster

import (
	"fmt"
)

func NewMockLister(clusters map[string][]Cluster) Lister {
	return &mockLister{clusters: clusters}
}

type mockLister struct {
	clusters map[string][]Cluster
}

func (c *mockLister) List(orgID string) ([]Cluster, error) {
	clusters, ok := c.clusters[orgID]
	if !ok {
		return nil, fmt.Errorf("not found")
	}
	return clusters, nil
}

func (c *mockLister) ListAliveClusters() ([]Cluster, error) {
	clusters := make([]Cluster, 0)
	for _, v := range c.clusters {
		clusters = append(clusters, v...)
	}
	return clusters, nil
}
