Spring Boot、ElasticSearch、TestContainersの統合テスト。接続拒否

Elasticsearchからデータを取得するための統合テストを作成します。

testContainerにデフォルト値を使用しているので、RestHighLevelClientはテストコンテナーにアクセスできるはずですが、java.net.ConnecteException: Connection refusedデータにインデックスを付けようとすると常に同じ例外()が発生しますが、コマンドでDockerイメージをローカルで実行すると

docker run -d --rm -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "transport.host=127.0.0.1"  --name elastic docker.elastic.co/elasticsearch/elasticsearch:6.5.4

私のテストは正しく機能します。

ポートマッピングは同じなので、どこに問題がありますか?この例外の理由は何ですか?

私のテスト:

@ExtendWith(SpringExtension.class)
@Testcontainers
@WebMvcTest
class FlowerResourceTest {

    @Container
    private ElasticsearchContainer esContainer = new ElasticsearchContainer("docker.elastic.co/elasticsearch/elasticsearch:6.5.4");

    @Autowired
    private ElasticsearchConfiguration esConfig;

    @Autowired
    private FlowerService flowerService;

    private RestHighLevelClient client;


    @Test
    void test() throws IOException, InterruptedException {
        client = esConfig.client();

        var jsonFlower = "{\n" +
                "    \"name\": \"XXX\",\n" +
                "  \"color\" : \"red\"\n" +
                "}";
        IndexRequest indexRequest = new IndexRequest("flowers", "doc", "1")
                .source(jsonFlower, XContentType.JSON);


        assertTrue(esContainer.isRunning());
        client.index(indexRequest, RequestOptions.DEFAULT);


        var flowers = flowerService.findAll();


        assertTrue(flowers.size() > 0);

        DeleteRequest deleteRequest = new DeleteRequest("flowers", "doc", "1");

        client.delete(deleteRequest, RequestOptions.DEFAULT);
    }
}
Jettro Coenradie

よく覚えている場合は、次のコマンドを使用して公開ポートを要求できます。

esContainer.getMappedPort(ELASTICSEARCH_PORT);

Dockerコンテナーはランダムに使用可能なポートを公開するため、前述のコマンドと同様にポートを確認してください。そのポートをクライアントに使用します。興味があれば、私の同僚がサンプルコードを使ってこれに関するブログ投稿を書きました:https//amsterdam.luminis.eu/2018/08/20/elasticsearch-instances-for-integration-testing/

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Spring-Bootスローの統合テスト接続が拒否されました

分類Dev

KotlinとSpring Bootの統合テスト

分類Dev

Spring boot + docker + restテンプレート接続が拒否されました

分類Dev

Elasticsearch Springブート統合テスト

分類Dev

Spring Boot、PostgreSQL、Docker-コンテナでの実行中に接続が拒否されました

分類Dev

Spring Boot、PostgreSQL、Docker-コンテナでの実行中に接続が拒否されました

分類Dev

Spring Boot Web / Tomcatが特定のネットワークへの接続を拒否(Vodafone)

分類Dev

Windows上のDocker、Mongodb、Spring Bootで接続拒否エラーが発生する

分類Dev

ローカルホストがEclipseを使用したSpring Bootアプリケーションへの接続を拒否しました

分類Dev

Spring BootおよびSpockとの統合テスト

分類Dev

キュウリとSpring Bootの統合テスト

分類Dev

Spring Boot-webservice:接続が拒否されました

分類Dev

Spring WebClientのgetリクエストが「接続が拒否されました:localhost /」を返します

分類Dev

Spring Securityとの統合テスト

分類Dev

SpringとSerenity / JBehaveテストの統合

分類Dev

Spring統合:テスト中のBindException

分類Dev

ELB&Spring Boot:サーバーポートが正しく構成されていても、「アップストリームへの接続中に(111:接続が拒否されました)」というエラーが発生しますか?

分類Dev

Spring-Bootモジュールベースの統合テスト

分類Dev

Spring統合:MQTT統合テストの基本

分類Dev

Spring Bootを使用して拒否されたKubernetesサービス検出を接続する

分類Dev

Spring Boot統合テストのモックメソッドがnullを返す

分類Dev

Spring boot1.4エラーを使用したZonedDateTimeとの統合テスト

分類Dev

Spring Boot接続プール構成のベストプラクティス

分類Dev

Spring Boot + Elastic Search:Java RestHighLevelClientで接続が拒否されました

分類Dev

Spring Boot + Cloud | Zuulプロキシ| 統合テスト

分類Dev

ClassNotFoundExceptionを与えるSpring Boot Maven統合テスト

分類Dev

安心を使用したSpring-Boot統合テスト

分類Dev

Spring Boot Security 403「アクセス拒否」

分類Dev

単体テストとSpringとの統合テスト

Related 関連記事

  1. 1

    Spring-Bootスローの統合テスト接続が拒否されました

  2. 2

    KotlinとSpring Bootの統合テスト

  3. 3

    Spring boot + docker + restテンプレート接続が拒否されました

  4. 4

    Elasticsearch Springブート統合テスト

  5. 5

    Spring Boot、PostgreSQL、Docker-コンテナでの実行中に接続が拒否されました

  6. 6

    Spring Boot、PostgreSQL、Docker-コンテナでの実行中に接続が拒否されました

  7. 7

    Spring Boot Web / Tomcatが特定のネットワークへの接続を拒否(Vodafone)

  8. 8

    Windows上のDocker、Mongodb、Spring Bootで接続拒否エラーが発生する

  9. 9

    ローカルホストがEclipseを使用したSpring Bootアプリケーションへの接続を拒否しました

  10. 10

    Spring BootおよびSpockとの統合テスト

  11. 11

    キュウリとSpring Bootの統合テスト

  12. 12

    Spring Boot-webservice:接続が拒否されました

  13. 13

    Spring WebClientのgetリクエストが「接続が拒否されました:localhost /」を返します

  14. 14

    Spring Securityとの統合テスト

  15. 15

    SpringとSerenity / JBehaveテストの統合

  16. 16

    Spring統合:テスト中のBindException

  17. 17

    ELB&Spring Boot:サーバーポートが正しく構成されていても、「アップストリームへの接続中に(111:接続が拒否されました)」というエラーが発生しますか?

  18. 18

    Spring-Bootモジュールベースの統合テスト

  19. 19

    Spring統合:MQTT統合テストの基本

  20. 20

    Spring Bootを使用して拒否されたKubernetesサービス検出を接続する

  21. 21

    Spring Boot統合テストのモックメソッドがnullを返す

  22. 22

    Spring boot1.4エラーを使用したZonedDateTimeとの統合テスト

  23. 23

    Spring Boot接続プール構成のベストプラクティス

  24. 24

    Spring Boot + Elastic Search:Java RestHighLevelClientで接続が拒否されました

  25. 25

    Spring Boot + Cloud | Zuulプロキシ| 統合テスト

  26. 26

    ClassNotFoundExceptionを与えるSpring Boot Maven統合テスト

  27. 27

    安心を使用したSpring-Boot統合テスト

  28. 28

    Spring Boot Security 403「アクセス拒否」

  29. 29

    単体テストとSpringとの統合テスト

ホットタグ

アーカイブ