Mock a return type of Task and Tuple with Moq

moq logo

Issue

Using Moq I was creating a few unit tests and stumbled across an interesting problem. I needed to mock a call to an async method on a service under test that took in a 2 parameters and returned a tuple of 2 values. read more

System.MissingMethodException: Method not found – Entity Framework

Issue

Encountered the System.MissingMethodException: Method not found with very little else to go on. I noticed as part of the stack trace a reference to an async call on Entity Framework Core Add method. read more

Azure Application Insights CI/CD Enrichment

As part of getting the API “match fit” prior to deployment I explored the various options for logging, auditing and telemetry to provide feedback in relation to production diagnosis and application usage (API focus here). This is part 1 which covers the enrichment of the deployment pipelines using the Azure Application Insights. read more

Postman Testing – Chaining Requests From one Request to Another

postman logo

The Issue

I’d like to run a full suite of Postman tests are part of a CD pipeline into pre-production to indicate any issues and stopping the deployment of the API further. I’d built up 200+ Postman tests to cover standard CRUD operations on a number of resources. The tests were checking the POST responses for certain eleements returned in the body, 200 responses etc. Similar for PUTS, PATCHES and GETS. However, it would be nice to create a resource then reference this resource across all API operations for that resource. read more

Entity Framework Core: A second operation started on this context before a previous operation completed

Working with EF Core across multiple controller services I was receiving the following Entity Framework Core: A second operation started on this context before a previous operation completed. The link for StackOverflow talks about ensuring your dbContext is correctly injected into the ServiceCollection which mine was. A bit of headscratching I was thinking that my foreach loop look fine there was nothing too crazy/costly happening. Then I realised the objects I was looping over hadn’t terminated with a ToList() or similar. Once I added the ToList() the context returned the scope and happy days!