1 # Copyright (c) 2013 by Gilbert Ramirez <gram@alumni.rice.edu>
3 # SPDX-License-Identifier: GPL-2.0-or-later
6 from suite_dfilter
.dfiltertest
import *
8 class TestDfilterColumns
:
9 trace_file
= "http.pcap"
11 def test_exists_1(self
, checkDFilterCount
):
12 dfilter
= "_ws.col.info"
13 checkDFilterCount(dfilter
, 1)
15 def test_exists_2(self
, checkDFilterFail
):
16 # Column not in the default configuration
17 dfilter
= "_ws.col.expert"
18 error
= f
'"{dfilter}" is not a valid protocol or protocol field'
19 checkDFilterFail(dfilter
, error
)
21 def test_exists_3(self
, checkDFilterFail
):
22 # Column not registered as field (it behaves unusally if filtered)
23 dfilter
= "_ws.col.delta_time_dis"
24 error
= f
'"{dfilter}" is not a valid protocol or protocol field'
25 checkDFilterFail(dfilter
, error
)
27 def test_func_1(self
, checkDFilterCount
):
28 dfilter
= "len(_ws.col.protocol) == 4"
29 checkDFilterCount(dfilter
, 1)
31 def test_matches_1(self
, checkDFilterSucceed
):
32 dfilter
= '_ws.col.info matches "^HEAD"'
33 checkDFilterSucceed(dfilter
)
35 def test_equal_1(self
, checkDFilterCount
):
36 dfilter
= '_ws.col.protocol == "HTTP"'
37 checkDFilterCount(dfilter
, 1)
39 def test_equal_2(self
, checkDFilterCount
):
40 dfilter
= '_ws.col.def_dst == "207.46.134.94"'
41 checkDFilterCount(dfilter
, 1)
43 def test_not_equal_1(self
, checkDFilterCount
):
44 dfilter
= '_ws.col.def_src != "10.0.0.5"'
45 checkDFilterCount(dfilter
, 0)
47 def test_read_filter(self
, checkDFilterCountReadFilter
):
48 dfilter
= '_ws.col.protocol == "HTTP"'
49 checkDFilterCountReadFilter(dfilter
, 1)
51 # def test_add_column(self, checkDFilterCount):
52 # Add column to configuration
53 # dfilter = '_ws.col.expert == "Chat"'
54 # checkDFilterCount(dfilter, 1, 'gui.column.format:"Expert","%a"')