Testing regex
This commit is contained in:
parent
7040fbb1a0
commit
cb05f46aa6
@ -18,9 +18,11 @@ NO_MERGE_FOUND = Exception('No merge found')
|
|||||||
NOT_MAIN_BRANCH = Exception('Not merging into a main branch')
|
NOT_MAIN_BRANCH = Exception('Not merging into a main branch')
|
||||||
NO_GIT_FLOW = Exception('No git flow branch found')
|
NO_GIT_FLOW = Exception('No git flow branch found')
|
||||||
|
|
||||||
|
# Important regex
|
||||||
|
GET_COMMIT_MESSAGE = re.compile(r"Merge (branch|pull request) '?([^']+)'? (into|from) (?:'(.+)'|[^\/]+\/(.+))")
|
||||||
|
|
||||||
class SemVer(object):
|
class SemVer(object):
|
||||||
|
|
||||||
GET_COMMIT_MESSAGE = re.compile(r"Merge (branch|pull request) '?(.+)'? (into|from) (?:'(.+)'|[^\/]+\/(.+))")
|
|
||||||
# Merge pull request #1 from RightBrain-Networks/feature/PLAT-185-versioning
|
# Merge pull request #1 from RightBrain-Networks/feature/PLAT-185-versioning
|
||||||
|
|
||||||
def __init__(self,global_user=False):
|
def __init__(self,global_user=False):
|
||||||
@ -52,7 +54,7 @@ class SemVer(object):
|
|||||||
message = str(p.stdout.read())
|
message = str(p.stdout.read())
|
||||||
branch = b.stdout.read().decode('utf-8').rstrip()
|
branch = b.stdout.read().decode('utf-8').rstrip()
|
||||||
logger.info('Main branch is ' + branch)
|
logger.info('Main branch is ' + branch)
|
||||||
matches = self.GET_COMMIT_MESSAGE.search(message)
|
matches = GET_COMMIT_MESSAGE.search(message)
|
||||||
if matches:
|
if matches:
|
||||||
if str(matches.group(4)) == branch:
|
if str(matches.group(4)) == branch:
|
||||||
self.merged_branch = matches.group(2)
|
self.merged_branch = matches.group(2)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import unittest, os, subprocess, semver
|
import unittest, os, subprocess, re, semver
|
||||||
from semver.logger import logging, logger, console_logger
|
from semver.logger import logging, logger, console_logger
|
||||||
|
|
||||||
from semver import get_version, NO_MERGE_FOUND
|
from semver import get_version, NO_MERGE_FOUND, GET_COMMIT_MESSAGE
|
||||||
|
|
||||||
config_data = """
|
config_data = """
|
||||||
[bumpversion]
|
[bumpversion]
|
||||||
@ -78,6 +78,26 @@ class TestGetTagVersion(unittest.TestCase):
|
|||||||
create_git_environment()
|
create_git_environment()
|
||||||
tag = get_version.get_tag_version()
|
tag = get_version.get_tag_version()
|
||||||
self.assertEqual(tag, "0.0.0")
|
self.assertEqual(tag, "0.0.0")
|
||||||
|
|
||||||
|
class TestGetCommitMessageRegex(unittest.TestCase):
|
||||||
|
def test_github_message(self):
|
||||||
|
matches = GET_COMMIT_MESSAGE.search("Merge pull request #1 from user/branch")
|
||||||
|
if matches:
|
||||||
|
self.assertEqual(matches.group(4), None)
|
||||||
|
self.assertEqual(matches.group(5), "branch")
|
||||||
|
else:
|
||||||
|
self.assertTrue(False)
|
||||||
|
pass
|
||||||
|
def test_gitlab_message(self):
|
||||||
|
matches = GET_COMMIT_MESSAGE.search("Merge branch 'branch' into 'master'")
|
||||||
|
if matches:
|
||||||
|
self.assertEqual(matches.group(4), "master")
|
||||||
|
self.assertEqual(matches.group(2), "branch")
|
||||||
|
else:
|
||||||
|
self.assertTrue(False)
|
||||||
|
def test_non_merge_message(self):
|
||||||
|
matches = GET_COMMIT_MESSAGE.search("Example unrelated commit message that should get 0 matches")
|
||||||
|
self.assertEqual(matches, None)
|
||||||
|
|
||||||
def create_git_environment():
|
def create_git_environment():
|
||||||
subprocess.call(['rm', '-rf', './.git'])
|
subprocess.call(['rm', '-rf', './.git'])
|
||||||
|
Loading…
Reference in New Issue
Block a user