diff options
author | youssefm <youssefm@microsoft.com> | 2012-09-18 22:00:47 +0400 |
---|---|---|
committer | youssefm <youssefm@microsoft.com> | 2012-09-18 22:00:56 +0400 |
commit | 22b8d319cb21524787af99ad7ea2c42979d4afa6 (patch) | |
tree | d42276196be18d6b9d70037b413d036c61f6b5a9 | |
parent | 59632fd03fa2a765f77c29d438540526ac513154 (diff) |
Fix [Queryable] failure under partial trust
4 files changed, 27 insertions, 10 deletions
diff --git a/src/System.Web.Http.OData/OData/Query/ODataQueryOptions.cs b/src/System.Web.Http.OData/OData/Query/ODataQueryOptions.cs index 16d04c99..c9d736a7 100644 --- a/src/System.Web.Http.OData/OData/Query/ODataQueryOptions.cs +++ b/src/System.Web.Http.OData/OData/Query/ODataQueryOptions.cs @@ -19,9 +19,9 @@ namespace System.Web.Http.OData.Query [ODataQueryParameterBinding] public class ODataQueryOptions { - private const string EntityFrameworkQueryProviderAssemblyName = "EntityFramework"; - private const string Linq2SqlQueryProviderAssemblyName = "System.Data.Linq"; - private const string Linq2ObjectsQueryProviderAssemblyName = "System.Core"; + private const string EntityFrameworkQueryProviderNamespace = "System.Data.Entity.Internal.Linq"; + private const string Linq2SqlQueryProviderNamespace = "System.Data.Linq"; + private const string Linq2ObjectsQueryProviderNamespace = "System.Linq"; private IAssembliesResolver _assembliesResolver; @@ -226,18 +226,18 @@ namespace System.Web.Http.OData.Query HandleNullPropagationOption options; - string queryProviderAssemblyName = query.Provider.GetType().Assembly.GetName().Name; - switch (queryProviderAssemblyName) + string queryProviderNamespace = query.Provider.GetType().Namespace; + switch (queryProviderNamespace) { - case EntityFrameworkQueryProviderAssemblyName: + case EntityFrameworkQueryProviderNamespace: options = HandleNullPropagationOption.False; break; - case Linq2SqlQueryProviderAssemblyName: + case Linq2SqlQueryProviderNamespace: options = HandleNullPropagationOption.False; break; - case Linq2ObjectsQueryProviderAssemblyName: + case Linq2ObjectsQueryProviderNamespace: options = HandleNullPropagationOption.True; break; diff --git a/test/System.Web.Http.OData.Test/OData/Query/PartialTrustTest.cs b/test/System.Web.Http.OData.Test/OData/Query/PartialTrustTest.cs new file mode 100644 index 00000000..3cc42a68 --- /dev/null +++ b/test/System.Web.Http.OData.Test/OData/Query/PartialTrustTest.cs @@ -0,0 +1,16 @@ +// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information. + +using Microsoft.TestCommon; + +namespace System.Web.Http.OData.Query +{ + [PartialTrustRunner] + public class PartialTrustTest : QueryCompositionTests + { + [Fact(Skip="Moq doesn't work in partial trust")] + public override void QueryableUsesConfiguredAssembliesResolver() + { + throw new NotImplementedException(); + } + } +} diff --git a/test/System.Web.Http.OData.Test/OData/Query/QueryCompositionTests.cs b/test/System.Web.Http.OData.Test/OData/Query/QueryCompositionTests.cs index 3ff7f5aa..ef73de8b 100644 --- a/test/System.Web.Http.OData.Test/OData/Query/QueryCompositionTests.cs +++ b/test/System.Web.Http.OData.Test/OData/Query/QueryCompositionTests.cs @@ -13,7 +13,7 @@ using Moq; namespace System.Web.Http.OData.Query { - public class QueryCompositionTests + public class QueryCompositionTests : MarshalByRefObject { private static IEdmModel _queryCompositionCustomerModel; @@ -270,7 +270,7 @@ namespace System.Web.Http.OData.Query } [Fact] - public void QueryableUsesConfiguredAssembliesResolver() + public virtual void QueryableUsesConfiguredAssembliesResolver() { ODataModelBuilder modelBuilder = new ODataConventionModelBuilder(); modelBuilder.EntitySet<QueryCompositionCustomer>(typeof(QueryCompositionCustomer).Name); diff --git a/test/System.Web.Http.OData.Test/System.Web.Http.OData.Test.csproj b/test/System.Web.Http.OData.Test/System.Web.Http.OData.Test.csproj index abdc0321..a5790564 100644 --- a/test/System.Web.Http.OData.Test/System.Web.Http.OData.Test.csproj +++ b/test/System.Web.Http.OData.Test/System.Web.Http.OData.Test.csproj @@ -132,6 +132,7 @@ <Compile Include="OData\Query\HandleNullPropagationOptionHelperTest.cs" /> <Compile Include="OData\Query\ODataQuerySettingsTest.cs" /> <Compile Include="OData\Query\OrderByPropertyNodeTest.cs" /> + <Compile Include="OData\Query\PartialTrustTest.cs" /> <Compile Include="TestCommon\Models\NonGenericEnumerable.cs" /> <Compile Include="TestCommon\ODataMediaTypeMapping.cs" /> <Compile Include="OData\Formatter\PeopleController.cs" /> |