Files
vault-para/tests/__pycache__/test_config.cpython-314-pytest-9.0.2.pyc
T

243 lines
37 KiB
Plaintext
Raw Normal View History

+
cTi`cСдRt^RIt^RIHuHt^RIt^RIt^RI H
t
^RI H t H
t
HtHtHtHt!RR4t!RR4t!RR 4t!R
R 4t!R R
4tR#)z$Unit tests for configuration system.N╘зPath)з
TaggingConfigзDirectoryMappingз TagHierarchyзSensitivePatternsз load_configз save_configcС*a]tRt^toRtRtRtVtR#)зTestDirectoryMappingzTest DirectoryMapping model.c  СL\RRR.R.R7pVPpRq2V8HqD'gг\P!R
V3RW#34RR\P
!49g\P !V4'd\P!V4MRR\P!V4R \P!V4/,pR
R V/,p\\P!V44hR ;p;rCVPpRq2V8HqD'gг\P!R
V3RW#34RR\P
!49g\P !V4'd\P!V4MRR\P!V4R \P!V4/,pR
R V/,p\\P!V44hR ;p;rCVPpR.q2V8HqD'gг\P!R
V3RW#34RR\P
!49g\P !V4'd\P!V4MRR\P!V4R \P!V4/,pR
R V/,p\\P!V44hR ;p;rCVPpR.q2V8HqD'gг\P!R
V3RW#34RR\P
!49g\P !V4'd\P!V4MRR\P!V4R \P!V4/,pR
R V/,p\\P!V44hR ;p;rCR #)zTest DirectoryMapping creation.z 100-projectзprojectзtechz*.tmp)зpatternз primary_tagзhierarchical_tagsзexclude_patternsзpy0зmappingзpy2зpy5Зassert %(py7)sзpy7N╘З==)z/%(py2)s
{%(py2)s = %(py0)s.pattern
} == %(py5)s╘z3%(py2)s
{%(py2)s = %(py0)s.primary_tag
} == %(py5)s)z9%(py2)s
{%(py2)s = %(py0)s.hierarchical_tags
} == %(py5)s)z8%(py2)s
{%(py2)s = %(py0)s.exclude_patterns
} == %(py5)s)
rrз
@pytest_arз_call_reprcompareз @py_builtinsзlocalsз_should_repr_global_nameз _safereprзAssertionErrorз_format_explanationrrr)зselfrз @py_assert1з @py_assert4з @py_assert3з @py_format6з @py_format8s& з,D:\tmp\vault\vault-para\tests\test_config.pyзtest_directory_mapping_creationз4TestDirectoryMapping.test_directory_mapping_creationД%≤hь%≤YТ 
Пп/═-п/═-я/┬в/┬wв/┬wв/┬в/═-в/рв"п/═iп/═iя/с/п/┬wв/р/┬wв/п/═iвв(п4╗V╗Hп4╗Hя4п4┬wв4┬wв4п4╗Hв4рв'п4╗G╗9п4╗9я4с4п4┬wв4р4┬wв4п4╗9в4СN)з__name__з
__module__з __qualname__з__firstlineno__з__doc__r*з__static_attributes__з__classdictcell__╘з
__classdict__s@r)r
r
sЬ┤ы&В  5r,r
cС0a]tRt^"toRtRtRtRtVtR#)зTestTagHierarchyzTest TagHierarchy model.c  С▓\RR\R4/R.R7pVPpRq2V8HqD'gг\P!RV3RW#34RR\P
!49g\P !V4'd\P!V4MRR\P!V4R\P!V4/,pR R
V/,p\\P!V44hR ;p;rCRqqPq7V9q┬'gг\P!RV3RWs34R \P!V4R
R\P
!49g\P !V4'd\P!V4MRR\P!V4/,pR R
V/,p\\P!V44hR ;p;r┐VPpR.q2V8HqD'gг\P!RV3RW#34RR\P
!49g\P !V4'd\P!V4MRR\P!V4R\P!V4/,pR R
V/,p\\P!V44hR ;p;rCR #)zTest TagHierarchy creation.r
зaiз
technology)зrootзchildrenзaliasesrз hierarchyrrrrpy1зpy3rz,%(py2)s
{%(py2)s = %(py0)s.root
} == %(py5)s╘зin)z0%(py1)s in %(py5)s
{%(py5)s = %(py3)s.children
})z/%(py2)s
{%(py2)s = %(py0)s.aliases
} == %(py5)s) rr<rrrrrr r!r"r=r>) r#r?r$r%r&r'r(з @py_assert0з @py_assert2s & r)зtest_tag_hierarchy_creationз,TestTagHierarchy.test_tag_hierarchy_creation%s│Д ьь°L╗с.п!░NТ
┬ П ▐~┴~п'═п'═я'с'┬~в'┬yв'р'┬yв'┬~в'═в'рп)п)п)┬tв)┬tв)░yв)░yв)пв я п2═\═Nп2═Nя2п в2┬yв2┬yв2п в2═Nв2r,c
 С■\R4pVPq"!4pRqCV8HqU'\P!RV3RW434RR\P
!49g\P !V4'd\P!V4MRR\P!V4R\P!V4R\P!V4/,pRRV/,p\\P!V44hR ;p;p;rTVPpR
q2!V4pR q┘V8Hq≥'gС\P!RV 3RWX34RR\P
!49g\P !V4'd\P!V4MRR\P!V4R\P!V4R \P!V4R\P!V4/,pR
RV/,p
\\P!V
44hR ;p;p;p;r≤VPpRq2!V4pRq┘V8Hq≥'gС\P!RV 3RWX34RR\P
!49g\P !V4'd\P!V4MRR\P!V4R\P!V4R \P!V4R\P!V4/,pR
RV/,p
\\P!V
44hR ;p;p;p;r≤R #)zTest get_full_path method.r
rr?rзpy4rzassert %(py9)sзpy9Nr:ztech/aiзpy6Зassert %(py11)sзpy11zai/llmz tech/ai/llmr)zL%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.get_full_path
}()
} == %(py7)s)zS%(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.get_full_path
}(%(py4)s)
} == %(py9)s)
rз
get_full_pathrrrrrr r!r") r#r?r$r&з @py_assert6з @py_assert5r(з @py_format10з @py_assert8з @py_assert7з @py_format12s & r)зtest_get_full_pathз#TestTagHierarchy.test_get_full_path1Дс(┬ Юв&п2п&с(п2╗Fп2╗Fя2п2┬yв2р2┬yв2п2п2╗Fвв&п9═tп9п&═tс,п9╟ п9╟ я9п9┬yв9р9┬yв9п9═tв9п9╟ вв&пA═xпAп&═xс0пA╟MпA╟MяAпA┬yвAрA┬yвAпA═xвAпA╟MвAпAr,r-N) r.r/r0r1r2rGrVr3r4r5s@r)r8r8"sЬ┤ы"Р
3ВBПBr,r8cС*a]tRt^:toRtRtRtVtR#)зTestSensitivePatternszTest SensitivePatterns model.c
 СР \4pVPp\V4p^qCV8└qU'Eg3\P!RV3RW434RR\
P !49g!\P!\4'd\P!\4MRRR\
P !49g\P!V4'd\P!V4MRR\P!V4R\P!V4R\P!V4/,pRR V/,p\\P!V44hR
;p;p;rTVPp\V4p^qCV8└qU'Eg3\P!RV3RW434RR\
P !49g!\P!\4'd\P!\4MRRR\
P !49g\P!V4'd\P!V4MRR\P!V4R\P!V4R\P!V4/,pRR V/,p\\P!V44hR
;p;p;rTVPp\V4p^qCV8└qU'Eg3\P!RV3RW434RR\
P !49g!\P!\4'd\P!\4MRRR\
P !49g\P!V4'd\P!V4MRR\P!V4R\P!V4R\P!V4/,pRR V/,p\\P!V44hR
;p;p;rTR VP4p\V4q≥'g╚R RR
\
P !49g!\P!\4'd\P!\4MR
R\P!V4R\P!V 4/,p
\\P!V
44hR
;r┴R
#)z&Test SensitivePatterns default values.rзlenr@зpatternsrArзpy8Зassert %(py10)sзpy10Nc3С,"TF
pRV9xK R#5i)зapiNr-)з.0rs& r)з <genexpr>зITestSensitivePatterns.test_sensitive_patterns_defaults.<locals>.<genexpr>DsИпPя3O╗░5≤Gж#с3OЫsz,assert %(py4)s
{%(py4)s = %(py0)s(%(py2)s)
anyrrJз>)zX%(py5)s
{%(py5)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s.credential_patterns
})
} > %(py8)s)zV%(py5)s
{%(py5)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s.personal_patterns
})
} > %(py8)s)zW%(py5)s
{%(py5)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s.financial_patterns
})
} > %(py8)s)rзcredential_patternsr[rrrrrr r!r"зpersonal_patternsзfinancial_patternsre) r#r\rFr%rTrPз @py_format9з @py_format11r$r&з @py_format5s & r)з test_sensitive_patterns_defaultsз6TestSensitivePatterns.test_sensitive_patterns_defaults=s▀Д$с&┬Юв/п4▄sп0п4╟1п4╟1я4п4▄sв4▄sв4п4░8в4░8в4п4п4╟1вв-п2▄sп.п2╟п2╟я2п2▄sв2▄sв2п2░8в2░8в2п2п2╟вв.п3▄sп/п3╟!п3╟!я3п3▄sв3▄sв3п3░8в3░8в3п3п3╟!вP╟8в3Oр3OсPпP▄sпPсPпP▄sвP▄sвPпPпPr,r-N)r.r/r0r1r2rnr3r4r5s@r)rYrY:sЬ┤ы'ВQПQr,rYcСBa]tRt^GtoRtRtRtRtRtRt Rt
Vt R#) зTestTaggingConfigzTest TaggingConfig model.c
 С┬ \4pVPp\V4p^qCV8└qU'Eg3\P!RV3RW434RR\
P !49g!\P!\4'd\P!\4MRRR\
P !49g\P!V4'd\P!V4MRR\P!V4R\P!V4R\P!V4/,pRR V/,p\\P!V44hR
;p;p;rTVPp\V4p^qCV8└qU'Eg3\P!RV3RW434RR\
P !49g!\P!\4'd\P!\4MRRR\
P !49g\P!V4'd\P!V4MRR\P!V4R\P!V4R\P!V4/,pRR V/,p\\P!V44hR
;p;p;rTVPp\V4p^qCV8└qU'Eg3\P!RV3RW434RR\
P !49g!\P!\4'd\P!\4MRRR\
P !49g\P!V4'd\P!V4MRR\P!V4R\P!V4R\P!V4/,pRR V/,p\\P!V44hR
;p;p;rTVPR ,pR q≤V 8Hq"'gy\P!RV3RW┴34R\P!V4R
\P!V 4/,p
RRV
/,p \\P!V 44hR
;p;r)R
#)z"Test TaggingConfig default values.rr[r@зconfigrArr]r^r_caseзkebabrJЗassert %(py6)srLrfzW%(py5)s
{%(py5)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s.directory_mappings
})
} > %(py8)s)zT%(py5)s
{%(py5)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s.tag_hierarchies
})
} > %(py8)s)zY%(py5)s
{%(py5)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s.excluded_directories
})
} > %(py8)srz%(py1)s == %(py4)s)rзdirectory_mappingsr[rrrrrr r!r"зtag_hierarchiesзexcluded_directoriesзtag_format_rules) r#rsrFr%rTrPrkrlrEr&rmз @py_format7s & r)зtest_tagging_config_defaultsз.TestTaggingConfig.test_tagging_config_defaultsJsxДЮв,п1▄sп-п1╟п1╟я1п1▄sв1▄sв1п1░6в1░6в1п1п1╟вв)п.▄sп*п.╗Qп.╗Qя.п.▄sв.▄sв.п.░6в.░6в.п.п.╗Qвв.п3▄sп/п3╟!п3╟!я3п3▄sв3▄sв3п3░6в3░6в3п3п3╟!вв&═vу.п9╟'п9╟'я9с9п9у9п9╟'в9r,c  С"\4pVPR4pRq2VJqD'g╠\P!RV3RW#34RR\P
!49g\P !V4'd\P!V4MRR\P!V4/,pRRV/,p\\P!V44hR;rCVPpRqtV8Hq┬'gг\P!RV3RWG34RR\P
!49g\P !V4'd\P!V4MRR \P!V4R\P!V4/,pR
R V/,p \\P!V 44hR;p;r┤VPR 4p
Rq:VJqD'g╠\P!RV3RWё34RR
\P
!49g\P !V
4'd\P!V
4MR
R\P!V4/,pRRV/,p\\P!V44hR;rCR#)z"Test get_directory_mapping method.z100-project/AI/test.mdNrrrAЗassert %(py5)srr rrrz unknown/pathз
no_mapping╘Зis not╘z%(py0)s is not %(py3)srrзis╘z%(py0)s is %(py3)s) rзget_directory_mappingrrrrrr r!r"r) r#rsrrFr$з @py_format4r'r%r&r(r┌s & r)зtest_get_directory_mappingз,TestTaggingConfig.test_get_directory_mappingSs\ДЮв.п/GсH┬ь"п"≤dп"с"┬wв"┬wв"р"┬wв"≤dв"пв"п/═iп/═iя/с/п/┬wв/р/┬wв/п/═iвв1╟.сA┬
ь!п!≤Tп!┬zв!┬zв!┬zв!≤Tв!р!r,c  С"\4pVPR4pRq2VJqD'g╠\P!R
V3RW#34RR\P
!49g\P !V4'd\P!V4MRR\P!V4/,pRRV/,p\\P!V44hR;rCVPpRqtV8Hq┬'gг\P!RV3RWG34RR\P
!49g\P !V4'd\P!V4MRR\P!V4R\P!V4/,pR R
V/,p \\P!V 44hR;p;r┤VPR 4p
Rq:VJqD'g╠\P!RV3RWё34RR \P
!49g\P !V
4'd\P!V
4MR R\P!V4/,pRRV/,p\\P!V44hR;rCR#)zTest get_tag_hierarchy method.r
Nrзtech_hierarchyrAr│rrrrзunknownзunknown_hierarchyr┐r┘rrBr├r┬) rзget_tag_hierarchyrrrrrr r!r"r<) r#rsr▌rFr$r┼r'r%r&r(r░s & r)зtest_get_tag_hierarchyз(TestTaggingConfig.test_get_tag_hierarchy^s_ДЮв1╟&с9┬ь%)п)═Tп)с)┬~в)┬~в)┬~в)═Tв)пв"п,═fп,═fя,с,п,┬~в,р,┬~в,п,═fв,р4╟Yс?пь$(п(═Dп(п в(п в(п в(═Dв(р(r,c
 С┼\4pVPpRq2!V4pRqTVJqf'gС\P!RV3RWE34RR\P
!49g\P !V4'd\P!V4MRR\P!V4R\P!V4R\P!V4R\P!V4/,pR R
V/,p\\P!V44hR ;p;p;p;reVPpR q2!V4pR
qTVJqf'gС\P!RV3RWE34RR\P
!49g\P !V4'd\P!V4MRR\P!V4R\P!V4R\P!V4R\P!V4/,pR R
V/,p\\P!V44hR ;p;p;p;reR #)z"Test is_excluded_directory method.z.obsidian/pluginsTrrsrrJrLrKrMrNNz100-project/AIFr├)z[%(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.is_excluded_directory
}(%(py4)s)
} is %(py9)s)
rзis_excluded_directoryrrrrrr r!r"╘ r#rsr$r&rQrSrTrRrUs & r)зtest_is_excluded_directoryз,TestTaggingConfig.test_is_excluded_directoryisLДЮв+пHп,?пHп+п,?с@пHюDпHюDпHпH┬vвH┬vвHпHп,?вHпHюDвв+пFп,<пFп+п,<с=пппFпF┬vвF┬vвFпFп,<вFпвFпFr,c
 Сб\4pVPpRq2!V4pRqTVJqf'gС\P!RV3RWE34RR\P
!49g\P !V4'd\P!V4MRR\P!V4R\P!V4R\P!V4R\P!V4/,pR R
V/,p\\P!V44hR ;p;p;p;reVPpR q2!V4pRqTVJqf'gС\P!RV3RWE34RR\P
!49g\P !V4'd\P!V4MRR\P!V4R\P!V4R\P!V4R\P!V4/,pR R
V/,p\\P!V44hR ;p;p;p;reVPpR
q2!V4pRqTVJqf'gС\P!RV3RWE34RR\P
!49g\P !V4'd\P!V4MRR\P!V4R\P!V4R\P!V4R\P!V4/,pR R
V/,p\\P!V44hR ;p;p;p;reR #)zTest is_excluded_file method.ztest.pycTrrsrrJrLrKrMrNNz .DS_Storeztest.mdFr├)zV%(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.is_excluded_file
}(%(py4)s)
} is %(py9)s)
rзis_excluded_filerrrrrr r!r"r√s & r)зtest_is_excluded_fileз'TestTaggingConfig.test_is_excluded_filepДЮв&п:═zп:п&═zс2п:╟dп:╟dп:п:┬vв:р:┬vв:п:═zв:п:╟dвв&п;═{п;п&═{с3п;╟tп;╟tп;п;┬vв;р;┬vв;п;═{в;п;╟tвв&п:═yп:п&═yс1п:╟Uп:╟Uп:п:┬vв:р:┬vв:п:═yв:п:╟Uв:п:r,r-N) r.r/r0r1r2r~r▀r▓r≈r⌡r3r4r5s@r)rqrqGs'Ь┤ы#Р:Р "Р )РGВ;r,rqcСra]tRt^ytoRtRtV3RlRltV3RlRltV3RlRltV3R lR
lt R t
Vt R #)
зTestConfigLoadingz&Test configuration loading and saving.c
 Сz\4p\V\4q"'Eg9RRR\P!49g!\
P !\4'd\
P!\4MRRR\P!49g\
P !V4'd\
P!V4MRRR\P!49g!\
P !\4'd\
P!\4MRR\
P!V4/,p\\
P!V44hR pVPp\V4p^qeV8└qw'Eg3\
P!RV3RWV34RR
\P!49g!\
P !\4'd\
P!\4MR
RR\P!49g\
P !V4'd\
P!V4MRR \
P!V4R \
P!V4R
\
P!V4/,pRRV/,p \\
P!V 44hR ;p;p;rvR #)z0Test loading default config when no file exists.З5assert %(py4)s
{%(py4)s = %(py0)s(%(py1)s, %(py2)s)
}rз
isinstancer@rsrrrJNr[rArr]r^r_rfrw)
rr║rrrrrr r!r"ryr[r)
r#rsr&rmrFr%rTrPrkrls
& r)зtest_load_default_configз*TestConfigLoading.test_load_default_config|sUДД≤&╓-с0п0▄zв0▄zв0п0≤&в0р0≤&в0п0╓-в0╓-в0пв,п1▄sп-п1╟п1╟я1п1▄sв1▄sв1п1░6в1░6в1п1п1╟в1r,cС <V^8└dQhRS[/#Изtmp_pathr)зformatr6s"─r)з __annotate__зTestConfigLoading.__annotate__┐sЬ─В$╧dЯ$r,c  СNVR, p\V4p\V\4qD'Eg9RRR\P!49g!\
P !\4'd\
P!\4MRRR\P!49g\
P !V4'd\
P!V4MRRR\P!49g!\
P !\4'd\
P!\4MRR \
P!V4/,p\\
P!V44hR
pVPqf!4qD'R RR \P!49g\
P !V4'd\
P!V4MR R\
P!V4R \
P!V4/,p\\
P!V44hR
;rdR
#)
zCTest that load_config creates default file when path doesn't exist.z config.yamlr═rr║r@rsrrrJNЗAassert %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.exists
}()
config_path) rr║rrrrrr r!r"зexists)r#r╖r╜rsr&rmr$s&& r)з%test_load_config_creates_default_fileз7TestConfigLoading.test_load_config_creates_default_file┐sЮу.┬ Д≤[с)┬Д≤&╓-с0п0▄zв0▄zв0п0≤&в0р0≤&в0п0╓-в0╓-в0пв!п#п#п#┬{в#┬{в#п#п#r,cС <V^8└dQhRS[/#r╔r)r╗r6s"─r)r╘r╙sЬ─В
DЯ
D╠$Я
Dr,c  СпVR, p\4pVPPR4\W24\ V4pVP
qU!4qf'RRR\ P!49g\P!V4'd\P!V4MRR\P!V4R\P!V4/,p\\P!V44hR;rVRq└Pq≤V 9q╙'gг\P!RV
3RW┴34R \P!V4R
R \ P!49g\P!V4'd\P!V4MR R \P!V 4/,p R
RV /,p \\P!V 44hR;p;r╘R#)z&Test saving and loading configuration.ztest_config.yamlз test_excluder╛rr╜rrJNr@rAз
loaded_configrrrrCz<%(py1)s in %(py5)s
{%(py5)s = %(py3)s.excluded_directories
})rr{зappendrrr╝rrrrr r!r"r)
r#r╖r╜зoriginal_configr╢r$r&rmrEr%rFr'r(s