Beispiel #1
0
    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)
Beispiel #2
0
    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)
Beispiel #3
0
    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()
Beispiel #4
0
 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)
Beispiel #5
0
    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)
Beispiel #6
0
    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)
Beispiel #7
0
    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)
Beispiel #8
0
    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)