def test_set(self): self.app.conf.couchbase_backend_settings = None x = CouchbaseBackend(app=self.app) x._connection = MagicMock() x._connection.set = MagicMock() # should return None self.assertIsNone(x.set(sentinel.key, sentinel.value))
def test_set(self): self.app.conf.couchbase_backend_settings = None self.backend._client = MagicMock() self.backend._bucket = MagicMock() self.backend._bucket.set = MagicMock() # should return None self.assertIsNone(self.backend.set(sentinel.key, sentinel.value))
def test_set(self): """test_set CouchBaseBackend.set should return None and take two params db conn to couchbase is mocked. """ self.app.conf.CELERY_COUCHBASE_BACKEND_SETTINGS = None x = CouchBaseBackend(app=self.app) x._connection = MagicMock() x._connection.set = MagicMock() # should return None self.assertIsNone(x.set(sentinel.key, sentinel.value))
def test_set(self): """ Test set method. CouchBaseBackend.set should return None and take two params db conn to couchbase is mocked. """ self.app.conf.couchbase_backend_settings = None x = CouchBaseBackend(app=self.app) x._connection = MagicMock() x._connection.set = MagicMock() # should return None self.assertIsNone(x.set(sentinel.key, sentinel.value))
def test_set(self): """Test set RiakBackend.set should return None and take two params db conn to couchbase is mocked. """ self.app.conf.couchbase_backend_settings = None self.backend._client = MagicMock() self.backend._bucket = MagicMock() self.backend._bucket.set = MagicMock() # should return None self.assertIsNone(self.backend.set(sentinel.key, sentinel.value))
def test_set(self): """Test set RiakBackend.set should return None and take two params db conn to couchbase is mocked. """ self.app.conf.CELERY_COUCHBASE_BACKEND_SETTINGS = None self.backend._client = MagicMock() self.backend._bucket = MagicMock() self.backend._bucket.set = MagicMock() # should return None self.assertIsNone(self.backend.set(sentinel.key, sentinel.value))
def test_should_validate_the_mobile_number_for_trial_account_if_not_unique( self): org = Mock(spec=Organization) type(org).in_trial_mode = PropertyMock(return_value=True) validator = MobileNumberValidater(org, "56789", "rep") with patch( "datawinners.accountmanagement.mobile_number_validater.get_data_senders_on_trial_account_with_mobile_number" ) as get_data_senders_on_trial_account_with_mobile_number: with patch( "datawinners.accountmanagement.mobile_number_validater.get_database_manager_for_org" ) as get_db_manager: manager = MagicMock(spec=DatabaseManager) manager.load_all_rows_in_view.return_value = [] get_db_manager.return_value = manager get_data_senders_on_trial_account_with_mobile_number.return_value = [ { 'key': ['12345678', 'name', 'some_other_id'], 'value': None } ] valid, message = validator.validate() self.assertFalse(valid) self.assertEquals( message, validation_message_dict['duplicate_in_different_account'])
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.assertItemsEqual( ['date_done', 'result', 'task_id'], list(ret_val.keys()), ) mock_collection.find_one.return_value = None self.backend._restore_group(sentinel.taskset_id)
def test_when_no_len_and_no_length_hint(self): g = MagicMock(name='group') g.tasks.__len__.side_effect = TypeError() g.tasks.__length_hint__ = Mock() g.tasks.__length_hint__.return_value = 0 self.assertIs(maybe_unroll_group(g), g) g.tasks.__length_hint__.side_effect = AttributeError() self.assertIs(maybe_unroll_group(g), g)
def test_get_task_meta_for(self, mock_get_database): datetime.datetime = self._reset['datetime'] self.backend.taskmeta_collection = MONGODB_COLLECTION mock_database = MagicMock(spec=['__getitem__', '__setitem__']) mock_collection = Mock() mock_collection.find_one.return_value = MagicMock() mock_get_database.return_value = mock_database mock_database.__getitem__.return_value = mock_collection ret_val = self.backend._get_task_meta_for(sentinel.task_id) mock_get_database.assert_called_once_with() mock_database.__getitem__.assert_called_once_with(MONGODB_COLLECTION) self.assertEqual([ 'status', 'task_id', 'date_done', 'traceback', 'result', 'children' ], list(ret_val.keys()))
def test_should_return_true_if_no_datasender_present_with_same_number( self): with patch( "datawinners.accountmanagement.mobile_number_validater.get_database_manager_for_org" ) as get_db_manager: manager = MagicMock(spec=DatabaseManager) manager.load_all_rows_in_view.return_value = [] get_db_manager.return_value = manager self.assertTrue(self.mobile_number_validator. is_mobile_number_unique_for_the_account())
def test_restore_group(self, mock_get_database): self.backend.taskmeta_collection = MONGODB_COLLECTION mock_database = MagicMock(spec=['__getitem__', '__setitem__']) mock_collection = Mock() mock_collection.find_one.return_value = MagicMock() 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_database.__getitem__.assert_called_once_with(MONGODB_COLLECTION) mock_collection.find_one.assert_called_once_with( {'_id': sentinel.taskset_id}) self.assertItemsEqual( ['date_done', 'result', 'task_id'], list(ret_val.keys()), )
def test_should_validate_the_mobile_number_for_paid_account_if_unique( self): org = Mock(spec=Organization) type(org).in_trial_mode = PropertyMock(return_value=False) validator = MobileNumberValidater(org, "56789", "rep") manager = MagicMock(spec=DatabaseManager) with patch( "datawinners.accountmanagement.mobile_number_validater.find_reporters_by_from_number" ) as find_reporters_by_from_number: with patch( "datawinners.accountmanagement.mobile_number_validater.get_database_manager_for_org" ) as get_db_manager: datasender = Entity(manager, REPORTER_ENTITY_TYPE, short_code='reporter_id') find_reporters_by_from_number.return_value = [datasender] manager = MagicMock(spec=DatabaseManager) manager.load_all_rows_in_view.return_value = [] get_db_manager.return_value = manager valid, message = validator.validate() self.assertFalse(valid)
def test_should_return_false_if_datasender_present_with_same_number(self): with patch( "datawinners.accountmanagement.mobile_number_validater.get_database_manager_for_org" ) as get_db_manager: manager = MagicMock(spec=DatabaseManager) manager.load_all_rows_in_view.return_value = [{ 'key': ['12345678', 'name', 'rep_id'], 'value': None }] get_db_manager.return_value = manager self.assertFalse(self.mobile_number_validator. is_mobile_number_unique_for_the_account())
def test_delete_group(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 self.backend._delete_group(sentinel.taskset_id) mock_get_database.assert_called_once_with() mock_collection.remove.assert_called_once_with( {'_id': sentinel.taskset_id})
def test_get_task_meta_for_no_result(self, mock_get_database): self.backend.taskmeta_collection = MONGODB_COLLECTION mock_database = MagicMock(spec=['__getitem__', '__setitem__']) mock_collection = Mock() mock_collection.find_one.return_value = None mock_get_database.return_value = mock_database mock_database.__getitem__.return_value = mock_collection ret_val = self.backend._get_task_meta_for(sentinel.task_id) mock_get_database.assert_called_once_with() mock_database.__getitem__.assert_called_once_with(MONGODB_COLLECTION) self.assertEqual({'status': states.PENDING, 'result': None}, ret_val)
def test_get_database_no_existing_no_auth(self, mock_get_connection): # Should really check for combinations of these two, to be complete. self.backend.user = None self.backend.password = None mock_database = Mock() mock_connection = MagicMock(spec=['__getitem__']) mock_connection.__getitem__.return_value = mock_database mock_get_connection.return_value = mock_connection database = self.backend.database self.assertTrue(database is mock_database) self.assertFalse(mock_database.authenticate.called) self.assertTrue(self.backend.__dict__['database'] is mock_database)
def test_cleanup(self, mock_get_database): datetime.datetime = self._reset['datetime'] self.backend.taskmeta_collection = MONGODB_COLLECTION mock_database = MagicMock(spec=['__getitem__', '__setitem__']) self.backend.collections = mock_collection = Mock() mock_get_database.return_value = mock_database mock_database.__getitem__.return_value = mock_collection self.backend.app.now = datetime.datetime.utcnow self.backend.cleanup() mock_get_database.assert_called_once_with() mock_database.__getitem__.assert_called_once_with(MONGODB_COLLECTION) self.assertTrue(mock_collection.remove.called)
def test_save_group(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._save_group(sentinel.taskset_id, sentinel.result) 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)
def test_get_database_no_existing(self, mock_get_connection): # Should really check for combinations of these two, to be complete. self.backend.user = MONGODB_USER self.backend.password = MONGODB_PASSWORD mock_database = Mock() mock_connection = MagicMock(spec=['__getitem__']) mock_connection.__getitem__.return_value = mock_database mock_get_connection.return_value = mock_connection database = self.backend.database self.assertTrue(database is mock_database) self.assertTrue(self.backend.__dict__['database'] is mock_database) mock_database.authenticate.assert_called_once_with( MONGODB_USER, MONGODB_PASSWORD)
def test_should_validate_the_mobile_number_for_trial_account_if_unique( self): org = Mock(spec=Organization) type(org).in_trial_mode = PropertyMock(return_value=True) validator = MobileNumberValidater(org, "56789", "rep") with patch( "datawinners.accountmanagement.mobile_number_validater.get_data_senders_on_trial_account_with_mobile_number" ) as get_data_senders_on_trial_account_with_mobile_number: with patch( "datawinners.accountmanagement.mobile_number_validater.get_database_manager_for_org" ) as get_db_manager: manager = MagicMock(spec=DatabaseManager) manager.load_all_rows_in_view.return_value = [] get_db_manager.return_value = manager get_data_senders_on_trial_account_with_mobile_number.return_value = [] self.assertTrue(validator.validate())
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' }) 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 form = UserProfileForm(organization=trial_organization, data={ 'title': 'manager', 'full_name': 'user one', 'username': '******', 'mobile_phone': '7889522' }) self.assertTrue(form.is_valid()) self.assertEqual(form.clean_username(), '*****@*****.**')
def test_should_validate_the_mobile_number_for_paid_account_if_not_unique( self): org = Mock(spec=Organization) type(org).in_trial_mode = PropertyMock(return_value=False) validator = MobileNumberValidater(org, "56789", "rep") with patch( "datawinners.accountmanagement.mobile_number_validater.find_reporters_by_from_number" ) as find_reporters_by_from_number: with patch( "datawinners.accountmanagement.mobile_number_validater.get_database_manager_for_org" ) as get_db_manager: find_reporters_by_from_number.return_value = [] find_reporters_by_from_number.side_effect = NumberNotRegisteredException( "12345678") manager = MagicMock(spec=DatabaseManager) manager.load_all_rows_in_view.return_value = [] get_db_manager.return_value = manager self.assertTrue(validator.validate())
def test_save_group(self, mock_get_database): self.backend.groupmeta_collection = MONGODB_GROUP_COLLECTION mock_database = MagicMock(spec=['__getitem__', '__setitem__']) mock_collection = Mock() mock_get_database.return_value = mock_database mock_database.__getitem__.return_value = mock_collection res = [self.app.AsyncResult(i) for i in range(3)] ret_val = self.backend._save_group( sentinel.taskset_id, res, ) mock_get_database.assert_called_once_with() mock_database.__getitem__.assert_called_once_with( MONGODB_GROUP_COLLECTION, ) mock_collection.save.assert_called_once_with(ANY) self.assertEqual(res, ret_val)
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)