Skip to content

Commit bcd8f7b

Browse files
authored
Update and Fix SecurityTests (#876)
* add tests for constant fields * fix syntax in statics tests
1 parent 1ed7a23 commit bcd8f7b

File tree

2 files changed

+26
-10
lines changed

2 files changed

+26
-10
lines changed

test/System.Linq.Dynamic.Core.Tests/Helpers/Models/AppSettings.cs

+6
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ public static class AppSettings
1414
{
1515
{ "jwt", "test" }
1616
};
17+
18+
public const string ConstantField = "test";
1719
}
1820

1921
[DynamicLinqType]
@@ -28,6 +30,8 @@ public static class AppSettings2
2830
{
2931
{ "jwt", "test" }
3032
};
33+
34+
public const string ConstantField = "test";
3135
}
3236

3337
public class AppSettings3
@@ -41,5 +45,7 @@ public class AppSettings3
4145
{
4246
{ "jwt", "test" }
4347
};
48+
49+
public const string ConstantField = "test";
4450
}
4551
}

test/System.Linq.Dynamic.Core.Tests/SecurityTests.cs

+20-10
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,10 @@ public void UsingSystemReflectionAssembly_ThrowsException(string selector)
8585
[Theory]
8686
[InlineData("System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings.SettingsProp[\"jwt\"]")]
8787
[InlineData("System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings.SettingsField[\"jwt\"]")]
88+
[InlineData("System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings.ConstantField")]
8889
[InlineData("c => System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings.SettingsProp[\"jwt\"]")]
8990
[InlineData("c => System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings.SettingsField[\"jwt\"]")]
91+
[InlineData("c => System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings.ConstantField")]
9092
public void UsingStaticClassAsType_ThrowsException(string selector)
9193
{
9294
// Arrange
@@ -103,10 +105,12 @@ public void UsingStaticClassAsType_ThrowsException(string selector)
103105
}
104106

105107
[Theory]
106-
[InlineData("new System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings3().SettingsProp[\"jwt\"]")]
107-
[InlineData("new System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings3().SettingsField[\"jwt\"]")]
108-
[InlineData("c => new System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings3().SettingsProp[\"jwt\"]")]
109-
[InlineData("c => new System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings3().SettingsField[\"jwt\"]")]
108+
[InlineData("System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings3.SettingsProp[\"jwt\"]")]
109+
[InlineData("System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings3.SettingsField[\"jwt\"]")]
110+
[InlineData("System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings3.ConstantField")]
111+
[InlineData("c => System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings3.SettingsProp[\"jwt\"]")]
112+
[InlineData("c => System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings3.SettingsField[\"jwt\"]")]
113+
[InlineData("c => System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings3.ConstantField")]
110114
public void UsingClassAsType_ThrowsException(string selector)
111115
{
112116
// Arrange
@@ -125,8 +129,10 @@ public void UsingClassAsType_ThrowsException(string selector)
125129
[Theory]
126130
[InlineData("System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings.SettingsProp[\"jwt\"]")]
127131
[InlineData("System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings.SettingsField[\"jwt\"]")]
132+
[InlineData("System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings.ConstantField")]
128133
[InlineData("c => System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings.SettingsProp[\"jwt\"]")]
129134
[InlineData("c => System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings.SettingsField[\"jwt\"]")]
135+
[InlineData("c => System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings.ConstantField")]
130136
public void UsingStaticClassAsType_WhenAddedToDefaultDynamicLinqCustomTypeProvider_ShouldBeOk(string selector)
131137
{
132138
// Arrange
@@ -146,11 +152,13 @@ public void UsingStaticClassAsType_WhenAddedToDefaultDynamicLinqCustomTypeProvid
146152
}
147153

148154
[Theory]
149-
[InlineData("new System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings3()", "SettingsProp[\"jwt\"]")]
150-
[InlineData("new System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings3()", "SettingsField[\"jwt\"]")]
151-
[InlineData("c => new System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings3()", "SettingsProp[\"jwt\"]")]
152-
[InlineData("c => new System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings3()", "SettingsField[\"jwt\"]")]
153-
public void UsingClassAsType_WhenAddedToDefaultDynamicLinqCustomTypeProvider_ShouldBeOk(string selector1, string selector2)
155+
[InlineData("System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings3.SettingsProp[\"jwt\"]")]
156+
[InlineData("System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings3.SettingsField[\"jwt\"]")]
157+
[InlineData("System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings3.ConstantField")]
158+
[InlineData("c => System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings3.SettingsProp[\"jwt\"]")]
159+
[InlineData("c => System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings3.SettingsField[\"jwt\"]")]
160+
[InlineData("c => System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings3.ConstantField")]
161+
public void UsingClassAsType_WhenAddedToDefaultDynamicLinqCustomTypeProvider_ShouldBeOk(string selector)
154162
{
155163
// Arrange
156164
var config = new ParsingConfig();
@@ -162,7 +170,7 @@ public void UsingClassAsType_WhenAddedToDefaultDynamicLinqCustomTypeProvider_Sho
162170
}.AsQueryable();
163171

164172
// Act
165-
Action action = () => queryable.Select(config, selector1).Select(config, selector2);
173+
Action action = () => queryable.Select(config, selector);
166174

167175
// Assert
168176
action.Should().NotThrow();
@@ -171,8 +179,10 @@ public void UsingClassAsType_WhenAddedToDefaultDynamicLinqCustomTypeProvider_Sho
171179
[Theory]
172180
[InlineData("System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings2.SettingsProp[\"jwt\"]")]
173181
[InlineData("System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings2.SettingsField[\"jwt\"]")]
182+
[InlineData("System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings2.ConstantField")]
174183
[InlineData("c => System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings2.SettingsProp[\"jwt\"]")]
175184
[InlineData("c => System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings2.SettingsField[\"jwt\"]")]
185+
[InlineData("c => System.Linq.Dynamic.Core.Tests.Helpers.Models.AppSettings2.ConstantField")]
176186
public void UsingStaticClassWithDynamicTypeAttribute_ShouldBeOk(string selector)
177187
{
178188
// Arrange

0 commit comments

Comments
 (0)