public async Task TableQueryableEnumerateTwice() { var entitiesToCreate = CreateComplexTableEntities(PartitionKeyValue, 2); // Create the new entities. await CreateTestEntities(entitiesToCreate).ConfigureAwait(false); var results = await client.QueryAsync <ComplexEntity>(x => true).ToEnumerableAsync().ConfigureAwait(false); List <ComplexEntity> firstIteration = new List <ComplexEntity>(); List <ComplexEntity> secondIteration = new List <ComplexEntity>(); foreach (ComplexEntity ent in results) { Assert.That(ent.PartitionKey, Is.EqualTo(PartitionKeyValue)); firstIteration.Add(ent); } foreach (ComplexEntity ent in results) { Assert.That(ent.PartitionKey, Is.EqualTo(PartitionKeyValue)); secondIteration.Add(ent); } Assert.That(firstIteration.Count, Is.EqualTo(secondIteration.Count)); for (int m = 0; m < firstIteration.Count; m++) { ComplexEntity.AssertEquality(firstIteration[m], secondIteration[m]); } }
public void BatchInsert() { CloudTableClient tableClient = GenerateCloudTableClient(); TableServiceContext ctx = tableClient.GetTableServiceContext(); // Insert Entities SortedDictionary <string, ComplexEntity> entities = new SortedDictionary <string, ComplexEntity>(); for (int i = 0; i < 100; i++) { ComplexEntity insertEntity = new ComplexEntity("insert test", "foo" + i); entities.Add(insertEntity.RowKey, insertEntity); ctx.AddObject(currentTable.Name, insertEntity); } DataServiceResponse response = ctx.SaveChangesWithRetries(SaveChangesOptions.Batch); Assert.AreEqual((int)HttpStatusCode.Accepted, response.BatchStatusCode); // Retrieve Entities List <ComplexEntity> retrievedEntities = (from ent in ctx.CreateQuery <ComplexEntity>(currentTable.Name) where ent.PartitionKey == entities.First().Value.PartitionKey select ent).AsTableServiceQuery(ctx).Execute().ToList(); Assert.AreEqual(entities.Count, retrievedEntities.Count); foreach (ComplexEntity retrievedEntity in retrievedEntities) { ComplexEntity.AssertEquality(entities[retrievedEntity.RowKey], retrievedEntity); entities.Remove(retrievedEntity.RowKey); } Assert.AreEqual(0, entities.Count); }
public void ReflectionBasedSerializationTest() { ComplexEntity ent = new ComplexEntity(); ComplexEntity secondEnt = new ComplexEntity(); secondEnt.ReadEntity(ent.WriteEntity(null), null); ComplexEntity.AssertEquality(ent, secondEnt); }
public void SingleEntityInsertTask() { CloudTableClient tableClient = GenerateCloudTableClient(); TableServiceContext ctx = tableClient.GetTableServiceContext(); // Insert Entity ComplexEntity insertEntity = new ComplexEntity("insert test", "foo"); ctx.AddObject(currentTable.Name, insertEntity); Task.Factory.FromAsync <DataServiceResponse>(ctx.BeginSaveChangesWithRetries, ctx.EndSaveChangesWithRetries, null).Wait(); // Retrieve Entity ComplexEntity retrievedEntity = (from ent in ctx.CreateQuery <ComplexEntity>(currentTable.Name) where ent.PartitionKey == insertEntity.PartitionKey && ent.RowKey == insertEntity.RowKey select ent).AsTableServiceQuery(ctx).Execute().FirstOrDefault(); Assert.IsNotNull(retrievedEntity); ComplexEntity.AssertEquality(insertEntity, retrievedEntity); }
private void DoSingleEntityInsert(TablePayloadFormat format) { CloudTableClient tableClient = GenerateCloudTableClient(); TableServiceContext ctx = tableClient.GetTableServiceContext(); SetPayloadFormatOnDataServiceContext(ctx, format, tableClient); // Insert Entity ComplexEntity insertEntity = new ComplexEntity("insert test", "foo" + format.ToString()); ctx.AddObject(currentTable.Name, insertEntity); ctx.SaveChangesWithRetries(); // Retrieve Entity ComplexEntity retrievedEntity = (from ent in ctx.CreateQuery <ComplexEntity>(currentTable.Name) where ent.PartitionKey == insertEntity.PartitionKey && ent.RowKey == insertEntity.RowKey select ent).AsTableServiceQuery(ctx).Execute().FirstOrDefault(); Assert.IsNotNull(retrievedEntity); ComplexEntity.AssertEquality(insertEntity, retrievedEntity); }