Skip to content

Commit

Permalink
rename e2e test case name
Browse files Browse the repository at this point in the history
  • Loading branch information
joelee2012 committed Nov 9, 2019
1 parent 31c379e commit db2cb87
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 21 deletions.
33 changes: 21 additions & 12 deletions tests/e2e/test_jenkinsx.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,12 @@ def setUpClass(cls):
def tearDown(self):
self.jx.delete_job('Level1_Folder1')

def test_init_raise_exception_if_auth_is_invalid(self):
def test_should_raise_exception_if_init_with_invalid_auth(self):
jx = Jenkins(self.jx.url, auth=('admin', 'admin'))
with self.assertRaises(AuthenticationError):
jx.api_json()

def test_dynamic_attributes(self):
def test_jenkins_should_has_dynamic_attributes(self):
dynamic_attrs = {snake(k): v for k, v in self.jx.api_json().items()
if isinstance(v, (int, str, bool))}
self.assertEqual(sorted(self.jx.attrs),
Expand All @@ -47,11 +47,11 @@ def test_dynamic_attributes(self):
with self.subTest(value=value):
self.assertEqual(getattr(self.jx, key), value)

def test_get_job_return_none_if_not_found(self):
def test_get_job_should_return_none_if_job_not_exists(self):
folder = self.jx.get_job('Level1_Folder1')
self.assertIsNone(folder)

def test_get_job_return_job_if_exists(self):
def test_get_job_should_return_job_if_job_exists(self):
self.jx.create_job('Level1_Folder1', self.folder_xml)
folder = self.jx.get_job('Level1_Folder1')
self.assertIsInstance(folder, Folder)
Expand All @@ -67,29 +67,29 @@ def test_get_job_return_job_if_exists(self):
'job/Level2_Folder1/>')
#

def test_create_job_raise_exception_if_exists(self):
def test_create_job_should_raise_exception_if_job_exists(self):
self.jx.create_job('Level1_Folder1', self.folder_xml)
with self.assertRaises(BadRequestError):
self.jx.create_job('Level1_Folder1', self.folder_xml)

def test_create_job_raise_exception_if_name_illegal(self):
def test_create_job_should_raise_exception_if_name_illegal(self):
with self.assertRaisesRegex(BadRequestError,
'@ is an unsafe character'):
self.jx.create_job('Level2@new', '')

def test_build_job_raise_exception_if_not_found(self):
def test_build_job_should_raise_exception_if_job_not_found(self):
with self.assertRaisesRegex(ItemNotFoundError,
'No such job: '
'Level1_Folder1'):
self.jx.build_job('Level1_Folder1')

def test_build_job_raise_exception_if_unbuildable(self):
def test_build_job_should_raise_exception_if_job_unbuildable(self):
self.jx.create_job('Level1_Folder1', self.folder_xml)
with self.assertRaisesRegex(AttributeError,
"'Folder' object has no attribute 'build'"):
self.jx.build_job('Level1_Folder1')

def test_build_job_without_parameters(self):
def test_build_job_should_run_without_parameters(self):
xml = load_test_xml('pipeline.xml')
self.jx.create_job('pipeline', xml)
job = self.jx.get_job('pipeline')
Expand All @@ -111,10 +111,19 @@ def test_build_job_without_parameters(self):
time.sleep(1)
self.assertEqual(build, job.get_last_build())

def test_exists(self):
self.assertTrue(self.jx.exists())
def test_exists_should_return_true_if_jenkins_exists(self):
from . import setup_jenkins
jx = Jenkins(setup_jenkins.URL, auth=(
setup_jenkins.USER, setup_jenkins.PASSWORD))
self.assertTrue(jx.exists())
jx = Jenkins(setup_jenkins.URL)
self.assertTrue(jx.exists())

def test_exists_should_return_false_if_jenkins_not_exists(self):
jx = Jenkins('http://localhost:8080')
self.assertFalse(jx.exists())

def test_credential(self):
def test_jenkins_should_create_credential_if_not_exists(self):
cred = self.jx.credentials.get('user-id')
self.assertIsNone(cred)
self.jx.credentials.create(load_test_xml('credential.xml'))
Expand Down
14 changes: 7 additions & 7 deletions tests/e2e/test_job.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,38 +43,38 @@ def tearDownClass(cls):
cls.folder2.delete()
cls.folder3.delete()

def test_iter_jobs(self):
def test_iter_jobs_should_iter_folder_with_depth(self):
jobs = [job.name for job in self.folder.iter_jobs()]
self.assertEqual(sorted(jobs), sorted(['pipeline1', 'Level2_Folder1']))

def test_copy_src_not_found(self):
def test_copy_job_should_raise_exception_if_src_not_found(self):
with self.assertRaises(BadRequestError):
self.folder.copy_job('noexist', 'xxxx')

def test_copy_dest_exists(self):
def test_copy_job_should_raise_exception_if_dest_exists(self):
with self.assertRaises(BadRequestError):
self.folder.copy_job('src', 'Level2_Folder1')

def test_copy(self):
def test_copy_job_should_create_new_job_from_src_job(self):
self.folder2.copy_job('Level2_Folder1', 'Level2_Folder2')
self.assertIsNotNone(self.folder2.get_job('Level2_Folder2'))

def test_move(self):
def test_move_should_move_job_to_give_path(self):
job = self.folder2.get_job('pipeline1')
self.assertIsNotNone(job)
job.move('Level1_Folder2/Level2_Folder1')
self.assertTrue(job.exists())
job = self.folder2.get_job('pipeline1')
self.assertIsNone(job)

def test_rename(self):
def test_rename_should_rename_job_with_given_name(self):
folder = self.folder3.get_job('Level2_Folder1')
self.assertTrue(folder.exists())
folder.rename('Level2_Folder4')
self.assertTrue(folder.exists())
folder = self.folder3.get_job('Level2_Folder1')
self.assertIsNone(folder)

def test_parent(self):
def test_parent_should_get_correct_parent(self):
folder = self.folder.get_job('Level2_Folder1')
self.assertEqual(folder.parent, self.folder)
9 changes: 7 additions & 2 deletions tests/unit/test_jenkinsx.py
Original file line number Diff line number Diff line change
Expand Up @@ -177,8 +177,13 @@ def test_api_json(self):
json = self.jx.api_json()
self.assertEqual(json, self.jenkins_json)

def test_api_xml(self):
pass
@responses.activate
def test_exists(self):
for status in [400, 401, 403, 404, 500]:
remove_get(f'{JENKINS_URL}crumbIssuer/api/json')
mock_get(f'{JENKINS_URL}crumbIssuer/api/json', status=status)
with self.subTest(status=status):
self.assertTrue(self.jx.exists())

@responses.activate
def test_handle_req(self):
Expand Down

0 comments on commit db2cb87

Please sign in to comment.