Author: [log in to unmask]
Date: Fri Sep 4 15:17:00 2015
New Revision: 3528
Log:
Check collection ID values in 'pass1' for a series of runs.
Modified:
java/trunk/conditions/src/test/java/org/hps/conditions/api/ConditionsTagTest.java
Modified: java/trunk/conditions/src/test/java/org/hps/conditions/api/ConditionsTagTest.java
=============================================================================
--- java/trunk/conditions/src/test/java/org/hps/conditions/api/ConditionsTagTest.java (original)
+++ java/trunk/conditions/src/test/java/org/hps/conditions/api/ConditionsTagTest.java Fri Sep 4 15:17:00 2015
@@ -1,7 +1,8 @@
package org.hps.conditions.api;
-import java.util.HashSet;
-import java.util.Set;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.logging.Level;
import junit.framework.TestCase;
@@ -20,13 +21,18 @@
import org.hps.conditions.svt.SvtT0Shift.SvtT0ShiftCollection;
import org.hps.conditions.svt.SvtTimingConstants.SvtTimingConstantsCollection;
+/**
+ * Get conditions from the database for a series of runs using a tag.
+ * Then check that the correct collection IDs were returned.
+ *
+ * @author Jeremy McCormick, SLAC
+ *
+ */
public class ConditionsTagTest extends TestCase {
-
- private static final int[] RUNS = { 5037, 5038, 5066, 5076, 5139, 5149, 5174, 5181, 5200, 5218, 5236, 5251, 5253,
- 5263, 5299, 5310, 5375, 5388, 5389, 5400, 5404, 5533, 5538, 5558, 5575, 5596, 5601, 5603, 5610, 5623, 5640,
- 5641, 5642, 5673, 5686, 5711, 5712, 5713, 5714, 5722, 5747, 5748, 5779
- };
-
+
+ /**
+ * The table names of the conditions to check.
+ */
private static final String[] CONDITIONS = {
"ecal_calibrations",
"ecal_channels",
@@ -42,12 +48,15 @@
"svt_timing_constants"
};
+ /**
+ * The conditions types.
+ */
private static final Class<?> TYPES[] = {
EcalCalibrationCollection.class,
EcalChannelCollection.class,
EcalGainCollection.class,
EcalTimeShiftCollection.class,
- SvtAlignmentConstantCollection.class,
+ SvtAlignmentConstantCollection.class,
SvtCalibrationCollection.class,
SvtChannelCollection.class,
SvtDaqMappingCollection.class,
@@ -57,63 +66,73 @@
SvtTimingConstantsCollection.class
};
+ /**
+ * Build an answer key mapping run numbers to the list of expected collection IDs.
+ */
+ static Map<Integer, int[]> buildCollectionMap() {
+ Map<Integer, int[]> collectionMap = new LinkedHashMap<Integer, int[]>();
+ collectionMap.put(4823, new int[] {26, 2, 1022, 2, 1014, 3, 2, 2, 2, 1003, 1009, 1023});
+ collectionMap.put(5037, new int[] {26, 2, 1022, 2, 1011, 4, 2, 2, 2, 1003, 1009, 1023});
+ collectionMap.put(5076, new int[] {1005, 2, 1022, 2, 1013, 4, 2, 2, 2, 1003, 1009, 1023});
+ collectionMap.put(5218, new int[] {1008, 2, 1022, 2, 1014, 4, 2, 2, 2, 1003, 1009, 1024});
+ collectionMap.put(5400, new int[] {1008, 2, 1022, 2, 1014, 5, 2, 2, 2, 1003, 1009, 1023});
+ collectionMap.put(5550, new int[] {1008, 2, 1022, 2, 1010, 5, 2, 2, 2, 1003, 1009, 1024});
+ collectionMap.put(5772, new int[] {1008, 2, 1022, 2, 1012, 7, 2, 2, 2, 1003, 1009, 1029});
+ collectionMap.put(5797, new int[] {1008, 2, 1022, 2, 1012, 7, 2, 2, 2, 1003, 1009, 1029});
+ return collectionMap;
+ }
+
+ /**
+ * Conditions manager instance.
+ */
private static DatabaseConditionsManager MANAGER;
-
+
+ /**
+ * Perform setup.
+ */
@Override
public void setUp() {
// Configure the conditions system.
- MANAGER = DatabaseConditionsManager.getInstance();
- MANAGER.setConnectionResource("/org/hps/conditions/config/jeremym_dev_connection.prop");
- MANAGER.setXmlConfig("/org/hps/conditions/config/conditions_database_no_svt.xml");
- //MANAGER.setLogLevel(Level.WARNING);
+ MANAGER = DatabaseConditionsManager.getInstance();
+ MANAGER.setXmlConfig("/org/hps/conditions/config/conditions_database_no_svt.xml");
}
- public void testConditionsTag() throws Exception {
+ /**
+ * Run test using the 'pass1' tag.
+ *
+ * @throws Exception if there is any uncaught error when running the method
+ */
+ public void testPass1Tag() throws Exception {
+
+ MANAGER.setLogLevel(Level.WARNING);
MANAGER.addTag("pass1");
- for (int run : RUNS) {
+
+ Map<Integer, int[]> collectionMap = buildCollectionMap();
+
+ for (int run : collectionMap.keySet()) {
+
MANAGER.setDetector("HPS-conditions-test", run);
+
ConditionsRecordCollection conditionsRecordCollection = MANAGER.getConditionsRecords();
System.out.println("run " + run + " has " + conditionsRecordCollection.size() + " conditions records");
System.out.println(conditionsRecordCollection);
+
+ int[] expectedCollectionIds = collectionMap.get(run);
+
+ System.out.println("run " + run + " conditions");
for (int i = 0; i < CONDITIONS.length; i++) {
- try {
- BaseConditionsObjectCollection<?> conditionsObjectCollection =
- BaseConditionsObjectCollection.class.cast(
- MANAGER.getCachedConditions(TYPES[i], CONDITIONS[i]).getCachedData());
- System.out.println("got collection " + conditionsObjectCollection.getTableMetaData().getTableName() + ":"
+ // Get the conditions from the db.
+ BaseConditionsObjectCollection<?> conditionsObjectCollection = BaseConditionsObjectCollection.class.cast(
+ MANAGER.getCachedConditions(TYPES[i], CONDITIONS[i]).getCachedData());
+
+ // Print collection info.
+ System.out.println(conditionsObjectCollection.getTableMetaData().getTableName() + ":"
+ conditionsObjectCollection.getCollectionId()
- + " with type " + conditionsObjectCollection.getTableMetaData().getCollectionClass().getName()
- + " and " + conditionsObjectCollection.size() + " objects");
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
- }
-
- public void testMultipleConditionsTags() throws Exception {
- Set<String> tags = new HashSet<String>();
- tags.add("pass1");
- tags.add("dev");
- tags.add("eng_run");
- tags.add("derp");
-
- for (int run : RUNS) {
- MANAGER.setDetector("HPS-conditions-test", run);
- ConditionsRecordCollection conditionsRecordCollection = MANAGER.getConditionsRecords();
- System.out.println("run " + run + " has " + conditionsRecordCollection.size());
- System.out.println(conditionsRecordCollection);
- for (int i = 0; i < CONDITIONS.length; i++) {
- try {
- BaseConditionsObjectCollection<?> conditionsObjectCollection =
- BaseConditionsObjectCollection.class.cast(
- MANAGER.getCachedConditions(TYPES[i], CONDITIONS[i]).getCachedData());
- System.out.println("got collection " + conditionsObjectCollection.getTableMetaData().getTableName()
- + " with type " + conditionsObjectCollection.getTableMetaData().getCollectionClass().getName()
- + " and " + conditionsObjectCollection.size() + " objects");
- } catch (Exception e) {
- e.printStackTrace();
- }
+ + " of type " + conditionsObjectCollection.getTableMetaData().getCollectionClass().getName()
+ + " and size " + conditionsObjectCollection.size());
+
+ // Check that the collection ID is correct according to answer key.
+ TestCase.assertEquals("Wrong collection ID found for " + TYPES[i].getName() + " condition.", expectedCollectionIds[i], conditionsObjectCollection.getCollectionId());
}
}
}
|