U Ec_ @s^ddlZddlZddlmZmZddlmZddlmZd ddZ dd Z Gd d d eZ dS) N)TestCaseSkipTest) Elasticsearch)ConnectionErrorFc Ksddd}dtjkr4ddlm}t|tjd|d<||ttjdigf|}t|r`d nd D]<}z|j j d d |WSt k rt d YqfXqftddS)Nz.ci/certs/ca.pem)timeoutca_certsZPYTHON_CONNECTION_CLASSr) connectionZconnection_classZELASTICSEARCH_HOSTdZyellow)Zwait_for_statusg?zElasticsearch failed to start.)osenviron elasticsearchr getattrupdatergetrangeZclusterZhealthrtimesleepr)Znowaitkwargskwr client_rA/tmp/pip-target-m1bursmm/lib/python/elasticsearch/helpers/test.pyget_test_clients      rcCs,d|kr dS|d}tdd|DS)N.rcss"|]}|rt|ndVqdS)iN)isdigitint).0vrrr 8sz_get_version..)stripsplittuple)version_stringversionrrr _get_version4sr'c@s4eZdZeddZeddZddZddZd S) ElasticsearchTestCasecCstSN)rrrrr _get_client<sz!ElasticsearchTestCase._get_clientcCs||_dSr))r*r)clsrrr setup_class@sz!ElasticsearchTestCase.setup_classcCsHddg}|dkr|d|jjjdd|d|jjjddddS) Nopenclosed)r/hidden*i)indexignoreexpand_wildcards)namer3) es_versionappendrindicesdeleteZdelete_template)selfrr4rrrteardown_methodDs  z%ElasticsearchTestCase.teardown_methodcCs,t|ds&|jdd}t||_|jS)N _es_versionr&number)hasattrrinfor'r<)r:r%rrrr6Os  z ElasticsearchTestCase.es_versionN) __name__ __module__ __qualname__ staticmethodr* classmethodr,r;r6rrrrr(;s    r()F) rr ZunittestrrrrZelasticsearch.exceptionsrrr'r(rrrrs