
    \j                     >    d dl mZmZ d dlZd dlmZ  G d de      Zy)    )BigSegmentStoreBigSegmentStoreMetadataN)Callablec                       e Zd Zd ZdefdZdedefdZde	g ef   fdZ
d Zd	 Zd
 Zd ZdedefdZedefd       Zd Zy)MockBigSegmentStorec                 P    d | _         i | _        g | _        | j                          y )Nc                  <    t        t        j                               S Nr   time     A/root/env/lib/python3.12/site-packages/testing/mock_components.py<lambda>z.MockBigSegmentStore.__init__.<locals>.<lambda>   s    &=diik&J r   )"_MockBigSegmentStore__get_metadata!_MockBigSegmentStore__memberships(_MockBigSegmentStore__membership_queries setup_metadata_always_up_to_dateselfs    r   __init__zMockBigSegmentStore.__init__   s&    J$&!--/r   returnc                 "    | j                         S r
   r   r   s    r   get_metadataz MockBigSegmentStore.get_metadata   s    ""$$r   	user_hashc                 p    | j                   j                  |       | j                  j                  |d       S r
   )r   appendr   get)r   r   s     r   get_membershipz"MockBigSegmentStore.get_membership   s/    !!((3!!%%i66r   callbackc                     || _         y r
   r   )r   r!   s     r   setup_metadataz"MockBigSegmentStore.setup_metadata   s
    &r   c                 (    | j                  d        y )Nc                  B    t        t        j                         dz        S )Ni  r   r   r   r   r   zFMockBigSegmentStore.setup_metadata_always_up_to_date.<locals>.<lambda>   s    $;DIIK<L$M r   r#   r   s    r   r   z4MockBigSegmentStore.setup_metadata_always_up_to_date   s    MNr   c                 (    | j                  d        y )Nc                      t        d      S )Nr   )r   r   r   r   r   zAMockBigSegmentStore.setup_metadata_always_stale.<locals>.<lambda>   s    $;A$> r   r&   r   s    r   setup_metadata_always_stalez/MockBigSegmentStore.setup_metadata_always_stale   s    >?r   c                 (    | j                  d        y )Nc                       y r
   r   r   r   r   r   z9MockBigSegmentStore.setup_metadata_none.<locals>.<lambda>   s    r   r&   r   s    r   setup_metadata_nonez'MockBigSegmentStore.setup_metadata_none   s    L)r   c                 :    | j                  | j                         y r
   )r#   _MockBigSegmentStore__failr   s    r   setup_metadata_errorz(MockBigSegmentStore.setup_metadata_error    s    DKK(r   
membershipc                 "    || j                   |<   y r
   )r   )r   r   r0   s      r   setup_membershipz$MockBigSegmentStore.setup_membership#   s    (29%r   c                 6    | j                   j                         S r
   )r   copyr   s    r   membership_queriesz&MockBigSegmentStore.membership_queries&   s    ((--//r   c                     t        d      )Nzdeliberate error)	Exceptionr   s    r   __failzMockBigSegmentStore.__fail*   s    *++r   N)__name__
__module____qualname__r   r   r   strdictr    r   r#   r   r)   r,   r/   r2   propertylistr5   r.   r   r   r   r   r      s    0%5 %7 7 7'x4K0K'L 'O@*)3# 34 3 0D 0 0,r   r   )ldclient.interfacesr   r   r   typingr   r   r   r   r   <module>rB      s    H  %,/ %,r   