invictus-integration/testing-framework

Setup LogicApp testing infrastructure for integration tests

Closed this issue · 11 comments

Is your feature request related to a problem? Please describe.
Currently, the integration tests require some extra configuration values before the tests can be run.
The tests require credentials to manage the logic app resources in Azure.

Also, the variables should be at as a variable group.

Describe the solution you'd like
Currently, the tests require following values:

  • #{LogicApps.SubscriptionId}#
  • #{LogicApps.TenantId}#
  • #{LogicApps.ClientId}#
  • #{LogicApps.ClientSecret}#
  • #{LogicApps.ResourceGroup}#

Describe alternatives you've considered
Maybe there's already such a testing infrastructure set up, but need the values just be available for thie repo.

Additional context
https://github.com/invictus-integration/testing-framework/blob/master/src/Invictus.TestLibrary.LogicApps.UnitTests/app.config

I think it's two-fold:

  • Non-secrets should go to a variable template
  • Secrets should be defined as a variable group

But agree for the rest

The required values should currently be available as variable within the variable group 'Invictus.Testing' in the DevOps-project.

The yaml-pipeline should be making use of the 'replace tokens' task to replace the aforementioned placeholders by the actual values stored in the variable group before running building and running any tests.

Regarding the infrastructure used to run these tests: they are available in the Codit R&D Azure Subscription within the resource group 'invictus-tst-testing' of which Toon V. currently is still the owner.
What is/was not part of the creation of the testing-framework was the automated deployment of the testing infrastructure - which might be a good addition to this project.

Thanks for that, let's move these to our OSS project then so that they are available for our builds!

@mbraekman , the 'invictus-tst-testing' resource group is not something that is available for me on Azure. Should I contact Toon about this?

Plus all the ID's in the the variable group are made secrets, so there's no way for me to know what resources, applications, ... it was refered too. We can't move variable groups across projects and can't give access to them from across projects (AFAIK).

Any thoughts?

Maybe this is something @mbraekman can pick up to fill them in in a variable you've created @stijnmoreels ?

Just checked, but I seem to be lacking the access rights to grant you access to the resource group, so I'll check with Toon for that.

Regarding the secrets/ID's, I propose to create a LastPass folder to add this type of information - which I'll do within the next minute and share it with the both of you.
Not that I don't want to add them directly into the created variables, just seems to be a more future-proof approach.

Thanks - We already have a folder so will invite you @mbraekman

Thanks - We already have a folder so will invite you @mbraekman

We already have a folder for invictus?

No, we'll re-use Arcus one

All values are now in the variable group. Which variables should be in the variable template?

I'd go with resource group & client id