testcontainers-java

Форк
0
89 строк · 3.3 Кб
1
package org.testcontainers.containers;
2

3
import org.junit.Test;
4
import org.mockserver.client.MockServerClient;
5
import org.testcontainers.utility.DockerImageName;
6

7
import static org.assertj.core.api.Assertions.assertThat;
8
import static org.mockserver.model.HttpRequest.request;
9
import static org.mockserver.model.HttpResponse.response;
10

11
public class MockServerContainerTest {
12

13
    public static final DockerImageName MOCKSERVER_IMAGE = DockerImageName
14
        .parse("mockserver/mockserver")
15
        .withTag("mockserver-" + MockServerClient.class.getPackage().getImplementationVersion());
16

17
    @Test
18
    public void shouldCallActualMockserverVersion() throws Exception {
19
        try (MockServerContainer mockServer = new MockServerContainer(MOCKSERVER_IMAGE)) {
20
            mockServer.start();
21

22
            String expectedBody = "Hello World!";
23

24
            try (MockServerClient client = new MockServerClient(mockServer.getHost(), mockServer.getServerPort())) {
25
                assertThat(client.hasStarted()).as("Mockserver running").isTrue();
26

27
                client.when(request().withPath("/hello")).respond(response().withBody(expectedBody));
28

29
                assertThat(SimpleHttpClient.responseFromMockserver(mockServer, "/hello"))
30
                    .as("MockServer returns correct result")
31
                    .isEqualTo(expectedBody);
32
            }
33
        }
34
    }
35

36
    @Test
37
    public void shouldCallMockserverUsingTlsProtocol() throws Exception {
38
        try (MockServerContainer mockServer = new MockServerContainer(MOCKSERVER_IMAGE)) {
39
            mockServer.start();
40

41
            String expectedBody = "Hello World!";
42

43
            try (
44
                MockServerClient client = new MockServerClient(mockServer.getHost(), mockServer.getServerPort())
45
                    .withSecure(true)
46
            ) {
47
                assertThat(client.hasStarted()).as("Mockserver running").isTrue();
48

49
                client.when(request().withPath("/hello")).respond(response().withBody(expectedBody));
50

51
                assertThat(SimpleHttpClient.secureResponseFromMockserver(mockServer, "/hello"))
52
                    .as("MockServer returns correct result")
53
                    .isEqualTo(expectedBody);
54
            }
55
        }
56
    }
57

58
    @Test
59
    public void shouldCallMockserverUsingMutualTlsProtocol() throws Exception {
60
        try (
61
            MockServerContainer mockServer = new MockServerContainer(MOCKSERVER_IMAGE)
62
                .withEnv("MOCKSERVER_TLS_MUTUAL_AUTHENTICATION_REQUIRED", "true")
63
        ) {
64
            mockServer.start();
65

66
            String expectedBody = "Hello World!";
67

68
            try (
69
                MockServerClient client = new MockServerClient(mockServer.getHost(), mockServer.getServerPort())
70
                    .withSecure(true)
71
            ) {
72
                assertThat(client.hasStarted()).as("Mockserver running").isTrue();
73

74
                client.when(request().withPath("/hello")).respond(response().withBody(expectedBody));
75

76
                assertThat(SimpleHttpClient.secureResponseFromMockserver(mockServer, "/hello"))
77
                    .as("MockServer returns correct result")
78
                    .isEqualTo(expectedBody);
79
            }
80
        }
81
    }
82

83
    @Test
84
    public void newVersionStartsWithDefaultWaitStrategy() {
85
        try (MockServerContainer mockServer = new MockServerContainer(MOCKSERVER_IMAGE)) {
86
            mockServer.start();
87
        }
88
    }
89
}
90

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.