d6d510b59d
Change-Id: Ib21398c98d853aed4f4eea50270164e501fd18ce
62 lines
2.3 KiB
Python
62 lines
2.3 KiB
Python
from mock import patch
|
|
|
|
import jenkins
|
|
from tests.base import JenkinsTestBase
|
|
from tests.helper import build_response_mock
|
|
|
|
|
|
class JenkinsGetJobFolderTest(JenkinsTestBase):
|
|
|
|
@patch.object(jenkins.Jenkins, 'jenkins_open')
|
|
def test_simple(self, jenkins_mock):
|
|
folder, name = self.j._get_job_folder('my job')
|
|
self.assertEqual(folder, '')
|
|
self.assertEqual(name, 'my job')
|
|
|
|
@patch.object(jenkins.Jenkins, 'jenkins_open')
|
|
def test_single_level(self, jenkins_mock):
|
|
folder, name = self.j._get_job_folder('my folder/my job')
|
|
self.assertEqual(folder, 'job/my folder/')
|
|
self.assertEqual(name, 'my job')
|
|
|
|
@patch.object(jenkins.Jenkins, 'jenkins_open')
|
|
def test_multi_level(self, jenkins_mock):
|
|
folder, name = self.j._get_job_folder('folder1/folder2/my job')
|
|
self.assertEqual(folder, 'job/folder1/job/folder2/')
|
|
self.assertEqual(name, 'my job')
|
|
|
|
|
|
class JenkinsCreateFolderTest(JenkinsTestBase):
|
|
|
|
@patch('jenkins.requests.Session.send', autospec=True)
|
|
def test_create_new_folder(self, session_send_mock):
|
|
session_send_mock.side_effect = iter([
|
|
build_response_mock(200, self.crumb_data), # crumb
|
|
build_response_mock(200, None), # request
|
|
])
|
|
self.j.create_folder(u'New-Test-Folder')
|
|
|
|
@patch('jenkins.requests.Session.send', autospec=True)
|
|
def test_create_new_folder_that_already_exists(self, session_send_mock):
|
|
session_send_mock.side_effect = iter([
|
|
build_response_mock(200, self.crumb_data), # crumb
|
|
build_response_mock(400), # request
|
|
])
|
|
|
|
folder_name = u'Folder-that-already-exists'
|
|
|
|
with self.assertRaises(jenkins.JenkinsException) as context_manager:
|
|
self.j.create_folder(folder_name)
|
|
self.assertEqual(
|
|
str(context_manager.exception),
|
|
u'Error creating folder [' + folder_name + ']. Probably it already exists.')
|
|
|
|
@patch('jenkins.requests.Session.send', autospec=True)
|
|
def test_create_new_folder_that_already_exists_ignoring_errors(self, session_send_mock):
|
|
session_send_mock.side_effect = iter([
|
|
build_response_mock(200, self.crumb_data), # crumb
|
|
build_response_mock(400), # request
|
|
])
|
|
|
|
self.j.create_folder(u'Folder-that-already-exists', ignore_failures=True)
|