From ea42d6fedbe0e622bdbd4984ca8f1b14d201c1bd Mon Sep 17 00:00:00 2001
From: Purodha Blissenbach <purodha.blissenbach@hostsharing.net>
Date: Thu, 20 Sep 2012 20:24:55 +0200
Subject: [PATCH] More domainoptions preemptively preset in data base, existing options renmend ( no no-), tests universalized.

---
 hsarback/database/database_update.sql           |   43 --------------
 hsarback/database/data.sql                      |   12 +++
 hsarback/test/de/hsadmin/remote/DomainTest.java |  121 ++++++++++++++++++++--------------------
 3 files changed, 70 insertions(+), 106 deletions(-)

diff --git a/hsarback/database/data.sql b/hsarback/database/data.sql
index dd710b6..c91a7fc 100644
--- a/hsarback/database/data.sql
+++ b/hsarback/database/data.sql
@@ -155,6 +155,14 @@
 -- table: domain_option
 --
 INSERT INTO domain_option (domain_option_name) 
-	VALUES ('nogreylisting');
+	VALUES ('backupmxforexternalmx');
+INSERT INTO domain_option (domain_option_name) 
+	VALUES ('greylisting');
 INSERT INTO domain_option (domain_option_name)
-	VALUES ('nohtdocsfallback');
+	VALUES ('htdocsfallback');
+INSERT INTO domain_option (domain_option_name) 
+	VALUES ('includes');
+INSERT INTO domain_option (domain_option_name) 
+	VALUES ('indexes');
+INSERT INTO domain_option (domain_option_name)
+	VALUES ('multiviews');
diff --git a/hsarback/database/database_update.sql b/hsarback/database/database_update.sql
index 9715a87..e69de29 100644
--- a/hsarback/database/database_update.sql
+++ b/hsarback/database/database_update.sql
@@ -1,43 +0,0 @@
-CREATE SEQUENCE domain_option_id_seq
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
-
-CREATE TABLE domain_option (
-    domain_option_id integer DEFAULT nextval(('"domain_option_id_seq"'::text)::regclass) NOT NULL,
-    domain_option_name character varying(50) NOT NULL
-);
-
-ALTER TABLE ONLY domain_option
-    ADD CONSTRAINT domain_option_uniq UNIQUE (domain_option_id);
-
-CREATE UNIQUE INDEX ON domain_option ( domain_option_name );
-
-CREATE TABLE domain__domain_option (
-	domain_option_id integer NOT NULL,
-	domain_id integer NOT NULL
-); 
-
-CREATE UNIQUE INDEX unique_domain__domain_option ON domain__domain_option USING btree (domain_option_id, domain_id);
-
-ALTER TABLE ONLY domain__domain_option
-    ADD CONSTRAINT domain_option_id_fkey FOREIGN KEY (domain_option_id) 
-    	REFERENCES domain_option(domain_option_id) DEFERRABLE;
-
-ALTER TABLE ONLY domain__domain_option
-    ADD CONSTRAINT domain_id_fkey FOREIGN KEY (domain_id) 
-    	REFERENCES domain(domain_id) DEFERRABLE;
-
-update domain set domain_since=domain_filed;
-
-alter table domain drop column domain_free;
-alter table domain drop column domain_until;
-alter table domain drop column domain_filed;
-alter table domain drop column domain_reminder;
-alter table domain drop column domain_template;
-alter table domain drop column domain_status;
-alter table domain drop column domain_status_changed;
-
-
-
diff --git a/hsarback/test/de/hsadmin/remote/DomainTest.java b/hsarback/test/de/hsadmin/remote/DomainTest.java
index c84540b..e0e7972 100644
--- a/hsarback/test/de/hsadmin/remote/DomainTest.java
+++ b/hsarback/test/de/hsadmin/remote/DomainTest.java
@@ -163,7 +163,7 @@
 		Map<String, Object> setParams = new HashMap<String, Object>();
 		Map<String, String> whereParams = new HashMap<String, String>();
 		List<String> optionslist = new ArrayList<String>();
-		optionslist.add("nogreylisting");
+		optionslist.add("greylisting");
 		setParams.put("domainoptions", optionslist);
 		whereParams.put("name", "example01.org");
 		Object[] params = new Object[] { user, 
@@ -184,8 +184,8 @@
 		Map<String, Object> setParams = new HashMap<String, Object>();
 		Map<String, String> whereParams = new HashMap<String, String>();
 		List<String> optionslist = new ArrayList<String>();
-		optionslist.add("nohtdocsfallback");
-		optionslist.add("nogreylisting");
+		optionslist.add("htdocsfallback");
+		optionslist.add("greylisting");
 		setParams.put("domainoptions", optionslist);
 		whereParams.put("name", "example01.org");
 		Object[] params = new Object[] { user, 
@@ -221,44 +221,66 @@
 	}
 
 	@Test
-	public void testNogreylisting() throws UnknownHostException, IOException {
-		testNogreylistingOnOff(true, "Nogreylisting zuerst an");
-		testNogreylistingOnOff(false, "Nogreylisting als zweites aus");
-		testNogreylistingOnOff(true, "Nogreylisting zuletzt wieder an");
-	}
-
-	public void testNogreylistingOnOff(boolean onoff, String message) throws UnknownHostException, IOException {
-		String user = "aaa00";
-		String domain = "example01.org";
-		String grantingTicketURL = cas.getGrantingTicketURL(user);
-		Map<String, Object> setParams = new HashMap<String, Object>();
-		Map<String, String> whereParams = new HashMap<String, String>();
-		List<String> optionslist = new ArrayList<String>();
-		if(onoff) {
-			optionslist.add("nogreylisting");
-		}
-		setParams.put("domainoptions", optionslist);
-		whereParams.put("name", domain);
-		Object[] params = new Object[] { user, 
-				cas.getServiceTicket(grantingTicketURL, RemoteTestHelper.getBackendURL()), 
-				setParams, whereParams };
-		try {
-			Object execute = client.execute(MODULE + ".update", params);
-			assertNotNull(execute);
-			assertEquals(message, onoff, getNogreylisting(domain));
-		} catch (XmlRpcException e) {
-		}
+	public void testGreylisting() throws UnknownHostException, IOException {
+		testGreylistingOnOff(true, "zuerst an");
+		testGreylistingOnOff(false, "als zweites aus");
+		testGreylistingOnOff(true, "zuletzt wieder an");
 	}
 
 	@Test
-	public void testNohtdocsfallback() throws UnknownHostException, IOException {
-		testNohtdocsfallbackOnOff(false, "Nothdocsfallback zuerst aus");
-		testNohtdocsfallbackOnOff(true, "Nothdocsfallback als zweites an");
-		testNohtdocsfallbackOnOff(false, "Nothdocsfallback zuletzt wieder aus");
+	public void testHtdocsfallback() throws UnknownHostException, IOException {
+		testHtdocsfallbackOnOff(false, "zuerst aus");
+		testHtdocsfallbackOnOff(true, "als zweites an");
+		testHtdocsfallbackOnOff(false, "zuletzt wieder aus");
+	}
+	
+	private void testGreylistingOnOff(boolean onoff, String message)
+			throws UnknownHostException, IOException {
+		testDomainptionOnOf(onoff, message, new DomainOptionTester() {
+
+			@Override
+			public String getOptionName() {
+				return "greylisting";
+			}
+
+			@Override
+			public boolean isOptionConfigured(String domain)
+					throws UnknownHostException, IOException {
+				String host = "test-h99.hostsharing.net";
+				String answer = socketQuery( host, 25,
+						"HELO " + domain + "\n" +
+						"MAIl FROM: hsadmin-testing@" + domain + "\n" + 
+						"RCPT TO: postmaster@" + domain + "\n" +
+						"DATA\n" + 
+						".\n") ;
+				return answer.contains("450") && answer.contains("reylisting");
+			}
+		});
+	}
+	
+	private void testHtdocsfallbackOnOff(boolean onoff, String message)
+			throws UnknownHostException, IOException {
+		testDomainptionOnOf(onoff, message, new DomainOptionTester() {
+
+			@Override
+			public String getOptionName() {
+				return "htdocsfallback";
+			}
+
+			@Override
+			public boolean isOptionConfigured(String domain)
+					throws UnknownHostException, IOException {
+				String host = "test-h99.hostsharing.net";
+				String answer = socketQuery(host, 80, "GET / HTTP/1.1\n"
+						+ "Host: x.y.z." + domain
+						+ "User-Agent: hsAdmin Test\n" + "Connection: close\n");
+				answer = answer.substring(0, answer.indexOf("\n"));
+				return answer.contains("404");
+			}
+		});
 	}
 
-	@Test
-	public void testNohtdocsfallbackOnOff( boolean onoff, String message) throws UnknownHostException, IOException {
+	private void testDomainptionOnOf( boolean onoff, String message, DomainOptionTester tester) throws UnknownHostException, IOException {
 			String user = "aaa00";
 			String domain = "example01.org";
 			String grantingTicketURL = cas.getGrantingTicketURL(user);
@@ -266,7 +288,7 @@
 			Map<String, String> whereParams = new HashMap<String, String>();
 			List<String> optionslist = new ArrayList<String>();
 			if(onoff) {
-				optionslist.add("nohtdocsfallback");
+				optionslist.add(tester.getOptionName());
 			}
 			setParams.put("domainoptions", optionslist);
 			whereParams.put("name", domain);
@@ -276,11 +298,10 @@
 			try {
 				Object execute = client.execute(MODULE + ".update", params);
 				assertNotNull(execute);
-				assertEquals(message, onoff, getNohtdocsfallback(domain));
+				assertEquals(tester.getOptionName()+": "+message, onoff, tester.isOptionConfigured(domain));
 			} catch (XmlRpcException e) {
 			}
 		}
-
 
 	private int getDomsCount() {
 		int count = 0;
@@ -328,28 +349,6 @@
 		return count;
 	}
 
-	private boolean getNogreylisting(String domain) throws UnknownHostException, IOException {
-		String host = "test-h99.hostsharing.net";
-		String answer = socketQuery( host, 25,
-				"HELO " + domain + "\n" +
-				"MAIl FROM: hsadmin-testing@" + domain + "\n" + 
-				"RCPT TO: postmaster@" + domain + "\n" +
-				"DATA\n" + 
-				".\n") ;
-		return answer.contains("450") && answer.contains("reylisting");
-	}
-
-	private boolean getNohtdocsfallback(String domain) throws UnknownHostException, IOException {
-		String host = "test-h99.hostsharing.net";
-		String answer = socketQuery( host, 80,
-				"GET / HTTP/1.1\n" +
-				"Host: x.y.z." + domain +
-				"User-Agent: hsAdmin Test\n" +
-				"Connection: close\n");
-		answer = answer.substring(0, answer.indexOf("\n"));
-		return answer.contains("404");
-	}
-	
 	private String socketQuery( String host, int port, String query) throws UnknownHostException, IOException{
 		Socket socket = new Socket( host, port );
 		socketQueryWriter( socket, query );

--
Gitblit v1.9.0-SNAPSHOT