o
    tBh                  	   @   s,  d dl Z d dlZd dlmZmZ d dlmZ d dlmZmZ d dl	m
Z
mZmZmZmZ d dlmZmZmZmZ d dlmZ dd	gd
gdZdi idd	dddddddgidZdd Zdd Zdd Zdd Zdd Zdd  Zd!d" Zd#d$ Zd%d& Z d'd( Z!d)d* Z"d+d, Z#e d-d. Z$d/d0 Z%dS )1    N)datetime	timedelta)BytesIO)FulfillmentInboundOrders)fill_query_paramssp_endpoint
create_md5	nest_dict
deprecated)KeyMakerload_all_pagesthrottle_retryload_date_boundmake_sleep_time
seller_sku	sellerSkuproduct_name)skutitlex         Foobar)r   r   )r   r   )goor   r   c                  C   sv   t tddt} t| tsJ | ddksJ | dd u s"J t| dts,J t| ddts9J d S )NTdeepr   r   r   r   )r   key_mappingconvert_keystest_obj
isinstancedictgetlistr r)   p/var/www/html/riverr-enterprise-integrations-main/venv/lib/python3.10/site-packages/tests/client/test_helpers.pytest_key_maker_from_dict"   s   r+   c                  C   s   t tddtg} t| tsJ t| dksJ | d ddks$J | d dd u s/J t| d dts;J t| d ddtsJJ d S )NTr   r   r   r   r   r   )	r   r    r!   r"   r#   r&   lenr%   r$   r'   r)   r)   r*   test_key_maker_from_list+   s   "r-   c                  C   sh   t tddt} | ddksJ | dd u sJ t| dts%J t| ddts2J d S )NFr   r   r   r   r   r   )r   r    r!   r"   r%   r#   r$   r&   r'   r)   r)   r*   !test_key_maker_from_dict_not_deep6   s
   r.   c                  C   s@   t  ttddddd } | ddD ]	}|jd usJ qd S )N
NEXT_TOKEN)	QueryType)extrasc                  [      t  jdi | S Nr)   )r   get_shipmentskwargsr)   r)   r*   load_shipments?      z+test_load_all_pages.<locals>.load_shipmentsSHIPMENT)r   r   r$   payload)r7   r   r)   r)   r*   test_load_all_pages>   s   r;   c                  C   s:   t  t dd } | ddgdD ]	}|jd usJ qd S )Nc                  [   r2   r3   )r   
get_ordersr5   r)   r)   r*   load_all_ordersI   r8   z3test_load_all_pages_orders.<locals>.load_all_ordersTEST_CASE_200ATVPDKIKX0DER)CreatedAfterMarketplaceIds)r   r   r:   )r=   r   r)   r)   r*   test_load_all_pages_ordersH   s   rB   c                  C   s4   t ddd} | dksJ t ddd}|dksJ d S )N   FTg      ?r   )r   yr)   r)   r*   test_make_sleep_timeR   s   rE   c                  C   s   t  } | d us	J d S N)r   r   r)   r)   r*   test_load_all_pages1Z   s   rH   c                   C   s   t ddddks
J d S )Nz{}/{}foor   zfoo/bar)r   r)   r)   r)   r*   test_fill_query_params_   s   rJ   c                   C   s   t dd usJ d S )NrI   )r   r)   r)   r)   r*   test_sp_endpoint_c   s   rK   c                  C   s2   t  } | d | d t| }|dksJ d S )Ns   foor   zrL0Y20zC+Fzt72VPzMSk2A==)r   writeseekr	   )bmr)   r)   r*   test_create_md5g   s
   

rP   c                  C   s(   t dddd} | d d dksJ d S )Nr   SellerStreet)AmazonOrderIdzShipFromAddress.NamezShipFromAddress.AddressLine1ShipFromAddressAddressLine1)r
   rG   r)   r)   r*   test_nest_dicto   s   rV   c                   C   s   t dd ddksJ d S )Nc                 S   s   | d S )Nr   r)   rG   r)   r)   r*   <lambda>y   s    z!test_deprecated.<locals>.<lambda>r   rC   )r   r)   r)   r)   r*   test_deprecatedx   s   rX   c                     s    fddS )Nc                      s    S rF   r)   r)   r5   r)   r*   rW   ~   s    zdummy.<locals>.<lambda>r)   r5   r)   r5   r*   dummy|   s   rY   c                  C   s~   t  tdd } t  }tt| |d}t|dksJ |d  d | tdd ks-J |d  d | td	d ks=J d S )
NF   )days)dataStartTimedataEndTimer   r   r\      r]   <   )r   nowr   r&   rY   r,   )startendr   r)   r)   r*   test_load_date_bound   s    $rc   )&enumosr   r   ior   
sp_api.apir   r   sp_api.baser   r   r	   r
   r   sp_api.utilr   r   r   r   sp_api.util.load_all_pagesr   r    r"   r+   r-   r.   r;   rB   rE   rH   rJ   rK   rP   rV   rX   rY   rc   r)   r)   r)   r*   <module>   sN    	

	
