Updated: 2026-04-29 PR: mendixlabs/mxcli#301
See AGENT-TESTING.md for build, execution methods, and verification patterns.
show business event services;
Expected: Table with columns Module | QualifiedName | Service | Messages | Publish | Subscribe. Summary line (N business event services). Sorted alphabetically.
show business event services in MyModule;
Expected: Only services from MyModule. Same column format.
show business event services in NonExistentModule;
Expected: No business event services found.
show business events;
Expected: Table with columns Service | Message | Operation | Entity | Attributes. Operation values are PUBLISH or SUBSCRIBE. Summary line (N business events).
show business events in MyModule;
Expected: Only events from MyModule. Same column format.
show business events in NonExistentModule;
Expected: Empty result or No business events found.
describe business event service MyModule.OrderEvents;
Expected: Full MDL output:
create business event service MyModule.OrderEvents
event_name_prefix 'com.example.order'
message OrderCreated (
OrderId: Long,
CustomerName: String,
Total: Decimal
) publish entity MyModule.OrderCreatedEvent
/
describe business event service MyModule.PaymentEvents;
Expected: MDL includes subscribe keyword with entity and microflow references:
create business event service MyModule.PaymentEvents
event_name_prefix 'com.example.payment'
message PaymentReceived (
PaymentId: Long,
Amount: Decimal,
Currency: String
) subscribe entity MyModule.PaymentReceivedEvent microflow MyModule.OnPaymentReceived
/
describe business event service MyModule.InventoryEvents;
Expected: Multiple message blocks in output. Each has its own attribute list, operation keyword, and entity reference.
Verify described output includes attributes of each supported type:
| Type | Example |
|---|---|
| Long | OrderId: Long |
| String | Name: String |
| Integer | Count: Integer |
| Boolean | IsActive: Boolean |
| DateTime | Timestamp: DateTime |
| Decimal | Amount: Decimal |
describe business event service MyModule.Fake;
Expected: Error — service not found.
drop business event service MyModule.OrderEvents;
Expected: Service removed. describe business event service MyModule.OrderEvents returns error.
drop business event service MyModule.Fake;
Expected: Error — service not found.
create persistent entity MyModule.InvoiceCreatedEvent (
InvoiceId: Long,
CustomerName: String,
TotalAmount: Decimal
);
create business event service MyModule.InvoiceEvents
event_name_prefix 'com.example.invoice'
message InvoiceCreated (
InvoiceId: Long,
CustomerName: String,
TotalAmount: Decimal
) publish entity MyModule.InvoiceCreatedEvent;
show business events in MyModule;
Expected: All statements succeed. show business events lists InvoiceCreated with operation PUBLISH and entity MyModule.InvoiceCreatedEvent.
create persistent entity MyModule.ShipmentReceivedEvent (
ShipmentId: Long,
Carrier: String
);
create business event service MyModule.ShipmentEvents
event_name_prefix 'com.example.shipment'
message ShipmentReceived (
ShipmentId: Long,
Carrier: String
) subscribe entity MyModule.ShipmentReceivedEvent microflow MyModule.OnShipmentReceived;
show business events in MyModule;
Expected: show business events lists ShipmentReceived with operation SUBSCRIBE.
create business event service MyModule.Lifecycle
event_name_prefix 'com.example.lc.v1'
message Ping (
Seq: Integer
) publish entity MyModule.PingEvent;
create or replace business event service MyModule.Lifecycle
event_name_prefix 'com.example.lc.v2'
message Ping (
Seq: Integer,
Timestamp: DateTime
) publish entity MyModule.PingEvent;
describe business event service MyModule.Lifecycle;
Expected: Final describe shows v2 prefix and Timestamp attribute.
show business event services;
(Run without -p flag or before opening a project.)
Expected: Error — not connected to a project.
describe business event service MyModule.DoesNotExist;
Expected: Error — service not found.
create business event service MyModule.OrderEvents
event_name_prefix 'com.example.order'
message Msg (X: Integer) publish entity MyModule.MsgEvent;
create business event service MyModule.OrderEvents
event_name_prefix 'com.example.order'
message Msg (X: Integer) publish entity MyModule.MsgEvent;
Expected: First succeeds. Second returns error — already exists.
show business event services in FakeModule;
Expected: No business event services found. or error — module not found.
create business event service MyModule.BadRef
event_name_prefix 'com.example.badref'
message Msg (X: Integer) publish entity MyModule.NonExistentEntity;
Expected: Error — entity not found.
create business event service MyModule.BadType
event_name_prefix 'com.example.badtype'
message Msg (X: InvalidType) publish entity MyModule.SomeEvent;
Expected: Error — unknown type. No service created.
| Operation | Lato Enquiry | Evora Factory | Lato Product |
|---|---|---|---|
| SHOW BUSINESS EVENT SERVICES | x | x | x |
| SHOW BUSINESS EVENTS | x | x | x |
| DESCRIBE BUSINESS EVENT SERVICE | x | x | |
| DROP BUSINESS EVENT SERVICE | x |
Read operations tested on all projects. Write operations on copies of one project.
| Section | Automated | Manual-only |
|---|---|---|
| 1. SHOW BUSINESS EVENT SERVICES | Mock tests | |
| 2. SHOW BUSINESS EVENTS | Mock tests | |
| 3. DESCRIBE BUSINESS EVENT SERVICE | Mock tests | |
| 4. DROP BUSINESS EVENT SERVICE | Mock tests | |
| 5. Multi-step | All manual | |
| 6. Failure modes | Partial | Edge cases |
Tester: _______________ Date: _______________ Project: _______________
| # | Section | Test | Pass | Fail | Skip | Notes |
|---|---|---|---|---|---|---|
| 1.1 | SHOW BE SERVICES | List all | ||||
| 1.2 | SHOW BE SERVICES | Filter by module | ||||
| 1.3 | SHOW BE SERVICES | Empty result | ||||
| 2.1 | SHOW BE | List all | ||||
| 2.2 | SHOW BE | Filter by module | ||||
| 2.3 | SHOW BE | Empty module | ||||
| 3.1 | DESCRIBE BE SERVICE | Publish message | ||||
| 3.2 | DESCRIBE BE SERVICE | Subscribe message | ||||
| 3.3 | DESCRIBE BE SERVICE | Multiple messages | ||||
| 3.4 | DESCRIBE BE SERVICE | All attribute types | ||||
| 3.5 | DESCRIBE BE SERVICE | Not found | ||||
| 4.1 | DROP BE SERVICE | Existing | ||||
| 4.2 | DROP BE SERVICE | Non-existent | ||||
| 5.1 | MULTI-STEP | Entity + publish + verify | ||||
| 5.2 | MULTI-STEP | Entity + subscribe + verify | ||||
| 5.3 | MULTI-STEP | Create + replace + verify | ||||
| 6.1 | FAILURE | Not connected | ||||
| 6.2 | FAILURE | Service not found | ||||
| 6.3 | FAILURE | Already exists | ||||
| 6.4 | FAILURE | Module not found | ||||
| 6.5 | FAILURE | Missing entity ref | ||||
| 6.6 | FAILURE | Invalid attribute type |
Summary: ___ / ___ passed | ___ failed | ___ skipped