예제 #1
0
        public async void CanUpdateGroceryItemPurchased()
        {
            await _task.AddGrocery();

            var items = await _task.GetGrocery();

            var item = items.GroceryItems[0];

            item.Purchased = true;
            var request = new GroceryRequest();

            request.items = new List <GroceryItem>();
            request.items.Add(item);
            await _task.UpdateGrocery(request);

            var itemsAgain = await _task.GetGrocery();

            Assert.NotNull(itemsAgain);
            Assert.False(itemsAgain.success);
            var pantry = await _task.GetInventory();

            foreach (InventoryItem pant in pantry.InventoryItems)
            {
                await _task.DeleteInventory(pant.InventoryItemId);
            }
        }
        // Implementation of the GetGroceries service method
        public override async Task GetGroceries(GroceryRequest request, IServerStreamWriter <GroceryResponse> responseStream, ServerCallContext context)
        {
            // Hard coded data
            List <string> groceries = new List <string> {
                "Potatoes", "Chicken", "Strawberries", "Milk", "Crackers", "Ice Cream", "Olives", "Lobster", "Orange Juice"
            };

            // Return stream of reponse messages - one message for each item in the list
            foreach (var item in groceries)
            {
                GroceryResponse reply = new GroceryResponse {
                    Grocery = item
                };
                await responseStream.WriteAsync(reply);
            }
        }
예제 #3
0
        // Calls the GetGroceries method of the service
        public async Task GetSomeGroceries()
        {
            // Create the request message
            GroceryRequest req = new GroceryRequest {
                Items = 4
            };

            // Receive the response stream (uses AsyncServerStreamingCall object)
            using (var call = client.GetGroceries(req))
            {
                int count = 0;

                while (await call.ResponseStream.MoveNext())
                {
                    count++;
                    GroceryResponse item = call.ResponseStream.Current;
                    Console.WriteLine("Item " + count + ": " + item.Grocery + "\n");
                }
            }
        }
예제 #4
0
        public async void CanUpdateGroceryItemDeleted()
        {
            await _task.AddGrocery();

            var items = await _task.GetGrocery();

            var item = items.GroceryItems[0];

            item.Deleted = true;
            var request = new GroceryRequest();

            request.items = new List <GroceryItem>();
            request.items.Add(item);
            await _task.UpdateGrocery(request);

            var itemsAgain = await _task.GetGrocery();

            Assert.NotNull(itemsAgain);
            Assert.False(itemsAgain.success);
        }
예제 #5
0
        public async void CanUpdateGroceryItemAmount()
        {
            await _task.AddGrocery();

            var items = await _task.GetGrocery();

            var item = items.GroceryItems[0];

            item.Amount = 50;
            var request = new GroceryRequest();

            request.items = new List <GroceryItem>();
            request.items.Add(item);
            await _task.UpdateGrocery(request);

            var itemsAgain = await _task.GetGrocery();

            Assert.NotNull(itemsAgain);
            Assert.True(itemsAgain.GroceryItems[0].Amount == item.Amount);
            foreach (GroceryItem groc in itemsAgain.GroceryItems)
            {
                await _task.DeleteGrocery(groc.GroceryItemId);
            }
        }
예제 #6
0
 public async Task <JsonResponse> UpdateGrocery(GroceryRequest update)
 {
     return(await _grocCtrl.Put(update));
 }