summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDevan Goodwin <dgoodwin@redhat.com>2009-11-27 16:01:36 -0400
committerDevan Goodwin <dgoodwin@redhat.com>2009-11-27 16:01:36 -0400
commitf5838c3f453f6b1160ccfaab2f0aee4dfb3ca561 (patch)
tree114a0844c779262cecf51677ad535db0f238dda2
parent445c96e191e83eaa670cb0a00cb00d653f8fb71f (diff)
downloadcandlepin-f5838c3f453f6b1160ccfaab2f0aee4dfb3ca561.tar.gz
candlepin-f5838c3f453f6b1160ccfaab2f0aee4dfb3ca561.tar.xz
candlepin-f5838c3f453f6b1160ccfaab2f0aee4dfb3ca561.zip
Consumer.type should be a required column.
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/model/Consumer.java5
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/model/ConsumerInfo.java4
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/model/test/ConsumerTest.java12
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/resource/ConsumerResource.java2
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/test/DatabaseTestFixture.java8
5 files changed, 26 insertions, 5 deletions
diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/Consumer.java b/proxy/code/src/org/fedoraproject/candlepin/model/Consumer.java
index 45b7d7b..5e11a6a 100644
--- a/proxy/code/src/org/fedoraproject/candlepin/model/Consumer.java
+++ b/proxy/code/src/org/fedoraproject/candlepin/model/Consumer.java
@@ -59,6 +59,7 @@ public class Consumer {
private String name;
@ManyToOne
+ @JoinColumn(nullable=false)
private ConsumerType type;
@ManyToOne
@@ -89,14 +90,14 @@ public class Consumer {
this.type = type;
this.info = new ConsumerInfo();
- this.info.setParent(this); // TODO: ???
+ this.info.setConsumer(this); // TODO: ???
this.consumedProducts = new HashSet<Product>();
this.entitlements = new HashSet<Entitlement>();
}
public Consumer() {
this.info = new ConsumerInfo();
- this.info.setParent(this); // TODO: ???
+ this.info.setConsumer(this); // TODO: ???
this.consumedProducts = new HashSet<Product>();
this.entitlements = new HashSet<Entitlement>();
}
diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/ConsumerInfo.java b/proxy/code/src/org/fedoraproject/candlepin/model/ConsumerInfo.java
index 11297d9..6ea48bc 100644
--- a/proxy/code/src/org/fedoraproject/candlepin/model/ConsumerInfo.java
+++ b/proxy/code/src/org/fedoraproject/candlepin/model/ConsumerInfo.java
@@ -91,8 +91,8 @@ public class ConsumerInfo {
/**
* @param parentIn The parent to set.
*/
- public void setParent(Consumer parentIn) {
- consumer = parentIn;
+ public void setConsumer(Consumer consumerIn) {
+ consumer = consumerIn;
}
/**
diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/test/ConsumerTest.java b/proxy/code/src/org/fedoraproject/candlepin/model/test/ConsumerTest.java
index d633c6a..aedb49d 100644
--- a/proxy/code/src/org/fedoraproject/candlepin/model/test/ConsumerTest.java
+++ b/proxy/code/src/org/fedoraproject/candlepin/model/test/ConsumerTest.java
@@ -16,6 +16,8 @@ package org.fedoraproject.candlepin.model.test;
import java.util.Map;
+import javax.persistence.PersistenceException;
+
import org.fedoraproject.candlepin.model.Consumer;
import org.fedoraproject.candlepin.model.ConsumerInfo;
import org.fedoraproject.candlepin.model.ConsumerType;
@@ -62,6 +64,16 @@ public class ConsumerTest extends DatabaseTestFixture {
commitTransaction();
}
+
+ @Test(expected = PersistenceException.class)
+ public void testConsumerTypeRequired() {
+ Consumer newConsumer = new Consumer();
+ newConsumer.setName("cname");
+ newConsumer.setOwner(owner);
+ beginTransaction();
+ em.persist(newConsumer);
+ commitTransaction();
+ }
@Test
public void testLookup() throws Exception {
diff --git a/proxy/code/src/org/fedoraproject/candlepin/resource/ConsumerResource.java b/proxy/code/src/org/fedoraproject/candlepin/resource/ConsumerResource.java
index 4a87b67..478c49d 100644
--- a/proxy/code/src/org/fedoraproject/candlepin/resource/ConsumerResource.java
+++ b/proxy/code/src/org/fedoraproject/candlepin/resource/ConsumerResource.java
@@ -97,7 +97,7 @@ public class ConsumerResource extends BaseResource {
public ConsumerInfo getInfo() {
ConsumerInfo ci = new ConsumerInfo();
// ci.setType(new ConsumerType("system"));
- ci.setParent(null);
+ ci.setConsumer(null);
// Map<String,String> m = new HashMap<String,String>();
// m.put("cpu", "i386");
// m.put("hey", "biteme");
diff --git a/proxy/code/src/org/fedoraproject/candlepin/test/DatabaseTestFixture.java b/proxy/code/src/org/fedoraproject/candlepin/test/DatabaseTestFixture.java
index 6f8d474..f6c44e0 100644
--- a/proxy/code/src/org/fedoraproject/candlepin/test/DatabaseTestFixture.java
+++ b/proxy/code/src/org/fedoraproject/candlepin/test/DatabaseTestFixture.java
@@ -6,6 +6,7 @@ import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;
import org.fedoraproject.candlepin.model.Consumer;
+import org.fedoraproject.candlepin.model.ConsumerInfo;
import org.fedoraproject.candlepin.model.ConsumerType;
import org.fedoraproject.candlepin.model.Owner;
import org.fedoraproject.candlepin.model.Product;
@@ -38,6 +39,8 @@ public class DatabaseTestFixture {
*/
@After
public void cleanDb() {
+ em.close();
+ em = EntityManagerUtil.createEntityManager();
if (!em.getTransaction().isActive()) {
beginTransaction();
}
@@ -60,6 +63,11 @@ public class DatabaseTestFixture {
em.remove(c);
}
+// List<ConsumerInfo> consumerInfos = em.createQuery("from ConsumerInfo c").getResultList();
+// for (ConsumerInfo c : consumerInfos) {
+// em.remove(c);
+// }
+
// TODO: Is this right? Or should we pre-populate default defined types, and always
// reference these in the tests instead of creating them everywhere?
List<ConsumerType> consumerTypes = em.createQuery("from ConsumerType c").