oscerd opened a new pull request, #3041:
URL: https://github.com/apache/camel-kamelets/pull/3041
Second tranche of #2873, following #3040. Eight Pipes across `avro/` and
`protobuf/`.
## These are shaped differently from #3040
The `transformation/` directory had one Citrus test per integration. These
do not: each directory holds **two Citrus tests that each drive two
integrations**, and the two talk to each other — a binary source applies the
data type and posts to a webhook that the deserialize side serves.
So there is no per-Pipe Citrus file to rename. Instead, inside the four
existing Citrus tests:
- `file: "avro/avro-deserialize-pipe.yaml"` becomes `...-route.yaml`
- `integration: "avro-deserialize-pipe"` becomes `"avro-deserialize-route"`
— Camel JBang names the running integration after the file, so the verify step
has to follow the rename
Both READMEs described the setup in terms of Pipes and bindings, and are
reworded.
## Conversions are checked, not assumed
A verifier parses the Pipe and the generated route and compares the endpoint
chain and every property, so a dropped or altered value fails instead of
passing quietly. I proved it catches a planted change before trusting it, and
also ran it back over the seven conversions in #3040 — all clean.
It earned its keep here. The avro and protobuf schemas are folded block
scalars carrying embedded double quotes:
```yaml
schema: >
{ "name": "User", "type": "record", ... }
```
A first pass that quoted values by hand produced invalid YAML for these. The
converter now serialises through the YAML library and re-emits multi-line
strings as block scalars, so the schemas come out byte for byte as they went in.
## Verified
```
✔ SUCCESS (80360ms) avro-serdes-action-test
✔ SUCCESS (49278ms) avro-data-type-test
✔ SUCCESS (68796ms) protobuf-data-type-test
✔ SUCCESS (45862ms) protobuf-serdes-action-test
TOTAL: 4 PASSED: 4 (100.0%)
```
`./mvnw clean verify -pl :camel-kamelets-itest -Denable.integration.tests
-Dit.test='AvroIT,ProtobufIT'`
## Progress on #2873
15 of the 38 convertible Pipes done, counting #3040. Remaining: `kafka` 3,
`jira` 3, `salesforce` 3, `slack` 2, and 12 singles. The two Knative ones stay
as Pipes.
As in #3040, git pairs the files by similarity so some rename lines read
oddly; the content is verified separately by the chain comparison above.
---
_Claude Code on behalf of Andrea Cosentino_
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]