def test_valid_request_anon_user_configuration_override( self, zendesk_mock_class, datadog_mock): """ Test a valid request from an anonymous user to a mocked out site with configuration override The response should have a 200 (success) status code, and a ticket with the given information should have been submitted via the Zendesk API with the additional tag that will come from site configuration override. """ zendesk_mock_instance = zendesk_mock_class.return_value user = self._anon_user fields = self._anon_fields ticket_id = 42 zendesk_mock_instance.create_ticket.return_value = ticket_id ticket = self._build_zendesk_ticket( recipient=fake_get_value("email_from_address"), name=fields["name"], email=fields["email"], subject=fields["subject"], details=fields["details"], tags=[ fields["issue_type"], "LMS", "site_name_{}".format( fake_get_value("SITE_NAME").replace(".", "_")) ]) ticket_update = self._build_zendesk_ticket_update(TEST_REQUEST_HEADERS) self._test_success(user, fields) self._assert_zendesk_called(zendesk_mock_instance, ticket_id, ticket, ticket_update) self._assert_datadog_called( datadog_mock, ["issue_type:{}".format(fields["issue_type"])])
def test_valid_request_anon_user_configuration_override(self, zendesk_mock_class, datadog_mock): """ Test a valid request from an anonymous user to a mocked out site with configuration override The response should have a 200 (success) status code, and a ticket with the given information should have been submitted via the Zendesk API with the additional tag that will come from site configuration override. """ zendesk_mock_instance = zendesk_mock_class.return_value user = self._anon_user fields = self._anon_fields ticket_id = 42 zendesk_mock_instance.create_ticket.return_value = ticket_id ticket = self._build_zendesk_ticket( recipient=fake_get_value("email_from_address"), name=fields["name"], email=fields["email"], subject=fields["subject"], details=fields["details"], tags=[fields["issue_type"], "LMS", "site_name_{}".format(fake_get_value("SITE_NAME").replace(".", "_"))] ) ticket_update = self._build_zendesk_ticket_update(TEST_REQUEST_HEADERS) self._test_success(user, fields) self._assert_zendesk_called(zendesk_mock_instance, ticket_id, ticket, ticket_update) self._assert_datadog_called(datadog_mock, ["issue_type:{}".format(fields["issue_type"])])
def test_reset_password_email_configuration_override(self, body_type): """ Tests that the right url domain and platform name is included in the reset password email """ req = self.request_factory.post('/password_reset/', {'email': self.user.email}) req.get_host = Mock(return_value=None) req.site = Mock(domain='example.com') req.user = self.user with patch('crum.get_current_request', return_value=req): password_reset(req) sent_message = mail.outbox[0] bodies = { 'plain_text': sent_message.body, 'html': sent_message.alternatives[0][0], } body = bodies[body_type] reset_msg = u"you requested a password reset for your user account at {}".format( fake_get_value('PLATFORM_NAME')) self.assertIn(reset_msg, body) self.assert_event_emitted(SETTING_CHANGE_INITIATED, user_id=self.user.id, setting=u'password', old=None, new=None) self.assertEqual(sent_message.from_email, "*****@*****.**")