def test_store_result(self, mock_get_database): self.backend.taskmeta_collection = MONGODB_COLLECTION mock_database = MagicMock(spec=['__getitem__', '__setitem__']) mock_collection = Mock() mock_get_database.return_value = mock_database mock_database.__getitem__.return_value = mock_collection ret_val = self.backend._store_result( sentinel.task_id, sentinel.result, sentinel.status) mock_get_database.assert_called_once_with() mock_database.__getitem__.assert_called_once_with(MONGODB_COLLECTION) mock_collection.save.assert_called_once_with(ANY) self.assertEqual(sentinel.result, ret_val) mock_collection.save.side_effect = InvalidDocument() with self.assertRaises(EncodeError): self.backend._store_result( sentinel.task_id, sentinel.result, sentinel.status)
def test_user_email_validation_should_be_case_insensitive(self): User.objects.create_user('*****@*****.**', '*****@*****.**', 'password') trial_organization = Organization(name='test_org_for_trial_account', sector='PublicHealth', address='add', city='Pune', country='IN', zipcode='411006', account_type='Basic', org_id=OrganizationIdCreator().generateId(), status='Activated') trial_organization.save() mobile_validater = MobileNumberValidater(trial_organization, '788522', 'no_id') mobile_validater.validate = MagicMock(return_value=(True, '')) with patch("datawinners.accountmanagement.forms.MobileNumberValidater") as validater: with patch("datawinners.accountmanagement.forms.datasender_count_with") as datasender_count_with_mock: validater.return_value = mobile_validater form = UserProfileForm(organization=trial_organization, data={'title': 'manager', 'full_name': 'user one', 'username': '******', 'mobile_phone': '7889522', 'role': 'Project Managers'}) self.assertFalse(form.is_valid()) self.assertEqual(form.errors['username'],['This email address is already in use. Please supply a different email address']) mobile_validater.validate.assert_called_with() datasender_count_with_mock.return_value = 0 #Role validation form = UserProfileForm(organization=trial_organization, data={'title': 'manager', 'full_name': 'user one', 'username': '******', 'mobile_phone': '7889522'}) self.assertFalse(form.is_valid()) self.assertEqual(form.errors['role'],['This field is required.']) #Valid form form = UserProfileForm(organization=trial_organization, data={'title': 'manager', 'full_name': 'user one', 'username': '******', 'mobile_phone': '7889522', 'role': 'Extended Users'}) self.assertTrue(form.is_valid()) self.assertEqual(form.clean_username(),'*****@*****.**')
def test_restore_group(self, mock_get_database): self.backend.groupmeta_collection = MONGODB_GROUP_COLLECTION mock_database = MagicMock(spec=['__getitem__', '__setitem__']) mock_collection = Mock() mock_collection.find_one.return_value = { '_id': sentinel.taskset_id, 'result': [uuid(), uuid()], 'date_done': 1, } self.backend.decode.side_effect = lambda r: r mock_get_database.return_value = mock_database mock_database.__getitem__.return_value = mock_collection ret_val = self.backend._restore_group(sentinel.taskset_id) mock_get_database.assert_called_once_with() mock_collection.find_one.assert_called_once_with( {'_id': sentinel.taskset_id}) self.assertEqual( list(sorted(['date_done', 'result', 'task_id'])), list(sorted(ret_val.keys())), )