Move test projects to shared projects (#2428)

This commit is contained in:
Luc Genetier 2024-05-24 11:16:14 -07:00 коммит произвёл GitHub
Родитель 0f538e6ec6
Коммит 3c84480604
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
978 изменённых файлов: 12845 добавлений и 12596 удалений

Просмотреть файл

@ -75,6 +75,7 @@
<PropertyGroup Condition=" '$(ProjectName)' != 'Microsoft.PowerFx.Performance.Tests' ">
<AssemblyOriginatorKeyFile Condition="EXISTS('..\..\..\src\build\35MSSharedLib1024.snk')">..\..\..\src\build\35MSSharedLib1024.snk</AssemblyOriginatorKeyFile>
<AssemblyOriginatorKeyFile Condition="EXISTS('..\..\..\..\src\build\35MSSharedLib1024.snk')">..\..\..\..\src\build\35MSSharedLib1024.snk</AssemblyOriginatorKeyFile>
<SignAssembly>true</SignAssembly>
<DelaySign>true</DelaySign>
</PropertyGroup>

Просмотреть файл

@ -19,10 +19,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.PowerFx.Interpret
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.PowerFx.LanguageServerProtocol", "libraries\Microsoft.PowerFx.LanguageServerProtocol\Microsoft.PowerFx.LanguageServerProtocol.csproj", "{AC286BA6-D439-4EDA-A468-2B18DB53E163}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.PowerFx.Core.Tests", "tests\Microsoft.PowerFx.Core.Tests\Microsoft.PowerFx.Core.Tests.csproj", "{085B4B1A-1F94-4A9C-AEBF-47E0E0B0A983}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.PowerFx.Interpreter.Tests", "tests\Microsoft.PowerFx.Interpreter.Tests\Microsoft.PowerFx.Interpreter.Tests.csproj", "{70C7007C-3288-48F1-A1F0-02F5CC837D4E}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{1BF2F760-4DBD-450B-ADED-81548000432D}"
ProjectSection(SolutionItems) = preProject
..\.editorconfig = ..\.editorconfig
@ -38,10 +34,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.PowerFx.Transport
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.PowerFx.Connectors", "libraries\Microsoft.PowerFx.Connectors\Microsoft.PowerFx.Connectors.csproj", "{CEE27893-EE7D-4832-858F-70AF6BA325E3}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.PowerFx.Connectors.Tests", "tests\Microsoft.PowerFx.Connectors.Tests\Microsoft.PowerFx.Connectors.Tests.csproj", "{81586372-FE63-4F6D-923D-B47E94487676}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.PowerFx.Performance.Tests", "tests\Microsoft.PowerFx.Performance.Tests\Microsoft.PowerFx.Performance.Tests.csproj", "{5A2EEF08-7A8A-43E6-B498-EFB32B98CC5A}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tools", "Tools", "{5EEC2873-35B5-4364-A2A0-97AAD7BF960D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Repl", "tools\Repl\Repl.csproj", "{142854D7-409C-4C87-A5B8-39B51477F5B2}"
@ -55,8 +47,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Benchmark", "Benchmark", "{
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.PowerFx.Json", "libraries\Microsoft.PowerFx.Json\Microsoft.PowerFx.Json.csproj", "{D4CC6660-8C30-41E5-A28A-C018DDDF8D96}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.PowerFx.Json.Tests", "tests\Microsoft.PowerFx.Json.Tests\Microsoft.PowerFx.Json.Tests.csproj", "{8986E836-2F55-4D71-B23E-50F4A8427A5B}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Benchmark", "Benchmark", "{89514D49-4D5D-4423-A6EC-F0FF1D23EF43}"
ProjectSection(SolutionItems) = preProject
ReadBenchmarkData.ps1 = ReadBenchmarkData.ps1
@ -65,9 +55,35 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Benchmark", "Benchmark", "{
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.PowerFx.Repl", "libraries\Microsoft.PowerFx.Repl\Microsoft.PowerFx.Repl.csproj", "{889A85AD-6450-4F5E-A404-01CC296C90D9}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.PowerFx.Repl.Tests", "tests\Microsoft.PowerFx.Repl.Tests\Microsoft.PowerFx.Repl.Tests.csproj", "{8A54017E-52C3-45BB-9E87-3F0876688D53}"
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Microsoft.PowerFx.Connectors.Tests.Shared", "tests\Microsoft.PowerFx.Connectors.Tests.Shared\Microsoft.PowerFx.Connectors.Tests.Shared.shproj", "{B91CCC91-2A8D-4411-9A50-709A11B61ADC}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.PowerFx.TexlFunctionExporter", "tests\Microsoft.PowerFx.TexlFunctionExporter\Microsoft.PowerFx.TexlFunctionExporter.csproj", "{06373068-0BDC-4BF8-9DAA-7B248C2B577E}"
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Microsoft.PowerFx.Core.Tests.Shared", "tests\Microsoft.PowerFx.Core.Tests.Shared\Microsoft.PowerFx.Core.Tests.Shared.shproj", "{D274E7B2-0FED-4F9E-B39A-9FA4A8ACCF39}"
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Microsoft.PowerFx.Interpreter.Tests.Shared", "tests\Microsoft.PowerFx.Interpreter.Tests.Shared\Microsoft.PowerFx.Interpreter.Tests.Shared.shproj", "{0DAA552E-5906-42C3-846F-2646EE2C33D3}"
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Microsoft.PowerFx.Json.Tests.Shared", "tests\Microsoft.PowerFx.Json.Tests.Shared\Microsoft.PowerFx.Json.Tests.Shared.shproj", "{B23198D8-6652-4CE5-AEE3-8646202E6BBD}"
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Microsoft.PowerFx.Performance.Tests.Shared", "tests\Microsoft.PowerFx.Performance.Tests.Shared\Microsoft.PowerFx.Performance.Tests.Shared.shproj", "{21E2744A-4C69-4862-894A-6922C2B8E2F8}"
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Microsoft.PowerFx.Repl.Tests.Shared", "tests\Microsoft.PowerFx.Repl.Tests.Shared\Microsoft.PowerFx.Repl.Tests.Shared.shproj", "{F065BA6A-DB76-409B-9516-1F027753C2F4}"
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Microsoft.PowerFx.TexlFunctionExporter.Shared", "tests\Microsoft.PowerFx.TexlFunctionExporter.Shared\Microsoft.PowerFx.TexlFunctionExporter.Shared.shproj", "{6BB3FA08-791F-4418-AD1C-FAB5EE67D88C}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".Net 3.1", ".Net 3.1", "{6DEBA875-6D2F-4F19-8B7B-A2E385CB2182}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.PowerFx.Connectors.Tests", "tests\.Net 3.1\Microsoft.PowerFx.Connectors.Tests\Microsoft.PowerFx.Connectors.Tests.csproj", "{0C397C3A-2331-4DCA-A5AF-8838308466E1}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.PowerFx.Core.Tests", "tests\.Net 3.1\Microsoft.PowerFx.Core.Tests\Microsoft.PowerFx.Core.Tests.csproj", "{99BF2BF9-3A27-412A-A489-C31C7C9E236B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.PowerFx.Interpreter.Tests", "tests\.Net 3.1\Microsoft.PowerFx.Interpreter.Tests\Microsoft.PowerFx.Interpreter.Tests.csproj", "{7CE0C1C3-E6B7-4AF0-B6A3-FF4D0002829F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.PowerFx.Json.Tests", "tests\.Net 3.1\Microsoft.PowerFx.Json.Tests\Microsoft.PowerFx.Json.Tests.csproj", "{68392322-F03E-4A71-8AA2-E4462031A491}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.PowerFx.Performance.Tests", "tests\.Net 3.1\Microsoft.PowerFx.Performance.Tests\Microsoft.PowerFx.Performance.Tests.csproj", "{0D2926E8-1577-4FDC-8591-5EB9B8420480}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.PowerFx.Repl.Tests", "tests\.Net 3.1\Microsoft.PowerFx.Repl.Tests\Microsoft.PowerFx.Repl.Tests.csproj", "{33F53D1E-90E7-45E7-9A54-A140E4AF26AE}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.PowerFx.TexlFunctionExporter", "tests\.Net 3.1\Microsoft.PowerFx.TexlFunctionExporter\Microsoft.PowerFx.TexlFunctionExporter.csproj", "{ACE89DC7-06E7-4919-B1DB-53E9B39E94F7}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -87,14 +103,6 @@ Global
{AC286BA6-D439-4EDA-A468-2B18DB53E163}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AC286BA6-D439-4EDA-A468-2B18DB53E163}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AC286BA6-D439-4EDA-A468-2B18DB53E163}.Release|Any CPU.Build.0 = Release|Any CPU
{085B4B1A-1F94-4A9C-AEBF-47E0E0B0A983}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{085B4B1A-1F94-4A9C-AEBF-47E0E0B0A983}.Debug|Any CPU.Build.0 = Debug|Any CPU
{085B4B1A-1F94-4A9C-AEBF-47E0E0B0A983}.Release|Any CPU.ActiveCfg = Release|Any CPU
{085B4B1A-1F94-4A9C-AEBF-47E0E0B0A983}.Release|Any CPU.Build.0 = Release|Any CPU
{70C7007C-3288-48F1-A1F0-02F5CC837D4E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{70C7007C-3288-48F1-A1F0-02F5CC837D4E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{70C7007C-3288-48F1-A1F0-02F5CC837D4E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{70C7007C-3288-48F1-A1F0-02F5CC837D4E}.Release|Any CPU.Build.0 = Release|Any CPU
{ED98A690-863A-443C-9DBB-8F0F5BCACE2B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{ED98A690-863A-443C-9DBB-8F0F5BCACE2B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{ED98A690-863A-443C-9DBB-8F0F5BCACE2B}.Release|Any CPU.ActiveCfg = Release|Any CPU
@ -103,14 +111,6 @@ Global
{CEE27893-EE7D-4832-858F-70AF6BA325E3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CEE27893-EE7D-4832-858F-70AF6BA325E3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CEE27893-EE7D-4832-858F-70AF6BA325E3}.Release|Any CPU.Build.0 = Release|Any CPU
{81586372-FE63-4F6D-923D-B47E94487676}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{81586372-FE63-4F6D-923D-B47E94487676}.Debug|Any CPU.Build.0 = Debug|Any CPU
{81586372-FE63-4F6D-923D-B47E94487676}.Release|Any CPU.ActiveCfg = Release|Any CPU
{81586372-FE63-4F6D-923D-B47E94487676}.Release|Any CPU.Build.0 = Release|Any CPU
{5A2EEF08-7A8A-43E6-B498-EFB32B98CC5A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5A2EEF08-7A8A-43E6-B498-EFB32B98CC5A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5A2EEF08-7A8A-43E6-B498-EFB32B98CC5A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5A2EEF08-7A8A-43E6-B498-EFB32B98CC5A}.Release|Any CPU.Build.0 = Release|Any CPU
{142854D7-409C-4C87-A5B8-39B51477F5B2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{142854D7-409C-4C87-A5B8-39B51477F5B2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{142854D7-409C-4C87-A5B8-39B51477F5B2}.Release|Any CPU.ActiveCfg = Release|Any CPU
@ -119,22 +119,38 @@ Global
{D4CC6660-8C30-41E5-A28A-C018DDDF8D96}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D4CC6660-8C30-41E5-A28A-C018DDDF8D96}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D4CC6660-8C30-41E5-A28A-C018DDDF8D96}.Release|Any CPU.Build.0 = Release|Any CPU
{8986E836-2F55-4D71-B23E-50F4A8427A5B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8986E836-2F55-4D71-B23E-50F4A8427A5B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8986E836-2F55-4D71-B23E-50F4A8427A5B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8986E836-2F55-4D71-B23E-50F4A8427A5B}.Release|Any CPU.Build.0 = Release|Any CPU
{889A85AD-6450-4F5E-A404-01CC296C90D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{889A85AD-6450-4F5E-A404-01CC296C90D9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{889A85AD-6450-4F5E-A404-01CC296C90D9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{889A85AD-6450-4F5E-A404-01CC296C90D9}.Release|Any CPU.Build.0 = Release|Any CPU
{8A54017E-52C3-45BB-9E87-3F0876688D53}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8A54017E-52C3-45BB-9E87-3F0876688D53}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8A54017E-52C3-45BB-9E87-3F0876688D53}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8A54017E-52C3-45BB-9E87-3F0876688D53}.Release|Any CPU.Build.0 = Release|Any CPU
{06373068-0BDC-4BF8-9DAA-7B248C2B577E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{06373068-0BDC-4BF8-9DAA-7B248C2B577E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{06373068-0BDC-4BF8-9DAA-7B248C2B577E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{06373068-0BDC-4BF8-9DAA-7B248C2B577E}.Release|Any CPU.Build.0 = Release|Any CPU
{0C397C3A-2331-4DCA-A5AF-8838308466E1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0C397C3A-2331-4DCA-A5AF-8838308466E1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0C397C3A-2331-4DCA-A5AF-8838308466E1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0C397C3A-2331-4DCA-A5AF-8838308466E1}.Release|Any CPU.Build.0 = Release|Any CPU
{99BF2BF9-3A27-412A-A489-C31C7C9E236B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{99BF2BF9-3A27-412A-A489-C31C7C9E236B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{99BF2BF9-3A27-412A-A489-C31C7C9E236B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{99BF2BF9-3A27-412A-A489-C31C7C9E236B}.Release|Any CPU.Build.0 = Release|Any CPU
{7CE0C1C3-E6B7-4AF0-B6A3-FF4D0002829F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7CE0C1C3-E6B7-4AF0-B6A3-FF4D0002829F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7CE0C1C3-E6B7-4AF0-B6A3-FF4D0002829F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7CE0C1C3-E6B7-4AF0-B6A3-FF4D0002829F}.Release|Any CPU.Build.0 = Release|Any CPU
{68392322-F03E-4A71-8AA2-E4462031A491}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{68392322-F03E-4A71-8AA2-E4462031A491}.Debug|Any CPU.Build.0 = Debug|Any CPU
{68392322-F03E-4A71-8AA2-E4462031A491}.Release|Any CPU.ActiveCfg = Release|Any CPU
{68392322-F03E-4A71-8AA2-E4462031A491}.Release|Any CPU.Build.0 = Release|Any CPU
{0D2926E8-1577-4FDC-8591-5EB9B8420480}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0D2926E8-1577-4FDC-8591-5EB9B8420480}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0D2926E8-1577-4FDC-8591-5EB9B8420480}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0D2926E8-1577-4FDC-8591-5EB9B8420480}.Release|Any CPU.Build.0 = Release|Any CPU
{33F53D1E-90E7-45E7-9A54-A140E4AF26AE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{33F53D1E-90E7-45E7-9A54-A140E4AF26AE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{33F53D1E-90E7-45E7-9A54-A140E4AF26AE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{33F53D1E-90E7-45E7-9A54-A140E4AF26AE}.Release|Any CPU.Build.0 = Release|Any CPU
{ACE89DC7-06E7-4919-B1DB-53E9B39E94F7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{ACE89DC7-06E7-4919-B1DB-53E9B39E94F7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{ACE89DC7-06E7-4919-B1DB-53E9B39E94F7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{ACE89DC7-06E7-4919-B1DB-53E9B39E94F7}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -143,21 +159,45 @@ Global
{C4AE1B00-36BB-4D5F-8CC9-E51979BE2830} = {4269F3C3-6B42-419B-B64A-3E6DC0F1574A}
{E59979B0-F267-46DC-B628-941D31C3CB7C} = {4269F3C3-6B42-419B-B64A-3E6DC0F1574A}
{AC286BA6-D439-4EDA-A468-2B18DB53E163} = {4269F3C3-6B42-419B-B64A-3E6DC0F1574A}
{085B4B1A-1F94-4A9C-AEBF-47E0E0B0A983} = {AD743B78-D61F-4FBF-B620-FA83CE599A50}
{70C7007C-3288-48F1-A1F0-02F5CC837D4E} = {AD743B78-D61F-4FBF-B620-FA83CE599A50}
{ED98A690-863A-443C-9DBB-8F0F5BCACE2B} = {4269F3C3-6B42-419B-B64A-3E6DC0F1574A}
{CEE27893-EE7D-4832-858F-70AF6BA325E3} = {4269F3C3-6B42-419B-B64A-3E6DC0F1574A}
{81586372-FE63-4F6D-923D-B47E94487676} = {AD743B78-D61F-4FBF-B620-FA83CE599A50}
{5A2EEF08-7A8A-43E6-B498-EFB32B98CC5A} = {AD743B78-D61F-4FBF-B620-FA83CE599A50}
{142854D7-409C-4C87-A5B8-39B51477F5B2} = {5EEC2873-35B5-4364-A2A0-97AAD7BF960D}
{D4CC6660-8C30-41E5-A28A-C018DDDF8D96} = {4269F3C3-6B42-419B-B64A-3E6DC0F1574A}
{8986E836-2F55-4D71-B23E-50F4A8427A5B} = {AD743B78-D61F-4FBF-B620-FA83CE599A50}
{89514D49-4D5D-4423-A6EC-F0FF1D23EF43} = {4269F3C3-6B42-419B-B64A-3E6DC0F1574A}
{889A85AD-6450-4F5E-A404-01CC296C90D9} = {4269F3C3-6B42-419B-B64A-3E6DC0F1574A}
{8A54017E-52C3-45BB-9E87-3F0876688D53} = {AD743B78-D61F-4FBF-B620-FA83CE599A50}
{06373068-0BDC-4BF8-9DAA-7B248C2B577E} = {AD743B78-D61F-4FBF-B620-FA83CE599A50}
{B91CCC91-2A8D-4411-9A50-709A11B61ADC} = {AD743B78-D61F-4FBF-B620-FA83CE599A50}
{D274E7B2-0FED-4F9E-B39A-9FA4A8ACCF39} = {AD743B78-D61F-4FBF-B620-FA83CE599A50}
{0DAA552E-5906-42C3-846F-2646EE2C33D3} = {AD743B78-D61F-4FBF-B620-FA83CE599A50}
{B23198D8-6652-4CE5-AEE3-8646202E6BBD} = {AD743B78-D61F-4FBF-B620-FA83CE599A50}
{21E2744A-4C69-4862-894A-6922C2B8E2F8} = {AD743B78-D61F-4FBF-B620-FA83CE599A50}
{F065BA6A-DB76-409B-9516-1F027753C2F4} = {AD743B78-D61F-4FBF-B620-FA83CE599A50}
{6BB3FA08-791F-4418-AD1C-FAB5EE67D88C} = {AD743B78-D61F-4FBF-B620-FA83CE599A50}
{6DEBA875-6D2F-4F19-8B7B-A2E385CB2182} = {AD743B78-D61F-4FBF-B620-FA83CE599A50}
{0C397C3A-2331-4DCA-A5AF-8838308466E1} = {6DEBA875-6D2F-4F19-8B7B-A2E385CB2182}
{99BF2BF9-3A27-412A-A489-C31C7C9E236B} = {6DEBA875-6D2F-4F19-8B7B-A2E385CB2182}
{7CE0C1C3-E6B7-4AF0-B6A3-FF4D0002829F} = {6DEBA875-6D2F-4F19-8B7B-A2E385CB2182}
{68392322-F03E-4A71-8AA2-E4462031A491} = {6DEBA875-6D2F-4F19-8B7B-A2E385CB2182}
{0D2926E8-1577-4FDC-8591-5EB9B8420480} = {6DEBA875-6D2F-4F19-8B7B-A2E385CB2182}
{33F53D1E-90E7-45E7-9A54-A140E4AF26AE} = {6DEBA875-6D2F-4F19-8B7B-A2E385CB2182}
{ACE89DC7-06E7-4919-B1DB-53E9B39E94F7} = {6DEBA875-6D2F-4F19-8B7B-A2E385CB2182}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {30372F91-B206-4351-A621-F0E2773C337B}
EndGlobalSection
GlobalSection(SharedMSBuildProjectFiles) = preSolution
tests\Microsoft.PowerFx.Connectors.Tests.Shared\Microsoft.PowerFx.Connectors.Tests.Shared.projitems*{0c397c3a-2331-4dca-a5af-8838308466e1}*SharedItemsImports = 5
tests\Microsoft.PowerFx.Performance.Tests.Shared\Microsoft.PowerFx.Performance.Tests.Shared.projitems*{0d2926e8-1577-4fdc-8591-5eb9b8420480}*SharedItemsImports = 5
tests\Microsoft.PowerFx.Interpreter.Tests.Shared\Microsoft.PowerFx.Interpreter.Tests.Shared.projitems*{0daa552e-5906-42c3-846f-2646ee2c33d3}*SharedItemsImports = 13
tests\Microsoft.PowerFx.Performance.Tests.Shared\Microsoft.PowerFx.Performance.Tests.Shared.projitems*{21e2744a-4c69-4862-894a-6922c2b8e2f8}*SharedItemsImports = 13
tests\Microsoft.PowerFx.Repl.Tests.Shared\Microsoft.PowerFx.Repl.Tests.Shared.projitems*{33f53d1e-90e7-45e7-9a54-a140e4af26ae}*SharedItemsImports = 5
tests\Microsoft.PowerFx.Json.Tests.Shared\Microsoft.PowerFx.Json.Tests.Shared.projitems*{68392322-f03e-4a71-8aa2-e4462031a491}*SharedItemsImports = 5
tests\Microsoft.PowerFx.TexlFunctionExporter.Shared\Microsoft.PowerFx.TexlFunctionExporter.Shared.projitems*{6bb3fa08-791f-4418-ad1c-fab5ee67d88c}*SharedItemsImports = 13
tests\Microsoft.PowerFx.Interpreter.Tests.Shared\Microsoft.PowerFx.Interpreter.Tests.Shared.projitems*{7ce0c1c3-e6b7-4af0-b6a3-ff4d0002829f}*SharedItemsImports = 5
tests\Microsoft.PowerFx.Core.Tests.Shared\Microsoft.PowerFx.Core.Tests.Shared.projitems*{99bf2bf9-3a27-412a-a489-c31c7c9e236b}*SharedItemsImports = 5
tests\Microsoft.PowerFx.TexlFunctionExporter.Shared\Microsoft.PowerFx.TexlFunctionExporter.Shared.projitems*{ace89dc7-06e7-4919-b1db-53e9b39e94f7}*SharedItemsImports = 5
tests\Microsoft.PowerFx.Json.Tests.Shared\Microsoft.PowerFx.Json.Tests.Shared.projitems*{b23198d8-6652-4ce5-aee3-8646202e6bbd}*SharedItemsImports = 13
tests\Microsoft.PowerFx.Connectors.Tests.Shared\Microsoft.PowerFx.Connectors.Tests.Shared.projitems*{b91ccc91-2a8d-4411-9a50-709a11b61adc}*SharedItemsImports = 13
tests\Microsoft.PowerFx.Core.Tests.Shared\Microsoft.PowerFx.Core.Tests.Shared.projitems*{d274e7b2-0fed-4f9e-b39a-9fa4a8accf39}*SharedItemsImports = 13
tests\Microsoft.PowerFx.Repl.Tests.Shared\Microsoft.PowerFx.Repl.Tests.Shared.projitems*{f065ba6a-db76-409b-9516-1f027753c2f4}*SharedItemsImports = 13
EndGlobalSection
EndGlobal

Просмотреть файл

@ -26,26 +26,19 @@
</ItemGroup>
<ItemGroup>
<AdditionalFiles Include="..\..\stylecop.json" Link="stylecop.json" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Responses\*.eml" />
<EmbeddedResource Include="Responses\*.json" />
<EmbeddedResource Include="Responses\*.jsonSet" />
<EmbeddedResource Include="Responses\*.png" />
<EmbeddedResource Include="Responses\*.txt" />
<EmbeddedResource Include="Responses\*.raw" />
<EmbeddedResource Include="Swagger\*.json" />
<AdditionalFiles Include="..\..\..\stylecop.json" Link="stylecop.json" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\libraries\Microsoft.PowerFx.Connectors\Microsoft.PowerFx.Connectors.csproj" />
<ProjectReference Include="..\..\libraries\Microsoft.PowerFx.Interpreter\Microsoft.PowerFx.Interpreter.csproj" />
<ProjectReference Include="..\..\libraries\Microsoft.PowerFx.LanguageServerProtocol\Microsoft.PowerFx.LanguageServerProtocol.csproj" />
<ProjectReference Include="..\..\..\libraries\Microsoft.PowerFx.Connectors\Microsoft.PowerFx.Connectors.csproj" />
<ProjectReference Include="..\..\..\libraries\Microsoft.PowerFx.Interpreter\Microsoft.PowerFx.Interpreter.csproj" />
<ProjectReference Include="..\..\..\libraries\Microsoft.PowerFx.LanguageServerProtocol\Microsoft.PowerFx.LanguageServerProtocol.csproj" />
<ProjectReference Include="..\Microsoft.PowerFx.Core.Tests\Microsoft.PowerFx.Core.Tests.csproj" />
<ProjectReference Include="..\Microsoft.PowerFx.Interpreter.Tests\Microsoft.PowerFx.Interpreter.Tests.csproj" />
<ProjectReference Include="..\Microsoft.PowerFx.TexlFunctionExporter\Microsoft.PowerFx.TexlFunctionExporter.csproj" />
</ItemGroup>
<Import Project="..\..\Microsoft.PowerFx.Connectors.Tests.Shared\Microsoft.PowerFx.Connectors.Tests.Shared.projitems" Label="Shared" />
</Project>

Просмотреть файл

@ -1,79 +1,46 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<!--Do not generate this package for public builds. -->
<IsPackable Condition="'$(InternalBuild)' == 'true'">true</IsPackable>
<IsPackable Condition="'$(InternalBuild)' != 'true'">false</IsPackable>
<GeneratePackageOnBuild Condition="'$(InternalBuild)' == 'true'">$(GeneratePackages)</GeneratePackageOnBuild>
<TargetFramework Condition="'$(BuildTarget)' == 'netcoreapp31'">netcoreapp3.1</TargetFramework>
<TargetFrameworks Condition="'$(BuildTarget)' == ''">netcoreapp3.1</TargetFrameworks>
<Version Condition=" '$(ReleasePackageVersion)' == '' ">$(LocalPackageVersion)</Version>
<Version Condition=" '$(ReleasePackageVersion)' != '' ">$(ReleasePackageVersion)</Version>
<PackageVersion Condition=" '$(ReleasePackageVersion)' == '' ">$(LocalPackageVersion)</PackageVersion>
<PackageVersion Condition=" '$(ReleasePackageVersion)' != '' ">$(ReleasePackageVersion)</PackageVersion>
<Configurations>Debug;Release</Configurations>
<GenerateDocumentationFile>false</GenerateDocumentationFile>
</PropertyGroup>
<!-- Nuget Properties -->
<PropertyGroup>
<PackageId>Microsoft.PowerFx.Core.Tests</PackageId>
<Title>Microsoft Power Fx Compiler Tests Core</Title>
<Description>The core test suite for all Microsoft Power Fx Compiler targets</Description>
<Summary>The core test suite for all Microsoft Power Fx Compiler targets</Summary>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="6.0.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.11.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.2" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.extensibility.core" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<AdditionalFiles Include="..\..\stylecop.json" Link="stylecop.json" />
</ItemGroup>
<ItemGroup>
<Content Include="ExpressionTestCases\**">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="IntellisenseTests\TestSignatures\**">
<Link>IntellisenseTests\TestSignatures\%(FileName)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<None Remove="expressiontestcases\README.md" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\libraries\Microsoft.PowerFx.Core\Microsoft.PowerFx.Core.csproj" />
</ItemGroup>
<ItemGroup>
<None Update="TestRunnerTests\*.txt">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<Folder Include="ExpressionTestCases\NotYetReady\" />
</ItemGroup>
<ItemGroup>
<Compile Update="Properties\Resources.Designer.cs">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Update="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
</Project>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<!--Do not generate this package for public builds. -->
<IsPackable Condition="'$(InternalBuild)' == 'true'">true</IsPackable>
<IsPackable Condition="'$(InternalBuild)' != 'true'">false</IsPackable>
<GeneratePackageOnBuild Condition="'$(InternalBuild)' == 'true'">$(GeneratePackages)</GeneratePackageOnBuild>
<TargetFramework Condition="'$(BuildTarget)' == 'netcoreapp31'">netcoreapp3.1</TargetFramework>
<TargetFrameworks Condition="'$(BuildTarget)' == ''">netcoreapp3.1</TargetFrameworks>
<Version Condition=" '$(ReleasePackageVersion)' == '' ">$(LocalPackageVersion)</Version>
<Version Condition=" '$(ReleasePackageVersion)' != '' ">$(ReleasePackageVersion)</Version>
<PackageVersion Condition=" '$(ReleasePackageVersion)' == '' ">$(LocalPackageVersion)</PackageVersion>
<PackageVersion Condition=" '$(ReleasePackageVersion)' != '' ">$(ReleasePackageVersion)</PackageVersion>
<Configurations>Debug;Release</Configurations>
<GenerateDocumentationFile>false</GenerateDocumentationFile>
</PropertyGroup>
<!-- Nuget Properties -->
<PropertyGroup>
<PackageId>Microsoft.PowerFx.Core.Tests</PackageId>
<Title>Microsoft Power Fx Compiler Tests Core</Title>
<Description>The core test suite for all Microsoft Power Fx Compiler targets</Description>
<Summary>The core test suite for all Microsoft Power Fx Compiler targets</Summary>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="6.0.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.11.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.2" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.extensibility.core" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<AdditionalFiles Include="..\..\..\stylecop.json" Link="stylecop.json" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\libraries\Microsoft.PowerFx.Core\Microsoft.PowerFx.Core.csproj" />
</ItemGroup>
<Import Project="..\..\Microsoft.PowerFx.Core.Tests.Shared\Microsoft.PowerFx.Core.Tests.Shared.projitems" Label="Shared" />
</Project>

Просмотреть файл

@ -21,33 +21,17 @@
</ItemGroup>
<ItemGroup>
<AdditionalFiles Include="..\..\stylecop.json" Link="stylecop.json" />
<AdditionalFiles Include="..\..\..\stylecop.json" Link="stylecop.json" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\libraries\Microsoft.PowerFx.Json\Microsoft.PowerFx.Json.csproj" />
<ProjectReference Include="..\..\libraries\Microsoft.PowerFx.Repl\Microsoft.PowerFx.Repl.csproj" />
<ProjectReference Include="..\..\..\libraries\Microsoft.PowerFx.Json\Microsoft.PowerFx.Json.csproj" />
<ProjectReference Include="..\..\..\libraries\Microsoft.PowerFx.Repl\Microsoft.PowerFx.Repl.csproj" />
<ProjectReference Include="..\..\..\libraries\Microsoft.PowerFx.Interpreter\Microsoft.PowerFx.Interpreter.csproj" />
<ProjectReference Include="..\..\..\libraries\Microsoft.PowerFx.LanguageServerProtocol\Microsoft.PowerFx.LanguageServerProtocol.csproj" />
<ProjectReference Include="..\Microsoft.PowerFx.Core.Tests\Microsoft.PowerFx.Core.Tests.csproj" />
<ProjectReference Include="..\..\libraries\Microsoft.PowerFx.Interpreter\Microsoft.PowerFx.Interpreter.csproj" />
<ProjectReference Include="..\..\libraries\Microsoft.PowerFx.LanguageServerProtocol\Microsoft.PowerFx.LanguageServerProtocol.csproj" />
</ItemGroup>
<ItemGroup>
<Content Include="MutationScripts\**">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="IntellisenseTests\TestSignatures\**">
<Link>IntellisenseTests\TestSignatures\%(FileName)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<None Update="InterpreterExpressionTestCases\*.txt">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<None Update="Docs\InterpreterBase.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<Import Project="..\..\Microsoft.PowerFx.Interpreter.Tests.Shared\Microsoft.PowerFx.Interpreter.Tests.Shared.projitems" Label="Shared" />
</Project>

Просмотреть файл

@ -10,7 +10,6 @@
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.11.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.2" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.extensibility.core" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3">
@ -21,14 +20,15 @@
</ItemGroup>
<ItemGroup>
<AdditionalFiles Include="..\..\stylecop.json" Link="stylecop.json" />
<AdditionalFiles Include="..\..\..\stylecop.json" Link="stylecop.json" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\libraries\Microsoft.PowerFx.Repl\Microsoft.PowerFx.Repl.csproj" />
<ItemGroup>
<ProjectReference Include="..\..\..\libraries\Microsoft.PowerFx.Interpreter\Microsoft.PowerFx.Interpreter.csproj" />
<ProjectReference Include="..\..\..\libraries\Microsoft.PowerFx.Json\Microsoft.PowerFx.Json.csproj" />
<ProjectReference Include="..\Microsoft.PowerFx.Core.Tests\Microsoft.PowerFx.Core.Tests.csproj" />
<ProjectReference Include="..\..\libraries\Microsoft.PowerFx.Interpreter\Microsoft.PowerFx.Interpreter.csproj" />
<ProjectReference Include="..\..\libraries\Microsoft.PowerFx.LanguageServerProtocol\Microsoft.PowerFx.LanguageServerProtocol.csproj" />
</ItemGroup>
<Import Project="..\..\Microsoft.PowerFx.Json.Tests.Shared\Microsoft.PowerFx.Json.Tests.Shared.projitems" Label="Shared" />
</Project>

Просмотреть файл

@ -29,12 +29,13 @@
</ItemGroup>
<ItemGroup>
<AdditionalFiles Include="..\..\stylecop.json" Link="stylecop.json" />
<AdditionalFiles Include="..\..\..\stylecop.json" Link="stylecop.json" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\libraries\Microsoft.PowerFx.Core\Microsoft.PowerFx.Core.csproj" />
<ProjectReference Include="..\..\libraries\Microsoft.PowerFx.Interpreter\Microsoft.PowerFx.Interpreter.csproj" />
<ProjectReference Include="..\..\..\libraries\Microsoft.PowerFx.Core\Microsoft.PowerFx.Core.csproj" />
<ProjectReference Include="..\..\..\libraries\Microsoft.PowerFx.Interpreter\Microsoft.PowerFx.Interpreter.csproj" />
</ItemGroup>
<Import Project="..\..\Microsoft.PowerFx.Performance.Tests.Shared\Microsoft.PowerFx.Performance.Tests.Shared.projitems" Label="Shared" />
</Project>

Просмотреть файл

@ -10,6 +10,7 @@
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.11.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.2" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.extensibility.core" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3">
@ -20,20 +21,16 @@
</ItemGroup>
<ItemGroup>
<AdditionalFiles Include="..\..\stylecop.json" Link="stylecop.json" />
<AdditionalFiles Include="..\..\..\stylecop.json" Link="stylecop.json" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\libraries\Microsoft.PowerFx.Repl\Microsoft.PowerFx.Repl.csproj" />
<ProjectReference Include="..\..\..\libraries\Microsoft.PowerFx.Interpreter\Microsoft.PowerFx.Interpreter.csproj" />
<ProjectReference Include="..\..\..\libraries\Microsoft.PowerFx.LanguageServerProtocol\Microsoft.PowerFx.LanguageServerProtocol.csproj" />
<ProjectReference Include="..\Microsoft.PowerFx.Core.Tests\Microsoft.PowerFx.Core.Tests.csproj" />
<ProjectReference Include="..\..\libraries\Microsoft.PowerFx.Interpreter\Microsoft.PowerFx.Interpreter.csproj" />
<ProjectReference Include="..\..\libraries\Microsoft.PowerFx.Json\Microsoft.PowerFx.Json.csproj" />
</ItemGroup>
<ItemGroup>
<Content Include="TypeSystemTests\JsonTypeSnapshots\**">
<Link>TypeSystemTests\JsonTypeSnapshots\%(FileName)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<Import Project="..\..\Microsoft.PowerFx.Repl.Tests.Shared\Microsoft.PowerFx.Repl.Tests.Shared.projitems" Label="Shared" />
</Project>

Просмотреть файл

@ -22,11 +22,12 @@
</ItemGroup>
<ItemGroup>
<AdditionalFiles Include="..\..\stylecop.json" Link="stylecop.json" />
<AdditionalFiles Include="..\..\..\stylecop.json" Link="stylecop.json" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\libraries\Microsoft.PowerFx.Core\Microsoft.PowerFx.Core.csproj" />
<ProjectReference Include="..\..\..\libraries\Microsoft.PowerFx.Core\Microsoft.PowerFx.Core.csproj" />
</ItemGroup>
<Import Project="..\..\Microsoft.PowerFx.TexlFunctionExporter.Shared\Microsoft.PowerFx.TexlFunctionExporter.Shared.projitems" Label="Shared" />
</Project>

Просмотреть файл

@ -10,7 +10,7 @@
<ItemGroup>
<!-- https://xunit.net/docs/configuration-files -->
<None Include="..\xunit.runner.json">
<None Include="..\..\xunit.runner.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>

Просмотреть файл

@ -2,119 +2,119 @@
// Licensed under the MIT license.
using System;
using System.Collections.Generic;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Threading.Tasks;
using System.Threading.Tasks;
using Microsoft.OpenApi.Models;
using Microsoft.PowerFx.Intellisense;
using Microsoft.PowerFx.Interpreter.Tests;
using Microsoft.PowerFx.Tests;
using Xunit;
using Xunit.Abstractions;
using Xunit.Abstractions;
#pragma warning disable SA1515 // Single-line comment should be preceded by blank line
#pragma warning disable SA1025 // Code should not contain multiple whitespace in a row
namespace Microsoft.PowerFx.Connectors.Tests
{
public class IntellisenseTests
{
private readonly ITestOutputHelper _output;
public IntellisenseTests(ITestOutputHelper output)
{
_output = output;
}
{
private readonly ITestOutputHelper _output;
[Theory]
// Get list of servers
[InlineData(1, 1, @"SQL.ExecuteProcedureV2(", @"""default""")]
[InlineData(1, 1, @"SQL.ExecuteProcedureV2(""", @"""default""")] // inside the string, no character
[InlineData(1, 1, @"SQL.ExecuteProcedureV2(""de", @"""default""")] // inside the string, some characters (matching)
[InlineData(1, 1, @"SQL.ExecuteProcedureV2(""dz", "")] // inside the string, not matching characters
// Get list of databases
[InlineData(2, 2, @"SQL.ExecuteProcedureV2(""pfxdev-sql.database.windows.net"",", @"""default""")]
[InlineData(2, 3, @"SQL.ExecuteProcedureV2(""default"",", @"""default""")] // testing with "default" server
[InlineData(0, 0, @"SQL.ExecuteProcedureV2(""pfxdev-sql.database.windows.net""", "")] // no comma, still on 1st param
[InlineData(0, 0, @"SQL.ExecuteProcedureV2(""pfxdev-sql"" + "".database.windows.net"",", "")] // concatenation of strings
// Get list of stored procedures
[InlineData(3, 4, @"SQL.ExecuteProcedureV2(""pfxdev-sql.database.windows.net"", ""connectortest"",", @"""[dbo].[sp_1]""|""[dbo].[sp_2]""")]
[InlineData(3, 5, @"SQL.ExecuteProcedureV2(""default"", ""connectortest"",", @"""[dbo].[sp_1]""|""[dbo].[sp_2]""")] // testing with "default" server
[InlineData(3, 6, @"SQL.ExecuteProcedureV2(""default"", ""default"",", @"""[dbo].[sp_1]""|""[dbo].[sp_2]""")] // testing with "default" server & database
// Using fake function
[InlineData(3, 4, @"SQL.ExecuteProcedureV2z(true, ""connectortest"",", @"""[dbo].[sp_1]""|""[dbo].[sp_2]""")]
public void ConnectorIntellisenseTest(int responseIndex, int queryIndex, string expression, string expectedSuggestions)
{
// These tests are exercising 'x-ms-dynamic-values' extension property
using LoggingTestServer testConnector = new LoggingTestServer(@"Swagger\SQL Server.json", _output);
OpenApiDocument apiDoc = testConnector._apiDocument;
PowerFxConfig config = new PowerFxConfig(Features.PowerFxV1);
using HttpClient httpClient = new HttpClient(testConnector);
using PowerPlatformConnectorClient client = new PowerPlatformConnectorClient(
public IntellisenseTests(ITestOutputHelper output)
{
_output = output;
}
[Theory]
// Get list of servers
[InlineData(1, 1, @"SQL.ExecuteProcedureV2(", @"""default""")]
[InlineData(1, 1, @"SQL.ExecuteProcedureV2(""", @"""default""")] // inside the string, no character
[InlineData(1, 1, @"SQL.ExecuteProcedureV2(""de", @"""default""")] // inside the string, some characters (matching)
[InlineData(1, 1, @"SQL.ExecuteProcedureV2(""dz", "")] // inside the string, not matching characters
// Get list of databases
[InlineData(2, 2, @"SQL.ExecuteProcedureV2(""pfxdev-sql.database.windows.net"",", @"""default""")]
[InlineData(2, 3, @"SQL.ExecuteProcedureV2(""default"",", @"""default""")] // testing with "default" server
[InlineData(0, 0, @"SQL.ExecuteProcedureV2(""pfxdev-sql.database.windows.net""", "")] // no comma, still on 1st param
[InlineData(0, 0, @"SQL.ExecuteProcedureV2(""pfxdev-sql"" + "".database.windows.net"",", "")] // concatenation of strings
// Get list of stored procedures
[InlineData(3, 4, @"SQL.ExecuteProcedureV2(""pfxdev-sql.database.windows.net"", ""connectortest"",", @"""[dbo].[sp_1]""|""[dbo].[sp_2]""")]
[InlineData(3, 5, @"SQL.ExecuteProcedureV2(""default"", ""connectortest"",", @"""[dbo].[sp_1]""|""[dbo].[sp_2]""")] // testing with "default" server
[InlineData(3, 6, @"SQL.ExecuteProcedureV2(""default"", ""default"",", @"""[dbo].[sp_1]""|""[dbo].[sp_2]""")] // testing with "default" server & database
// Using fake function
[InlineData(3, 4, @"SQL.ExecuteProcedureV2z(true, ""connectortest"",", @"""[dbo].[sp_1]""|""[dbo].[sp_2]""")]
public void ConnectorIntellisenseTest(int responseIndex, int queryIndex, string expression, string expectedSuggestions)
{
// These tests are exercising 'x-ms-dynamic-values' extension property
using LoggingTestServer testConnector = new LoggingTestServer(@"Swagger\SQL Server.json", _output);
OpenApiDocument apiDoc = testConnector._apiDocument;
PowerFxConfig config = new PowerFxConfig(Features.PowerFxV1);
using HttpClient httpClient = new HttpClient(testConnector);
using PowerPlatformConnectorClient client = new PowerPlatformConnectorClient(
"tip1-shared-002.azure-apim.net", // endpoint
"a2df3fb8-e4a4-e5e6-905c-e3dff9f93b46", // environment
"5f57ec83acef477b8ccc769e52fa22cc", // connectionId
() => "eyJ0eXA...",
httpClient)
{
SessionId = "8e67ebdc-d402-455a-b33a-304820832383"
};
config.AddActionConnector("SQL", apiDoc, new ConsoleLogger(_output));
testConnector.SetResponseFromFile(responseIndex switch
{
0 => null,
1 => @"Responses\SQL Server Intellisense Response 1.json",
2 => @"Responses\SQL Server Intellisense Response 2.json",
3 => @"Responses\SQL Server Intellisense Response 3.json",
_ => null
});
RecalcEngine engine = new RecalcEngine(config);
BasicServiceProvider serviceProvider = new BasicServiceProvider().AddRuntimeContext(new TestConnectorRuntimeContext("SQL", client, console: _output));
CheckResult checkResult = engine.Check(expression, symbolTable: null);
IIntellisenseResult suggestions = engine.Suggest(checkResult, expression.Length, serviceProvider);
string list = string.Join("|", suggestions.Suggestions.Select(s => s.DisplayText.Text).OrderBy(x => x));
Assert.Equal(expectedSuggestions, list);
Assert.True((responseIndex == 0) ^ testConnector.SendAsyncCalled);
string networkTrace = testConnector._log.ToString();
string queryPart = queryIndex switch
{
0 => null,
1 => "servers",
2 => "databases?server=pfxdev-sql.database.windows.net",
3 => "databases?server=default",
4 => "v2/datasets/pfxdev-sql.database.windows.net,connectortest/procedures",
5 => "v2/datasets/default,connectortest/procedures",
6 => "v2/datasets/default,default/procedures",
_ => throw new NotImplementedException("Unknown index")
};
string expectedNetwork = queryIndex switch
{
0 => string.Empty,
_ =>
$@"POST https://tip1-shared-002.azure-apim.net/invoke
authority: tip1-shared-002.azure-apim.net
Authorization: Bearer eyJ0eXA...
path: /invoke
scheme: https
x-ms-client-environment-id: /providers/Microsoft.PowerApps/environments/a2df3fb8-e4a4-e5e6-905c-e3dff9f93b46
x-ms-client-session-id: 8e67ebdc-d402-455a-b33a-304820832383
x-ms-request-method: GET
x-ms-request-url: /apim/sql/5f57ec83acef477b8ccc769e52fa22cc/{queryPart}
x-ms-user-agent: PowerFx/{PowerPlatformConnectorClient.Version}
"
};
Assert.Equal(expectedNetwork.Replace("\r\n", "\n").Replace("\r", "\n"), networkTrace.Replace("\r\n", "\n").Replace("\r", "\n"));
httpClient)
{
SessionId = "8e67ebdc-d402-455a-b33a-304820832383"
};
config.AddActionConnector("SQL", apiDoc, new ConsoleLogger(_output));
testConnector.SetResponseFromFile(responseIndex switch
{
0 => null,
1 => @"Responses\SQL Server Intellisense Response 1.json",
2 => @"Responses\SQL Server Intellisense Response 2.json",
3 => @"Responses\SQL Server Intellisense Response 3.json",
_ => null
});
RecalcEngine engine = new RecalcEngine(config);
BasicServiceProvider serviceProvider = new BasicServiceProvider().AddRuntimeContext(new TestConnectorRuntimeContext("SQL", client, console: _output));
CheckResult checkResult = engine.Check(expression, symbolTable: null);
IIntellisenseResult suggestions = engine.Suggest(checkResult, expression.Length, serviceProvider);
string list = string.Join("|", suggestions.Suggestions.Select(s => s.DisplayText.Text).OrderBy(x => x));
Assert.Equal(expectedSuggestions, list);
Assert.True((responseIndex == 0) ^ testConnector.SendAsyncCalled);
string networkTrace = testConnector._log.ToString();
string queryPart = queryIndex switch
{
0 => null,
1 => "servers",
2 => "databases?server=pfxdev-sql.database.windows.net",
3 => "databases?server=default",
4 => "v2/datasets/pfxdev-sql.database.windows.net,connectortest/procedures",
5 => "v2/datasets/default,connectortest/procedures",
6 => "v2/datasets/default,default/procedures",
_ => throw new NotImplementedException("Unknown index")
};
string expectedNetwork = queryIndex switch
{
0 => string.Empty,
_ =>
$@"POST https://tip1-shared-002.azure-apim.net/invoke
authority: tip1-shared-002.azure-apim.net
Authorization: Bearer eyJ0eXA...
path: /invoke
scheme: https
x-ms-client-environment-id: /providers/Microsoft.PowerApps/environments/a2df3fb8-e4a4-e5e6-905c-e3dff9f93b46
x-ms-client-session-id: 8e67ebdc-d402-455a-b33a-304820832383
x-ms-request-method: GET
x-ms-request-url: /apim/sql/5f57ec83acef477b8ccc769e52fa22cc/{queryPart}
x-ms-user-agent: PowerFx/{PowerPlatformConnectorClient.Version}
"
};
Assert.Equal(expectedNetwork.Replace("\r\n", "\n").Replace("\r", "\n"), networkTrace.Replace("\r\n", "\n").Replace("\r", "\n"));
}
[Theory]
[Theory]
[InlineData(1, 1, @"SQL.ExecuteProcedureV2(""default"", ""default"", ""sp_1"", ", @"p1|User")] // stored proc with 1 param, out of record
[InlineData(2, 1, @"SQL.ExecuteProcedureV2(""default"", ""default"", ""sp_2"", ", @"p1|p2|User")] // stored proc with 2 params, out of record
[InlineData(1, 1, @"SQL.ExecuteProcedureV2(""default"", ""default"", ""sp_1"", { ", "p1")] // in record, only suggest param names
@ -129,7 +129,7 @@ $@"POST https://tip1-shared-002.azure-apim.net/invoke
{
// These tests are exercising 'x-ms-dynamic-schema' extension property
using LoggingTestServer testConnector = new LoggingTestServer(@"Swagger\SQL Server.json", _output);
OpenApiDocument apiDoc = testConnector._apiDocument;
OpenApiDocument apiDoc = testConnector._apiDocument;
PowerFxConfig config = new PowerFxConfig(Features.PowerFxV1) { SymbolTable = UserInfoTestSetup.GetUserInfoSymbolTable() };
using HttpClient httpClient = new HttpClient(testConnector);
@ -154,17 +154,17 @@ $@"POST https://tip1-shared-002.azure-apim.net/invoke
});
}
RecalcEngine engine = new RecalcEngine(config);
BasicServiceProvider serviceProvider = new BasicServiceProvider().AddRuntimeContext(new TestConnectorRuntimeContext("SQL", client, console: _output));
RecalcEngine engine = new RecalcEngine(config);
BasicServiceProvider serviceProvider = new BasicServiceProvider().AddRuntimeContext(new TestConnectorRuntimeContext("SQL", client, console: _output));
CheckResult checkResult = engine.Check(expression, symbolTable: null);
IIntellisenseResult suggestions = engine.Suggest(checkResult, expression.Length, serviceProvider);
string list = string.Join("|", suggestions.Suggestions.Select(s => s.DisplayText.Text).OrderBy(x => x));
Assert.Equal(expectedSuggestions, list);
Assert.Equal(expectedSuggestions, list);
string networkTrace = testConnector._log.ToString();
string expectedNetwork = networkCall == 0 ? string.Empty :
string expectedNetwork = networkCall == 0 ? string.Empty :
$@"POST https://tip1-shared-002.azure-apim.net/invoke
authority: tip1-shared-002.azure-apim.net
Authorization: Bearer eyJ0eXA...
@ -175,15 +175,15 @@ $@"POST https://tip1-shared-002.azure-apim.net/invoke
x-ms-request-method: GET
x-ms-request-url: /apim/sql/5f57ec83acef477b8ccc769e52fa22cc/v2/$metadata.json/datasets/default,default/procedures/sp_{responseIndex}
x-ms-user-agent: PowerFx/{PowerPlatformConnectorClient.Version}
";
";
Assert.Equal(expectedNetwork.Replace("\r\n", "\n").Replace("\r", "\n"), networkTrace.Replace("\r\n", "\n").Replace("\r", "\n"));
}
[Fact]
}
[Fact]
public void ConnectorIntellisenseTest_ServerError()
{
string expression = @"SQL.ExecuteProcedureV2(""default"", ""default"", ""sp_2"", { ";
{
string expression = @"SQL.ExecuteProcedureV2(""default"", ""default"", ""sp_2"", { ";
using LoggingTestServer testConnector = new LoggingTestServer(@"Swagger\SQL Server.json", _output);
OpenApiDocument apiDoc = testConnector._apiDocument;
@ -195,28 +195,28 @@ $@"POST https://tip1-shared-002.azure-apim.net/invoke
SessionId = "8e67ebdc-d402-455a-b33a-304820832383"
};
config.AddActionConnector("SQL", apiDoc, new ConsoleLogger(_output));
// The response is invalid (malformed Json), this is to ensure we manage properly the exception coming from ExtractFromJson
testConnector.SetResponseFromFile(@"Responses\SQL Server Intellisense Response Error.json");
RecalcEngine engine = new RecalcEngine(config);
BasicServiceProvider serviceProvider = new BasicServiceProvider().AddRuntimeContext(new TestConnectorRuntimeContext("SQL", client, console: _output));
CheckResult checkResult = engine.Check(expression, symbolTable: null);
config.AddActionConnector("SQL", apiDoc, new ConsoleLogger(_output));
// The response is invalid (malformed Json), this is to ensure we manage properly the exception coming from ExtractFromJson
testConnector.SetResponseFromFile(@"Responses\SQL Server Intellisense Response Error.json");
RecalcEngine engine = new RecalcEngine(config);
BasicServiceProvider serviceProvider = new BasicServiceProvider().AddRuntimeContext(new TestConnectorRuntimeContext("SQL", client, console: _output));
CheckResult checkResult = engine.Check(expression, symbolTable: null);
// This call should not throw an exception
IIntellisenseResult suggestions = engine.Suggest(checkResult, expression.Length, serviceProvider);
// We don't get any result as the response is invalid
string list = string.Join("|", suggestions.Suggestions.Select(s => s.DisplayText.Text).OrderBy(x => x));
Assert.Equal(string.Empty, list);
}
[Fact]
}
[Fact]
public void ConnectorIntellisenseTest_EmptyResponse()
{
string expression = @"SQL.ExecuteProcedureV2(""default"", ""default"", ""sp_2"", { ";
{
string expression = @"SQL.ExecuteProcedureV2(""default"", ""default"", ""sp_2"", { ";
using LoggingTestServer testConnector = new LoggingTestServer(@"Swagger\SQL Server.json", _output);
OpenApiDocument apiDoc = testConnector._apiDocument;
@ -228,25 +228,25 @@ $@"POST https://tip1-shared-002.azure-apim.net/invoke
SessionId = "8e67ebdc-d402-455a-b33a-304820832383"
};
config.AddActionConnector("SQL", apiDoc, new ConsoleLogger(_output));
// The response is empty, this is to ensure we manage properly the exception coming from ExtractFromJson
testConnector.SetResponseFromFile(@"Responses\EmptyResponse.json");
RecalcEngine engine = new RecalcEngine(config);
BasicServiceProvider serviceProvider = new BasicServiceProvider().AddRuntimeContext(new TestConnectorRuntimeContext("SQL", client, console: _output));
CheckResult checkResult = engine.Check(expression, symbolTable: null);
config.AddActionConnector("SQL", apiDoc, new ConsoleLogger(_output));
// The response is empty, this is to ensure we manage properly the exception coming from ExtractFromJson
testConnector.SetResponseFromFile(@"Responses\EmptyResponse.json");
RecalcEngine engine = new RecalcEngine(config);
BasicServiceProvider serviceProvider = new BasicServiceProvider().AddRuntimeContext(new TestConnectorRuntimeContext("SQL", client, console: _output));
CheckResult checkResult = engine.Check(expression, symbolTable: null);
// This call should not throw an exception
IIntellisenseResult suggestions = engine.Suggest(checkResult, expression.Length, serviceProvider);
// We don't get any result as the response is invalid
string list = string.Join("|", suggestions.Suggestions.Select(s => s.DisplayText.Text).OrderBy(x => x));
Assert.Equal(string.Empty, list);
}
[Theory]
}
[Theory]
[InlineData(1, 1, @"SQL.ExecuteProcedureV2(""default"", ""default"", ""sp_1"", ", @"p1")] // stored proc with 1 param, out of record
public void ConnectorIntellisenseTestLSP(int responseIndex, int networkCall, string expression, string expectedSuggestions)
{
@ -265,14 +265,14 @@ $@"POST https://tip1-shared-002.azure-apim.net/invoke
{
SessionId = "8e67ebdc-d402-455a-b33a-304820832383"
};
// Real client comes at per-intellisense time.
// - Must still pass in some non-null client to initialize the invoker
// - client must have same base address as what we pass in at intellisense.
using var ignoreHttpClient = new HttpClient
{
BaseAddress = client.BaseAddress
};
// Real client comes at per-intellisense time.
// - Must still pass in some non-null client to initialize the invoker
// - client must have same base address as what we pass in at intellisense.
using var ignoreHttpClient = new HttpClient
{
BaseAddress = client.BaseAddress
};
const string cxNamespace = "SQL";
config.AddActionConnector(new ConnectorSettings(cxNamespace), apiDoc, new ConsoleLogger(_output));
if (networkCall > 0)
@ -285,17 +285,17 @@ $@"POST https://tip1-shared-002.azure-apim.net/invoke
});
}
RecalcEngine engine = new RecalcEngine(config);
BasicServiceProvider services = new BasicServiceProvider().AddRuntimeContext(new TestConnectorRuntimeContext(cxNamespace, client, console: _output));
IPowerFxScope scope = new EditorContextScope((expr) => engine.Check(expression, symbolTable: null)) { Services = services };
IIntellisenseResult suggestions = scope.Suggest(expression, expression.Length);
RecalcEngine engine = new RecalcEngine(config);
BasicServiceProvider services = new BasicServiceProvider().AddRuntimeContext(new TestConnectorRuntimeContext(cxNamespace, client, console: _output));
IPowerFxScope scope = new EditorContextScope((expr) => engine.Check(expression, symbolTable: null)) { Services = services };
IIntellisenseResult suggestions = scope.Suggest(expression, expression.Length);
string list = string.Join("|", suggestions.Suggestions.Select(s => s.DisplayText.Text).OrderBy(x => x));
Assert.Equal(expectedSuggestions, list);
Assert.Equal(expectedSuggestions, list);
string networkTrace = testConnector._log.ToString();
string expectedNetwork = networkCall == 0 ? string.Empty :
string expectedNetwork = networkCall == 0 ? string.Empty :
$@"POST https://tip1-shared-002.azure-apim.net/invoke
authority: tip1-shared-002.azure-apim.net
Authorization: Bearer eyJ0eXA...
@ -306,74 +306,74 @@ $@"POST https://tip1-shared-002.azure-apim.net/invoke
x-ms-request-method: GET
x-ms-request-url: /apim/sql/5f57ec83acef477b8ccc769e52fa22cc/v2/$metadata.json/datasets/default,default/procedures/sp_{responseIndex}
x-ms-user-agent: PowerFx/{PowerPlatformConnectorClient.Version}
";
";
Assert.Equal(expectedNetwork.Replace("\r\n", "\n").Replace("\r", "\n"), networkTrace.Replace("\r\n", "\n").Replace("\r", "\n"));
}
[Fact]
public async Task ConnectorIntellisenseTest3()
{
using LoggingTestServer testConnector = new LoggingTestServer(@"Swagger\SharePoint.json", _output);
OpenApiDocument apiDoc = testConnector._apiDocument;
PowerFxConfig config = new PowerFxConfig();
string token = @"eyJ0eXA...";
using HttpClient httpClient = new HttpClient(testConnector);
using PowerPlatformConnectorClient ppClient = new PowerPlatformConnectorClient("https://tip1-shared-002.azure-apim.net", "2f0cc19d-893e-e765-b15d-2906e3231c09" /* env */, "6fb0a1a8e2f5487eafbe306821d8377e" /* connId */, () => $"{token}", httpClient) { SessionId = "547d471f-c04c-4c4a-b3af-337ab0637a0d" };
List<ConnectorFunction> functions = OpenApiParser.GetFunctions("SP", apiDoc, new ConsoleLogger(_output)).OrderBy(f => f.Name).ToList();
// Total 101 functions, including 50 internal, 1 deprecated & 50 internal functions (and no deprecated+internal functions)
Assert.Equal(51, functions.Count);
Assert.Single(functions.Where(f => f.IsDeprecated));
// This is expected as internal functions (which are marked as internal) are not included
Assert.Empty(functions.Where(f => f.IsInternal));
Assert.Empty(functions.Where(f => f.IsDeprecated && f.IsInternal));
IEnumerable<ConnectorFunction> funcInfos = config.AddActionConnector("SP", apiDoc, new ConsoleLogger(_output));
RecalcEngine engine = new RecalcEngine(config);
CheckResult checkResult = engine.Check("SP.", symbolTable: null);
IIntellisenseResult suggestions = engine.Suggest(checkResult, 3);
// We only suggest 50 functions as we don't include deprecated & internal functions
Assert.Equal(50, suggestions.Suggestions.Count());
}
[Theory]
[InlineData(@"SQL.")]
[InlineData(@"SQ")]
public async Task ConnectorDoNotSuggestDeprecatedEndpoints(string expression)
{
// This Path can be found in the Swagger file SQL Server.json
var deprecatedFunctionExample = "SQL.ExecutePassThroughNativeQuery";
using LoggingTestServer testConnector = new LoggingTestServer(@"Swagger\SQL Server.json", _output);
OpenApiDocument apiDoc = testConnector._apiDocument;
PowerFxConfig config = new PowerFxConfig(Features.PowerFxV1);
using HttpClient httpClient = new HttpClient(testConnector);
using PowerPlatformConnectorClient client = new PowerPlatformConnectorClient(
}
[Fact]
public async Task ConnectorIntellisenseTest3()
{
using LoggingTestServer testConnector = new LoggingTestServer(@"Swagger\SharePoint.json", _output);
OpenApiDocument apiDoc = testConnector._apiDocument;
PowerFxConfig config = new PowerFxConfig();
string token = @"eyJ0eXA...";
using HttpClient httpClient = new HttpClient(testConnector);
using PowerPlatformConnectorClient ppClient = new PowerPlatformConnectorClient("https://tip1-shared-002.azure-apim.net", "2f0cc19d-893e-e765-b15d-2906e3231c09" /* env */, "6fb0a1a8e2f5487eafbe306821d8377e" /* connId */, () => $"{token}", httpClient) { SessionId = "547d471f-c04c-4c4a-b3af-337ab0637a0d" };
List<ConnectorFunction> functions = OpenApiParser.GetFunctions("SP", apiDoc, new ConsoleLogger(_output)).OrderBy(f => f.Name).ToList();
// Total 101 functions, including 50 internal, 1 deprecated & 50 internal functions (and no deprecated+internal functions)
Assert.Equal(51, functions.Count);
Assert.Single(functions.Where(f => f.IsDeprecated));
// This is expected as internal functions (which are marked as internal) are not included
Assert.Empty(functions.Where(f => f.IsInternal));
Assert.Empty(functions.Where(f => f.IsDeprecated && f.IsInternal));
IEnumerable<ConnectorFunction> funcInfos = config.AddActionConnector("SP", apiDoc, new ConsoleLogger(_output));
RecalcEngine engine = new RecalcEngine(config);
CheckResult checkResult = engine.Check("SP.", symbolTable: null);
IIntellisenseResult suggestions = engine.Suggest(checkResult, 3);
// We only suggest 50 functions as we don't include deprecated & internal functions
Assert.Equal(50, suggestions.Suggestions.Count());
}
[Theory]
[InlineData(@"SQL.")]
[InlineData(@"SQ")]
public async Task ConnectorDoNotSuggestDeprecatedEndpoints(string expression)
{
// This Path can be found in the Swagger file SQL Server.json
var deprecatedFunctionExample = "SQL.ExecutePassThroughNativeQuery";
using LoggingTestServer testConnector = new LoggingTestServer(@"Swagger\SQL Server.json", _output);
OpenApiDocument apiDoc = testConnector._apiDocument;
PowerFxConfig config = new PowerFxConfig(Features.PowerFxV1);
using HttpClient httpClient = new HttpClient(testConnector);
using PowerPlatformConnectorClient client = new PowerPlatformConnectorClient(
"tip1-shared-002.azure-apim.net", // endpoint
"a2df3fb8-e4a4-e5e6-905c-e3dff9f93b46", // environment
"5f57ec83acef477b8ccc769e52fa22cc", // connectionId
() => "eyJ0eXA...",
httpClient)
{
SessionId = "8e67ebdc-d402-455a-b33a-304820832383"
};
config.AddActionConnector("SQL", apiDoc, new ConsoleLogger(_output));
RecalcEngine engine = new RecalcEngine(config);
BasicServiceProvider serviceProvider = new BasicServiceProvider().AddRuntimeContext(new TestConnectorRuntimeContext("SQL", client, console: _output));
CheckResult checkResult = engine.Check(expression, symbolTable: null);
IIntellisenseResult suggestions = engine.Suggest(checkResult, expression.Length, serviceProvider);
Assert.DoesNotContain(suggestions.Suggestions, suggestion => suggestion.DisplayText.Text.Equals(deprecatedFunctionExample));
}
}
httpClient)
{
SessionId = "8e67ebdc-d402-455a-b33a-304820832383"
};
config.AddActionConnector("SQL", apiDoc, new ConsoleLogger(_output));
RecalcEngine engine = new RecalcEngine(config);
BasicServiceProvider serviceProvider = new BasicServiceProvider().AddRuntimeContext(new TestConnectorRuntimeContext("SQL", client, console: _output));
CheckResult checkResult = engine.Check(expression, symbolTable: null);
IIntellisenseResult suggestions = engine.Suggest(checkResult, expression.Length, serviceProvider);
Assert.DoesNotContain(suggestions.Suggestions, suggestion => suggestion.DisplayText.Text.Equals(deprecatedFunctionExample));
}
}
}
#pragma warning restore SA1515 // Single-line comment should be preceded by blank line

Просмотреть файл

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<MSBuildAllProjects Condition="'$(MSBuildVersion)' == '' Or '$(MSBuildVersion)' &lt; '16.0'">$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
<HasSharedItems>true</HasSharedItems>
<SharedGUID>b91ccc91-2a8d-4411-9a50-709a11b61adc</SharedGUID>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<Import_RootNamespace>Microsoft.PowerFx.Connectors.Tests.Shared</Import_RootNamespace>
</PropertyGroup>
<ItemGroup>
<Compile Include="$(MSBuildThisFileDirectory)*.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Helpers\*.cs" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="$(MSBuildThisFileDirectory)Responses\*.eml" />
<EmbeddedResource Include="$(MSBuildThisFileDirectory)Responses\*.json" />
<EmbeddedResource Include="$(MSBuildThisFileDirectory)Responses\*.jsonSet" />
<EmbeddedResource Include="$(MSBuildThisFileDirectory)Responses\*.png" />
<EmbeddedResource Include="$(MSBuildThisFileDirectory)Responses\*.txt" />
<EmbeddedResource Include="$(MSBuildThisFileDirectory)Responses\*.raw" />
<EmbeddedResource Include="$(MSBuildThisFileDirectory)Swagger\*.json" />
</ItemGroup>
</Project>

Просмотреть файл

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>b91ccc91-2a8d-4411-9a50-709a11b61adc</ProjectGuid>
<MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
</PropertyGroup>
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.Common.Default.props" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.Common.props" />
<PropertyGroup />
<Import Project="Microsoft.PowerFx.Connectors.Tests.Shared.projitems" Label="Shared" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.CSharp.targets" />
</Project>

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше