Merge "Add unit test cases."
[aai/sparky-be.git] / src / test / java / org / onap / aai / sparky / SparkyPojoTest.java
1 package org.onap.aai.sparky;
2
3
4 import java.util.List;
5
6 import org.junit.Test;
7
8 import com.openpojo.reflection.PojoClass;
9 import com.openpojo.reflection.filters.FilterChain;
10 import com.openpojo.reflection.impl.PojoClassFactory;
11 import com.openpojo.validation.Validator;
12 import com.openpojo.validation.ValidatorBuilder;
13 import com.openpojo.validation.rule.impl.GetterMustExistRule;
14 import com.openpojo.validation.rule.impl.SetterMustExistRule;
15 import com.openpojo.validation.test.impl.GetterTester;
16 import com.openpojo.validation.test.impl.SetterTester;
17
18 public class SparkyPojoTest {
19 //The package to be tested
20   private String packageName = "org.onap.aai.sparky";
21   private List<PojoClass> pojoClasses;
22
23 @Test
24   public void validateAnalytics() {
25   
26   String packageName = "org.onap.aai.sparky.analytics";
27   List<PojoClass> analyticsPojoClasses;
28   
29   FilterChain filterChainByClassNameForAnalytics = new FilterChain(new FilterByContainsClassName("AveragingRingBuffer"),
30       new FilterByContainsClassName("AbstractStatistics"), new FilterByContainsClassName("HistogramSampler"),
31       new FilterByContainsClassName("Test"));
32   analyticsPojoClasses = PojoClassFactory.getPojoClassesRecursively(packageName,filterChainByClassNameForAnalytics);
33   validateAll(analyticsPojoClasses);
34   
35   }
36
37 @Test
38 public void validateAAIConfig() {
39   
40   String packageName = "org.onap.aai.sparky.dal.aai.config";
41   List<PojoClass> aaiConfigPojoClasses;
42   // activeinventory config   mught come back
43   FilterChain filterChainByClassNameForConfig = new FilterChain(new FilterByContainsClassName("ActiveInventoryConfig"),
44       new FilterByContainsClassName("Test"));
45   aaiConfigPojoClasses = PojoClassFactory.getPojoClassesRecursively(packageName,filterChainByClassNameForConfig);
46   validateAll(aaiConfigPojoClasses);
47   
48  
49   
50 }
51
52
53 @Test
54 public void validateElasticSearch(){
55   
56   String packageName = "org.onap.aai.sparky.dal.elasticsearch";
57   List<PojoClass> elasticSearchPojoClasses;
58   
59   FilterChain filterChainByClassNameForElasticSearch = new FilterChain(new FilterByContainsClassName("ElasticSearchEntityStatistics"),
60       new FilterByContainsClassName("Test"));
61   elasticSearchPojoClasses = PojoClassFactory.getPojoClassesRecursively(packageName,filterChainByClassNameForElasticSearch);
62   validateAll(elasticSearchPojoClasses);
63   
64  
65 }
66
67
68 @Test
69 public void validateElasticSearchEntity(){
70   
71   String packageName = "org.onap.aai.sparky.dal.elasticsearch.entity";
72   List<PojoClass> elasticSearchConfigPojoClasses;
73   
74   //FilterChain filterChainByClassNameForElasticSearchConfig = new FilterChain(new FilterByContainsClassName("ElasticSearchEntityStatistics"),
75     //  new FilterByContainsClassName("Test"));
76   elasticSearchConfigPojoClasses = PojoClassFactory.getPojoClassesRecursively(packageName,null);
77   validateAll(elasticSearchConfigPojoClasses);
78   
79 }
80
81
82 @Test
83 public void validateRest(){
84   
85   String packageName = "org.onap.aai.sparky.dal.rest";
86   List<PojoClass> restPojoClasses;
87   
88   FilterChain filterChainByClassNameForRest = new FilterChain(new FilterByContainsClassName("RestfulDataAccessor"),
89       new FilterByContainsClassName("Test"),new FilterByContainsClassName("RestOperationalStatistics"),
90       new FilterByContainsClassName("RestClientBuilder"));
91   restPojoClasses = PojoClassFactory.getPojoClassesRecursively(packageName,filterChainByClassNameForRest);
92   validateAll(restPojoClasses);
93 }
94
95
96 @Test
97 public void validateSASEntity(){
98
99  String packageName = "org.onap.aai.sparky.dal.sas.entity";
100   List<PojoClass> sasEntityPojoClasses;
101   
102   sasEntityPojoClasses = PojoClassFactory.getPojoClassesRecursively(packageName,null);
103   validateAll(sasEntityPojoClasses);
104   
105 }
106
107
108 @Test
109 public void validateSecurity(){
110
111  String packageName = "org.onap.aai.sparky.security";
112   List<PojoClass> securityPojoClasses;
113   
114   FilterChain filterChainByClassNameForSecurity = new FilterChain(new FilterByContainsClassName("SecurityContextFactoryImpl"),
115   new FilterByContainsClassName("Test"), new FilterByContainsClassName("UserManager"),
116   new FilterByContainsClassName("RolesConfig"),new FilterByContainsClassName("PortalAuthenticationConfig"));
117   securityPojoClasses = PojoClassFactory.getPojoClassesRecursively(packageName,filterChainByClassNameForSecurity);
118   validateAll(securityPojoClasses);
119 }
120
121
122 @Test
123 public void validateSecurityPortal(){
124
125  String packageName = "org.onap.aai.sparky.security.portal";
126   List<PojoClass> securityPortalPojoClasses;
127   
128   FilterChain filterChainByClassNameForSecurityPortal = new FilterChain(new FilterByContainsClassName("Test"),
129    new FilterByContainsClassName("UserManager"),new FilterByContainsClassName("RolesConfig"),
130    new FilterByContainsClassName("PortalAuthenticationConfig"));
131   securityPortalPojoClasses = PojoClassFactory.getPojoClassesRecursively(packageName,filterChainByClassNameForSecurityPortal);
132   validateAll(securityPortalPojoClasses);
133 }
134
135
136 @Test
137 public void validateSynchronizer(){
138
139  String packageName = "org.onap.aai.sparky.synchronizer";
140   List<PojoClass> synchronizerPojoClasses;
141   
142   FilterChain filterChainByClassNameForSynchronizer = new FilterChain(new FilterByContainsClassName("Test"),
143      new FilterByContainsClassName("AggregationSynchronizer"),new FilterByContainsClassName("SearchableEntitySynchronizer"),
144      new FilterByContainsClassName("AutosuggestionSynchronizer"),new FilterByContainsClassName("CrossEntityReferenceSynchronizer"),
145      new FilterByContainsClassName("SyncController"),new FilterByContainsClassName("SyncHelper"),
146      new FilterByContainsClassName("TransactionRateController"),new FilterByContainsClassName("AggregationSuggestionSynchronizer"),
147      new FilterByContainsClassName("AbstractEntitySynchronizer"));
148   synchronizerPojoClasses = PojoClassFactory.getPojoClassesRecursively(packageName,filterChainByClassNameForSynchronizer);
149   validateAll(synchronizerPojoClasses);
150 }
151
152 @Test
153 public void validateUtil(){
154
155  String packageName = "org.onap.aai.sparky.util";
156   List<PojoClass> utilPojoClasses;
157   
158   FilterChain filterChainByClassNameForUtil = new FilterChain(new FilterByContainsClassName("KeystoreBuilder"),
159       new FilterByContainsClassName("Test"),new FilterByContainsClassName("HttpServletHelper"),new FilterByContainsClassName("NodeUtils"),
160       new FilterByContainsClassName("CaptureLoggerAppender"),new FilterByContainsClassName("ElasticEntitySummarizer"),
161       new FilterByContainsClassName("ElasticGarbageInjector"),new FilterByContainsClassName("SuggestionsPermutation"),
162       new FilterByContainsClassName("savingTrustManager"));
163   utilPojoClasses = PojoClassFactory.getPojoClassesRecursively(packageName,filterChainByClassNameForUtil);
164   validateAll(utilPojoClasses);
165 }
166
167 @Test
168 public void validateViewAndInspect(){
169
170  String packageName = "org.onap.aai.sparky.viewandinspect";
171   List<PojoClass> viewAndInspectPojoClasses;
172   
173   FilterChain filterChainByClassNameForViewAndInspect = new FilterChain(new FilterByContainsClassName("Test"),
174       new FilterByContainsClassName("PerformSelfLinkDetermination"),new FilterByContainsClassName("PerformNodeSelfLinkProcessingTask"),
175       new FilterByContainsClassName("ActiveInventoryNode"),new FilterByContainsClassName("NodeProcessingTransaction"),
176       new FilterByContainsClassName("VisualizationServlet"),new FilterByContainsClassName("VisualizationService"),
177       new FilterByContainsClassName("VisualizationContext"));
178   viewAndInspectPojoClasses = PojoClassFactory.getPojoClassesRecursively(packageName,filterChainByClassNameForViewAndInspect);
179   validateAll(viewAndInspectPojoClasses);
180 }
181
182 public void validateAll(List<PojoClass> pojoClasses){
183   
184   Validator validator = ValidatorBuilder.create()
185       .with(new SetterMustExistRule(),
186             new GetterMustExistRule())
187       .with(new SetterTester(),
188             new GetterTester())
189       .build();
190 validator.validate(pojoClasses);
191 }
192
193 }