import re import pytest from buildtrigger.triggerutil import matches_ref @pytest.mark.parametrize( "ref, filt, matches", [ ("ref/heads/master", ".+", True), ("ref/heads/master", "heads/.+", True), ("ref/heads/master", "heads/master", True), ("ref/heads/slash/branch", "heads/slash/branch", True), ("ref/heads/slash/branch", "heads/.+", True), ("ref/heads/foobar", "heads/master", False), ("ref/heads/master", "tags/master", False), ("ref/heads/master", "(((heads/alpha)|(heads/beta))|(heads/gamma))|(heads/master)", True), ("ref/heads/alpha", "(((heads/alpha)|(heads/beta))|(heads/gamma))|(heads/master)", True), ("ref/heads/beta", "(((heads/alpha)|(heads/beta))|(heads/gamma))|(heads/master)", True), ("ref/heads/gamma", "(((heads/alpha)|(heads/beta))|(heads/gamma))|(heads/master)", True), ("ref/heads/delta", "(((heads/alpha)|(heads/beta))|(heads/gamma))|(heads/master)", False), ], ) def test_matches_ref(ref, filt, matches): assert matches_ref(ref, re.compile(filt)) == matches