コード例 #1
0
ファイル: queryjenkins_unit_test.py プロジェクト: haloz/qj
class QueryJenkinsTest(unittest.TestCase):
    """Test Jenkins toolox class implemention"""

    JENKINS_TEST_SERVER = "http://127.0.0.1"
    JENKINS_TEST_JOB = "testjob"
    DATE_FORMAT = "%Y.%m.%d"
    TEST_VALUES = {
        "2016.02.08": {
            "num_tickets": 2,
            "tickets_jql": ""
        },
        "2016.02.05": {
            "num_tickets": 3,
            "tickets_jql": ""
        },
        "2016.02.09": {
            "num_tickets": 4,
            "tickets_jql": ""
        }
    }

    _qjinstance = None

    def setUp(self):
        self._qjinstance = QueryJenkins()

    @mock.patch.object(Jenkins, "_poll")
    @mock.patch.object(Jenkins, "get_job")
    def test_get_builds_job(self, mock_getjob, mock_poll):
        """Test call to get_builds method"""
        mock_poll.return_value = {}
        builds = self._qjinstance.get_builds(
            self.JENKINS_TEST_SERVER,
            self.JENKINS_TEST_JOB,
            10
        )
        self.assertEqual(builds, [], "get_builds returns a list")
        mock_getjob.assert_called_once_with(self.JENKINS_TEST_JOB)

    @mock.patch("app.queryjenkins.xlsxwriter")
    def test_export_as_excel_file(self, mock_xlswriter):
        """Tests export of the results into an Excel file"""
        self._qjinstance.export_as_excel_file("test.xlsx", [])
        mock_xlswriter.Workbook.assert_called_once_with("test.xlsx")
コード例 #2
0
ファイル: qjrunner.py プロジェクト: haloz/qj
def main():
    """Orchestrate our toolbox to run the Jenkins analysis"""
    argvdict = _parse_arguments()
    qjinstance = QueryJenkins()

    buildlist = qjinstance.get_builds(
        argvdict["server"],
        argvdict["jobname"],
        NUMBER_OF_PAST_BUILDS)

    allentries = AllJenkinsDayEntries()

    for build in buildlist:
        dayentry = JenkinsDayEntry()
        dayentry.date = build.get_timestamp().date()
        dayentry.tickets = qjinstance.get_ticket_tumbers(build)
        allentries.add(dayentry)

    per_day_values = allentries.entries_with_empty_days()
    qjinstance.export_as_excel_file("buildtickets.xlsx", per_day_values)
コード例 #3
0
ファイル: queryjenkins_unit_test.py プロジェクト: haloz/qj
 def setUp(self):
     self._qjinstance = QueryJenkins()