@@ -584,6 +584,44 @@ func TestPropagateAutoscalerStatus(t *testing.T) {
584584 apistest .CheckConditionSucceeded (r , RevisionConditionResourcesAvailable , t )
585585}
586586
587+ func TestPropagateAutoscalerStatus_ScaleTargetNotInitialized (t * testing.T ) {
588+ r := & RevisionStatus {}
589+ r .InitializeConditions ()
590+ apistest .CheckConditionOngoing (r , RevisionConditionReady , t )
591+
592+ // PodAutoscaler has no active condition, so we are just coming up.
593+ r .PropagateAutoscalerStatus (& autoscalingv1alpha1.PodAutoscalerStatus {
594+ Status : duckv1.Status {},
595+ })
596+
597+ apistest .CheckConditionOngoing (r , RevisionConditionActive , t )
598+ apistest .CheckConditionOngoing (r , RevisionConditionResourcesAvailable , t )
599+
600+ // Deployment is created we mark resources created
601+ r .MarkResourcesAvailableTrue ()
602+
603+ // PodAutoscaler resources have been created but initial scale target
604+ // has not been acheived
605+ r .PropagateAutoscalerStatus (& autoscalingv1alpha1.PodAutoscalerStatus {
606+ ServiceName : "some-service" ,
607+ Status : duckv1.Status {
608+ Conditions : duckv1.Conditions {{
609+ Type : autoscalingv1alpha1 .PodAutoscalerConditionReady ,
610+ Status : corev1 .ConditionUnknown ,
611+ }, {
612+ Type : autoscalingv1alpha1 .PodAutoscalerConditionScaleTargetInitialized ,
613+ Status : corev1 .ConditionUnknown ,
614+ }, {
615+ Type : autoscalingv1alpha1 .PodAutoscalerConditionSKSReady ,
616+ Status : corev1 .ConditionTrue ,
617+ }},
618+ },
619+ })
620+
621+ // ResourcesAvailable should be reverted back to on-going
622+ apistest .CheckConditionOngoing (r , RevisionConditionResourcesAvailable , t )
623+ }
624+
587625func TestPropagateAutoscalerStatus_NoOverridingResourcesAvailable (t * testing.T ) {
588626 // Cases to test Ready condition
589627 // we fix ScaleTargetInitialized to True
0 commit comments