�
m0&i
� �V � d Z ddlZddlZd� Zd� Zedk( r ej eg� yy)z8Tests for Python OpenTelemetry SDK span exporter adapter� Nc � � ddl } t j � 5 }| j |d�� }|j � }|�J d� �t |d� sJ d� �t |d� sJ d � �t |d
� sJ d� �|j
� }|�J d� �|j d
�� }|�J d� �|j
� ddd� y# 1 sw Y yxY w)z=Test that span exporter adapter implements required interfacer N� ��
output_dir�write_interval_secsz/span_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() methodzshutdown() should return Nonei� )�timeout_millisz$force_flush() should return a result)�otlp_arrow_library�tempfile�TemporaryDirectory�
PyOtlpLibrary�span_exporter_adapter�hasattrr r
)r �tmpdir�library�
span_exporter�result�flush_results �#tests/python/test_adapters_spans.py�test_span_exporter_interfacer s� � �� � $� $� &�&�$�2�2�� !� 3�
�� �5�5�7�
��(�[�*[�[�(� �}�h�/�V�1V�V�/��}�j�1�Z�3Z�Z�1��}�m�4�`�6`�`�4� �'�'�)���~�>�>�>�~� %�0�0��0�E���'�O�)O�O�'� ����1
'� &� &�s �B*C�Cc �X �� ddl } t j � 5 }| j |d�� }|j � } G d� d� � G �fd�d� } |� g}|j |� }|� |j � ddd� y# t $ r
}Y d}~�'d}~ww xY w# 1 sw Y yxY w) z&Test span exporter with mock span datar Nr r c � � e Zd Zd� Zy)�:test_span_exporter_with_mock_data.<locals>.MockSpanContextc � � d| _ d| _ y )Nl �MW!�Y��^y$+ l �MW!�Y� )�trace_id�span_id)�selfs r �__init__zCtest_span_exporter_with_mock_data.<locals>.MockSpanContext.__init__5 s � � B��
�1��� N��__name__�
__module__�__qualname__r � r! r �MockSpanContextr 4 s � �
2r! r'