1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
package cluster
import (
"context"
"encoding/json"
"os"
"path/filepath"
"testing"
v1 "github.com/openshift/api/config/v1"
"github.com/stretchr/testify/assert"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
var (
available = &Status{
Available: true,
}
progressing = &Status{
Available: true,
Progressing: true,
progressing: []string{"authentication"},
}
)
func TestGetClusterOperatorsStatus(t *testing.T) {
status, err := getStatus(context.Background(), lister("co.json"), []string{})
assert.NoError(t, err)
assert.Equal(t, available, status)
}
func TestGetClusterOperatorsStatusProgressing(t *testing.T) {
status, err := getStatus(context.Background(), lister("co-progressing.json"), []string{})
assert.NoError(t, err)
assert.Equal(t, progressing, status)
}
type mockLister struct {
file string
}
func (r *mockLister) List(_ context.Context, _ metav1.ListOptions) (*v1.ClusterOperatorList, error) {
bin, err := os.ReadFile(r.file)
if err != nil {
return nil, err
}
var list v1.ClusterOperatorList
return &list, json.Unmarshal(bin, &list)
}
func lister(s string) *mockLister {
return &mockLister{
file: filepath.Join("testdata", s),
}
}
|