-
Notifications
You must be signed in to change notification settings - Fork 3
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
Upload 1747/cloud agnostic e2e tests #532
Conversation
…fix and also some other refactors
…ce for environment patterns in the test cases
…ather than collecting info from Azure
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great overall! Just a few minor comments
data class Target( | ||
@JsonProperty("name") val name: String, | ||
@JsonProperty("path_template") val pathTemplate: Map<String, String> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Create a nested data class and assign it to the pathTemplate
type instead of a generic Map<String, String>
. That way, you'll be able to enforce that every path template needs a value for every environment you want to target because you'll get a runtime error if you don't provide all the values and try to deserialize.
data class PathTemplateByEnvironment(val local: String, val dev: String, val test: String, val stg: String)
Be sure to use @JsonProperty
as well since the key names in the json are capital case.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this might need a better solution. Pulling it in like this makes the pathTemplate for each environment difficult to access when we want to just get it for the current environment unless maybe we use reflection? With the map, at least we could access it by the environment variable being set. Might need some help with figuring this one out.
Making the end to end kotlin TestNG tests more cloud agnostic and not rely on cloud services to validate results. The primary change here is rather than going in to Azure to validate results or collect information to validate against, we will use the /info endpoint of the upload api to validate results against and trust those results there.
Changes: