示例#1
0
    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)
示例#2
0
    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(),'*****@*****.**')
示例#3
0
    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())),
        )