@@ -25,18 +25,21 @@ import (
25
25
26
26
var _ = Describe ("GVK" , func () {
27
27
const (
28
- group = "group"
29
- domain = "my.domain"
30
- version = "v1"
31
- kind = "Kind"
28
+ group = "group"
29
+ domain = "my.domain"
30
+ version = "v1"
31
+ kind = "Kind"
32
+ internalVersion = "__internal"
32
33
)
33
34
34
35
gvk := GVK {Group : group , Domain : domain , Version : version , Kind : kind }
35
36
36
37
Context ("Validate" , func () {
37
- It ("should succeed for a valid GVK" , func () {
38
- Expect (gvk .Validate ()).To (Succeed ())
39
- })
38
+ DescribeTable ("should pass valid GVKs" ,
39
+ func (gvk GVK ) { Expect (gvk .Validate ()).To (Succeed ()) },
40
+ Entry ("Standard GVK" , gvk ),
41
+ Entry ("Version (__internal)" , GVK {Group : group , Domain : domain , Version : internalVersion , Kind : kind }),
42
+ )
40
43
41
44
DescribeTable ("should fail for invalid GVKs" ,
42
45
func (gvk GVK ) { Expect (gvk .Validate ()).NotTo (Succeed ()) },
@@ -47,13 +50,11 @@ var _ = Describe("GVK", func() {
47
50
Entry ("Domain (non-alpha characters)" , GVK {Group : group , Domain : "_*?" , Version : version , Kind : kind }),
48
51
Entry ("Group and Domain (empty)" , GVK {Group : "" , Domain : "" , Version : version , Kind : kind }),
49
52
Entry ("Version (empty)" , GVK {Group : group , Domain : domain , Version : "" , Kind : kind }),
50
- Entry ("Version (no v prefix)" , GVK {Group : group , Domain : domain , Version : "1" , Kind : kind }),
51
- Entry ("Version (wrong prefix)" , GVK {Group : group , Domain : domain , Version : "a1" , Kind : kind }),
52
- Entry ("Version (unstable no v prefix)" , GVK {Group : group , Domain : domain , Version : "1beta1" , Kind : kind }),
53
- Entry ("Version (unstable no alpha/beta number)" ,
54
- GVK {Group : group , Domain : domain , Version : "v1beta" , Kind : kind }),
55
- Entry ("Version (multiple unstable)" ,
56
- GVK {Group : group , Domain : domain , Version : "v1beta1alpha1" , Kind : kind }),
53
+ Entry ("Version (wrong prefix)" , GVK {Group : group , Domain : domain , Version : "-example.com" , Kind : kind }),
54
+ Entry ("Version (wrong suffix)" , GVK {Group : group , Domain : domain , Version : "example.com-" , Kind : kind }),
55
+ Entry ("Version (uppercase)" , GVK {Group : group , Domain : domain , Version : "Example.com" , Kind : kind }),
56
+ Entry ("Version (special characters)" , GVK {Group : group , Domain : domain , Version : "example!domain.com" , Kind : kind }),
57
+ Entry ("Version (consecutive dots)" , GVK {Group : group , Domain : domain , Version : "example..com" , Kind : kind }),
57
58
Entry ("Kind (empty)" , GVK {Group : group , Domain : domain , Version : version , Kind : "" }),
58
59
Entry ("Kind (whitespaces)" , GVK {Group : group , Domain : domain , Version : version , Kind : "Ki nd" }),
59
60
Entry ("Kind (lowercase)" , GVK {Group : group , Domain : domain , Version : version , Kind : "kind" }),
0 commit comments