def test_cleanup(self): ids = [ObjectId() for x in range(3)] cleanup_ids = copy(ids) cleanup_ids.reverse() def insert_results(*args, **kwargs): return ids.pop(0) self.collection.insert = Mock(side_effect=insert_results) factory = Factory(self.collection) factory.default({ "first_name": 'John', "last_name": 'Smith', "age": 32 }) factory.document('admin', { "first_name": 'Mick', "last_name": 'Jones', "age": 33 }) for x in range(2): factory.create() factory.create('admin') factory.cleanup() expected_calls = [call(oid) for oid in cleanup_ids] self.assertEqual(self.collection.remove.mock_calls, expected_calls) self.collection.reset_mock() factory.cleanup() self.assertFalse(self.collection.remove.called)
def test_cleanup(self): ids = [ObjectId() for x in range(3)] cleanup_ids = copy(ids) cleanup_ids.reverse() def insert_results(*args): return ids.pop(0) self.collection.insert = Mock(side_effect=insert_results) factory = Factory(self.collection, first_name='John', last_name='Smith', age=32) for x in range(3): factory.create() factory.cleanup() expected_calls = [call(oid) for oid in cleanup_ids] self.assertEqual(self.collection.remove.mock_calls, expected_calls) self.collection.reset_mock() factory.cleanup() self.assertFalse(self.collection.remove.called)
def test_create_disabled_when_no_collection_provided(self): factory = Factory( first_name='John', last_name='Smith', age=32) with self.assertRaises(IOError): factory.create()
def test_create_with_keyword_overrides(self): scary_overrides = { "document": 1, "factory": 2, "name": 3, "number": 4 } self.collection.find_one = Mock() factory = Factory(self.collection) factory.default({}) factory.create(**scary_overrides) self.collection.insert.assert_called_with(scary_overrides)
def test_create_named_document(self): to_return = { "_id": ObjectId(), "first_name": "John", "last_name": "Smith", "age": 45, "gender": "male" } self.collection.insert = Mock(return_value=to_return["_id"]) self.collection.find_one = Mock(return_value=to_return) factory = Factory(self.collection) factory.document('admin', { "first_name": 'John', "last_name": 'Smith', "age": 32 }) created = factory.create('admin', gender='male', age=45) self.collection.insert.assert_called_with({ "first_name": "John", "last_name": "Smith", "age": 45, "gender": "male" }) self.collection.find_one.assert_called_with(to_return["_id"]) self.assertDictEqual(created, to_return)
def test_create_with_additional_fields(self): to_return = { "_id": ObjectId(), "first_name": "John", "last_name": "Smith", "age": 32, "gender": "male" } self.collection.insert = Mock(return_value=to_return["_id"]) self.collection.find_one = Mock(return_value=to_return) factory = Factory(self.collection) factory.default({ "first_name": 'John', "last_name": 'Smith', "age": 32 }) created = factory.create(gender='male') self.collection.insert.assert_called_with({ "first_name": "John", "last_name": "Smith", "age": 32, "gender": "male" }) self.collection.find_one.assert_called_with(to_return["_id"]) self.assertDictEqual(created, to_return)
def test_create_with_overrides(self): to_return = { "_id": ObjectId(), "first_name": "Mike", "last_name": "Smith", "age": 32 } self.collection.insert = Mock(return_value=to_return["_id"]) self.collection.find_one = Mock(return_value=to_return) factory = Factory(self.collection) factory.default({ "first_name": 'John', "last_name": 'Smith', "age": 32 }) created = factory.create(first_name='Mike') self.collection.insert.assert_called_with({ "first_name": "Mike", "last_name": "Smith", "age": 32 }) self.collection.find_one.assert_called_with(to_return["_id"]) self.assertDictEqual(created, to_return)
def test_create_simple(self): to_return = { "_id": ObjectId(), "first_name": "John", "last_name": "Smith", "age": 32 } self.collection.insert = Mock(return_value=to_return["_id"]) self.collection.find_one = Mock(return_value=to_return) factory = Factory(self.collection, first_name='John', last_name='Smith', age=32) created = factory.create() self.collection.insert.assert_called_with({ "first_name": "John", "last_name": "Smith", "age": 32 }) self.collection.find_one.assert_called_with(to_return["_id"]) self.assertDictEqual(created, to_return)