test(kubernetes): increase test coverage (#546)

This commit is contained in:
Alexis Couvreur
2025-03-03 22:05:20 -05:00
committed by GitHub
parent 25ab9e1c7a
commit a37f5943cc
14 changed files with 615 additions and 92 deletions

View File

@@ -2,13 +2,10 @@ package kubernetes
import (
"context"
"github.com/sablierapp/sablier/app/discovery"
"github.com/sablierapp/sablier/pkg/provider"
core_v1 "k8s.io/api/core/v1"
"log/slog"
providerConfig "github.com/sablierapp/sablier/config"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/kubernetes"
)
@@ -42,66 +39,3 @@ func NewKubernetesProvider(ctx context.Context, client *kubernetes.Clientset, lo
}, nil
}
func (p *KubernetesProvider) InstanceStart(ctx context.Context, name string) error {
parsed, err := ParseName(name, ParseOptions{Delimiter: p.delimiter})
if err != nil {
return err
}
return p.scale(ctx, parsed, parsed.Replicas)
}
func (p *KubernetesProvider) InstanceStop(ctx context.Context, name string) error {
parsed, err := ParseName(name, ParseOptions{Delimiter: p.delimiter})
if err != nil {
return err
}
return p.scale(ctx, parsed, 0)
}
func (p *KubernetesProvider) InstanceGroups(ctx context.Context) (map[string][]string, error) {
deployments, err := p.Client.AppsV1().Deployments(core_v1.NamespaceAll).List(ctx, metav1.ListOptions{
LabelSelector: discovery.LabelEnable,
})
if err != nil {
return nil, err
}
groups := make(map[string][]string)
for _, deployment := range deployments.Items {
groupName := deployment.Labels[discovery.LabelGroup]
if len(groupName) == 0 {
groupName = discovery.LabelGroupDefaultValue
}
group := groups[groupName]
parsed := DeploymentName(&deployment, ParseOptions{Delimiter: p.delimiter})
group = append(group, parsed.Original)
groups[groupName] = group
}
statefulSets, err := p.Client.AppsV1().StatefulSets(core_v1.NamespaceAll).List(ctx, metav1.ListOptions{
LabelSelector: discovery.LabelEnable,
})
if err != nil {
return nil, err
}
for _, statefulSet := range statefulSets.Items {
groupName := statefulSet.Labels[discovery.LabelGroup]
if len(groupName) == 0 {
groupName = discovery.LabelGroupDefaultValue
}
group := groups[groupName]
parsed := StatefulSetName(&statefulSet, ParseOptions{Delimiter: p.delimiter})
group = append(group, parsed.Original)
groups[groupName] = group
}
return groups, nil
}