JoaVirtudes19 commented on code in PR #41955: URL: https://github.com/apache/airflow/pull/41955#discussion_r1762449415
########## helm_tests/webserver/test_webserver.py: ########## @@ -1154,3 +1154,86 @@ def test_overridden_automount_service_account_token(self): show_only=["templates/webserver/webserver-serviceaccount.yaml"], ) assert jmespath.search("automountServiceAccountToken", docs[0]) is False + + +class TestWebserverHPAAutoScaler: + """Tests webserver HPA auto scaler.""" + + def test_should_add_component_specific_labels(self): Review Comment: Sure! ########## helm_tests/webserver/test_webserver.py: ########## @@ -1154,3 +1154,86 @@ def test_overridden_automount_service_account_token(self): show_only=["templates/webserver/webserver-serviceaccount.yaml"], ) assert jmespath.search("automountServiceAccountToken", docs[0]) is False + + +class TestWebserverHPAAutoScaler: + """Tests webserver HPA auto scaler.""" + + def test_should_add_component_specific_labels(self): + docs = render_chart( + values={ + "webserver": { + "hpa": {"enabled": True}, + "labels": {"test_label": "test_label_value"}, + }, + }, + show_only=["templates/webserver/webserver-hpa.yaml"], + ) + + assert "test_label" in jmespath.search("metadata.labels", docs[0]) + assert jmespath.search("metadata.labels", docs[0])["test_label"] == "test_label_value" + + def test_should_remove_replicas_field(self): + docs = render_chart( + values={ + "webserver": { + "hpa": {"enabled": True}, + }, + }, + show_only=["templates/webserver/webserver-deployment.yaml"], + ) + assert "replicas" not in jmespath.search("spec", docs[0]) + + def test_should_not_remove_replicas_field(self): + docs = render_chart( + values={ + "webserver": { + "hpa": {"enabled": False}, + }, + }, + show_only=["templates/webserver/webserver-deployment.yaml"], + ) + assert "replicas" in jmespath.search("spec", docs[0]) + + @pytest.mark.parametrize( + "metrics, expected_metrics", + [ + # default metrics + ( + None, + { + "type": "Resource", + "resource": {"name": "cpu", "target": {"type": "Utilization", "averageUtilization": 80}}, + }, + ), + # custom metric + ( + [ + { + "type": "Pods", + "pods": { + "metric": {"name": "custom"}, + "target": {"type": "Utilization", "averageUtilization": 80}, + }, + } + ], + { + "type": "Pods", + "pods": { + "metric": {"name": "custom"}, + "target": {"type": "Utilization", "averageUtilization": 80}, + }, + }, + ), + ], + ) + def test_should_use_hpa_metrics(self, metrics, expected_metrics): Review Comment: Done! -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org