Test Automation for gRPC services - grpc

Wanted to check if there is any test automation framework available to automate gRPC services. Thanks!
Looking for documentation or approach around automation framework

Related

Stand up a ASP.Net Core Web API service in an NUnit Test

I have a NuGet package that I am trying to write some integration tests around. I am using NUnit to run these tests.
I would like to stand up a basic Web API service using .Net 6.0. Most of the examples I see require a full project dedicated to running the service.
Is there a way I can standup a simple Web API service in the [setup] of my test?
It can just run on localhost and only need a single GET operation.

WebApplicationFactory and release pipeline

I am new to WebApplicationFactory use and want to know
what is the use of this WebApplicationFactory class for integration tests. as my understanding, it is useful only for mocking external services (this is what we do in unit tests).
Should we use WebApplicationFactory for simple web api integration testing?
what happens in release pipelines?
when i run integration tests (written using WebApplicationFactory) open the web api automatically and uses overrided appsettings set in a custom WebApplicationFactory class.
so when i publish the tests code on azure and creates release pipeline stage for integration tests. does the above test code (custom WebApplicationFactory ) override the actual app dll's appsetting. ( i mean does it start the app and use test appsetting logic)
MSFT has pretty good documentation about integration testing and the usage of WebApplicationFactory to help facilitate this type of testing for Web Applications. This is a good place to learn why integration testing is done and how to do it with WebApplicationFactory.
What is the use of this WebApplicationFactory class for integration tests?
The WebApplicationFactory helps you build an in-memory Http Server and an HttpClient capable of making requests on that server.
By default, WebApplicationFactory will build this server using all the same services and dependencies that are registered in the application you are testing. You can, if desired, modify the services that are registered to the IServiceCollection so that Fakes or Mocks can be used instead of concrete implementations, but this is more of a feature of WebApplicationFactory and not its purpose. Whether you use Mocks or not should depend on what you're trying to test, and whether it's OK to use the application's services for testing purposes.
WebApplicationFactory helps test the configuration and middleware pipeline of your web application in a way that unit tests can't. By making HTTP requests into your in-memory server, you're able to ensure your application and its endpoints are working properly.
What happens in release pipelines?
Your integration tests should be in a separate project from your main application. You don't want the integration test project to be in your release pipeline and, unless you have a good reason to, it shouldn't be published to Azure.

Trying to setup mimik's back-end services on AWS Ec2 instance

Here are a few clarifications we need from you :
Not able to find back-end service (mDS, mSS) components on GitHub. Could you let us know the path and the implementation steps? We are trying to deploy mimik's back-end components on the EC2 instance and try to configure/access the micro service deployed on the local laptop from another device.
How can we deploy microservices written in other languages like java, python etc. we can see support for microservices written in Java Script( Node JS) only.
mDS and mSS are core mimik backend services and are not publicly available on any website. The capabilities/functionalities of mSS and mDS are provided within edgeEngine during runtime on supported platforms. You can learn about these concepts and develop your own solutions in tandem with edgeEngine and various backend microservices on our developer portal below:

https://developer.mimik.com/products/
1.1. You can run edgeEngine on any of our supported platforms and deploy any of our publicly available local microservices as a way of learning how to develop, deploy and work with edge-microservice.
The agent program on any platform can be developed by any desired programming language; however, for exposing a restful API at the edge to provide any specific function or for orchestration purpose, you need to develop them using JavaScript. In this way you can re-use the microservice and deploy them dynamically on all platforms with different operating systems. This means we only support the deployment of microservices written in JavaScript on to edegEngine environment
If you are trying to develop your own commercial solution please contact mimik support team directly at support#mimik.com.
In addition to the above response by Maz Mandi, please note that your application on top of edgeEngine (application and microservices) will communicate with your application back-end directly vs. going through mimik global functions such as mDS and mSS.

Is there an equivalent of Spring Cloud Stream in .Net or .Net Core?

I have a Java project that needs to be rewritten in C# .Net Core. The Java app is currently deployed on cloud using SCS. The concept of stream looks smooth as we can easily visualize the flow of data there. It would be nice to have something similar available in .Net/Core. I tried Google, but couldn't get any useful info on this.
Steeltoe Stream Support:
https://github.com/SteeltoeOSS/steeltoe/issues/128
https://docs.steeltoe.io/articles/releases/steeltoe-3-1-minor-release-major-deal.html
This is an Epic, that will track all the work being done for our Streams feature.
Steeltoe Streams will be similar to the functionality that Spring Streams brings. Steeltoe Streams will be used for building highly scalable event-driven .NET microservices connected with shared messaging systems.
Steeltoe OSS: Cloud Native .NET Applications - Friend of Spring Boot and Spring Cloud.
Developed by WMware / Pivotal - https://hub.docker.com/u/steeltoeoss/

Service Fabric reliable service with .NET Core

So I am playing around with Service Fabric for rolling out a system to the cloud, and so far I have most of the stateless services ported over and running well using ASP.NET Core.
I have another set of services that need to be stateful, and I would like to leverage .NET Core for those services as well. For those I will need to run a custom TCP protocol, not HTTP/WebAPI/WCF.
So the question is; is this possible? The templates only have a ASP.NET Core stateless service template. Can I build something like a .NET Core console application to run as a "Reliable Service"? If so, is there any documentation on how to do this?
Yes, it's possible.
You can create the .NET 4.5.1 stateful service via the template, and then port that project to .NET Core - we've done this and it works just fine.
There doesn't appear to be any official documentation on this process.

Resources