def test_setup_cmd_parser(self): """Test if it parser object is correctly initialized""" parser = GitCommand.setup_cmd_parser() self.assertIsInstance(parser, BackendCommandArgumentParser) args = ['http://example.com/', '--git-log', 'data/git/git_log.txt', '--tag', 'test', '--from-date', '1970-01-01'] parsed_args = parser.parse(*args) self.assertEqual(parsed_args.uri, 'http://example.com/') self.assertEqual(parsed_args.git_log, 'data/git/git_log.txt') self.assertEqual(parsed_args.tag, 'test') self.assertEqual(parsed_args.from_date, DEFAULT_DATETIME) self.assertEqual(parsed_args.branches, None) args = ['http://example.com/', '--git-path', '/tmp/gitpath', '--branches', 'master', 'testing'] parsed_args = parser.parse(*args) self.assertEqual(parsed_args.git_path, '/tmp/gitpath') self.assertEqual(parsed_args.uri, 'http://example.com/') self.assertEqual(parsed_args.branches, ['master', 'testing'])
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # Author: # Sumit Kumar Jangir <*****@*****.**> #imports from perceval.backends.core.git import Git from perceval.backends.core.git import GitCommand from datetime import datetime #setting up Git Argument parser parser = GitCommand.setup_cmd_parser() # making arguments list arg = [ 'https://github.com/sumitskj/Prajawalan2019.git', '--git-path', '/tmp/clone' ] args = parser.parse(*arg) # making Git object repo = Git(uri=args.uri, gitpath=args.git_path) # finding the no. of commits and listing them all count = 0 from_date = datetime(2018, 10, 12)