def test_are_services_up_on_port_partial_health_backend( self, mock_get_multiple_backends, cluster): mock_get_multiple_backends.return_value = [ cluster("HEALTHY"), cluster("HEALTHY"), cluster("UNHEALTHY"), ] mock_get_multiple_backends.side_effect = [ { "service1.instance1": [ cluster("HEALTHY"), cluster("HEALTHY"), cluster("UNHEALTHY"), ] }, { "service1.instance2": [ cluster("HEALTHY"), cluster("UNHEALTHY"), cluster("HEALTHY"), ] }, ] assert are_services_up_in_pod( envoy_host="1.2.3.4", envoy_admin_port=3212, envoy_admin_endpoint_format="http://{bla}:{more_bla}", registrations=["service1.instance1", "service1.instance2"], pod_ip=self.pod_ip, pod_port=self.pod_port, )
def test_are_services_up_on_port_no_clusters(self, mock_get_multiple_backends): mock_get_multiple_backends.return_value = {} assert not are_services_up_in_pod( envoy_host="1.2.3.4", envoy_admin_port=3212, envoy_admin_endpoint_format="http://{bla}:{more_bla}", registrations=["service1.instance1", "service1.instance2"], pod_ip=self.pod_ip, pod_port=self.pod_port, )
def test_are_services_up_on_port_missing_backend( self, mock_get_multiple_backends, cluster): mock_get_multiple_backends.side_effect = [ [cluster("HEALTHY"), cluster("HEALTHY"), cluster("HEALTHY")], [cluster("HEALTHY"), cluster("HEALTHY"), cluster("HEALTHY")], [], ] mock_get_multiple_backends.side_effect = [ { "service1.instance1": [ cluster("HEALTHY"), cluster("HEALTHY"), cluster("HEALTHY"), ] }, { "service1.instance2": [ cluster("HEALTHY"), cluster("UNHEALTHY"), cluster("HEALTHY"), ] }, {}, ] # all up and present but service1.instance3 not present assert not are_services_up_in_pod( envoy_host="1.2.3.4", envoy_admin_port=3212, envoy_admin_endpoint_format="http://{bla}:{more_bla}", registrations=[ "service1.instance1", "service1.instance2", "service1.instance3", ], pod_ip=self.pod_ip, pod_port=self.pod_port, )