]> WPIA git - gigi.git/blobdiff - tests/club/wpia/gigi/TestDomain.java
upd: rename package name and all references to it
[gigi.git] / tests / club / wpia / gigi / TestDomain.java
diff --git a/tests/club/wpia/gigi/TestDomain.java b/tests/club/wpia/gigi/TestDomain.java
new file mode 100644 (file)
index 0000000..ccdf113
--- /dev/null
@@ -0,0 +1,72 @@
+package club.wpia.gigi;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+import club.wpia.gigi.dbObjects.Domain;
+import club.wpia.gigi.testUtils.ClientBusinessTest;
+
+public class TestDomain extends ClientBusinessTest {
+
+    @Test
+    public void testDomain() throws InterruptedException, GigiApiException {
+        assertEquals(0, u.getDomains().length);
+        Domain d = new Domain(u, u, "v1example.org");
+        Domain[] domains = u.getDomains();
+        assertEquals(1, domains.length);
+        assertEquals("v1example.org", domains[0].getSuffix());
+        assertEquals(domains[0].getOwner().getId(), u.getId());
+        assertNotEquals(0, domains[0].getId());
+        assertNotEquals(0, d.getId());
+        assertEquals(d.getId(), domains[0].getId());
+
+        new Domain(u, u, "v2-example.org");
+
+        domains = u.getDomains();
+        assertEquals(2, domains.length);
+        if ( !domains[1].getSuffix().equals("v2-example.org")) {
+            Domain d1 = domains[0];
+            domains[0] = domains[1];
+            domains[1] = d1;
+        }
+        assertEquals("v2-example.org", domains[1].getSuffix());
+        assertEquals(domains[0].getOwner().getId(), u.getId());
+        assertEquals(domains[1].getOwner().getId(), u.getId());
+        assertNotEquals(0, domains[0].getId());
+        assertNotEquals(0, d.getId());
+        assertEquals(d.getId(), domains[0].getId());
+
+    }
+
+    @Test
+    public void testDoubleDomain() throws InterruptedException, GigiApiException {
+        new Domain(u, u, "dub-example.org");
+        try {
+            new Domain(u, u, "dub-example.org");
+            fail("expected exception, was able to insert domain (with different case) a second time");
+        } catch (GigiApiException e) {
+            // expected
+        }
+    }
+
+    @Test
+    public void testDoubleDomainCase() throws InterruptedException, GigiApiException {
+        Domain d = new Domain(u, u, "dub2-ExaMple.Org");
+        assertEquals("dub2-example.org", d.getSuffix());
+        try {
+            new Domain(u, u, "duB2-eXample.oRG");
+            fail("expected exception, was able to insert domain (with different case) a second time");
+        } catch (GigiApiException e) {
+            // expected
+        }
+    }
+
+    @Test
+    public void testDoubleDomainDelete() throws InterruptedException, GigiApiException {
+        Domain d = new Domain(u, u, "delexample.org");
+        d.delete();
+        new Domain(u, u, "delexample.org");
+    }
+
+}