Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automated validation that the Portal UI outputs map to deployment template parameter inputs #598

Closed
glennmusa opened this issue Jan 4, 2022 · 2 comments · Fixed by #620
Assignees
Labels
core New feature or request user interface

Comments

@glennmusa
Copy link
Contributor

glennmusa commented Jan 4, 2022

Benefit/Result/Outcome

So that as new changes enter mlz.bicep we have some idea if the Azure Portal form will still work.

More importantly, so that if any proposed changes to mlz.bicep would break the Azure Portal form, we know right away to prevent the form from breaking in /main and get feedback on how to update the form.

Description

The ARM TTK has unit tests for CreateUIDefinition files. This seems like a good place to start. The ARM TTK does not support Declarative Forms.

Acceptance Criteria

  • On a PR, check to see that the Portal UI is compatible with the compiled Bicep deployment template
  • check that all required parameters in the deployment template have a matching named output in the Portal UI template
  • check that the Portal UI template outputs contain only named values that are available parameters in the deployment template
@brooke-hamilton brooke-hamilton added spike A time-boxed effort to answer a question and removed needs triage labels Jan 10, 2022
@glennmusa glennmusa self-assigned this Jan 11, 2022
@glennmusa
Copy link
Contributor Author

glennmusa commented Jan 11, 2022

The ARM TTK comes out of the box with test support for createUiDefinition.json Portal UI templates, but not the Declarative Form json templates that MLZ uses.

Will research what kind of testing support is available to Full Screen Create templates.

The guidance from the Declarative Form team is to write an end-to-end test that targets a self-hosted portal pane that you can serve via the Azure Portal CLI ap serve command by providing your Declarative Form (e.g. src/bicep/form/mlz.portal.json) and the target deployment template (e.g. src/bicep/mlz.json) to execute a deployment.

That's certainly a desired end state, but, it does require an machine/agent configuration to run the ap CLI, source packages from an internal NuGet feed, and presumably some automation to ready/clean subscriptions.

In the meantime, we will probably get value out of some simple checks that answer:

@glennmusa glennmusa removed the spike A time-boxed effort to answer a question label Jan 18, 2022
@glennmusa
Copy link
Contributor Author

Implementation started at glenn/declarativeFormValidation

@glennmusa glennmusa changed the title Automated validation that the Portal UI deployment works with any proposed Bicep changes Automated validation that the Portal UI outputs map to deployment template parameter inputs Jan 19, 2022
@brooke-hamilton brooke-hamilton added the core New feature or request label Feb 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core New feature or request user interface
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

2 participants