
    ZThv"                     Z    d dl m Z mZ d dlmZ d dlmZ d dlmZ d dlm	Z	  G d de      Z
y)	    )datetimetimezone)TestCase)Asset)metadata_dict_to_pb)AssetConfigc                   0    e Zd Zd Zd Zd Zd Zd Zd Zy)TestAssetConfigc           	         t        j                  t        j                        }t	        ddd|d|d      }t        j                  |      }| j                  |j                  d       | j                  |j                  d       | j                  |j                  d       | j                  |j                  d       | j                  |j                  d       | j                  |j                  |       | j                  |j                  |       | j                  |j                  g        | j                  |j                   i        y Ntest-asset-id
Test Assettest-orgcreator-123modifier-456)asset_idnameorganization_idcreated_datecreated_by_user_idmodified_datemodified_by_user_idr   nowr   utcr   r   
from_assetassertEqualr   r   r   r   r   r   r   tagsmetadataself	timestampassetconfigs       _/home/www/backend.miabetepe.com/venv/lib/python3.12/site-packages/sift_py/asset/_config_test.pytest_from_asset_basicz%TestAssetConfig.test_from_asset_basic   s   LL.	$&",# .
 ''. 	/:l3//<22MB33^D,,i8--y9b)"-    c                    t        j                  t        j                        }dddd}t	        ddd|d|d	d
dgt        |      	      }t        j                  |      }| j                  |j                  d       | j                  |j                  d       | j                  |j                  d       | j                  |j                  d       | j                  |j                  d	       | j                  |j                  |       | j                  |j                  |       | j                  |j                   d
dg       | j                  |j"                  |       y )Nstring_value*   T
string_key
number_keybool_keyr   r   r   r   r   tag1tag2	r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r!   r"   r   r#   r$   s        r%   $test_from_asset_with_optional_fieldsz4TestAssetConfig.test_from_asset_with_optional_fields&   s'   LL.	"0PTU$&",# .&!(2

 ''. 	/:l3//<22MB33^D,,i8--y9vv&67(3r'   c                    t        j                  t        j                        }t	        ddd|d|dg g 	      }t        j                  |      }| j                  |j                  d       | j                  |j                  d       | j                  |j                  d       | j                  |j                  d       | j                  |j                  d       | j                  |j                  |       | j                  |j                  |       | j                  |j                  g        | j                  |j                   i        y )Nr   r   r   r   r   r1   r   r    s       r%   !test_from_asset_with_empty_fieldsz1TestAssetConfig.test_from_asset_with_empty_fieldsD   s   LL.	$&",# .

 ''. 	/:l3//<22MB33^D,,i8--y9b)"-r'   c           	      .   t        j                  t        j                        }t	        ddd|d|d      }|j                         }| j                  |j                  d       | j                  |j                  d       | j                  |j                  d       | j                  |j                  d       | j                  |j                  d       | j                  |j                  j                  t        |j                                      | j                  |j                   j                  t        |j                                      | j                  t#        |j$                        g        | j                  t#        |j&                        g        y r   )r   r   r   r   r   to_assetr   r   r   r   r   r   r   secondsintr"   r   listr   r   )r!   r"   r$   r#   s       r%   test_to_asset_basicz#TestAssetConfig.test_to_asset_basica   s3   LL.	$&",# .
 ! 	9\2..
;11=A22NC++33S9L9L9N5OP,,44c):M:M:O6PQejj)2.enn-r2r'   c                    t        j                  t        j                        }dddd}t	        ddd|d|d	d
dg|	      }|j                         }| j                  |j                  d       | j                  |j                  d       | j                  |j                  d       | j                  |j                  d       | j                  |j                  d	       | j                  |j                  j                  t        |j                                      | j                  |j                   j                  t        |j                                      | j                  t#        |j$                        d
dg       |j&                  D ci c]  }|j(                  j                  | }}| j                  |d   j*                  d       | j                  |d   j,                  d       | j/                  |d   j0                         y c c}w )Nr)   r*   Tr+   r   r   r   r   r   r/   r0   r1   r,   r-   g      E@r.   )r   r   r   r   r   r6   r   r   r   r   r   r   r   r7   r8   r"   r   r9   r   r   keyr)   number_value
assertTrueboolean_value)r!   r"   r   r$   r#   mdmetadata_dicts          r%   "test_to_asset_with_optional_fieldsz2TestAssetConfig.test_to_asset_with_optional_fields|   s   LL.	"0PTU$&",# .&!

 ! 	9\2..
;11=A22NC++33S9L9L9N5OP,,44c):M:M:O6PQejj)FF+;< 49>>BRbBB|4AA>R|4AA4Hj1??@ Cs   Hc                    t        j                  t        j                        }dddd}t	        ddd|d|d	d
dgt        |      	      }t        j                  |      }|j                         }| j                  |j                  |j                         | j                  |j                  |j                         | j                  |j                  |j                         | j                  |j                  |j                         | j                  |j                  |j                         | j                  |j                  j                   |j                  j                          | j                  |j"                  j                   |j"                  j                          | j                  t%        |j&                        t%        |j&                               |j(                  D ci c]  }|j*                  j                  | }}|j(                  D ci c]  }|j*                  j                  | }}| j                  t-        |      t-        |             |D ]  }	| j                  ||	   j/                  d      ||	   j/                  d             ||	   j1                  d      r-| j                  ||	   j2                  ||	   j2                         z||	   j1                  d      r-| j                  ||	   j4                  ||	   j4                         ||	   j1                  d      s| j                  ||	   j6                  ||	   j6                          y c c}w c c}w )Nr)   r*   Tr+   r   r   r   r   r   r/   r0   r1   valuer=   r?   )r   r   r   r   r   r   r   r   r6   r   r   r   r   r   r   r   r7   r   r9   r   r   r<   len
WhichOneofHasFieldr)   r=   r?   )
r!   r"   r   original_assetr$   roundtrip_assetr@   original_metadataroundtrip_metadatar<   s
             r%   test_roundtrip_conversionz)TestAssetConfig.test_roundtrip_conversion   s   LL.	"0PTU$&",# .&!(2

 ''7 //+ 	11>3J3JK--~/B/BC88.:X:XY;;^=^=^_<<n>`>`a55==~?Z?Z?b?bc))11>3O3O3W3W	
 	o223T.:M:M5NO 8F7N7NORVV[["_OO8G8P8PQ"bffkk2oQQ./5G1HI$ 	C!#&11':"3'227; !%..~>  %c*779KC9P9]9] #3'00@  %c*779KC9P9]9] #3'00A  %c*88:LS:Q:_:_	 PQs   &MMN)	__name__
__module____qualname__r&   r2   r4   r:   rB   rL    r'   r%   r
   r
   
   s"    .64<.:36!AF4r'   r
   N)r   r   unittestr   sift.assets.v1.assets_pb2r   sift_py._internal.metadatar   sift_py.asset.configr   r
   rP   r'   r%   <module>rU      s"    '  + : ,Ih Ir'   