MCPcopy
hub / github.com/perkeep/perkeep / TestQueryDirWithLogicalNotConstraint

Function TestQueryDirWithLogicalNotConstraint

pkg/search/query_test.go:792–831  ·  view source on GitHub ↗

find a dir that doesn't contain any text files

(t *testing.T)

Source from the content-addressed store, hash-verified

790
791// find a dir that doesn't contain any text files
792func TestQueryDirWithLogicalNotConstraint(t *testing.T) {
793 testQuery(t, func(qt *queryTest) {
794 id := qt.id
795 fileRef1, _ := id.UploadFile("some-stuff.txt", "hello", time.Unix(123, 0))
796 qt.t.Logf("fileRef1 = %q", fileRef1)
797 fileRef2, _ := id.UploadFile("more-stuff.txt", "world", time.Unix(456, 0))
798 qt.t.Logf("fileRef2 = %q", fileRef2)
799 dirRef1 := id.UploadDir("somedir", []blob.Ref{fileRef1, fileRef2}, time.Unix(789, 0))
800 qt.t.Logf("dirRef1 = %q", dirRef1)
801 p1 := id.NewPlannedPermanode("1")
802 id.SetAttribute(p1, "camliContent", dirRef1.String())
803
804 fileRef3, _ := id.UploadFile("other-file", "hellooooo", time.Unix(101112, 0))
805 qt.t.Logf("fileRef3 = %q", fileRef3)
806 dirRef2 := id.UploadDir("anotherdir", []blob.Ref{fileRef3}, time.Unix(181112, 0))
807 qt.t.Logf("dirRef2 = %q", dirRef2)
808 p2 := id.NewPlannedPermanode("2")
809 id.SetAttribute(p2, "camliContent", dirRef2.String())
810
811 sq := &SearchQuery{
812 Constraint: &Constraint{
813 Dir: &DirConstraint{
814 Contains: &Constraint{
815 Logical: &LogicalConstraint{
816 A: &Constraint{
817 File: &FileConstraint{
818 FileName: &StringConstraint{
819 HasSuffix: ".txt",
820 },
821 },
822 },
823 Op: "not",
824 },
825 },
826 },
827 },
828 }
829 qt.wantRes(sq, dirRef2)
830 })
831}
832
833// find permanode with a dir that contains a certain file or dir
834func TestQueryDirWithFileOrDirConstraint(t *testing.T) {

Callers

nothing calls this directly

Calls 8

testQueryFunction · 0.85
LogfMethod · 0.80
UploadDirMethod · 0.80
NewPlannedPermanodeMethod · 0.80
SetAttributeMethod · 0.80
wantResMethod · 0.80
UploadFileMethod · 0.45
StringMethod · 0.45

Tested by

no test coverage detected