
    ԂAj                    h    d dl mZ d dlZd dlmZ d dlmZmZ d dlm	Z	 ddZ
d Zd Zd Zd Zd ZdS )    )annotationsN)Path)summarize_tradingview_signalsbuild_tradingview_report_lines)#process_pending_tradingview_signalspathr   rowdictreturnNonec                    | j                             dd           |                     dd          5 }|                    t	          j        |          dz              d d d            d S # 1 swxY w Y   d S )NT)parentsexist_okazutf-8)encoding
)parentmkdiropenwritejsondumps)r   r	   fhs      2tests/test_hyperliquid_daily_report_tradingview.py_appendr   
   s    KdT222	3	)	) )R
C4'((() ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )s   +A,,A03A0c                H   | dz  dz  }t          |ddddddd	d
           t          |ddddddd	d
           t          |           }|d         dk    sJ |d         dk    sJ |d         dk    sJ |d         dk    sJ |d         dddk    sJ |d         dddk    sJ d S )Nsignalssignal_journal.jsonltradingviewgaussian_channel_v1BTCentrylongpaper_signalFsourcestrategy_idcoinactionsideexecution_modelive_order_allowedsqueeze_breakout_1hETHexitshortreceived   rejectedr   live_order_allowed_countby_strategy   )r    r-   by_coin)r!   r.   )r   r   )tmp_pathjournalsummarys      r   <test_summarize_tradingview_signals_counts_paper_only_runtimer;      s%   "%;;GG,(#     G,(#     ,H55G:!####:!####>"a''''-.!3333=!QWX%Y%YYYYY91!5!5555555    c                    t          |           }dd                    |          v sJ dd                    |          v sJ d S )Nz TradingView Signals: empfangen=0r   z#Live-Freigabe aus TradingView: nein)r   join)r8   liness     r   ;test_tradingview_report_lines_state_no_live_when_no_signalsr@   /   sO    *844E-51A1AAAAA0DIIe4D4DDDDDDDr<   c                    | dz  dz  }t          |ddddddd	d
           t          |           }d                    |          }d|v sJ d|v sJ d S )Nr   r   r   bad_live_flagr!   r"   r#   r$   Tr%   r   zempfangen=1z(Live-Freigabe aus TradingView: BLOCKIERT)r   r   r>   )r8   r9   r?   joineds       r   ;test_tradingview_report_lines_warn_if_any_live_flag_appearsrD   6   s    "%;;GG&("     +844EYYuFF""""5??????r<   c                l   | dz  dz  }t          |dddd           t          |dddd           t          |dddd           t          |           }t          |           }|d         d	k    sJ |d
         dddk    sJ dd                    |          v sJ dd                    |          v sJ d S )Nr   zrejected_signal_journal.jsonlr   strategy_not_allowedF)r&   reasonr,   duplicate_signalr3      reject_reasonsr2   r6   )rH   rF   zabgelehnt=3r   z;Rejects: {'duplicate_signal': 2, 'strategy_not_allowed': 1})r   r   r   r>   )r8   reject_journalr:   r?   s       r   +test_summarize_tradingview_rejected_reasonsrL   I   s    	),KKNN}@VnsttuuuN}@RjoppqqqN}@Rjoppqqq+H55G*844E:!#####$QXY(Z(ZZZZZDIIe,,,,,,HDIIV[L\L\\\\\\\r<   c                    | dz  dz  }t          |ddddddd	d
ddddd           t          |            d                    t          |                     }d|v sJ d|v sJ d|v sJ d|v sJ d|v sJ d S )Nr   r   r   ztv-report-1r    r!   r#   r"   1h60000z2026-06-28T18:00:00Zr$   F)r&   	signal_idr'   r(   r*   r)   	timeframeprice	timestampr+   r,   mainnet_signed_action)runtime_dirr   z#TradingView Paper Bridge: entries=1z-Bridge Strategien: {'gaussian_channel_v1': 1}zPromotion Gates:zOperational Gates:z	live=nein)r   r   r>   r   )r8   r9   rC   s      r   :test_tradingview_report_lines_include_paper_bridge_summaryrV   X   s    "%;;GG",+(#!&     (H====YY5h??@@F0F:::::fDDDD''''6))))&      r<   )r   r   r	   r
   r   r   )
__future__r   r   pathlibr   "src.tools.hyperliquid_daily_reportr   r   "src.tools.tradingview_paper_bridger   r   r;   r@   rD   rL   rV    r<   r   <module>r\      s    " " " " " "        l l l l l l l l R R R R R R) ) ) )6 6 6>E E E@ @ @&] ] ]! ! ! ! !r<   