�
l0&i� � �\ � d Z ddlZddlZd� Zd� Zd� Zedk( r ej eg� yy)z:Tests for Python OpenTelemetry SDK metric exporter adapter� Nc � � ddl } t j � 5 }| j |d�� }|j � }|�J d� �t |d� sJ d� �t |d� sJ d � �t |d
� sJ d� �t |d� sJ d
� �|j
� }|�J d� �|j d�� }|�J d� �|j � }|�J d� �|j
� ddd� y# 1 sw Y yxY w)z?Test that metric exporter adapter implements required interfacer N� ��
output_dir�write_interval_secsz1metric_exporter_adapter() should return an object�exportz#Adapter should have export() method�shutdownz%Adapter should have shutdown() method�force_flushz(Adapter should have force_flush() method�temporalityz(Adapter should have temporality() methodzshutdown() should return None�� ��timeout_millisz$force_flush() should return a resultz#temporality() should return a value) �otlp_arrow_library�tempfile�TemporaryDirectory�
PyOtlpLibrary�metric_exporter_adapter�hasattrr r
r )r �tmpdir�library�metric_exporter�result�flush_resultr s �%tests/python/test_adapters_metrics.py�test_metric_exporter_interfacer s- � �� � $� $� &�&�$�2�2�� !� 3�
�� "�9�9�;���*�_�,_�_�*� ���1�X�3X�X�1���
�3�\�5\�\�3���
�6�b�8b�b�6���
�6�b�8b�b�6� !�)�)�+���~�>�>�>�~� '�2�2�$�2�G���'�O�)O�O�'� &�1�1�3���&�M�(M�M�&� ����;
'� &� &�s �CC8�8Dc � � ddl } ddlm} ddlm} ddlm} t j � 5 }| j |d�� }|j � } |d �
� } |g�� }j |� |j t � } | j# dd
d�� }
|
j% dddd�� |
j% dddd�� |j'