]> WPIA git - gigi.git/blobdiff - tests/org/cacert/gigi/pages/orga/TestOrgDomain.java
Adding new fields to organisation account
[gigi.git] / tests / org / cacert / gigi / pages / orga / TestOrgDomain.java
index 0ee3b4094ece94ab7c2106271a9c096af0bc85c4..806ec964318c017bc23276be78eff395faf610be 100644 (file)
@@ -23,7 +23,7 @@ public class TestOrgDomain extends ClientTest {
 
     @Test
     public void testAdd() throws IOException, GigiApiException {
-        Organisation o1 = new Organisation(createUniqueName(), "st", "pr", "city", "test@example.com", u);
+        Organisation o1 = createUniqueOrg();
         String dom = createUniqueName() + ".de";
         assertNull(executeBasicWebInteraction(cookie, ViewOrgPage.DEFAULT_PATH + "/" + o1.getId(), "addDomain&domain=" + URLEncoder.encode(dom, "UTF-8"), 3));
         Domain[] d = o1.getDomains();
@@ -33,11 +33,65 @@ public class TestOrgDomain extends ClientTest {
 
     @Test
     public void testDel() throws IOException, GigiApiException {
-        Organisation o1 = new Organisation(createUniqueName(), "st", "pr", "city", "test@example.com", u);
+        Organisation o1 = createUniqueOrg();
         String dom = createUniqueName() + ".de";
         Domain d = new Domain(u, o1, dom);
         assertEquals(1, o1.getDomains().length);
         assertNull(executeBasicWebInteraction(cookie, ViewOrgPage.DEFAULT_PATH + "/" + o1.getId(), "delete=" + d.getId(), 2));
         assertEquals(0, o1.getDomains().length);
     }
+
+    @Test
+    public void testBusinessAddWhileUser() throws IOException, GigiApiException {
+        Organisation o1 = createUniqueOrg();
+        String dom = createUniqueName() + ".de";
+        new Domain(u, u, dom);
+        try {
+            new Domain(u, o1, dom);
+            fail("Was able to add domain twice.");
+        } catch (GigiApiException e) {
+            assertEquals("Domain could not be inserted. Domain is already known to the system.", e.getMessage());
+            // expected
+        }
+        assertEquals(0, o1.getDomains().length);
+        assertEquals(1, u.getDomains().length);
+    }
+
+    @Test
+    public void testBusinessAddWhileOtherOrg() throws IOException, GigiApiException {
+        Organisation o1 = createUniqueOrg();
+        Organisation o2 = createUniqueOrg();
+
+        String dom = createUniqueName() + ".de";
+        new Domain(u, o1, dom);
+        try {
+            new Domain(u, o2, dom);
+            fail("Was able to add domain twice.");
+        } catch (GigiApiException e) {
+            assertEquals("Domain could not be inserted. Domain is already known to the system.", e.getMessage());
+            // expected
+        }
+        assertEquals(1, o1.getDomains().length);
+        assertEquals(0, o2.getDomains().length);
+        assertEquals(0, u.getDomains().length);
+    }
+
+    private Organisation createUniqueOrg() throws GigiApiException {
+        Organisation o1 = new Organisation(createUniqueName(), "st", "pr", "city", "test@example.com", "", "", u);
+        return o1;
+    }
+
+    @Test
+    public void testBusinessAddInvalid() throws IOException, GigiApiException {
+        Organisation o1 = createUniqueOrg();
+        String dom = createUniqueName() + ".invalid-tld";
+        try {
+            new Domain(u, o1, dom);
+            fail("Was able to add invalid domain.");
+        } catch (GigiApiException e) {
+            // expected
+        }
+        assertEquals(0, o1.getDomains().length);
+        assertEquals(0, u.getDomains().length);
+    }
 }