diff options
Diffstat (limited to 'proxy/code/src/org/fedoraproject/candlepin/resource')
5 files changed, 74 insertions, 51 deletions
diff --git a/proxy/code/src/org/fedoraproject/candlepin/resource/ConsumerResource.java b/proxy/code/src/org/fedoraproject/candlepin/resource/ConsumerResource.java index 5e0f939..cce0294 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/resource/ConsumerResource.java +++ b/proxy/code/src/org/fedoraproject/candlepin/resource/ConsumerResource.java @@ -77,7 +77,7 @@ public class ConsumerResource extends BaseResource { System.out.println("metadata: " + ci.getMetadata()); System.out.println("ci: " + ci); //Owner owner = (Owner) ObjectFactory.get().lookupByUUID(Owner.class, owneruuid); - Consumer c = new Consumer(BaseModel.generateUUID()); + Consumer c = new Consumer(); c.setName(ci.getMetadataField("name")); //c.setOwner(owner); c.setInfo(ci); @@ -110,15 +110,15 @@ public class ConsumerResource extends BaseResource { * @param cid Consumer ID to affect * @param pid Product ID to remove from Consumer. */ - @DELETE @Path("{cid}/products/{pid}") - public void delete(@PathParam("cid") String cid, - @PathParam("pid") String pid) { - System.out.println("cid " + cid + " pid = " + pid); - Consumer c = (Consumer) ObjectFactory.get().lookupByUUID(Consumer.class, cid); - if (!c.getConsumedProducts().remove(pid)) { - log.error("no product " + pid + " found."); - } - } +// @DELETE @Path("{cid}/products/{pid}") +// public void delete(@PathParam("cid") String cid, +// @PathParam("pid") String pid) { +// System.out.println("cid " + cid + " pid = " + pid); +// Consumer c = (Consumer) ObjectFactory.get().lookupByUUID(Consumer.class, cid); +// if (!c.getConsumedProducts().remove(pid)) { +// log.error("no product " + pid + " found."); +// } +// } @GET @Path("{cid}/products/{pid}") @Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML }) diff --git a/proxy/code/src/org/fedoraproject/candlepin/resource/EntitlementResource.java b/proxy/code/src/org/fedoraproject/candlepin/resource/EntitlementResource.java index 0e32188..81c46e1 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/resource/EntitlementResource.java +++ b/proxy/code/src/org/fedoraproject/candlepin/resource/EntitlementResource.java @@ -21,6 +21,7 @@ import org.fedoraproject.candlepin.model.EntitlementPool; import org.fedoraproject.candlepin.model.ObjectFactory; import org.fedoraproject.candlepin.model.Product; import org.fedoraproject.candlepin.resource.cert.CertGenerator; +import org.fedoraproject.candlepin.util.EntityManagerUtil; import com.sun.jersey.api.representation.Form; @@ -30,6 +31,8 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import javax.persistence.EntityManager; +import javax.persistence.Query; import javax.ws.rs.Consumes; import javax.ws.rs.GET; import javax.ws.rs.POST; @@ -55,7 +58,6 @@ public class EntitlementResource extends BaseResource { private Object validateObjectInput(Form form, String fieldName, Class clazz) { String uuid = form.getFirst(fieldName); - log.debug("UUID: " + uuid); Object o = ObjectFactory.get().lookupByUUID(clazz, uuid); if (o == null) { throw new RuntimeException(clazz.getName() + " with UUID: [" + @@ -65,7 +67,6 @@ public class EntitlementResource extends BaseResource { } private Object validateObjectInput(String uuid, Class clazz) { - log.debug("UUID: " + uuid); Object o = ObjectFactory.get().lookupByUUID(clazz, uuid); if (o == null) { throw new RuntimeException(clazz.getName() + " with UUID: [" + @@ -74,6 +75,17 @@ public class EntitlementResource extends BaseResource { return o; } + private Object newValidateObjectInput(EntityManager em, Long id, Class clazz) { + Query q = em.createQuery("from " + clazz.getName() + " o where o.id = :id"); + q.setParameter("id", id); +// if (o == null) { +// throw new RuntimeException(clazz.getName() + " with UUID: [" + +// uuid + "] not found"); +// } + Object result = q.getSingleResult(); + return result; + } + /** * Test method * @param c consumer test @@ -84,7 +96,6 @@ public class EntitlementResource extends BaseResource { @Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML }) @Path("/foo") public Object foo(Consumer c) { - System.out.println("Consumer uuid: " + c.getUuid()); return "return value"; } @@ -167,9 +178,10 @@ public class EntitlementResource extends BaseResource { @Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML }) @Path("/listavailable") public List<EntitlementPool> listAvailableEntitlements( - @PathParam("uuid") String uuid) { + @PathParam("consumerId") Long consumerId) { + EntityManager em = EntityManagerUtil.createEntityManager(); - Consumer c = (Consumer) validateObjectInput(uuid, Consumer.class); + Consumer c = (Consumer) newValidateObjectInput(em, consumerId, Consumer.class); List<EntitlementPool> entitlementPools = new EntitlementPoolResource().list(); List<EntitlementPool> retval = new ArrayList<EntitlementPool>(); EntitlementMatcher matcher = new EntitlementMatcher(); diff --git a/proxy/code/src/org/fedoraproject/candlepin/resource/test/ConsumerResourceTest.java b/proxy/code/src/org/fedoraproject/candlepin/resource/test/ConsumerResourceTest.java index 3c78078..10a2c15 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/resource/test/ConsumerResourceTest.java +++ b/proxy/code/src/org/fedoraproject/candlepin/resource/test/ConsumerResourceTest.java @@ -18,8 +18,8 @@ import org.fedoraproject.candlepin.model.Consumer; import org.fedoraproject.candlepin.model.ConsumerInfo; import org.fedoraproject.candlepin.model.ConsumerType; import org.fedoraproject.candlepin.model.ObjectFactory; -import org.fedoraproject.candlepin.model.test.TestUtil; import org.fedoraproject.candlepin.resource.ConsumerResource; +import org.fedoraproject.candlepin.test.TestUtil; import com.sun.jersey.api.client.Client; import com.sun.jersey.api.client.WebResource; @@ -48,36 +48,36 @@ public class ConsumerResourceTest { "name", newname)); } - @Test - public void testDelete() { - Consumer c = TestUtil.createConsumer(); - String uuid = c.getUuid(); - ConsumerResource capi = new ConsumerResource(); - assertNotNull(ObjectFactory.get().lookupByUUID(c.getClass(), uuid)); - capi.delete(uuid); - assertNull(ObjectFactory.get().lookupByUUID(c.getClass(), uuid)); - } - - @Test - public void testJSON() { - ClientConfig cc = new DefaultClientConfig(); - Client c = Client.create(cc); +// @Test +// public void testDelete() { +// Consumer c = TestUtil.createConsumer(); +// String uuid = c.getUuid(); +// ConsumerResource capi = new ConsumerResource(); +// assertNotNull(ObjectFactory.get().lookupByUUID(c.getClass(), uuid)); +// capi.delete(uuid); +// assertNull(ObjectFactory.get().lookupByUUID(c.getClass(), uuid)); +// } - ConsumerInfo ci = new ConsumerInfo(); - ci.setMetadataField("name", "jsontestname"); - ci.setType(new ConsumerType("standard-system")); - - WebResource res = - c.resource("http://localhost:8080/candlepin/consumer/"); - Consumer rc = res.type("application/json").post(Consumer.class, ci); - assertNotNull(rc); - assertNotNull(rc.getUuid()); - System.out.println(rc.getUuid()); +// @Test +// public void testJSON() { +// ClientConfig cc = new DefaultClientConfig(); +// Client c = Client.create(cc); +// +// ConsumerInfo ci = new ConsumerInfo(); +// ci.setMetadataField("name", "jsontestname"); +// ci.setType(new ConsumerType("standard-system")); +// +// WebResource res = +// c.resource("http://localhost:8080/candlepin/consumer/"); +// Consumer rc = res.type("application/json").post(Consumer.class, ci); +// assertNotNull(rc); +// assertNotNull(rc.getUuid()); +// System.out.println(rc.getUuid()); // WebResource delres = // c.resource("http://localhost:8080/candlepin/consumer/"); // delres.accept("application/json").delete(rc.getUuid()); // // assertNull(ObjectFactory.get().lookupByUUID(c.getClass(), rc.getUuid())); - } +// } } diff --git a/proxy/code/src/org/fedoraproject/candlepin/resource/test/EntitlementMatcherTest.java b/proxy/code/src/org/fedoraproject/candlepin/resource/test/EntitlementMatcherTest.java index 910eee0..b5bac0e 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/resource/test/EntitlementMatcherTest.java +++ b/proxy/code/src/org/fedoraproject/candlepin/resource/test/EntitlementMatcherTest.java @@ -19,8 +19,8 @@ import org.fedoraproject.candlepin.model.ConsumerType; import org.fedoraproject.candlepin.model.ObjectFactory; import org.fedoraproject.candlepin.model.Product; import org.fedoraproject.candlepin.model.ProductFactory; -import org.fedoraproject.candlepin.model.test.TestUtil; import org.fedoraproject.candlepin.resource.EntitlementMatcher; +import org.fedoraproject.candlepin.test.TestUtil; import java.util.List; diff --git a/proxy/code/src/org/fedoraproject/candlepin/resource/test/EntitlementResourceTest.java b/proxy/code/src/org/fedoraproject/candlepin/resource/test/EntitlementResourceTest.java index c6f4eab..38d264a 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/resource/test/EntitlementResourceTest.java +++ b/proxy/code/src/org/fedoraproject/candlepin/resource/test/EntitlementResourceTest.java @@ -18,9 +18,11 @@ import org.fedoraproject.candlepin.model.Consumer; import org.fedoraproject.candlepin.model.ConsumerType; import org.fedoraproject.candlepin.model.EntitlementPool; import org.fedoraproject.candlepin.model.ObjectFactory; +import org.fedoraproject.candlepin.model.Owner; import org.fedoraproject.candlepin.model.Product; -import org.fedoraproject.candlepin.model.test.TestUtil; import org.fedoraproject.candlepin.resource.EntitlementResource; +import org.fedoraproject.candlepin.test.DatabaseTestFixture; +import org.fedoraproject.candlepin.test.TestUtil; import com.sun.jersey.api.client.Client; import com.sun.jersey.api.client.WebResource; @@ -39,18 +41,27 @@ import static org.junit.Assert.*; /** * ConsumerResourceTest - * @version $Rev$ */ -public class EntitlementResourceTest { +public class EntitlementResourceTest extends DatabaseTestFixture { private Consumer consumer; private Product product; private EntitlementPool ep; @Before - public void setUp() throws Exception { - consumer = TestUtil.createConsumer(); + public void createTestObjects() { + + em.getTransaction().begin(); + + Owner o = TestUtil.createOwner(); + consumer = TestUtil.createConsumer(o); product = TestUtil.createProduct(); + + em.persist(o); + em.persist(consumer); + em.persist(product); + em.getTransaction().commit(); + ep = new EntitlementPool(); ep.setProduct(product); ep.setOwner(consumer.getOwner()); @@ -69,7 +80,7 @@ public class EntitlementResourceTest { EntitlementResource eapi = new EntitlementResource(); Form f = new Form(); - f.add("consumer_uuid", consumer.getUuid()); + f.add("consumer_id", consumer.getId()); f.add("product_id", product.getId()); String cert = (String) eapi.entitle(consumer, product); @@ -81,7 +92,7 @@ public class EntitlementResourceTest { boolean failed = false; for (int i = 0; i < ep.getMaxMembers() + 10; i++) { Consumer ci = TestUtil.createConsumer(consumer.getOwner()); - f.add("consumer_uuid", ci.getUuid()); + f.add("consumer_id", ci.getId()); try { eapi.entitle(consumer, product); } @@ -124,9 +135,9 @@ public class EntitlementResourceTest { EntitlementResource eapi = new EntitlementResource(); consumer.setType(new ConsumerType("standard-system")); Form f = new Form(); - f.add("consumer_uuid", consumer.getUuid()); + f.add("consumer_id", consumer.getId()); - List<EntitlementPool> avail = eapi.listAvailableEntitlements(consumer.getUuid()); + List<EntitlementPool> avail = eapi.listAvailableEntitlements(consumer.getId()); assertNotNull(avail); assertTrue(avail.size() > 0); } |