Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is the first attempt to implement resource builders.
Why we need test builders:
WithX
functions that sets multiple stuff on the proto object.Build()
is called, which means that we always use valid objects.Rules
builders
contain the logic of the builder itself. Just callingbuilders.Dataplane().Build()
does not mean that we will get a validDataplane
object.samples
contain sample valid resources that can be used across the project. The idea is to reuse sample objects, so once we get familiar with basic samples, we don't have to rebuild the same objects for every test.With
methods. IfWith
is a list, then it replaces the list. For exampleWithInboundOfTags
replaces all inbounds with inbounds of specified tags.AddInboundOfTags
however adds an element to the list. Fields that are not collections always haveWith
only.panic
in Builder functions. They are used ONLY for tests.Question Marks
Builder#Create()
convenient or is it an overkill?Ideas
Builder#YAML()
can build and produce YAML of the resource. Also#JSON()
,#KubeYAML()
xref #4133
Checklist prior to review
syscall.Mkfifo
have equivalent implementation on the other OS --UPGRADE.md
? --> Changelog:
entry here or add aci/
label to run fewer/more tests?