Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/aspnetwebstack.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryoussefm <youssefm@microsoft.com>2012-09-18 22:00:47 +0400
committeryoussefm <youssefm@microsoft.com>2012-09-18 22:00:56 +0400
commit22b8d319cb21524787af99ad7ea2c42979d4afa6 (patch)
treed42276196be18d6b9d70037b413d036c61f6b5a9
parent59632fd03fa2a765f77c29d438540526ac513154 (diff)
Fix [Queryable] failure under partial trust
-rw-r--r--src/System.Web.Http.OData/OData/Query/ODataQueryOptions.cs16
-rw-r--r--test/System.Web.Http.OData.Test/OData/Query/PartialTrustTest.cs16
-rw-r--r--test/System.Web.Http.OData.Test/OData/Query/QueryCompositionTests.cs4
-rw-r--r--test/System.Web.Http.OData.Test/System.Web.Http.OData.Test.csproj1
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" />