def test_match(self): prod_cert = StubProductCertificate( product=StubProduct(name="test*product?", product_id="123456789")) test_data = [ (None, prod_cert, False), ("", prod_cert, False), ("test", prod_cert, False), ("product", prod_cert, False), (r"test\*product\?", prod_cert, True), ("test*", prod_cert, True), ("test*********", prod_cert, True), ("test?????????", prod_cert, True), ("*product?", prod_cert, True), ("*product\\?", prod_cert, True), ("?????product*", prod_cert, True), ("*****product*", prod_cert, True), ("?????????????", prod_cert, True), ("*************", prod_cert, True), ("??**??*??**??", prod_cert, True), ("**??**?**??**", prod_cert, True), ("test?product\\?", prod_cert, True), ("test*product?", prod_cert, True), ("test*nope", prod_cert, False), ("nope*product", prod_cert, False), ("*nope*", prod_cert, False), ("test*nope*product", prod_cert, False), ("1234*", prod_cert, True), ("*4567*", prod_cert, True), ("123???789", prod_cert, True), ("??34567??", prod_cert, True), ("*4?6*", prod_cert, True), ("1234", prod_cert, False), ("??123456789", prod_cert, False), ] for (index, data) in enumerate(test_data): cert_filter = ProductCertificateFilter(filter_string=data[0]) result = cert_filter.match(data[1]) self.assertEqual( result, data[2], "ProductCertificateFilter.match failed with data set %i.\nActual: %s\nExpected: %s" % (index, result, data[2]), )
def test_set_filter_string(self): test_data = [ (None, True), ("", True), ("test", True), ("?", True), ("*", True), ("\\?", True), ("\\*", True), ("\\\\", True), ("*test*", True), ("*test\\?", True), ("a?b\\\\*c\\?d", True), ("**", True), ("??", True), ("*?", True), ("?*", True), ("te**st", True), ("te*?st", True), ("te?*st", True), ("te??st", True), ("*te\\st*", True), ("*te\\\\st*", True), (r"\*te\*\?st*", True), (123, False), (True, False), (False, False), (["nope"], False), ({ "key": "value" }, False), ] for (index, data) in enumerate(test_data): cert_filter = ProductCertificateFilter() result = cert_filter.set_filter_string(data[0]) self.assertEqual( result, data[1], "ProductCertificateFilter.set_filter_string failed with data set %i.\nActual: %s\nExpected: %s)" % (index, result, data[1]), )