コード例 #1
0
ファイル: test_api.py プロジェクト: procession/procession
    def test_order_no_marker(self):
        model_mock = mock.MagicMock()
        search_mock = mock.MagicMock(filters=None, marker=None, limit=mock.sentinel.limit)
        search_mock.get_order_by.return_value = [mock.sentinel.spec_order]

        api.get_many(self.sess, model_mock, search_mock)

        self.assertFalse(model_mock.get_default_order_by.called)
        search_mock.get_order_by.assert_called_once_with()
        self.query.order_by.assert_called_once_with(mock.sentinel.spec_order)
コード例 #2
0
ファイル: test_api.py プロジェクト: procession/procession
    def test_filter_by(self):
        model_mock = mock.MagicMock()
        model_mock.get_default_order_by.return_value = [mock.sentinel.def_order]
        filters = {"field": mock.sentinel.field}
        search_mock = mock.MagicMock(filters=filters, marker=None, limit=mock.sentinel.limit)
        search_mock.get_order_by.return_value = None

        api.get_many(self.sess, model_mock, search_mock)

        self.query.filter_by.assert_called_once_with(field=mock.sentinel.field)
コード例 #3
0
    def get_many(self, obj_type, search_spec):
        """
        Returns a list of Python dicts of records that match the supplied
        search spec.

        :param obj_type: A `procession.objects.Object` class.
        :param search_spec: A `procession.search.SearchSpec` object.
        """
        sess = self._get_session()
        model = _get_db_model_from_obj_class(obj_type)
        db_models = api.get_many(sess, model, search_spec)
        return [db_model.to_dict() for db_model in db_models]
コード例 #4
0
ファイル: test_api.py プロジェクト: procession/procession
    def test_no_filters_no_order_no_marker(self):
        model_mock = mock.MagicMock()
        model_mock.get_default_order_by.return_value = [mock.sentinel.def_order]
        search_mock = mock.MagicMock(filters=None, marker=None, limit=mock.sentinel.limit)
        search_mock.get_order_by.return_value = None

        res = api.get_many(self.sess, model_mock, search_mock)

        model_mock.get_default_order_by.assert_called_once_with()
        search_mock.get_order_by.assert_called_once_with()
        self.sess.query.assert_called_once_with(model_mock)
        self.assertFalse(self.query.filter_by.called)
        self.query.limit.assert_called_once_with(mock.sentinel.limit)
        self.query.order_by.assert_called_once_with(mock.sentinel.def_order)
        self.query.all.assert_called_once_with()
        self.assertEqual(self.query.all.return_value, res)