
    Lrdjc                    d    d dl mZ d dlZd dlmc mZ d dlm	Z	 d dl
Z
d dlmZ dd	Zdd
ZddZdS )    )annotationsN)Path)load_settingstmp_pathr   returnNonec                   | dz  }|                                  |dz                      d           t          |i           }d}|j        }|j        }|j        } |            }||v }|st          j        d|fd||f          t          j        |          dt          j
                    v st          j        |          rt          j        |          ndt          j        |          t          j        |          t          j        |          t          j        |          d	z  }	d
d|	iz  }
t          t          j        |
                    d x}x}x}x}x}}|j        }|j        }|j        } |            }|j        }|j        } |            } ||          }| }|s;ddt          j
                    v st          j        |          rt          j        |          ndt          j        |          t          j        |          t          j        |          t          j        |          t          j        |          dt          j
                    v st          j        |          rt          j        |          ndt          j        |          t          j        |          t          j        |          d
z  }t          t          j        |                    d x}x}x}x}x}x}x}x}}d S )Nrepopyproject.toml[project]
name='demo'
	repo_rootenvironzjarvis_runtime/finance-system)in)z%(py1)s in %(py11)s
{%(py11)s = %(py9)s
{%(py9)s = %(py7)s
{%(py7)s = %(py5)s
{%(py5)s = %(py3)s.runtime_paths
}.base_dir
}.as_posix
}()
}settings)py1py3py5py7py9py11zassert %(py13)spy13a  assert not %(py17)s
{%(py17)s = %(py10)s
{%(py10)s = %(py8)s
{%(py8)s = %(py6)s
{%(py6)s = %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.runtime_paths
}.base_dir
}.as_posix
}()
}.startswith
}(%(py15)s
{%(py15)s = %(py13)s
{%(py13)s = %(py11)s.as_posix
}()
})
})
py0py2py4py6py8py10r   r   py15py17)mkdir
write_textr   runtime_pathsbase_diras_posix
@pytest_ar_call_reprcompare	_saferepr@py_builtinslocals_should_repr_global_nameAssertionError_format_explanation
startswith)r   r
   r   @py_assert0@py_assert4@py_assert6@py_assert8@py_assert10@py_assert2@py_format12@py_format14@py_assert1@py_assert3@py_assert5@py_assert7@py_assert9@py_assert12@py_assert14@py_assert16@py_assert18@py_format19s                        m/home/agent/.hermes/worktrees/FinanceManager-sprint7-postfinance-portfolio-source/tests/unit/test_settings.py!test_runtime_default_outside_reporB   
   s?   fDJJLLL	(()CDDDtR888H*Xh.DX.D.MX.M.VX.V.V.X.XX*.XXXXXXXXXXX*.XXXXXX*XXXXXXXXXXXhXXXXXhXXXXXX.DXXXX.MXXXX.VXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX%U%.U.7U7799U9DUT]U]]__UDD_UUUUUUUUUUUUUUUUUUxUUUUUxUUUUUU%UUUU.UUUU7UUUU9UUUUDUUUUUUUUUUUTUUUUUTUUUUUU]UUUU_UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU    c           	        | dz  }|                                  |dz                      d           t          j        t          d          5  t          |dt          |dz            i           d d d            d S # 1 swxY w Y   d S )	Nr
   r   r   zoutside the Git repositorymatchJARVIS_FINANCE_RUNTIME_DIRruntimer   )r!   r"   pytestraises
ValueErrorr   str)r   r
   s     rA   #test_runtime_inside_repo_is_blockedrM      s    fDJJLLL	(()CDDD	z)E	F	F	F e e/KSQUXaQaMbMb.cdddde e e e e e e e e e e e e e e e e es   $A>>BBc           	     v   | dz  }|                                  |dz                      d           t          d                                          }t	          j        t          d          5  t          |dt          |          d	           d d d            n# 1 swxY w Y   t	          j        t          d          5  t          |d
t          |dz            d	           d d d            n# 1 swxY w Y   t          |d
t          | dz            t          | dz            d	          }|j	        }d}| |z  }||k    }|st          j        d|fd||f          dt          j                    v st          j        |          rt          j        |          ndt          j        |          dt          j                    v st          j        |           rt          j        |           ndt          j        |          dz  }dd|iz  }	t!          t          j        |	                    d x}x}x}}d S )Nr
   r   r   z~/jarvis_runtime/finance-systemz
below /tmprE   test)JARVIS_FINANCE_ENVrG   r   uatzdata/finance.sqlite3)rP   JARVIS_FINANCE_DB_PATHzuat-runtimezuat.sqlite3)rP   rG   rR   )==)z;%(py2)s
{%(py2)s = %(py0)s.db_path
} == (%(py4)s / %(py6)s)isolatedr   )r   r   r   r   zassert %(py9)sr   )r!   r"   r   
expanduserrI   rJ   rK   r   rL   db_pathr&   r'   r)   r*   r+   r(   r,   r-   )
r   r
   
productiverT   r7   r9   r:   r8   @py_format8@py_format10s
             rA   ?test_test_and_uat_runtime_must_be_explicitly_isolated_below_tmprZ      s/   fDJJLLL	(()CDDD788CCEEJ	z	6	6	6 } }Vknoykzkz.{.{||||} } } } } } } } } } } } } } }	z	6	6	6 Q QUfijt  xN  kN  gO  gO  /P  /P  	Q  	Q  	Q  	QQ Q Q Q Q Q Q Q Q Q Q Q Q Q Q"'*-h.F*G*G&)(]*B&C&C
 
  H 7-7x-77777777777777777777777777877777877777777777777777x77777x777777-7777777777777777777777777777777s$   ."BB #B %C33C7:C7)r   r   r   r   )
__future__r   builtinsr)   _pytest.assertion.rewrite	assertionrewriter&   pathlibr   rI   jarvis_finance.config.settingsr   rB   rM   rZ    rC   rA   <module>rc      s    " " " " " "                      8 8 8 8 8 8V V V Ve e e e8 8 8 8 8 8rC   