Merge pull request #118709 from ty-dc/pr/ut
[UT] add ut for pkg/registry/networking/ipaddress
This commit is contained in:
		@@ -15,3 +15,68 @@ limitations under the License.
 | 
				
			|||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package ipaddress
 | 
					package ipaddress
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"testing"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 | 
				
			||||||
 | 
						genericapirequest "k8s.io/apiserver/pkg/endpoints/request"
 | 
				
			||||||
 | 
						"k8s.io/kubernetes/pkg/apis/networking"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func newIPAddress() networking.IPAddress {
 | 
				
			||||||
 | 
						return networking.IPAddress{
 | 
				
			||||||
 | 
							ObjectMeta: metav1.ObjectMeta{
 | 
				
			||||||
 | 
								Name:            "192.168.1.1",
 | 
				
			||||||
 | 
								ResourceVersion: "1",
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							Spec: networking.IPAddressSpec{
 | 
				
			||||||
 | 
								ParentRef: &networking.ParentReference{
 | 
				
			||||||
 | 
									Group:     "",
 | 
				
			||||||
 | 
									Resource:  "services",
 | 
				
			||||||
 | 
									Name:      "foo",
 | 
				
			||||||
 | 
									Namespace: "bar",
 | 
				
			||||||
 | 
								},
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func TestIPAddressStrategy(t *testing.T) {
 | 
				
			||||||
 | 
						ctx := genericapirequest.NewDefaultContext()
 | 
				
			||||||
 | 
						if Strategy.NamespaceScoped() {
 | 
				
			||||||
 | 
							t.Errorf("ipAddress must not be namespace scoped")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if Strategy.AllowCreateOnUpdate() {
 | 
				
			||||||
 | 
							t.Errorf("ipAddress should not allow create on update")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						ipAddress := newIPAddress()
 | 
				
			||||||
 | 
						Strategy.PrepareForCreate(ctx, &ipAddress)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						errs := Strategy.Validate(ctx, &ipAddress)
 | 
				
			||||||
 | 
						if len(errs) != 0 {
 | 
				
			||||||
 | 
							t.Errorf("Unexpected error from validation for ipAddress: %v", errs)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						newIPAddress := ipAddress.DeepCopy()
 | 
				
			||||||
 | 
						Strategy.PrepareForUpdate(ctx, newIPAddress, &ipAddress)
 | 
				
			||||||
 | 
						errs = Strategy.ValidateUpdate(ctx, newIPAddress, &ipAddress)
 | 
				
			||||||
 | 
						if len(errs) != 0 {
 | 
				
			||||||
 | 
							t.Errorf("Unexpected error from update validation for ipAddress: %v", errs)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						invalidIPAddress := newIPAddress.DeepCopy()
 | 
				
			||||||
 | 
						invalidIPAddress.Name = "invalid/name"
 | 
				
			||||||
 | 
						invalidIPAddress.ResourceVersion = "4"
 | 
				
			||||||
 | 
						errs = Strategy.Validate(ctx, invalidIPAddress)
 | 
				
			||||||
 | 
						if len(errs) == 0 {
 | 
				
			||||||
 | 
							t.Errorf("Expected error from validation for ipAddress, got none")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						errs = Strategy.ValidateUpdate(ctx, invalidIPAddress, &ipAddress)
 | 
				
			||||||
 | 
						if len(errs) == 0 {
 | 
				
			||||||
 | 
							t.Errorf("Expected error from update validation for ipAddress, got none")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if invalidIPAddress.ResourceVersion != "4" {
 | 
				
			||||||
 | 
							t.Errorf("Incoming resource version on update should not be mutated")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user