Update the dependencies to use project version
[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(
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);
36
37   }
38
39   @Test
40   public void validateAAIConfig() {
41
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);
51
52
53
54   }
55
56
57   @Test
58   public void validateElasticSearch() {
59
60     String packageName = "org.onap.aai.sparky.dal.elasticsearch";
61     List<PojoClass> elasticSearchPojoClasses;
62
63     FilterChain filterChainByClassNameForElasticSearch =
64         new FilterChain(new FilterByContainsClassName("ElasticSearchEntityStatistics"),
65             new FilterByContainsClassName("Test"));
66     elasticSearchPojoClasses = PojoClassFactory.getPojoClassesRecursively(packageName,
67         filterChainByClassNameForElasticSearch);
68     validateAll(elasticSearchPojoClasses);
69
70
71   }
72
73
74   @Test
75   public void validateElasticSearchEntity() {
76
77     String packageName = "org.onap.aai.sparky.dal.elasticsearch.entity";
78     List<PojoClass> elasticSearchConfigPojoClasses;
79
80     // FilterChain filterChainByClassNameForElasticSearchConfig = new FilterChain(new
81     // FilterByContainsClassName("ElasticSearchEntityStatistics"),
82     // new FilterByContainsClassName("Test"));
83     elasticSearchConfigPojoClasses = PojoClassFactory.getPojoClassesRecursively(packageName, null);
84     validateAll(elasticSearchConfigPojoClasses);
85
86   }
87
88
89   @Test
90   public void validateRest() {
91
92     String packageName = "org.onap.aai.sparky.dal.rest";
93     List<PojoClass> restPojoClasses;
94
95     FilterChain filterChainByClassNameForRest = new FilterChain(
96         new FilterByContainsClassName("RestfulDataAccessor"), new FilterByContainsClassName("Test"),
97         new FilterByContainsClassName("RestOperationalStatistics"),
98         new FilterByContainsClassName("RestClientBuilder"));
99     restPojoClasses =
100         PojoClassFactory.getPojoClassesRecursively(packageName, filterChainByClassNameForRest);
101     validateAll(restPojoClasses);
102   }
103
104
105   @Test
106   public void validateSASEntity() {
107
108     String packageName = "org.onap.aai.sparky.dal.sas.entity";
109     List<PojoClass> sasEntityPojoClasses;
110
111     sasEntityPojoClasses = PojoClassFactory.getPojoClassesRecursively(packageName, null);
112     validateAll(sasEntityPojoClasses);
113
114   }
115
116
117   @Test
118   public void validateSecurity() {
119
120     String packageName = "org.onap.aai.sparky.security";
121     List<PojoClass> securityPojoClasses;
122
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);
131   }
132
133
134   @Test
135   public void validateSecurityPortal() {
136
137     String packageName = "org.onap.aai.sparky.security.portal";
138     List<PojoClass> securityPortalPojoClasses;
139
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);
147   }
148
149
150   @Test
151   public void validateSynchronizer() {
152
153     String packageName = "org.onap.aai.sparky.synchronizer";
154     List<PojoClass> synchronizerPojoClasses;
155
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);
171   }
172
173   @Test
174   public void validateUtil() {
175
176     String packageName = "org.onap.aai.sparky.util";
177     List<PojoClass> utilPojoClasses;
178
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"));
188     utilPojoClasses =
189         PojoClassFactory.getPojoClassesRecursively(packageName, filterChainByClassNameForUtil);
190     validateAll(utilPojoClasses);
191   }
192
193   @Test
194   public void validateViewAndInspect() {
195
196     String packageName = "org.onap.aai.sparky.viewandinspect";
197     List<PojoClass> viewAndInspectPojoClasses;
198
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);
211   }
212
213   public void validateAll(List<PojoClass> pojoClasses) {
214
215     Validator validator =
216         ValidatorBuilder.create().with(new SetterMustExistRule(), new GetterMustExistRule())
217             .with(new SetterTester(), new GetterTester()).build();
218     validator.validate(pojoClasses);
219   }
220
221 }