
    1Vhy                        d Z ddlZddlmZ ddlZej
                  j                  ej                  j                  dk  xs% ej                  j                         j                   d      gZej
                  j                  d        Zd Zej
                  j                  d	        Zej
                  j                  ej                  j                  d
k  d      d        Zy)z9
    Read-only S3 virtual file driver (VFD) test module.
    N)	make_fapl)   
      zros3 driver not available)reasonc                      t        j                  ddd      5 } | sJ d| j                         v sJ | d   j                  dk(  sJ 	 ddd       y# 1 sw Y   yxY w)z ROS3 driver and options z3https://dandiarchive.s3.amazonaws.com/ros3test.hdf5rros3driver	mydatasetd   Nh5pyFilekeysshapefs    D/home/dcms/DCMS/lib/python3.12/site-packages/h5py/tests/test_ros3.py	test_ros3r      sc     
H# 
" .%&qaffh&&&~##v---	. . .s   -AAc                  $   t        j                  t        d      5  t        j                  ddd       ddd       t        j                  t        d      5  t        j                  d	dd       ddd       y# 1 sw Y   FxY w# 1 sw Y   yxY w)
z"ROS3 exceptions for s3:// locationz&AWS region required for s3:// location)matchzs3://fakebucket/fakekeyr	   r
   r   Nz0^foo://wrong/scheme: S3 location must begin withzfoo://wrong/scheme)pytestraises
ValueErrorr   r        r   test_ros3_s3_failsr    %   sw    	z)Q	R A		+S@A 
z)\	] <		&F;< <A A< <s   A:B:BBc                      t        j                  dddd      5 } | sJ d| j                         v sJ | d   j                  dk(  sJ 	 ddd       y# 1 sw Y   yxY w)	zUse S3 URI with ROS3 driverzs3://dandiarchive/ros3test.hdf5r	   r
   s	   us-east-2)r   
aws_regionr   r   Nr   r   s    r   test_ros3_s3urir#   .   se     
4c&*
, ./0qaffh&&&~##v---	. . .s   -AA)r         z-AWS S3 access token support in HDF5 >= 1.14.2c                  f    d} t        dddddddddddd|       }| sJ |j                                y)zSet and get S3 access tokens   #0123FakeToken4567/8/9r
   Nr   )libverrdcc_nslotsrdcc_nbytesrdcc_w0lockingpage_buf_sizemin_meta_keepmin_raw_keepalignment_thresholdalignment_intervalmeta_block_sizesession_token)r   get_fapl_ros3_token)tokenfapls     r   test_ros3_temp_tokenr6   8   sK     &EVDd!4tSW"&ARS%)@D ,$**,,5r   )__doc__r   h5py._hl.filesr   r   markskipifversionhdf5_version_tupleh5
get_configr
   
pytestmark	nonetworkr   r    r#   r6   r   r   r   <module>rA      s     $  KK''*4UDGG<N<N<P<U<U8U*  ,
 . .< . . DLL33j@J  L-L-r   