|
6 | 6 | import static oracle.kubernetes.LogMatcher.containsFine;
|
7 | 7 | import static oracle.kubernetes.operator.logging.MessageKeys.HTTP_METHOD_FAILED;
|
8 | 8 | import static org.hamcrest.MatcherAssert.assertThat;
|
| 9 | +import static org.junit.Assert.assertEquals; |
9 | 10 |
|
10 | 11 | import com.meterware.simplestub.Stub;
|
| 12 | +import io.kubernetes.client.models.V1ObjectMeta; |
| 13 | +import io.kubernetes.client.models.V1Service; |
| 14 | +import io.kubernetes.client.models.V1ServicePort; |
| 15 | +import io.kubernetes.client.models.V1ServiceSpec; |
11 | 16 | import java.util.ArrayList;
|
12 | 17 | import java.util.List;
|
13 | 18 | import java.util.logging.Level;
|
@@ -71,6 +76,38 @@ private void ignoreMessage(String message) {
|
71 | 76 | consoleControl.ignoreMessage(message);
|
72 | 77 | }
|
73 | 78 |
|
| 79 | + @Test |
| 80 | + public void getServiceURL_returnsUrlUsingClusterIP() { |
| 81 | + final String CLUSTER_IP = "123.123.123.133"; |
| 82 | + final int PORT = 7101; |
| 83 | + |
| 84 | + List<V1ServicePort> ports = new ArrayList<>(); |
| 85 | + ports.add(new V1ServicePort().port(PORT)); |
| 86 | + V1Service service = |
| 87 | + new V1Service().spec(new V1ServiceSpec().clusterIP(CLUSTER_IP).ports(ports)); |
| 88 | + String url = HttpClient.getServiceURL(service); |
| 89 | + assertEquals("http://" + CLUSTER_IP + ":" + PORT, url); |
| 90 | + } |
| 91 | + |
| 92 | + @Test |
| 93 | + public void getServiceURL_returnsUrlUsingDNS_ifNoneClusterIP() { |
| 94 | + final String CLUSTER_IP = "None"; |
| 95 | + final int PORT = 7101; |
| 96 | + final String NAMESPACE = "domain1"; |
| 97 | + final String SERVICE_NAME = "admin-server"; |
| 98 | + |
| 99 | + List<V1ServicePort> ports = new ArrayList<>(); |
| 100 | + ports.add(new V1ServicePort().port(PORT)); |
| 101 | + |
| 102 | + V1Service service = |
| 103 | + new V1Service() |
| 104 | + .spec(new V1ServiceSpec().clusterIP(CLUSTER_IP).ports(ports)) |
| 105 | + .metadata(new V1ObjectMeta().namespace(NAMESPACE).name(SERVICE_NAME)); |
| 106 | + |
| 107 | + String url = HttpClient.getServiceURL(service); |
| 108 | + assertEquals("http://" + SERVICE_NAME + "." + NAMESPACE + ".svc.cluster.local:" + PORT, url); |
| 109 | + } |
| 110 | + |
74 | 111 | abstract static class ClientStub implements Client {
|
75 | 112 |
|
76 | 113 | private static Response mockResponse;
|
|
0 commit comments