mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	add apply test for retainKeys
This commit is contained in:
		@@ -932,6 +932,30 @@ run_kubectl_apply_tests() {
 | 
				
			|||||||
  kubectl delete pods test-pod "${kube_flags[@]}"
 | 
					  kubectl delete pods test-pod "${kube_flags[@]}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ## kubectl apply should be able to clear defaulted fields.
 | 
				
			||||||
 | 
					  # Pre-Condition: no deployment exists
 | 
				
			||||||
 | 
					  kube::test::get_object_assert deployments "{{range.items}}{{$id_field}}:{{end}}" ''
 | 
				
			||||||
 | 
					  # Command: apply a deployment "test-deployment-retainkeys" (doesn't exist) should create this deployment
 | 
				
			||||||
 | 
					  kubectl apply -f hack/testdata/retainKeys/deployment/deployment-before.yaml "${kube_flags[@]}"
 | 
				
			||||||
 | 
					  # Post-Condition: deployment "test-deployment-retainkeys" created
 | 
				
			||||||
 | 
					  kube::test::get_object_assert deployments "{{range.items}}{{$id_field}}{{end}}" 'test-deployment-retainkeys'
 | 
				
			||||||
 | 
					  # Post-Condition: deployment "test-deployment-retainkeys" has defaulted fields
 | 
				
			||||||
 | 
					  [[ "$(kubectl get deployments test-deployment-retainkeys -o yaml "${kube_flags[@]}" | grep RollingUpdate)" ]]
 | 
				
			||||||
 | 
					  [[ "$(kubectl get deployments test-deployment-retainkeys -o yaml "${kube_flags[@]}" | grep maxSurge)" ]]
 | 
				
			||||||
 | 
					  [[ "$(kubectl get deployments test-deployment-retainkeys -o yaml "${kube_flags[@]}" | grep maxUnavailable)" ]]
 | 
				
			||||||
 | 
					  [[ "$(kubectl get deployments test-deployment-retainkeys -o yaml "${kube_flags[@]}" | grep emptyDir)" ]]
 | 
				
			||||||
 | 
					  # Command: apply a deployment "test-deployment-retainkeys" should clear
 | 
				
			||||||
 | 
					  # defaulted fields and successfully update the deployment
 | 
				
			||||||
 | 
					  [[ "$(kubectl apply -f hack/testdata/retainKeys/deployment/deployment-after.yaml "${kube_flags[@]}")" ]]
 | 
				
			||||||
 | 
					  # Post-Condition: deployment "test-deployment-retainkeys" has updated fields
 | 
				
			||||||
 | 
					  [[ "$(kubectl get deployments test-deployment-retainkeys -o yaml "${kube_flags[@]}" | grep Recreate)" ]]
 | 
				
			||||||
 | 
					  ! [[ "$(kubectl get deployments test-deployment-retainkeys -o yaml "${kube_flags[@]}" | grep RollingUpdate)" ]]
 | 
				
			||||||
 | 
					  [[ "$(kubectl get deployments test-deployment-retainkeys -o yaml "${kube_flags[@]}" | grep hostPath)" ]]
 | 
				
			||||||
 | 
					  ! [[ "$(kubectl get deployments test-deployment-retainkeys -o yaml "${kube_flags[@]}" | grep emptyDir)" ]]
 | 
				
			||||||
 | 
					  # Clean up
 | 
				
			||||||
 | 
					  kubectl delete deployments test-deployment-retainkeys "${kube_flags[@]}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  ## kubectl apply -f with label selector should only apply matching objects
 | 
					  ## kubectl apply -f with label selector should only apply matching objects
 | 
				
			||||||
  # Pre-Condition: no POD exists
 | 
					  # Pre-Condition: no POD exists
 | 
				
			||||||
  kube::test::get_object_assert pods "{{range.items}}{{$id_field}}:{{end}}" ''
 | 
					  kube::test::get_object_assert pods "{{range.items}}{{$id_field}}:{{end}}" ''
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										22
									
								
								hack/testdata/retainKeys/deployment/deployment-after.yaml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								hack/testdata/retainKeys/deployment/deployment-after.yaml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
				
			|||||||
 | 
					apiVersion: extensions/v1beta1
 | 
				
			||||||
 | 
					kind: Deployment
 | 
				
			||||||
 | 
					metadata:
 | 
				
			||||||
 | 
					  name: test-deployment-retainkeys
 | 
				
			||||||
 | 
					spec:
 | 
				
			||||||
 | 
					  strategy:
 | 
				
			||||||
 | 
					    type: Recreate
 | 
				
			||||||
 | 
					  replicas: 1
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    metadata:
 | 
				
			||||||
 | 
					      labels:
 | 
				
			||||||
 | 
					        app: nginx
 | 
				
			||||||
 | 
					    spec:
 | 
				
			||||||
 | 
					      containers:
 | 
				
			||||||
 | 
					      - name: nginx
 | 
				
			||||||
 | 
					        image: nginx
 | 
				
			||||||
 | 
					        ports:
 | 
				
			||||||
 | 
					        - containerPort: 80
 | 
				
			||||||
 | 
					      volumes:
 | 
				
			||||||
 | 
					      - name: test-volume
 | 
				
			||||||
 | 
					        hostPath:
 | 
				
			||||||
 | 
					          path: /data
 | 
				
			||||||
							
								
								
									
										18
									
								
								hack/testdata/retainKeys/deployment/deployment-before.yaml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								hack/testdata/retainKeys/deployment/deployment-before.yaml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
				
			|||||||
 | 
					apiVersion: extensions/v1beta1
 | 
				
			||||||
 | 
					kind: Deployment
 | 
				
			||||||
 | 
					metadata:
 | 
				
			||||||
 | 
					  name: test-deployment-retainkeys
 | 
				
			||||||
 | 
					spec:
 | 
				
			||||||
 | 
					  replicas: 1
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    metadata:
 | 
				
			||||||
 | 
					      labels:
 | 
				
			||||||
 | 
					        app: nginx
 | 
				
			||||||
 | 
					    spec:
 | 
				
			||||||
 | 
					      containers:
 | 
				
			||||||
 | 
					      - name: nginx
 | 
				
			||||||
 | 
					        image: nginx
 | 
				
			||||||
 | 
					        ports:
 | 
				
			||||||
 | 
					        - containerPort: 80
 | 
				
			||||||
 | 
					      volumes:
 | 
				
			||||||
 | 
					      - name: test-volume
 | 
				
			||||||
		Reference in New Issue
	
	Block a user