From 2fc2e61a04837d0e642a4a387a1121371eccd399 Mon Sep 17 00:00:00 2001 From: Matias Quaranta Date: Mon, 27 Feb 2023 10:11:50 -0800 Subject: [PATCH 1/7] Support jobject a --- .../CosmosDBTriggerAttributeBindingProviderGenerator.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/WebJobs.Extensions.CosmosDB/Trigger/CosmosDBTriggerAttributeBindingProviderGenerator.cs b/src/WebJobs.Extensions.CosmosDB/Trigger/CosmosDBTriggerAttributeBindingProviderGenerator.cs index 6697c9388..5c0d8f9f3 100644 --- a/src/WebJobs.Extensions.CosmosDB/Trigger/CosmosDBTriggerAttributeBindingProviderGenerator.cs +++ b/src/WebJobs.Extensions.CosmosDB/Trigger/CosmosDBTriggerAttributeBindingProviderGenerator.cs @@ -43,7 +43,8 @@ public Task TryCreateAsync(TriggerBindingProviderContext contex Type documentType = CosmosDBTriggerAttributeBindingProviderGenerator.GetParameterType(context.Parameter); - if (typeof(JArray).IsAssignableFrom(documentType)) + if (typeof(JArray).IsAssignableFrom(documentType) + || typeof(JObject[]).IsAssignableFrom(documentType)) { documentType = typeof(JObject); // When binding to JArray, use JObject as contract. } From c4979eeb963907391834748b202dd6328a43d6bf Mon Sep 17 00:00:00 2001 From: Matias Quaranta Date: Mon, 27 Feb 2023 10:14:51 -0800 Subject: [PATCH 2/7] tests --- ...sDBTriggerAttributeBindingProviderTests.cs | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/test/WebJobs.Extensions.CosmosDB.Tests/Trigger/CosmosDBTriggerAttributeBindingProviderTests.cs b/test/WebJobs.Extensions.CosmosDB.Tests/Trigger/CosmosDBTriggerAttributeBindingProviderTests.cs index 59435a454..e9aa1d063 100644 --- a/test/WebJobs.Extensions.CosmosDB.Tests/Trigger/CosmosDBTriggerAttributeBindingProviderTests.cs +++ b/test/WebJobs.Extensions.CosmosDB.Tests/Trigger/CosmosDBTriggerAttributeBindingProviderTests.cs @@ -603,6 +603,10 @@ public static void Func3([CosmosDBTrigger("%aDatabase%", "%aCollection%", Connec { } + public static void Func4([CosmosDBTrigger("%aDatabase%", "%aCollection%", Connection = "CosmosDBConnectionString")] JObject[] docs) + { + } + public static IEnumerable GetParameters() { var type = typeof(ValidCosmosDBTriggerBindingsWithAppSettings); @@ -611,7 +615,8 @@ public static IEnumerable GetParameters() { new[] { GetFirstParameter(type, "Func1") }, new[] { GetFirstParameter(type, "Func2") }, - new[] { GetFirstParameter(type, "Func3") } + new[] { GetFirstParameter(type, "Func3") }, + new[] { GetFirstParameter(type, "Func4") } }; } } @@ -648,6 +653,10 @@ public static void Func2([CosmosDBTrigger("aDatabase", "aCollection")] JArray do { } + public static void Func4([CosmosDBTrigger("aDatabase", "aCollection")] JObject[] docs) + { + } + public static void Func3([CosmosDBTrigger("aDatabase", "aCollection", LeaseDatabaseName = "aDatabase", LeaseContainerName = "aLeaseCollection")] IReadOnlyList docs) { } @@ -660,7 +669,8 @@ public static IEnumerable GetParameters() { new[] { GetFirstParameter(type, "Func1") }, new[] { GetFirstParameter(type, "Func2") }, - new[] { GetFirstParameter(type, "Func3") } + new[] { GetFirstParameter(type, "Func3") }, + new[] { GetFirstParameter(type, "Func4") } }; } } @@ -675,6 +685,10 @@ public static void Func2([CosmosDBTrigger("%aDatabase%-test", "%aCollection%-tes { } + public static void Func4([CosmosDBTrigger("%aDatabase%-test", "%aCollection%-test")] JObject[] docs) + { + } + public static void Func3([CosmosDBTrigger("%aDatabase%-test", "%aCollection%-test", LeaseDatabaseName = "%aDatabase%-test")] IReadOnlyList docs) { } @@ -687,7 +701,8 @@ public static IEnumerable GetParameters() { new[] { GetFirstParameter(type, "Func1") }, new[] { GetFirstParameter(type, "Func2") }, - new[] { GetFirstParameter(type, "Func3") } + new[] { GetFirstParameter(type, "Func3") }, + new[] { GetFirstParameter(type, "Func4") } }; } } From 84c72213fd23afac5d78aca1956497375491f25a Mon Sep 17 00:00:00 2001 From: Matias Quaranta Date: Mon, 27 Feb 2023 10:17:42 -0800 Subject: [PATCH 3/7] version bump --- build/common.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/common.props b/build/common.props index 774125c27..60e68faef 100644 --- a/build/common.props +++ b/build/common.props @@ -3,7 +3,7 @@ 3.0.0$(VersionSuffix) 5.0.0-beta.2$(VersionSuffix) - 4.1.0$(VersionSuffix) + 4.1.1$(VersionSuffix) 3.2.0$(VersionSuffix) 3.0.0$(VersionSuffix) 3.0.3$(VersionSuffix) From a797c6fe84b0fa7a995ae40572000328abd36d72 Mon Sep 17 00:00:00 2001 From: Matias Quaranta Date: Mon, 27 Feb 2023 13:37:27 -0800 Subject: [PATCH 4/7] Adding a change --- .../Trigger/CosmosDBTriggerAttributeBindingProviderTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/WebJobs.Extensions.CosmosDB.Tests/Trigger/CosmosDBTriggerAttributeBindingProviderTests.cs b/test/WebJobs.Extensions.CosmosDB.Tests/Trigger/CosmosDBTriggerAttributeBindingProviderTests.cs index e9aa1d063..874e34671 100644 --- a/test/WebJobs.Extensions.CosmosDB.Tests/Trigger/CosmosDBTriggerAttributeBindingProviderTests.cs +++ b/test/WebJobs.Extensions.CosmosDB.Tests/Trigger/CosmosDBTriggerAttributeBindingProviderTests.cs @@ -496,7 +496,7 @@ private static class ValidCosmosDBTriggerBindigsWithLeaseHostOptions { public static void Func1([CosmosDBTrigger("aDatabase", "aCollection", LeaseConnection = "LeaseConnectionString", LeaseContainerPrefix = "someLeasePrefix")] IReadOnlyList docs) { - } + } public static void Func2([CosmosDBTrigger("aDatabase", "aCollection", LeaseConnection = "LeaseConnectionString", LeaseContainerPrefix = "%dynamicLeasePrefix%")] IReadOnlyList docs) { From 8c052bdb42af9b69e4de24cc70b301174a300144 Mon Sep 17 00:00:00 2001 From: Matias Quaranta Date: Mon, 27 Feb 2023 13:37:40 -0800 Subject: [PATCH 5/7] undo to trigger CI --- .../Trigger/CosmosDBTriggerAttributeBindingProviderTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/WebJobs.Extensions.CosmosDB.Tests/Trigger/CosmosDBTriggerAttributeBindingProviderTests.cs b/test/WebJobs.Extensions.CosmosDB.Tests/Trigger/CosmosDBTriggerAttributeBindingProviderTests.cs index 874e34671..e9aa1d063 100644 --- a/test/WebJobs.Extensions.CosmosDB.Tests/Trigger/CosmosDBTriggerAttributeBindingProviderTests.cs +++ b/test/WebJobs.Extensions.CosmosDB.Tests/Trigger/CosmosDBTriggerAttributeBindingProviderTests.cs @@ -496,7 +496,7 @@ private static class ValidCosmosDBTriggerBindigsWithLeaseHostOptions { public static void Func1([CosmosDBTrigger("aDatabase", "aCollection", LeaseConnection = "LeaseConnectionString", LeaseContainerPrefix = "someLeasePrefix")] IReadOnlyList docs) { - } + } public static void Func2([CosmosDBTrigger("aDatabase", "aCollection", LeaseConnection = "LeaseConnectionString", LeaseContainerPrefix = "%dynamicLeasePrefix%")] IReadOnlyList docs) { From be3fda0933d0aae1ed6c7a566666a6c94ef256aa Mon Sep 17 00:00:00 2001 From: Matias Quaranta Date: Mon, 27 Feb 2023 14:18:11 -0800 Subject: [PATCH 6/7] change to trigger CI --- .../Trigger/CosmosDBTriggerAttributeBindingProviderTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/WebJobs.Extensions.CosmosDB.Tests/Trigger/CosmosDBTriggerAttributeBindingProviderTests.cs b/test/WebJobs.Extensions.CosmosDB.Tests/Trigger/CosmosDBTriggerAttributeBindingProviderTests.cs index e9aa1d063..1080c6ecc 100644 --- a/test/WebJobs.Extensions.CosmosDB.Tests/Trigger/CosmosDBTriggerAttributeBindingProviderTests.cs +++ b/test/WebJobs.Extensions.CosmosDB.Tests/Trigger/CosmosDBTriggerAttributeBindingProviderTests.cs @@ -499,7 +499,7 @@ public static void Func1([CosmosDBTrigger("aDatabase", "aCollection", LeaseConne } public static void Func2([CosmosDBTrigger("aDatabase", "aCollection", LeaseConnection = "LeaseConnectionString", LeaseContainerPrefix = "%dynamicLeasePrefix%")] IReadOnlyList docs) - { + { } public static IEnumerable GetParameters() From 413c1fe7a3d23269440bb243b9f056d8d0b6bbe4 Mon Sep 17 00:00:00 2001 From: Matias Quaranta Date: Mon, 27 Feb 2023 14:18:22 -0800 Subject: [PATCH 7/7] change to trigger CI --- .../Trigger/CosmosDBTriggerAttributeBindingProviderTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/WebJobs.Extensions.CosmosDB.Tests/Trigger/CosmosDBTriggerAttributeBindingProviderTests.cs b/test/WebJobs.Extensions.CosmosDB.Tests/Trigger/CosmosDBTriggerAttributeBindingProviderTests.cs index 1080c6ecc..e9aa1d063 100644 --- a/test/WebJobs.Extensions.CosmosDB.Tests/Trigger/CosmosDBTriggerAttributeBindingProviderTests.cs +++ b/test/WebJobs.Extensions.CosmosDB.Tests/Trigger/CosmosDBTriggerAttributeBindingProviderTests.cs @@ -499,7 +499,7 @@ public static void Func1([CosmosDBTrigger("aDatabase", "aCollection", LeaseConne } public static void Func2([CosmosDBTrigger("aDatabase", "aCollection", LeaseConnection = "LeaseConnectionString", LeaseContainerPrefix = "%dynamicLeasePrefix%")] IReadOnlyList docs) - { + { } public static IEnumerable GetParameters()