You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ace.apache.org by ma...@apache.org on 2010/05/08 13:07:23 UTC
svn commit: r942359 - in
/incubator/ace/trunk/ace-log/src/test/java/org/apache/ace/log: ./
LogDescriptorTest.java LogEventTest.java
Author: marrs
Date: Sat May 8 11:07:23 2010
New Revision: 942359
URL: http://svn.apache.org/viewvc?rev=942359&view=rev
Log:
Added unit tests.
Added:
incubator/ace/trunk/ace-log/src/test/java/org/apache/ace/log/
incubator/ace/trunk/ace-log/src/test/java/org/apache/ace/log/LogDescriptorTest.java
incubator/ace/trunk/ace-log/src/test/java/org/apache/ace/log/LogEventTest.java
Added: incubator/ace/trunk/ace-log/src/test/java/org/apache/ace/log/LogDescriptorTest.java
URL: http://svn.apache.org/viewvc/incubator/ace/trunk/ace-log/src/test/java/org/apache/ace/log/LogDescriptorTest.java?rev=942359&view=auto
==============================================================================
--- incubator/ace/trunk/ace-log/src/test/java/org/apache/ace/log/LogDescriptorTest.java (added)
+++ incubator/ace/trunk/ace-log/src/test/java/org/apache/ace/log/LogDescriptorTest.java Sat May 8 11:07:23 2010
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.ace.log;
+
+import static org.apache.ace.test.utils.TestUtils.UNIT;
+
+import org.apache.ace.repository.SortedRangeSet;
+import org.testng.annotations.Test;
+
+public class LogDescriptorTest {
+
+ @Test(groups = { UNIT })
+ public void serializeDescriptor() {
+ LogDescriptor descriptor = new LogDescriptor("gwid", 1, new SortedRangeSet("2-3"));
+ assert descriptor.toRepresentation().equals("gwid,1,2-3") : "The representation of our descriptor is incorrect:" + descriptor.toRepresentation();
+ }
+
+ @Test(groups = { UNIT })
+ public void deserializeDescriptor() {
+ LogDescriptor descriptor = new LogDescriptor("gwid,1,2-3");
+ assert descriptor.getGatewayID().equals("gwid") : "Gateway ID not correctly parsed.";
+ assert descriptor.getLogID() == 1 : "Log ID not correctly parsed.";
+ assert descriptor.getRangeSet().toRepresentation().equals("2-3") : "There should be nothing in the diff between the set in the descriptor and the check-set.";
+ }
+
+ @Test(groups = { UNIT })
+ public void deserializeMultiRangeDescriptor() {
+ LogDescriptor descriptor = new LogDescriptor("gwid,1,1-4$k6$k8$k10-20");
+ assert descriptor.getGatewayID().equals("gwid") : "Gateway ID not correctly parsed.";
+ assert descriptor.getLogID() == 1 : "Log ID not correctly parsed.";
+ String representation = descriptor.getRangeSet().toRepresentation();
+ assert representation.equals("1-4,6,8,10-20") : "There should be nothing in the diff between the set in the descriptor and the check-set, but we parsed: " + representation;
+ }
+
+ @Test(groups = { UNIT })
+ public void deserializeMultiRangeDescriptorWithFunnyGWID() {
+ String line = "gw$$id,1,1-4$k6$k8$k10-20";
+ LogDescriptor descriptor = new LogDescriptor(line);
+ assert descriptor.getGatewayID().equals("gw$id") : "Gateway ID not correctly parsed.";
+ assert descriptor.getLogID() == 1 : "Log ID not correctly parsed.";
+ assert line.equals(descriptor.toRepresentation()) : "Converting the line back to the representation failed.";
+ String representation = descriptor.getRangeSet().toRepresentation();
+ assert representation.equals("1-4,6,8,10-20") : "There should be nothing in the diff between the set in the descriptor and the check-set, but we parsed: " + representation;
+ }
+
+ @Test(groups = { UNIT }, expectedExceptions = IllegalArgumentException.class)
+ public void deserializeInvalidDescriptor() throws Exception {
+ new LogDescriptor("invalidStringRepresentation");
+ }
+}
Added: incubator/ace/trunk/ace-log/src/test/java/org/apache/ace/log/LogEventTest.java
URL: http://svn.apache.org/viewvc/incubator/ace/trunk/ace-log/src/test/java/org/apache/ace/log/LogEventTest.java?rev=942359&view=auto
==============================================================================
--- incubator/ace/trunk/ace-log/src/test/java/org/apache/ace/log/LogEventTest.java (added)
+++ incubator/ace/trunk/ace-log/src/test/java/org/apache/ace/log/LogEventTest.java Sat May 8 11:07:23 2010
@@ -0,0 +1,87 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.ace.log;
+
+import static org.apache.ace.test.utils.TestUtils.UNIT;
+
+import java.util.Dictionary;
+import java.util.Properties;
+
+import org.testng.annotations.Test;
+
+public class LogEventTest {
+ @Test(groups = { UNIT })
+ public void serializeLogEvent() {
+ LogEvent e = new LogEvent("gwid", 1, 2, 3, AuditEvent.FRAMEWORK_STARTED, new Properties());
+ assert e.toRepresentation().equals("gwid,1,2,3," + AuditEvent.FRAMEWORK_STARTED);
+ Properties p = new Properties();
+ p.put(AuditEvent.KEY_ID, "my first value");
+ e = new LogEvent("gwid", 1, 2, 3, AuditEvent.BUNDLE_INSTALLED, p);
+ assert e.toRepresentation().equals("gwid,1,2,3," + AuditEvent.BUNDLE_INSTALLED + "," + AuditEvent.KEY_ID + ",my first value");
+ e = new LogEvent("gwid,gwid\n\r$", 1, 2, 3, AuditEvent.FRAMEWORK_STARTED, new Properties());
+ assert e.toRepresentation().equals("gwid$kgwid$n$r$$,1,2,3," + AuditEvent.FRAMEWORK_STARTED);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test(groups = { UNIT })
+ public void deserializeLogEvent() {
+ LogEvent e = new LogEvent("gwid$kgwid$n$r$$,1,2,3," + AuditEvent.FRAMEWORK_STARTED + ",a,1,b,2,c,3");
+ assert e.getGatewayID().equals("gwid,gwid\n\r$") : "Gateway ID is not correctly parsed";
+ assert e.getLogID() == 1 : "Log ID is not correctly parsed";
+ assert e.getID() == 2 : "ID is not correctly parsed";
+ assert e.getTime() == 3 : "Time is not correctly parsed";
+ assert e.getType() == AuditEvent.FRAMEWORK_STARTED : "Event type is wrong";
+ Dictionary p = e.getProperties();
+ assert p != null : "Properties are not correctly parsed";
+ assert p.get("a").equals("1") : "Property a should be 1";
+ assert p.get("b").equals("2") : "Property a should be 1";
+ assert p.get("c").equals("3") : "Property a should be 1";
+ }
+ @Test(groups = { UNIT })
+ public void deserializeIllegalLogEvent() {
+ try {
+ new LogEvent("garbage in, garbage out!");
+ assert false : "Parsing garbage should result in an exception";
+ }
+ catch (IllegalArgumentException e) {
+ // expected
+ }
+ try {
+ new LogEvent("g$z,1,2,3," + AuditEvent.BUNDLE_STOPPED);
+ assert false : "Parsing illegal token should result in an exception";
+ }
+ catch (IllegalArgumentException e) {
+ // expected
+ }
+ try {
+ new LogEvent("g$,1,2,3," + AuditEvent.BUNDLE_STOPPED);
+ assert false : "Parsing half of a token should result in an exception";
+ }
+ catch (IllegalArgumentException e) {
+ // expected
+ }
+ try {
+ new LogEvent("g$,1,2,3," + AuditEvent.BUNDLE_STOPPED + ",a");
+ assert false : "Parsing only a key should result in an exception";
+ }
+ catch (IllegalArgumentException e) {
+ // expected
+ }
+ }
+}