private void VerifyUpsertedBatch(ContainerDataAutoReset cosmosDirectAccess,
                                         IList <TestItem> itemsToUpsert)
        {
            // Überprüft, dass die Elemente tatsächliche so gespeichert wurden:
            var results = cosmosDirectAccess.CollectResultsFromQuery(
                source => source.Select(item => item).OrderBy(item => item.Id));

            Assert.Equal(
                (from item in itemsToUpsert orderby item.Id select item),
                results);
        }
예제 #2
0
        private IEnumerable<TestItem> AddAndRetrieveItems(IList<TestItem> items,
                                                          ContainerDataAutoReset cosmosDirectAccess)
        {
            var itemsAddedToContainer = cosmosDirectAccess.AddToContainer(items);

            if (itemsAddedToContainer.Count() != items.Count)
            {
                throw new Exception($"Es ist der Vorbereitung des Testszenarios nicht gelungen, dem Container einige Elemente hinzuzufügen! (Nur {itemsAddedToContainer.Count()} Elemente statt {items.Count} sind dort gespeichert.)");
            }

            return itemsAddedToContainer;
        }
        void TestUpdateItem(ContainerDataAutoReset cosmosDirectAccess,
                            IEnumerable <TestItem> availableItems,
                            TestItem itemToUpdate,
                            Action <TestItem> mutate)
        {
            string originalPartitionKey = itemToUpdate.PartitionKeyValue;

            mutate(itemToUpdate);
            Fixture.Service.UpsertItemAsync(originalPartitionKey, itemToUpdate).Wait();

            // Überprüft, dass das Element tatsächliche so gespeichert wurde:
            var results = cosmosDirectAccess.CollectResultsFromQuery(
                source => source.Select(item => item).OrderBy(item => item.Id));

            Assert.Equal(
                (from item in availableItems orderby item.Id select item),
                results);
        }