mirror of https://github.com/k3s-io/k3s
Add support for CronJob to kind_visitor
parent
338ee7f5d5
commit
821ffddeae
|
@ -32,6 +32,7 @@ type KindVisitor interface {
|
||||||
VisitReplicaSet(kind GroupKindElement)
|
VisitReplicaSet(kind GroupKindElement)
|
||||||
VisitReplicationController(kind GroupKindElement)
|
VisitReplicationController(kind GroupKindElement)
|
||||||
VisitStatefulSet(kind GroupKindElement)
|
VisitStatefulSet(kind GroupKindElement)
|
||||||
|
VisitCronJob(kind GroupKindElement)
|
||||||
}
|
}
|
||||||
|
|
||||||
// GroupKindElement defines a Kubernetes API group elem
|
// GroupKindElement defines a Kubernetes API group elem
|
||||||
|
@ -48,12 +49,14 @@ func (elem GroupKindElement) Accept(visitor KindVisitor) error {
|
||||||
visitor.VisitJob(elem)
|
visitor.VisitJob(elem)
|
||||||
case elem.GroupMatch("", "core") && elem.Kind == "Pod":
|
case elem.GroupMatch("", "core") && elem.Kind == "Pod":
|
||||||
visitor.VisitPod(elem)
|
visitor.VisitPod(elem)
|
||||||
case elem.GroupMatch("extensions") && elem.Kind == "ReplicaSet":
|
case elem.GroupMatch("apps", "extensions") && elem.Kind == "ReplicaSet":
|
||||||
visitor.VisitReplicaSet(elem)
|
visitor.VisitReplicaSet(elem)
|
||||||
case elem.GroupMatch("", "core") && elem.Kind == "ReplicationController":
|
case elem.GroupMatch("", "core") && elem.Kind == "ReplicationController":
|
||||||
visitor.VisitReplicationController(elem)
|
visitor.VisitReplicationController(elem)
|
||||||
case elem.GroupMatch("apps") && elem.Kind == "StatefulSet":
|
case elem.GroupMatch("apps") && elem.Kind == "StatefulSet":
|
||||||
visitor.VisitStatefulSet(elem)
|
visitor.VisitStatefulSet(elem)
|
||||||
|
case elem.GroupMatch("batch") && elem.Kind == "CronJob":
|
||||||
|
visitor.VisitCronJob(elem)
|
||||||
default:
|
default:
|
||||||
return fmt.Errorf("no visitor method exists for %v", elem)
|
return fmt.Errorf("no visitor method exists for %v", elem)
|
||||||
}
|
}
|
||||||
|
@ -83,3 +86,4 @@ func (*NoOpKindVisitor) VisitPod(kind GroupKindElement) {}
|
||||||
func (*NoOpKindVisitor) VisitReplicaSet(kind GroupKindElement) {}
|
func (*NoOpKindVisitor) VisitReplicaSet(kind GroupKindElement) {}
|
||||||
func (*NoOpKindVisitor) VisitReplicationController(kind GroupKindElement) {}
|
func (*NoOpKindVisitor) VisitReplicationController(kind GroupKindElement) {}
|
||||||
func (*NoOpKindVisitor) VisitStatefulSet(kind GroupKindElement) {}
|
func (*NoOpKindVisitor) VisitStatefulSet(kind GroupKindElement) {}
|
||||||
|
func (*NoOpKindVisitor) VisitCronJob(kind GroupKindElement) {}
|
||||||
|
|
|
@ -145,6 +145,17 @@ var _ = Describe("When KindVisitor accepts a GroupKind", func() {
|
||||||
}))
|
}))
|
||||||
})
|
})
|
||||||
|
|
||||||
|
It("should Visit CronJob iff the Kind is a CronJob", func() {
|
||||||
|
kind := apps.GroupKindElement{
|
||||||
|
Kind: "CronJob",
|
||||||
|
Group: "batch",
|
||||||
|
}
|
||||||
|
Expect(kind.Accept(visitor)).ShouldNot(HaveOccurred())
|
||||||
|
Expect(visitor.visits).To(Equal(map[string]int{
|
||||||
|
"CronJob": 1,
|
||||||
|
}))
|
||||||
|
})
|
||||||
|
|
||||||
It("should give an error if the Kind is unknown", func() {
|
It("should give an error if the Kind is unknown", func() {
|
||||||
kind := apps.GroupKindElement{
|
kind := apps.GroupKindElement{
|
||||||
Kind: "Unknown",
|
Kind: "Unknown",
|
||||||
|
@ -171,3 +182,4 @@ func (t *TestKindVisitor) VisitPod(kind apps.GroupKindElement)
|
||||||
func (t *TestKindVisitor) VisitReplicaSet(kind apps.GroupKindElement) { t.Visit(kind) }
|
func (t *TestKindVisitor) VisitReplicaSet(kind apps.GroupKindElement) { t.Visit(kind) }
|
||||||
func (t *TestKindVisitor) VisitReplicationController(kind apps.GroupKindElement) { t.Visit(kind) }
|
func (t *TestKindVisitor) VisitReplicationController(kind apps.GroupKindElement) { t.Visit(kind) }
|
||||||
func (t *TestKindVisitor) VisitStatefulSet(kind apps.GroupKindElement) { t.Visit(kind) }
|
func (t *TestKindVisitor) VisitStatefulSet(kind apps.GroupKindElement) { t.Visit(kind) }
|
||||||
|
func (t *TestKindVisitor) VisitCronJob(kind apps.GroupKindElement) { t.Visit(kind) }
|
||||||
|
|
|
@ -73,6 +73,7 @@ func (v *HistoryVisitor) VisitJob(kind kapps.GroupKindElement)
|
||||||
func (v *HistoryVisitor) VisitPod(kind kapps.GroupKindElement) {}
|
func (v *HistoryVisitor) VisitPod(kind kapps.GroupKindElement) {}
|
||||||
func (v *HistoryVisitor) VisitReplicaSet(kind kapps.GroupKindElement) {}
|
func (v *HistoryVisitor) VisitReplicaSet(kind kapps.GroupKindElement) {}
|
||||||
func (v *HistoryVisitor) VisitReplicationController(kind kapps.GroupKindElement) {}
|
func (v *HistoryVisitor) VisitReplicationController(kind kapps.GroupKindElement) {}
|
||||||
|
func (v *HistoryVisitor) VisitCronJob(kind kapps.GroupKindElement) {}
|
||||||
|
|
||||||
// HistoryViewerFor returns an implementation of HistoryViewer interface for the given schema kind
|
// HistoryViewerFor returns an implementation of HistoryViewer interface for the given schema kind
|
||||||
func HistoryViewerFor(kind schema.GroupKind, c kubernetes.Interface) (HistoryViewer, error) {
|
func HistoryViewerFor(kind schema.GroupKind, c kubernetes.Interface) (HistoryViewer, error) {
|
||||||
|
|
Loading…
Reference in New Issue