コード例 #1
0
    def test_lifecycle(self):
        with mock.patch('AnkiServer.collection.CollectionManager.collection_wrapper') as CollectionWrapper:
            wrapper = MagicMock()
            CollectionWrapper.return_value = wrapper

            manager = CollectionManager()

            # check getting a new collection
            ret = manager.get_collection('path1')
            CollectionWrapper.assert_called_with(os.path.realpath('path1'), None)
            self.assertEqual(ret, wrapper)

            # change the return value, so that it would return a new object
            new_wrapper = MagicMock()
            CollectionWrapper.return_value = new_wrapper
            CollectionWrapper.reset_mock()

            # get the new wrapper
            ret = manager.get_collection('path2')
            CollectionWrapper.assert_called_with(os.path.realpath('path2'), None)
            self.assertEqual(ret, new_wrapper)

            # make sure the wrapper and new_wrapper are different
            self.assertNotEqual(wrapper, new_wrapper)

            # assert that calling with the first path again, returns the first wrapper
            ret = manager.get_collection('path1')
            self.assertEqual(ret, wrapper)

            manager.shutdown()
            wrapper.close.assert_called_with()
            new_wrapper.close.assert_called_with()
コード例 #2
0
    def setUp(self):
        self.temp_dir = tempfile.mkdtemp()
        self.collection_manager = CollectionManager()
        self.rest_app = RestApp(self.temp_dir,
                                collection_manager=self.collection_manager)

        # disable all but critical errors!
        logging.disable(logging.CRITICAL)