コード例 #1
0
 def test__eagerload_includes__no_includes(self, mock_current_app, session,
                                           permission_user,
                                           sqlalchemy_data_layer):
     mock_current_app.config.get.return_value = None
     query = session.query(ModelWithMeta)
     qs = QueryStringManager({}, ModelWithMeta)
     result = PermissionPlugin._eagerload_includes(query, qs,
                                                   permission_user,
                                                   sqlalchemy_data_layer)
     assert result is query
コード例 #2
0
 def test__eagerload_includes__with_not_allowed_includes(
         self, mock_current_app, mock_get_joinedload_object_for_include,
         mock_is_access_foreign_key, session, permission_user,
         sqlalchemy_data_layer):
     mock_current_app.config.get.return_value = None
     query = session.query(ModelWithMeta)
     include = 'related_model_id'
     qs = QueryStringManager({'include': include}, ModelWithMeta)
     result = PermissionPlugin._eagerload_includes(query, qs,
                                                   permission_user,
                                                   sqlalchemy_data_layer)
     assert result is query
     mock_get_joinedload_object_for_include.assert_not_called()
コード例 #3
0
    def test_eagerload_includes__with_splitted_includes(
            self, mock_current_app,
            mock_get_joinedload_object_for_splitted_include, permission_user,
            sqlalchemy_data_layer):
        mock_current_app.config.get.return_value = None
        query = mock.Mock()
        include = 'foo.bar'
        qs = QueryStringManager({'include': include}, ModelWithMeta)
        result = PermissionPlugin._eagerload_includes(query, qs,
                                                      permission_user,
                                                      sqlalchemy_data_layer)

        mock_get_joinedload_object_for_splitted_include.assert_called_once_with(
            include, qs, permission_user, ModelWithMetaSchema, ModelWithMeta)
        query.options.assert_called_once_with(
            mock_get_joinedload_object_for_splitted_include.return_value)
        assert result == query.options.return_value