Example #1
0
        public async Task ItemLINQWithCamelCaseSerializerOptions(bool isGatewayMode)
        {
            Action <CosmosClientBuilder> builder = action =>
            {
                action.WithSerializerOptions(new CosmosSerializationOptions()
                {
                    PropertyNamingPolicy = CosmosPropertyNamingPolicy.CamelCase
                });
                if (isGatewayMode)
                {
                    action.WithConnectionModeGateway();
                }
            };
            CosmosClient camelCaseCosmosClient = TestCommon.CreateCosmosClient(builder, false);

            Assert.IsNotNull(camelCaseCosmosClient.ClientOptions.Serializer);
            Assert.IsTrue(camelCaseCosmosClient.ClientOptions.Serializer is CosmosJsonSerializerWrapper);

            Cosmos.Database      database = camelCaseCosmosClient.GetDatabase(this.database.Id);
            Container            containerFromCamelCaseClient = database.GetContainer(this.Container.Id);
            IList <ToDoActivity> itemList = await ToDoActivity.CreateRandomItems(container : containerFromCamelCaseClient, pkCount : 2, perPKItemCount : 1, randomPartitionKey : true);

            //Testing query without camelCase CosmosSerializationOptions using this.Container, should not return any result
            IOrderedQueryable <ToDoActivity> linqQueryable = this.Container.GetItemLinqQueryable <ToDoActivity>(true);
            IQueryable <ToDoActivity>        queriable     = linqQueryable.Where(item => item.CamelCase == "camelCase");
            string queryText = queriable.ToQueryDefinition().QueryText;

            Assert.AreEqual(queriable.Count(), 0);

            //Testing query with camelCase CosmosSerializationOptions using containerFromCamelCaseClient, should return all the items
            linqQueryable = containerFromCamelCaseClient.GetItemLinqQueryable <ToDoActivity>(true);
            queriable     = linqQueryable.Where(item => item.CamelCase == "camelCase");
            queryText     = queriable.ToQueryDefinition().QueryText;
            Assert.AreEqual(queriable.Count(), 2);
        }
Example #2
0
        internal static async Task <ContainerCore> CreateNonPartitionedContainer(
            Cosmos.Database database,
            string containerId,
            string indexingPolicy = null)
        {
            DocumentCollection documentCollection = new DocumentCollection()
            {
                Id = containerId
            };

            if (indexingPolicy != null)
            {
                documentCollection.IndexingPolicy = JsonConvert.DeserializeObject <IndexingPolicy>(indexingPolicy);
            }

            await NonPartitionedContainerHelper.CreateNonPartitionedContainer(
                database,
                documentCollection);

            return((ContainerInlineCore)database.GetContainer(containerId));
        }