1 package org.onap.aai.sparky;
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;
18 public class SparkyPojoTest {
19 // The package to be tested
20 private String packageName = "org.onap.aai.sparky";
21 private List<PojoClass> pojoClasses;
24 public void validateAnalytics() {
26 String packageName = "org.onap.aai.sparky.analytics";
27 List<PojoClass> analyticsPojoClasses;
29 FilterChain filterChainByClassNameForAnalytics = new FilterChain(
30 new FilterByContainsClassName("AveragingRingBuffer"),
31 new FilterByContainsClassName("AbstractStatistics"),
32 new FilterByContainsClassName("HistogramSampler"), new FilterByContainsClassName("Test"));
33 analyticsPojoClasses =
34 PojoClassFactory.getPojoClassesRecursively(packageName, filterChainByClassNameForAnalytics);
35 validateAll(analyticsPojoClasses);
40 public void validateAAIConfig() {
42 String packageName = "org.onap.aai.sparky.dal.aai.config";
43 List<PojoClass> aaiConfigPojoClasses;
44 // activeinventory config mught come back
45 FilterChain filterChainByClassNameForConfig =
46 new FilterChain(new FilterByContainsClassName("ActiveInventoryConfig"),
47 new FilterByContainsClassName("Test"));
48 aaiConfigPojoClasses =
49 PojoClassFactory.getPojoClassesRecursively(packageName, filterChainByClassNameForConfig);
50 validateAll(aaiConfigPojoClasses);
58 public void validateElasticSearch() {
60 String packageName = "org.onap.aai.sparky.dal.elasticsearch";
61 List<PojoClass> elasticSearchPojoClasses;
63 FilterChain filterChainByClassNameForElasticSearch =
64 new FilterChain(new FilterByContainsClassName("ElasticSearchEntityStatistics"),
65 new FilterByContainsClassName("Test"));
66 elasticSearchPojoClasses = PojoClassFactory.getPojoClassesRecursively(packageName,
67 filterChainByClassNameForElasticSearch);
68 validateAll(elasticSearchPojoClasses);
75 public void validateElasticSearchEntity() {
77 String packageName = "org.onap.aai.sparky.dal.elasticsearch.entity";
78 List<PojoClass> elasticSearchConfigPojoClasses;
80 // FilterChain filterChainByClassNameForElasticSearchConfig = new FilterChain(new
81 // FilterByContainsClassName("ElasticSearchEntityStatistics"),
82 // new FilterByContainsClassName("Test"));
83 elasticSearchConfigPojoClasses = PojoClassFactory.getPojoClassesRecursively(packageName, null);
84 validateAll(elasticSearchConfigPojoClasses);
90 public void validateRest() {
92 String packageName = "org.onap.aai.sparky.dal.rest";
93 List<PojoClass> restPojoClasses;
95 FilterChain filterChainByClassNameForRest = new FilterChain(
96 new FilterByContainsClassName("RestfulDataAccessor"), new FilterByContainsClassName("Test"),
97 new FilterByContainsClassName("RestOperationalStatistics"),
98 new FilterByContainsClassName("RestClientBuilder"));
100 PojoClassFactory.getPojoClassesRecursively(packageName, filterChainByClassNameForRest);
101 validateAll(restPojoClasses);
106 public void validateSASEntity() {
108 String packageName = "org.onap.aai.sparky.dal.sas.entity";
109 List<PojoClass> sasEntityPojoClasses;
111 sasEntityPojoClasses = PojoClassFactory.getPojoClassesRecursively(packageName, null);
112 validateAll(sasEntityPojoClasses);
118 public void validateSecurity() {
120 String packageName = "org.onap.aai.sparky.security";
121 List<PojoClass> securityPojoClasses;
123 FilterChain filterChainByClassNameForSecurity =
124 new FilterChain(new FilterByContainsClassName("SecurityContextFactoryImpl"),
125 new FilterByContainsClassName("Test"), new FilterByContainsClassName("UserManager"),
126 new FilterByContainsClassName("RolesConfig"),
127 new FilterByContainsClassName("PortalAuthenticationConfig"));
128 securityPojoClasses =
129 PojoClassFactory.getPojoClassesRecursively(packageName, filterChainByClassNameForSecurity);
130 validateAll(securityPojoClasses);
135 public void validateSecurityPortal() {
137 String packageName = "org.onap.aai.sparky.security.portal";
138 List<PojoClass> securityPortalPojoClasses;
140 FilterChain filterChainByClassNameForSecurityPortal = new FilterChain(
141 new FilterByContainsClassName("Test"), new FilterByContainsClassName("UserManager"),
142 new FilterByContainsClassName("RolesConfig"),
143 new FilterByContainsClassName("PortalAuthenticationConfig"));
144 securityPortalPojoClasses = PojoClassFactory.getPojoClassesRecursively(packageName,
145 filterChainByClassNameForSecurityPortal);
146 validateAll(securityPortalPojoClasses);
151 public void validateSynchronizer() {
153 String packageName = "org.onap.aai.sparky.synchronizer";
154 List<PojoClass> synchronizerPojoClasses;
156 FilterChain filterChainByClassNameForSynchronizer =
157 new FilterChain(new FilterByContainsClassName("Test"),
158 new FilterByContainsClassName("AggregationSynchronizer"),
159 new FilterByContainsClassName("SearchableEntitySynchronizer"),
160 new FilterByContainsClassName("AutosuggestionSynchronizer"),
161 new FilterByContainsClassName("CrossEntityReferenceSynchronizer"),
162 new FilterByContainsClassName("SyncController"),
163 new FilterByContainsClassName("SyncHelper"),
164 new FilterByContainsClassName("TransactionRateController"),
165 new FilterByContainsClassName("AggregationSuggestionSynchronizer"),
166 new FilterByContainsClassName("AbstractEntitySynchronizer"),
167 new FilterByContainsClassName("SynchronizerConfiguration"));
168 synchronizerPojoClasses = PojoClassFactory.getPojoClassesRecursively(packageName,
169 filterChainByClassNameForSynchronizer);
170 validateAll(synchronizerPojoClasses);
174 public void validateUtil() {
176 String packageName = "org.onap.aai.sparky.util";
177 List<PojoClass> utilPojoClasses;
179 FilterChain filterChainByClassNameForUtil = new FilterChain(
180 new FilterByContainsClassName("KeystoreBuilder"), new FilterByContainsClassName("Test"),
181 new FilterByContainsClassName("HttpServletHelper"),
182 new FilterByContainsClassName("NodeUtils"),
183 new FilterByContainsClassName("CaptureLoggerAppender"),
184 new FilterByContainsClassName("ElasticEntitySummarizer"),
185 new FilterByContainsClassName("ElasticGarbageInjector"),
186 new FilterByContainsClassName("SuggestionsPermutation"),
187 new FilterByContainsClassName("savingTrustManager"));
189 PojoClassFactory.getPojoClassesRecursively(packageName, filterChainByClassNameForUtil);
190 validateAll(utilPojoClasses);
194 public void validateViewAndInspect() {
196 String packageName = "org.onap.aai.sparky.viewandinspect";
197 List<PojoClass> viewAndInspectPojoClasses;
199 FilterChain filterChainByClassNameForViewAndInspect =
200 new FilterChain(new FilterByContainsClassName("Test"),
201 new FilterByContainsClassName("PerformSelfLinkDetermination"),
202 new FilterByContainsClassName("PerformNodeSelfLinkProcessingTask"),
203 new FilterByContainsClassName("ActiveInventoryNode"),
204 new FilterByContainsClassName("NodeProcessingTransaction"),
205 new FilterByContainsClassName("VisualizationServlet"),
206 new FilterByContainsClassName("VisualizationService"),
207 new FilterByContainsClassName("VisualizationContext"));
208 viewAndInspectPojoClasses = PojoClassFactory.getPojoClassesRecursively(packageName,
209 filterChainByClassNameForViewAndInspect);
210 validateAll(viewAndInspectPojoClasses);
213 public void validateAll(List<PojoClass> pojoClasses) {
215 Validator validator =
216 ValidatorBuilder.create().with(new SetterMustExistRule(), new GetterMustExistRule())
217 .with(new SetterTester(), new GetterTester()).build();
218 validator.validate(pojoClasses);