How to use test_metric_filter method in localstack

Best Python code snippet using localstack_python

test_strings.py

Source:test_strings.py Github

copy

Full Screen

...82 '{ $.someFloat != "*21" }',83 '{ $.someFloat != "*1" }',84 ]85 for p in patterns:86 resp = client.test_metric_filter(filterPattern=p, logEventMessages=[json_data])87 matches = resp.get('matches', [])88 assert matches and len(matches) == 189 assert matches[0]['eventMessage'] == json_data90 assert match(p, json.loads(json_data))91def test_equality_unquoted(json_data, client):92 patterns = [93 # unquoted term94 '{ $.someString = 111.111.111.111 }',95 '{ $.someString != 111*111 }',96 '{ $.someString = * }',97 #'{ $.someString = *111.111.111 }', # [TODO] Should be True, aws bug?98 '{ $.someString = *.111.111.111 }', # but this passed99 '{ $.someString = 111* }',100 '{ $.someString != 222 }',101 '{ $.someString != 222* }',102 '{ $.someString != *222 }',103 '{ $.someInt = 123 }',104 '{ $.someInt = 123.0 }',105 '{ $.someInt = * }',106 #'{ $.someInt != 1*3 }', # [TODO] Should be True, aws bug?107 '{ $.someInt = 1* }',108 '{ $.someInt = 12* }',109 '{ $.someInt = 123* }',110 '{ $.someInt = *123 }',111 '{ $.someInt = *23 }',112 '{ $.someInt = *3 }',113 '{ $.someInt != 3* }',114 '{ $.someInt != 32* }',115 '{ $.someInt != 321* }',116 '{ $.someInt != *321 }',117 '{ $.someInt != *32 }',118 '{ $.someInt != *1 }',119 # float120 '{ $.someFloat = 12.34 }',121 '{ $.someFloat = *}',122 #'{ $.someFloat != 1*4 }', # [TODO] Should be True, aws bug?123 '{ $.someFloat2 = 12 }',124 '{ $.someFloat = 1* }',125 '{ $.someFloat = 12* }',126 '{ $.someFloat = 12.* }',127 '{ $.someFloat = 12.3* }',128 '{ $.someFloat = 12.34*}',129 '{ $.someFloat = *12.34}',130 '{ $.someFloat = *2.34}',131 '{ $.someFloat = *.34 }',132 '{ $.someFloat = *34 }',133 '{ $.someFloat = *4 }',134 '{ $.someFloat != 43.21 }',135 '{ $.someFloat != 4* }',136 '{ $.someFloat != 43* }',137 '{ $.someFloat != 43.* }',138 '{ $.someFloat != 43.2* }',139 '{ $.someFloat != 43.21*}',140 '{ $.someFloat != *43.21}',141 '{ $.someFloat != *3.21 }',142 '{ $.someFloat != *.21 }',143 '{ $.someFloat != *21 }',144 '{ $.someFloat != *1 }',145 ]146 for p in patterns:147 resp = client.test_metric_filter(filterPattern=p, logEventMessages=[json_data])148 matches = resp.get('matches', [])149 assert matches and len(matches) == 1150 assert matches[0]['eventMessage'] == json_data151 assert match(p, json.loads(json_data))152def test_numeric_unquoted_unmatched(json_data, client):153 patterns = [154 '{ $.someString != 111 }',155 ]156def test_numeric_unquoted_matched(json_data, client):157 patterns = [158 '{ $.someString != 111 }',159 # '{ $.eventType >= 123 }', # len(matches)==0160 # '{ $.someInt != 111 }',161 # '{ $.someInt != 111.0 }',162 # '{ $.someInt != "111" }',163 # '{ $.someInt != "abc" }',164 # '{ $.someInt >= 123.0 }',165 # '{ $.someInt >= someString }', # InvalidParameterException: Invalid166 # character(s) in term '"someString"'167 # '{ $.someInt >= "someString" }', # InvalidParameterException:168 # Invalid character(s) in term '"someString"'169 # '{ $.someInt >= "123" }', # InvalidParameterException: Invalid170 # character(s) in term '"someString"'171 # '{ $.someInt >= "123.0" }', # InvalidParameterException: Invalid172 # character(s) in term '"someString"'173 # len(matches) == 0174 # '{ $.someArray != "someString" }',175 # '{ $.someArray = "someString" }',176 # '{ $.someObject != "someString" }',177 # '{ $.someObject = "someString" }',178 # '{ $.someInt = "123.00" }', # len(matches) == 0179 # '{ $.someInt != 111 }',180 # '{ $.someInt != 123 }', # len(matches) == 0181 # '{ $.someInt != "123" }', # len(matches) == 0182 # r'{ $.someEscaped = "error \"message\"" }',183 # '{ $.eventType = "UpdateTrail" }',184 # '{ $.eventType != "NoTrail" }',185 # '{ $.someFloat != "12.34" }',186 # '{ $.someObject != "someString" }',187 # '{ $.someArray != "someString" }',188 # '{ $.sourceIPAddress = "111.111.*" }',189 # '{ $.sourceIPAddress != "123.123.*" }',190 # '{ $.sourceIPAddress = "*111.111" }',191 # '{ $.sourceIPAddress != "*123.123" }',192 # '{ $.sourceIPAddress = "*111*" }',193 # '{ $.eventType = UpdateTrail }',194 # '{ $.eventType != NoTrail }',195 # '{ $.someObject != someString }',196 # '{ $.someArray != someString }',197 # '{ $.sourceIPAddress = 111.111.* }',198 # '{ $.sourceIPAddress != 123.123.* }',199 # '{ $.sourceIPAddress = *111.111 }',200 # '{ $.sourceIPAddress != *123.123 }',201 # '{ $.sourceIPAddress = *111* }',202 ]203 for p in patterns:204 resp = client.test_metric_filter(filterPattern=p, logEventMessages=[json_data])205 matches = resp.get('matches', [])206 assert matches and len(matches) == 1207 assert matches[0]['eventMessage'] == json_data208 assert match(p, json.loads(json_data))209def test_unmatched(json_data, client):210 patterns = [211 # number-like unquoted strings are valid but the matching result would be unmatched whatever.212 '{ $.someString > 123 }',213 '{ $.someString >= 123 }',214 '{ $.someString < 123 }',215 '{ $.someString <= 123 }',216 # number-like strings can do equality ops217 '{ $.someString = 123 }',218 '{ $.someString = "123" }',219 # if target is not string or number return unmatched220 '{ $.someObject = 123 }',221 '{ $.someObject != 123 }',222 '{ $.someObject > 123 }',223 '{ $.someObject >= 123 }',224 '{ $.someObject < 123 }',225 '{ $.someObject <= 123 }',226 '{ $.someObject = "123" }',227 '{ $.someObject != "123" }',228 '{ $.someObject = "non-number-like" }',229 '{ $.someObject != "non-number-like" }',230 ]231 for p in patterns:232 resp = client.test_metric_filter(filterPattern=p, logEventMessages=[json_data])233 matches = resp.get('matches', [])234 assert not matches235 assert not match(p, json.loads(json_data))236def test_invalid(json_data, client):237 patterns = [238 # non number-like strings can't do numeric ops239 '{ $.someString > unquoted_string }',240 '{ $.someString >= unquoted_string }',241 '{ $.someString < unquoted_string }',242 '{ $.someString <= unquoted_string }',243 '{ $.someString > "quoted_string" }',244 '{ $.someString >= "quoted_string" }',245 '{ $.someString < "quoted_string" }',246 '{ $.someString <= "quoted_string" }',247 # number-like quoted strings can't do numeric ops either248 '{ $.someString > "123" }',249 '{ $.someString >= "123" }',250 '{ $.someString < "123" }',251 '{ $.someString <= "123" }',252 #'{ $.eventType > "UpdateTrail" }',253 #'{ $.eventType >= "UpdateTrail" }',254 #'{ $.eventType < "UpdateTrail" }',255 #'{ $.eventType <= "UpdateTrail" }',256 #'{ $.eventType > UpdateTrail }',257 #'{ $.eventType >= UpdateTrail }',258 #'{ $.eventType < UpdateTrail }',259 #'{ $.eventType <= UpdateTrail }',260 ]261 for p in patterns:262 try:263 client.test_metric_filter(filterPattern=p, logEventMessages=[json_data])264 except client.exceptions.InvalidParameterException as e:265 with pytest.raises(VisitorException):266 match(p, json.loads(json_data))267 else:268 assert False269# TODO270@pytest.mark.skip('')271def test_patterns_not_matched(json_data, client):272 patterns = [273 '{ $.notExisted = "UpdateTrail" }',274 '{ $.notExisted != "UpdateTrail" }',275 '{ $.someInt = "123" }',276 '{ $.someFloat = "12.34" }',277 '{ $.someObject = "someString" }',278 '{ $.someArray = "someString" }',279 '{ $.sourceIPAddress = "11*1" }',280 '{ $.notExisted = UpdateTrail }',281 '{ $.notExisted != UpdateTrail }',282 '{ $.someInt != 123 }',283 '{ $.someFloat != 12.34 }',284 '{ $.sourceIPAddress = 11*1 }',285 ]286 for p in patterns:287 resp = client.test_metric_filter(filterPattern=p, logEventMessages=[json_data])288 matches = resp.get('matches', [])...

Full Screen

Full Screen

test_simple.py

Source:test_simple.py Github

copy

Full Screen

...48 '{ $.SomeObject IS NULL }',49 '{ $.SomeOtherObject NOT EXISTS }',50 ]51 for p in patterns:52 resp = client.test_metric_filter(filterPattern=p, logEventMessages=[json_data])53 matches = resp.get('matches', [])54 assert matches and len(matches) == 155 assert matches[0]['eventMessage'] == json_data56def test_patterns_not_matched(json_data, client):57 patterns = [58 '{ $.ThisFlag[0] = "value" }',59 '{ $.objectList[1].number = 2 }',60 ]61 for p in patterns:62 resp = client.test_metric_filter(filterPattern=p, logEventMessages=[json_data])63 matches = resp.get('matches', [])64 assert not matches65def test_patterns_invalid(json_data, client):66 patterns = [67 ' {$.ThisFlag IS TRUE} ',68 ]69 for p in patterns:70 try:71 client.test_metric_filter(filterPattern=p, logEventMessages=[json_data])72 except client.exceptions.InvalidParameterException as e:73 assert e.args[0].find('Invalid metric filter pattern') != -174 else:...

Full Screen

Full Screen

test_compound.py

Source:test_compound.py Github

copy

Full Screen

...38 '{ ($.user.id = 1) && ($.users[0].email = "John.Doe@example.com") }',39 '{ $.user.email = "John.Stiles@example.com" || $.coordinates[0][1] = nonmatch && $.actions[2] = nomatch }',40 ]41 for p in patterns:42 resp = client.test_metric_filter(filterPattern=p, logEventMessages=[json_data])43 matches = resp.get('matches', [])44 assert matches and len(matches) == 145 assert matches[0]['eventMessage'] == json_data46def test_patterns_not_matched(json_data, client):47 patterns = [48 '{ ($.user.id = 2 && $.users[0].email = "nonmatch") || $.actions[2] = "GET" }',49 '{ ($.user.email = "John.Stiles@example.com" || $.coordinates[0][1] = nonmatch) && $.actions[2] = nomatch }',50 ]51 for p in patterns:52 resp = client.test_metric_filter(filterPattern=p, logEventMessages=[json_data])53 matches = resp.get('matches', [])...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run localstack automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful