First off, thank you. Making this sort of thing available is fantastic to the Pulp community.

Two notes:

- It's good that the tests can be run against a live Pulp installation, but is there an easy way to mock that out? If devs are going to use this, they'll want to unit test, which means simulating server responses so a live server isn't needed. Could be a useful enhancement.

- This one is harder to explain. I'd say to be careful using the term "Pulp V2 Ruby API Bindings" and phrase "to provide the community with a set of Ruby API bindings for Pulp". I've only taken a quick peek at the code, but what you're providing is an RPM spin on our APIs. That's totally useful to that end and makes sense for Katello, but it means this isn't quite for Pulp (the platform) as it'll be misleading (arguably broken) for devs not using the RPM plugins.

Again, that's not to say it isn't useful or appreciated. I am sure there are people who will be happy to use these. I just want to be sure it's pitched correctly to indicate its tight relationship to the RPM plugins and their functionality.




On 10/25/2012 11:20 AM, Eric Helms wrote:
Howdy Pulp folks,

As some of you may know, the Katello project has been working to integrate Pulp 
V2 within our code base.  As part of this migration, we decided to move the API 
bindings for Pulp out of our core project and into a stand alone Ruby gem in 
order to provide the community with a set of Ruby API bindings for Pulp.  At 
this point, the Katello side has neared completion of our API calls to the 
newer Pulp APIs and as such feel a good enough time to release an alpha version 
of our gem Runcible for perusal by others.

Things of note or that may interest Pulp developers (or give insight into how 
the API is being used, specifically the Extensions mentioned below):

   - Included is a set of integration tests using the rubygem VCR to capture 
HTTP traffic
     * This means that ALL tests can be and are run against a live Pulp 
installation
     * The currently tested version is noted at the top of the README

   - There are direct API bindings to Pulp calls

   - There are a set of Extensions to some Pulp objects designed to make common 
operations easier, for example:
     * Providing functions to create a Repository with an importer and 
distributor
     * Functions that specifically retrieve objects without native API calls, 
e.g. RPMs, Errata, Distributions etc. using search syntax
     * Objects to represent configurations for specific importers and 
distributors (see lib/runcible/extensions/YumImporter or YumDistributor for 
examples)

   - Every API call is not currently covered, as the focus has been on Katello 
requirements, however, this is a community project

Availability:

   Git:      https://github.com/Katello/runcible
   Rubygems: https://rubygems.org/gems/runcible
   RPM:      Can be built, currently not available in any public repository


Thanks,
Eric Helms

_______________________________________________
Pulp-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/pulp-list



--
Jay Dobies
Freenode: jdob @ #pulp
http://pulpproject.org | http://blog.pulpproject.org

_______________________________________________
Pulp-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/pulp-list

Reply via email to