#!/usr/bin/env python # Copyright (c) 2017 Red Hat, Inc. # # This file is part of ARA: Ansible Run Analysis. # # ARA is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # ARA is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # 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 ARA. If not, see . import unittest import sys from lxml import etree class TestJunitGeneration(unittest.TestCase): def setUp(self): self.tree = etree.parse(TestJunitGeneration.path) def test_testsuites_elem(self): testsuites = self.tree.getroot() self.assertEqual(testsuites.tag, "testsuites") self.assertEqual(testsuites.get("failures"), "2") def test_testsuite_elem(self): testsuite = self.tree.getroot()[0] self.assertEqual(testsuite.tag, "testsuite") self.assertEqual(testsuite.get("errors"), "0") self.assertEqual(testsuite.get("skipped"), "5") def test_skipped_elem(self): remove_a_file = self.tree.xpath( "//testcase [@name='smoke-tests : Test a skipped task']")[0] skipped = remove_a_file[0] self.assertEqual(skipped.tag, "skipped") self.assertEqual(skipped.get("type"), "skipped") if __name__ == "__main__": TestJunitGeneration.path = sys.argv.pop() unittest.main()