def setUp(self): super(BaseBackendTest, self).setUp() self.fixture = fixtures.SupportFixture() self.backend = ServiceDeskBackend() jira_patcher = mock.patch('waldur_jira.backend.JIRA') self.mocked_jira = jira_patcher.start()() self.mocked_jira.fields.return_value = [ { 'clauseNames': 'Caller', 'id': 'field101', }, { 'clauseNames': 'Original Reporter', 'id': 'field102', }, { 'clauseNames': 'Time to first response', 'id': 'field103', }, { 'clauseNames': 'Impact', 'id': 'field104', }, ]
def test_pull_request_types(self): self._mock_jira() self.mock_jira().request_types.return_value = [ RequestType( {'server': ''}, None, raw={ 'name': 'Help', 'id': '1', 'issueTypeId': '10101' }, ) ] self.mock_jira().issue_type.return_value = IssueType( {'server': ''}, None, raw={ 'name': 'Service Request', 'id': '1' }) issue_type = settings.WALDUR_SUPPORT['ISSUE']['types'][0] factories.RequestTypeFactory(issue_type_name=issue_type) issue = factories.IssueFactory(reporter=None, backend_id=None, type=issue_type) factories.SupportCustomerFactory(user=issue.caller) ServiceDeskBackend().create_issue(issue) self.assertEqual(models.RequestType.objects.count(), 1)
def setUp(self): jira_backend = 'waldur_mastermind.support.backend.atlassian:ServiceDeskBackend' settings.WALDUR_SUPPORT['ENABLED'] = True settings.WALDUR_SUPPORT['ACTIVE_BACKEND'] = jira_backend self.comment = factories.CommentFactory() backend_comment_raw = json.loads( load_resource('jira_comment_raw.json')) self.backend_comment = jira.resources.Comment( {'server': 'example.com'}, None, backend_comment_raw) self.backend = ServiceDeskBackend() self.internal = {'value': {'internal': False}} path = mock.patch.object( ServiceDeskBackend, '_get_property', new=mock.Mock(return_value=self.internal), ) path.start() path = mock.patch.object( ServiceDeskBackend, 'get_backend_comment', new=mock.Mock(return_value=self.backend_comment), ) path.start()
def setUp(self): jira_backend = 'waldur_mastermind.support.backend.atlassian:ServiceDeskBackend' settings.WALDUR_SUPPORT['ENABLED'] = True settings.WALDUR_SUPPORT['ACTIVE_BACKEND'] = jira_backend settings.task_always_eager = True self.issue = factories.IssueFactory() backend_issue_raw = json.loads(load_resource('jira_issue_raw.json')) self.backend_issue = jira.resources.Issue({'server': 'example.com'}, None, backend_issue_raw) self.backend = ServiceDeskBackend() self.impact_field_id = 'customfield_10116' path = mock.patch.object(ServiceDeskBackend, 'get_backend_issue', new=mock.Mock(return_value=self.backend_issue)) path.start() self.first_response_sla = timezone.now() path = mock.patch.object(ServiceDeskBackend, '_get_first_sla_field', new=mock.Mock(return_value=self.first_response_sla)) path.start() def side_effect(arg): if arg == 'Impact': return self.impact_field_id path = mock.patch.object(ServiceDeskBackend, 'get_field_id_by_name', new=mock.Mock(side_effect=side_effect)) path.start()
def setUp(self): jira_backend = 'waldur_mastermind.support.backend.atlassian:ServiceDeskBackend' settings.WALDUR_SUPPORT['ENABLED'] = True settings.WALDUR_SUPPORT['ACTIVE_BACKEND'] = jira_backend self.issue = factories.IssueFactory() backend_issue_raw = json.loads(load_resource('jira_issue_raw.json')) self.backend_issue = jira.resources.Issue({'server': 'example.com'}, None, backend_issue_raw) backend_attachment_raw = json.loads(load_resource('jira_attachment_raw.json')) self.backend_attachment = jira.resources.Attachment({'server': 'example.com'}, None, backend_attachment_raw) self.backend_issue.fields.attachment.append(self.backend_attachment) self.backend = ServiceDeskBackend() path = mock.patch.object(ServiceDeskBackend, 'get_backend_issue', new=mock.Mock(return_value=self.backend_issue)) path.start() path = mock.patch.object(ServiceDeskBackend, 'get_backend_attachment', new=mock.Mock(return_value=self.backend_attachment)) path.start() GIF = 'R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7' file_content = six.BytesIO(GIF.decode('base64')) path = mock.patch.object(AttachmentSynchronizer, '_download_file', new=mock.Mock(return_value=file_content)) path.start()
def test_comment_has_been_created_if_feedback_has_been_synchronized(self): with mock.patch.object(ServiceDeskBackend, 'create_comment'): backend = ServiceDeskBackend() feedback = factories.FeedbackFactory(comment='Test Feedback', evaluation=0) backend.create_feedback(feedback) self.assertTrue( models.Feedback.objects.filter(issue=feedback.issue).exists() )
def test_if_issue_does_not_have_reporter_organisation_field_not_fill(self): self._mock_jira() issue = factories.IssueFactory(reporter=None, backend_id=None) factories.SupportCustomerFactory(user=issue.caller) factories.RequestTypeFactory(issue_type_name=issue.type) ServiceDeskBackend().create_issue(issue) kwargs = self.mock_jira().create_customer_request.return_value.update.call_args[1] self.assertTrue('field105' not in kwargs.keys())
def test_not_create_user_if_user_exists_but_he_inactive(self, mocked_jira): def side_effect(*args, **kwargs): if kwargs.get('includeInactive'): return [jira.User(None, None, raw={'active': False})] return [] mocked_jira().search_users.side_effect = side_effect user = structure_factories.UserFactory() self.assertRaises(exceptions.SupportUserInactive, ServiceDeskBackend().create_user, user)
def setUp(self): super(BaseBackendTest, self).setUp() self.fixture = fixtures.SupportFixture() self.backend = ServiceDeskBackend() jira_patcher = mock.patch('waldur_jira.backend.JIRA') self.mocked_jira = jira_patcher.start()() self.mocked_jira.fields.return_value = json.loads(load_resource('jira_fields.json')) mock_backend_users = [User({'server': ''}, None, raw={'key': 'user_1', 'active': True})] self.mocked_jira.search_users.return_value = mock_backend_users
def setUp(self): self.issue = factories.IssueFactory() backend_issue_raw = json.loads(load_resource('jira_issue_raw.json')) self.backend_issue = jira.resources.Issue({'server': 'example.com'}, None, backend_issue_raw) self.impact_field_id = 'customfield_10116' self.first_response_sla = timezone.now() def side_effect(arg): if arg == 'Impact': return self.impact_field_id self.backend = ServiceDeskBackend() self.backend.get_backend_issue = mock.Mock( return_value=self.backend_issue) self.backend._get_first_sla_field = mock.Mock( return_value=self.first_response_sla) self.backend.get_field_id_by_name = mock.Mock(side_effect=side_effect)
def get_backend(self): return ServiceDeskBackend()