Pangolin

Batch running Pangolin tests on the cloud

Pangolin Server App

You should install a hosted copy of the Pangolin Test Orchestration app on a server. This should occur only once for the whole company. The source code of the app is available at https://gitlab.com/basirjalali/Pangolin/tree/master/Pangolin/Pangolin.Orchestration.API

Let’s say it’s hosted as https://pangolin.geeksltd.co.uk

Batch Run via Pangolin Test Explorer

To run a whole batch of unit tests on the cloud independently use the following command line utility:

Pangolin.Publisher.exe "C:\Projects\MyProject\Tests\bin\Debug\Tests.dll" "dd2fb66b-634d-4843-a1cb-6c83b47e2ee2" "https://pangolin.geeksltd.co.uk"

Pangolin Test Explorer: Visual Studio Extension

The Pangolin Test Explorer extension has been provided to run batch of unit tests more convenience. First of all, install the Pangolin Test Explorer extension via Visual Studio Extension tool. Search for Pangolin extension in Extension tool or download it from Pangolin Test Explorer and then install it. After Installing, Pangolin Test Explorer appears in the Visual Studio menu under View/Other Windows/PangolinWindow.

There is a Grid View to display the result of unit tests.

Pangolin Server

Note:This needs to be set up once only per organisation, and it already is, at http://pangolin.geeksltd.co.uk.

The Pangolin Server application is responsible for batch running a whole bunch of pangolin tests. It doesn’t run the tests itself, but rather creates a set of cloud virtual machines to execute the tests.

If required, to set it up on a new server on AWS, follow these instructions step by step:

  1. Create a VM in Amazon, this one must be Windows Server with SQL Server.
  2. In AWS create an Elastic IP to that VM.
  3. Map a domain (e.g. pangolin.geeksltd.co.uk) to that IP.
  4. Log in to the VM server.
  5. From the Pangolin source, copy Pangolin.CloudManager to the server under C:\Projects.
  6. Open the Pangolin.CloudManager console application and set these App.config keys:
    1. AmazonAccessKeyId : ….
    2. AmazonSecretAccessKey: …
    3. AmazonPangolinImageId: {Use the ID you will create in the next step}
  7. Enable IIS by adding the IIS feature.
  8. From the Pangolin source, copy Pangolin.Orchestration.API to the server under C:\Projects
  9. Grant IIS_USRS full control permission on that folder.
  10. Open IIS and add a website for that folder, bind to the domain (e.g. pangolin.geeksltd.co.uk)
  11. Set up SSL (see https://training.geeksltd.co.uk/a/CL/ALN).
  12. Modify these keys from Web.config to update these settings:
    1. ConnectionString: {database connection string}
    2. PangolinCloudManagerPath: C:\Projects\Pangolin.CloudManager
    3. PangolinRunnerServers: {number of server to be created}