1   /*
2    * AuditableObjectRegistryTest.java
3    * Created on 29 Август 2006 г., 0:11
4    */
5   
6   package org.weda.store;
7   
8   import java.util.Set;
9   import org.weda.test.WedaTestCase;
10  import org.weda.domain.Company;
11  import org.weda.domain.Post;
12  
13  /**
14   *
15   * @author Mikhail Titov
16   */
17  public class AuditableObjectRegistryTest extends WedaTestCase {
18      
19      public AuditableObjectRegistryTest(String name) throws Exception{
20          super(name);
21      }
22      
23      public void test() throws Exception {
24          AuditableObjectRegistry aReg = 
25                  (AuditableObjectRegistry)registry.getService(
26                      AuditableObjectRegistry.class);
27          assertNotNull(aReg);
28          assertEquals(
29                  1,
30                  aReg.getAuditaleObjectsClasses(AuditOperation.ADD).size());
31          assertEquals(
32                  2,
33                  aReg.getAuditaleObjectsClasses(AuditOperation.UPDATE).size());
34          assertEquals(
35                  1,
36                  aReg.getAuditaleObjectsClasses(AuditOperation.REMOVE).size());
37          assertNull(aReg.getAuditableObjectProperties(
38                      AuditOperation.ADD, Post.class));
39          Set<String> auditableCompanyProperties = 
40                  aReg.getAuditableObjectProperties(
41                      AuditOperation.ADD, Company.class);
42          assertNotNull(auditableCompanyProperties);
43          assertEquals(1, auditableCompanyProperties.size());        
44          assertTrue(auditableCompanyProperties.contains("name"));
45          
46          auditableCompanyProperties = 
47                  aReg.getAuditableObjectProperties(
48                      AuditOperation.UPDATE, Company.class);        
49          assertEquals(2, auditableCompanyProperties.size());        
50          assertTrue(auditableCompanyProperties.contains("name"));
51          assertTrue(auditableCompanyProperties.contains("employeCount"));
52          
53          auditableCompanyProperties = 
54                  aReg.getAuditableObjectProperties(
55                      AuditOperation.REMOVE, Company.class);        
56          assertEquals(2, auditableCompanyProperties.size());        
57          assertTrue(auditableCompanyProperties.contains("name"));
58          assertTrue(auditableCompanyProperties.contains("employeCount"));
59      }
60      
61  }