mirror of
https://github.com/drakkan/sftpgo.git
synced 2025-12-07 06:40:54 +03:00
check for multiple inverse matches (#1332)
* update check for multiple inverse matches Signed-off-by: David Stäheli <mistrdave@gmail.com> * after match, direct return true Signed-off-by: David Stäheli <mistrdave@gmail.com> * apply same behaviour to checkEventGroupConditionPatterns Signed-off-by: David Stäheli <mistrdave@gmail.com> * fix spellmistake of function name Signed-off-by: David Stäheli <mistrdave@gmail.com> --------- Signed-off-by: David Stäheli <mistrdave@gmail.com>
This commit is contained in:
@@ -355,6 +355,55 @@ func TestDoubleStarMatching(t *testing.T) {
|
||||
assert.False(t, res)
|
||||
res = checkEventConditionPattern(c, "/mydir/sub/dir/a.txt")
|
||||
assert.True(t, res)
|
||||
|
||||
c.InverseMatch = true
|
||||
assert.True(t, checkEventConditionPattern(c, "/mydir"))
|
||||
assert.True(t, checkEventConditionPattern(c, "/mydirname/f.txt"))
|
||||
assert.True(t, checkEventConditionPattern(c, "/mydir/sub"))
|
||||
assert.True(t, checkEventConditionPattern(c, "/mydir/sub/dir"))
|
||||
assert.False(t, checkEventConditionPattern(c, "/mydir/sub/dir/a.txt"))
|
||||
}
|
||||
|
||||
func TestMutlipleDoubleStarMatching(t *testing.T) {
|
||||
patterns := []dataprovider.ConditionPattern{
|
||||
{
|
||||
Pattern: "/**/*.txt",
|
||||
InverseMatch: false,
|
||||
},
|
||||
{
|
||||
Pattern: "/**/*.tmp",
|
||||
InverseMatch: false,
|
||||
},
|
||||
}
|
||||
assert.False(t, checkEventConditionPatterns("/mydir", patterns))
|
||||
assert.True(t, checkEventConditionPatterns("/mydir/test.tmp", patterns))
|
||||
assert.True(t, checkEventConditionPatterns("/mydir/test.txt", patterns))
|
||||
assert.False(t, checkEventConditionPatterns("/mydir/test.csv", patterns))
|
||||
assert.False(t, checkEventConditionPatterns("/mydir/sub", patterns))
|
||||
assert.True(t, checkEventConditionPatterns("/mydir/sub/test.tmp", patterns))
|
||||
assert.True(t, checkEventConditionPatterns("/mydir/sub/test.txt", patterns))
|
||||
assert.False(t, checkEventConditionPatterns("/mydir/sub/test.csv", patterns))
|
||||
}
|
||||
|
||||
func TestMultipleDoubleStarMatchingInverse(t *testing.T) {
|
||||
patterns := []dataprovider.ConditionPattern{
|
||||
{
|
||||
Pattern: "/**/*.txt",
|
||||
InverseMatch: true,
|
||||
},
|
||||
{
|
||||
Pattern: "/**/*.tmp",
|
||||
InverseMatch: true,
|
||||
},
|
||||
}
|
||||
assert.True(t, checkEventConditionPatterns("/mydir", patterns))
|
||||
assert.False(t, checkEventConditionPatterns("/mydir/test.tmp", patterns))
|
||||
assert.False(t, checkEventConditionPatterns("/mydir/test.txt", patterns))
|
||||
assert.True(t, checkEventConditionPatterns("/mydir/test.csv", patterns))
|
||||
assert.True(t, checkEventConditionPatterns("/mydir/sub", patterns))
|
||||
assert.False(t, checkEventConditionPatterns("/mydir/sub/test.tmp", patterns))
|
||||
assert.False(t, checkEventConditionPatterns("/mydir/sub/test.txt", patterns))
|
||||
assert.True(t, checkEventConditionPatterns("/mydir/sub/test.csv", patterns))
|
||||
}
|
||||
|
||||
func TestEventManager(t *testing.T) {
|
||||
|
||||
Reference in New Issue
Block a user