Best Python code snippet using localstack_python
test_strings.py
Source:test_strings.py  
...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', [])...test_simple.py
Source:test_simple.py  
...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:...test_compound.py
Source:test_compound.py  
...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', [])...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.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
