Is there a formal AMQP compliance test suite (for developers of client libraries)?

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Is there a formal AMQP compliance test suite (for developers of client libraries)?

Michael Justin
Hello,

in the past I have developed a STOMP based RabbitMQ client library for
Delphi / Free Pascal. Many users are also interested in a native AMQP
client for these programming languages.

AMQP 0.9.x and 1.0 however seem to be quite complex compared with STOMP.
I could start with a subset of the AMQP protocol (leaving out optional
parts of the specification), use existing unit tests for RabbitMQ client
libraries as a starting point, and test against various AMQP
implementations.

Maybe there is some testing code available on the web for the automated
verification of AMQP client standard compliance?

--
Michael Justin

_______________________________________________
rabbitmq-discuss mailing list
[hidden email]
https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Reply | Threaded
Open this post in threaded view
|

Re: Is there a formal AMQP compliance test suite (for developers of client libraries)?

michaelklishin

2014-03-14 11:50 GMT+04:00 Michael Justin <[hidden email]>:
AMQP 0.9.x and 1.0 however seem to be quite complex compared with STOMP. I could start with a subset of the AMQP protocol (leaving out optional parts of the specification), use existing unit tests for RabbitMQ client libraries as a starting point, and test against various AMQP implementations.

Maybe there is some testing code available on the web for the automated verification of AMQP client standard compliance?


Nothing that I'm aware of. Use client test suites, primarily RabbitMQ Java client and Bunny.
Also note that AMQP 1.0 is effectively a completely different protocol from 0.9.1 and there are RabbitMQ extensions to 0.9.1.

--
MK

http://github.com/michaelklishin
http://twitter.com/michaelklishin

_______________________________________________
rabbitmq-discuss mailing list
[hidden email]
https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Reply | Threaded
Open this post in threaded view
|

Re: Is there a formal AMQP compliance test suite (for developers of client libraries)?

michaelklishin

2014-03-14 12:13 GMT+04:00 Michael Klishin <[hidden email]>:
Also note that AMQP 1.0 is effectively a completely different protocol from 0.9.1

...and that the number of production users and mature client libraries for 0.9.1 significantly outnumbers
those of 1.0.
--
MK

http://github.com/michaelklishin
http://twitter.com/michaelklishin

_______________________________________________
rabbitmq-discuss mailing list
[hidden email]
https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Reply | Threaded
Open this post in threaded view
|

Re: Is there a formal AMQP compliance test suite (for developers of client libraries)?

Matthias Radestock-3
In reply to this post by michaelklishin
On 14/03/14 08:13, Michael Klishin wrote:

>
> 2014-03-14 11:50 GMT+04:00 Michael Justin <[hidden email]
> <mailto:[hidden email]>>:
>
>     AMQP 0.9.x and 1.0 however seem to be quite complex compared with
>     STOMP. I could start with a subset of the AMQP protocol (leaving out
>     optional parts of the specification), use existing unit tests for
>     RabbitMQ client libraries as a starting point, and test against
>     various AMQP implementations.
>
>     Maybe there is some testing code available on the web for the
>     automated verification of AMQP client standard compliance?
>
>
>
> Nothing that I'm aware of. Use client test suites, primarily RabbitMQ
> Java client and Bunny.

The OP is asking how to test a *client* for compliance.

There is no test suite available for AMQP clients. AMQP is a primarily
client-driven protocol, i.e. stuff happens because the client did
something. There is no portable way for a test suite to drive a client
and make it do something since, by definition, clients are written in
all kinds of different languages, make different choices as to what APIs
to present to developers, etc

Matthias.
_______________________________________________
rabbitmq-discuss mailing list
[hidden email]
https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Reply | Threaded
Open this post in threaded view
|

Re: Is there a formal AMQP compliance test suite (for developers of client libraries)?

Michael Klishin-2
On 14 Mar 2014, at 12:29, Matthias Radestock <[hidden email]> wrote:

> The OP is asking how to test a *client* for compliance.

My suggestion was to use existing client tests to produce one for the new client.

MK

Software Engineer, Pivotal/RabbitMQ


_______________________________________________
rabbitmq-discuss mailing list
[hidden email]
https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Reply | Threaded
Open this post in threaded view
|

Re: Is there a formal AMQP compliance test suite (for developers of client libraries)?

Michael Justin
In reply to this post by michaelklishin
Am 14.03.2014 09:13, Michael Klishin wrote:

> Nothing that I'm aware of. Use client test suites, primarily RabbitMQ
> Java client and Bunny.

The RabbitMQ Java client will be a very helpful starting point, many
thanks for the hint.

I have seen rabbitmq-codegen (http://hg.rabbitmq.com/rabbitmq-codegen),
is automated code generation used (and recommended) for RabbitMQ client
side (Java) libraries?

Regards
--
Michael Justin

_______________________________________________
rabbitmq-discuss mailing list
[hidden email]
https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Reply | Threaded
Open this post in threaded view
|

Re: Is there a formal AMQP compliance test suite (for developers of client libraries)?

Michael Klishin-2

On 14 Mar 2014, at 13:08, Michael Justin <[hidden email]> wrote:

> I have seen rabbitmq-codegen (http://hg.rabbitmq.com/rabbitmq-codegen), is automated code generation used (and recommended) for RabbitMQ client side (Java) libraries?

It is used by multiple clients (Java, .NET, Erlang, Bunny, amqp gem, and others), directly or indirectly.

Some clients (e.g. Go) choose to do code generation from scratch:
https://github.com/streadway/amqp/tree/master/spec

MK

Software Engineer, Pivotal/RabbitMQ


_______________________________________________
rabbitmq-discuss mailing list
[hidden email]
https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Reply | Threaded
Open this post in threaded view
|

Re: Is there a formal AMQP compliance test suite (for developers of client libraries)?

Simon MacMullen-2
In reply to this post by Michael Justin
On 14/03/2014 9:08AM, Michael Justin wrote:
> is automated code generation used (and recommended) for RabbitMQ client
> side (Java) libraries?

It's very strongly recommended (and not just for Java). Almost all
clients do codegen. Those that don't tend to end up containing a lot of
repetitive code that can be quite buggy, difficult to extend etc.

Cheers, Simon

--
Simon MacMullen
RabbitMQ, Pivotal
_______________________________________________
rabbitmq-discuss mailing list
[hidden email]
https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss