'''
System tests for `jenkinsapi.jenkins` module.
'''
import re
import time
import unittest

from jenkinsapi_tests.systests.base import BaseSystemTest
from jenkinsapi_tests.systests.job_configs import MATRIX_JOB
from jenkinsapi_tests.test_utils.random_strings import random_string


class TestMatrixJob(BaseSystemTest):

    def test_invoke_matrix_job(self):
        job_name = 'create_%s' % random_string()
        job = self.jenkins.create_job(job_name, MATRIX_JOB)
        job.invoke(block=True)

        b = job.get_last_build()

        while b.is_running():
            time.sleep(1)

        s = set()
        for r in b.get_matrix_runs():
            self.assertEquals(r.get_number(), b.get_number())
            self.assertEquals(r.get_upstream_build(), b)
            m = re.search(u'\xbb (.*) #\\d+$', r.name)
            self.assertIsNotNone(m)
            s.add(m.group(1))

        # This is a bad test, it simply verifies that this function does
        # not crash on a build from a matrix job.
        self.assertFalse(b.get_master_job_name())

        self.assertEqual(s, set(['one', 'two', 'three']))

if __name__ == '__main__':
    unittest.main()

'''
System tests for `jenkinsapi.jenkins` module.
'''
import re
import time
import unittest

from jenkinsapi_tests.systests.base import BaseSystemTest
from jenkinsapi_tests.systests.job_configs import MATRIX_JOB
from jenkinsapi_tests.test_utils.random_strings import random_string


class TestMatrixJob(BaseSystemTest):

    def test_invoke_matrix_job(self):
        job_name = 'create_%s' % random_string()
        job = self.jenkins.create_job(job_name, MATRIX_JOB)
        job.invoke(block=True)

        build = job.get_last_build()

        while build.is_running():
            time.sleep(1)

        set_of_groups = set()
        for run in build.get_matrix_runs():
            self.assertEquals(run.get_number(), build.get_number())
            self.assertEquals(run.get_upstream_build(), build)
            match_result = re.search(u'\xbb (.*) #\\d+$', run.name)
            self.assertIsNotNone(match_result)
            set_of_groups.add(match_result.group(1))
            build.get_master_job_name()

        # This is a bad test, it simply verifies that this function does
        # not crash on a build from a matrix job.
        self.assertFalse(build.get_master_job_name())

        self.assertEqual(set_of_groups, set(['one', 'two', 'three']))

if __name__ == '__main__':
    unittest.main()

Tidy up this test - still quite bad & useless.
Tidy up this test - still quite bad & useless.

  '''
  System tests for `jenkinsapi.jenkins` module.
  '''
  import re
  import time
  import unittest
  
  from jenkinsapi_tests.systests.base import BaseSystemTest
  from jenkinsapi_tests.systests.job_configs import MATRIX_JOB
  from jenkinsapi_tests.test_utils.random_strings import random_string
  
  
  class TestMatrixJob(BaseSystemTest):
  
      def test_invoke_matrix_job(self):
          job_name = 'create_%s' % random_string()
          job = self.jenkins.create_job(job_name, MATRIX_JOB)
          job.invoke(block=True)
  
-         b = job.get_last_build()
+         build = job.get_last_build()
  
-         while b.is_running():
+         while build.is_running():
              time.sleep(1)
  
-         s = set()
+         set_of_groups = set()
-         for r in b.get_matrix_runs():
+         for run in build.get_matrix_runs():
-             self.assertEquals(r.get_number(), b.get_number())
+             self.assertEquals(run.get_number(), build.get_number())
-             self.assertEquals(r.get_upstream_build(), b)
+             self.assertEquals(run.get_upstream_build(), build)
-             m = re.search(u'\xbb (.*) #\\d+$', r.name)
+             match_result = re.search(u'\xbb (.*) #\\d+$', run.name)
-             self.assertIsNotNone(m)
+             self.assertIsNotNone(match_result)
-             s.add(m.group(1))
+             set_of_groups.add(match_result.group(1))
+             build.get_master_job_name()
  
          # This is a bad test, it simply verifies that this function does
          # not crash on a build from a matrix job.
-         self.assertFalse(b.get_master_job_name())
+         self.assertFalse(build.get_master_job_name())
  
-         self.assertEqual(s, set(['one', 'two', 'three']))
+         self.assertEqual(set_of_groups, set(['one', 'two', 'three']))
  
  if __name__ == '__main__':
      unittest.main()
  
Tidy up this test - still quite bad & useless.
## Code Before:
'''
System tests for `jenkinsapi.jenkins` module.
'''
import re
import time
import unittest

from jenkinsapi_tests.systests.base import BaseSystemTest
from jenkinsapi_tests.systests.job_configs import MATRIX_JOB
from jenkinsapi_tests.test_utils.random_strings import random_string


class TestMatrixJob(BaseSystemTest):

    def test_invoke_matrix_job(self):
        job_name = 'create_%s' % random_string()
        job = self.jenkins.create_job(job_name, MATRIX_JOB)
        job.invoke(block=True)

        b = job.get_last_build()

        while b.is_running():
            time.sleep(1)

        s = set()
        for r in b.get_matrix_runs():
            self.assertEquals(r.get_number(), b.get_number())
            self.assertEquals(r.get_upstream_build(), b)
            m = re.search(u'\xbb (.*) #\\d+$', r.name)
            self.assertIsNotNone(m)
            s.add(m.group(1))

        # This is a bad test, it simply verifies that this function does
        # not crash on a build from a matrix job.
        self.assertFalse(b.get_master_job_name())

        self.assertEqual(s, set(['one', 'two', 'three']))

if __name__ == '__main__':
    unittest.main()

## Instruction:
Tidy up this test - still quite bad & useless.
## Code After:
'''
System tests for `jenkinsapi.jenkins` module.
'''
import re
import time
import unittest

from jenkinsapi_tests.systests.base import BaseSystemTest
from jenkinsapi_tests.systests.job_configs import MATRIX_JOB
from jenkinsapi_tests.test_utils.random_strings import random_string


class TestMatrixJob(BaseSystemTest):

    def test_invoke_matrix_job(self):
        job_name = 'create_%s' % random_string()
        job = self.jenkins.create_job(job_name, MATRIX_JOB)
        job.invoke(block=True)

        build = job.get_last_build()

        while build.is_running():
            time.sleep(1)

        set_of_groups = set()
        for run in build.get_matrix_runs():
            self.assertEquals(run.get_number(), build.get_number())
            self.assertEquals(run.get_upstream_build(), build)
            match_result = re.search(u'\xbb (.*) #\\d+$', run.name)
            self.assertIsNotNone(match_result)
            set_of_groups.add(match_result.group(1))
            build.get_master_job_name()

        # This is a bad test, it simply verifies that this function does
        # not crash on a build from a matrix job.
        self.assertFalse(build.get_master_job_name())

        self.assertEqual(set_of_groups, set(['one', 'two', 'three']))

if __name__ == '__main__':
    unittest.main()
