summaryrefslogtreecommitdiffstats
path: root/policy-management/src/test
AgeCommit message (Collapse)AuthorFilesLines
2020-09-30Fix new sonars in drools-pdpJim Hahn1-6/+8
Addressed the following sonar issues: - extract common test method - too many assertions in test method - don't always return the same value Issue-ID: POLICY-2616 Change-Id: Iab836cdcd667b35e2db9db7d6ffc7896df33e1c8 Signed-off-by: Jim Hahn <jrh3@att.com>
2020-08-25Address more sonars in drools-pdpJim Hahn3-5/+5
Addressed the following sonars: - either log or rethrow - call "remove()" for thread-local-storage - use assertEquals - only one method call in exception test - swap arguments in assertEquals - add assertion to assertThatThrownBy() - explain @Ignore Also addressed eclipse warnings: - unused fields and methods Issue-ID: POLICY-2616 Change-Id: I6590c0d2b103885bc933014d48bf5fd92401cd80 Signed-off-by: Jim Hahn <jrh3@att.com>
2020-08-24exit jvm when detecting configuration problemsjhh1-0/+37
It follows the same approach that in other policy components by throwing a runtime-exception vs System.exit(x). Issue-ID: POLICY-2752 Signed-off-by: jhh <jorge.hernandez-herrero@att.com> Change-Id: Iba508fc7095b060373742849e394c8fdd2a2334f Signed-off-by: jhh <jorge.hernandez-herrero@att.com>
2020-07-21Support multiple Policy/Controller types using 'controller.type' propertyStraubs, Ralph (rs8887)4-0/+161
It provides a feature base to allow for custom Policy and Drools Controllers. Issue-ID: POLICY-2415 Change-Id: Ibe3f11e3ecd925537ffd03d2420bb3b8214029c9 Signed-off-by: Straubs, Ralph (rs8887) <rs8887@att.com> Signed-off-by: jhh <jorge.hernandez-herrero@att.com>
2020-07-06Use apache TripleHAHN III1-46/+53
Replaced policy-utils/Triple with apache Triple. Issue-ID: POLICY-2694 Change-Id: I160f90c03f18b7da8dec5d0a00f809bcfb29680b Signed-off-by: Jim Hahn <jrh3@att.com>
2020-07-02drools-pdp sonar fixTaka Cho2-5/+5
most of changes are assert statement Issue-ID: POLICY-2616 Change-Id: I3bd3076115d28d8cfabcbe0859cc4b21085e1394 Signed-off-by: Taka Cho <takamune.cho@att.com>
2020-06-19Address checkstyle version issues in drools-pdpJim Hahn1-3/+3
Also added serializationId to several classes to address eclipse warnings. Issue-ID: POLICY-2188 Change-Id: I3df5e8abaad8da9261c0d5cd19a93ed68dceb870 Signed-off-by: Jim Hahn <jrh3@att.com>
2020-06-19drools-pdp sonar issue fixesTaka Cho7-46/+46
fix all assert statements to comply with sonar issue Issue-ID: POLICY-2616 Change-Id: Ia36e3eab7c74d8dfb1ab3fa1395b1f64b173e09a Signed-off-by: Taka Cho <takamune.cho@att.com>
2020-05-26Tests must specify serialization providerJim Hahn1-0/+6
When GSON is made the default serialization provider, several junits break. Modified them to specify the GsonJackson provider, which is what the REST classes use in production. Issue-ID: POLICY-1526 Change-Id: If1bcb955d7411cf747a14a0bf1dc069b02e2f2ea Signed-off-by: Jim Hahn <jrh3@att.com>
2020-04-07Address sonar issues in policy-managementJim Hahn10-34/+44
Addressed the following sonar issues: - modified code to specify the correct class name in the getLogger() call - use equals() instead of "==" for string comparison - remove deprecated code - use ',' instead of "," in indexOf - remove code that is commented out; typically bogus, so the comment was adjusted to satisfy sonar - missing assert in junits - use "{}" instead of concatenation when using logger - either log or rethrow - put arguments for assertEquals() in the correct order - remove "return" statements from the end of void methods - don't always return the same value; just disabled sonar as refactoring would have obfuscated the code - cognitive complexity; used eclipse auto-refactoring to extract out chunks of code into separate methods - don't pass array of classes to class.getDeclaredMethod(); use ellided arguments instead - fix argument count in logger calls - remove unnecessary casts - don't use "volatile" - make methods "synchronized" to match parent class definitions Issue-ID: POLICY-2305 Change-Id: Ie96418f696da4ae6c2ca8d4a914371469e695419 Signed-off-by: Jim Hahn <jrh3@att.com>
2020-03-10policy routing and reorg into policy-domainsjhh1-52/+0
- Native Drools Controller Policy support. - Move domain policies into the policy-domains project. - Route legacy/compliant operational policies to one or all controller supporting the policy's policy type. - Enhancements to scripts to invoke commands external to the container. Issue-ID: POLICY-2388 Signed-off-by: jhh <jorge.hernandez-herrero@att.com> Change-Id: Id41f04d10a28d2ea86bdd41334e499c28d0438ae Signed-off-by: jhh <jorge.hernandez-herrero@att.com>
2020-03-02http server/client managementjhh2-2/+147
This is to support the new actor architecture configuration. Issue-ID: POLICY-1625 Signed-off-by: jhh <jorge.hernandez-herrero@att.com> Change-Id: Ieda56be38b8572d75a5fbb3775067ab537310aa1
2020-02-26Undeploy support for native rules PDP-D policies.jhh2-5/+5
Issue-ID: POLICY-2388 Signed-off-by: jhh <jorge.hernandez-herrero@att.com> Change-Id: Iaaf5e13a5db286928952bcb3e4cc0f526b0b133c
2020-02-11Move model base classes outside feature-lifecyclejhh1-0/+52
So, it can be used in drools-application without a feature dependency. Issue-ID: POLICY-2360 Signed-off-by: jhh <jorge.hernandez-herrero@att.com> Change-Id: I1cf75bdd8739c35ea9b590896b177a519363e3d5
2020-01-13policy/drools-pdp jdk11 upgradesHockla, Ali (ah999m)11-32/+32
Issue-ID: POLICY-1589 Change-Id: I0ed05c6e471a7da6658e02a4ba3115d3a117cedd Signed-off-by: Hockla, Ali (ah999m) <ah999m@att.com>
2019-11-22Ocasional race condition in upgrade junitsjhh1-2/+2
Issue-ID: POLICY-2158 Signed-off-by: jhh <jorge.hernandez-herrero@att.com> Change-Id: I5b1295508a291338d0ea668f598ce038304a35bc
2019-11-14Invoke lock callback in session threadJim Hahn3-50/+101
Injects the callback as a DroolsRunnable into the session, if there is one. Otherwise, it invokes it via the engine's thread pool. Issue-ID: POLICY-2246 Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: I214480ae675d89e7335dde4eb4abe2684f7ef8ab Signed-off-by: Jim Hahn <jrh3@att.com>
2019-11-14Merge "Add 'DroolsRunnable' class"Jorge Hernandez1-3/+3
2019-11-14Add 'DroolsRunnable' classStraubs, Ralph (rs8887)1-3/+3
This provides a simple way to run arbitrary Java code within the Drools thread. This change also includes a general way to specify Drools rules that are automatically added to every Drools session. Change-Id: I5ddcca4c807dc552fbcbd4a19dce311a4d358279 Issue-ID: POLICY-1948 Signed-off-by: Straubs, Ralph (rs8887) <rs8887@att.com>
2019-11-12Dispose drools controllers in junit testsjhh1-9/+30
Issue-ID: POLICY-1407 Change-Id: I4db3489c242a6cdd39444de19c9c8da83559bee4 Signed-off-by: jhh <jorge.hernandez-herrero@att.com>
2019-11-11Add drools factory clean up statements to junitsjhh5-149/+278
An attempt to tackle some intermittent junit errors experienced by team mates. Issue-ID: POLICY-1407 Signed-off-by: jhh <jorge.hernandez-herrero@att.com> Change-Id: I68a90dc50fe2fa5bfc7214aa26e2e5f78f1e6c23 Signed-off-by: jhh <jorge.hernandez-herrero@att.com>
2019-11-08Miscellaneous code clean upjhh2-5/+4
Issue-ID: POLICY-2203 Signed-off-by: jhh <jorge.hernandez-herrero@att.com> Change-Id: I5731d4636bd2aaecbc486406298bcba1b19e8f4d Signed-off-by: jhh <jorge.hernandez-herrero@att.com>
2019-11-06Drools Controller upgrades Testsjhh8-33/+339
Issue-ID: POLICY-1407 Signed-off-by: jhh <jorge.hernandez-herrero@att.com> Change-Id: I6963fced5608b62a41b73fef5070c21cf45d6fbe Signed-off-by: jhh <jorge.hernandez-herrero@att.com>
2019-10-31Refactor duplicate code from lock managersJim Hahn3-96/+695
Change-Id: I8910a1a4267d824f064b52c6ad08945590bd9617 Issue-ID: POLICY-2203 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-10-29Cleanup eclipse warnings in drools-pdpJim Hahn1-1/+0
Issue-ID: POLICY-2203 Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: I3e854b1ea1986cd4992dc2ff84d799e970e443a9
2019-10-17Reimplement Lock API using Lock objectsJim Hahn3-1/+979
Modified PolicyResourceLockManager to just return a feature, deferring the lock() call/method to the feature, itself. The manager was also modified so that, if it can't find an enabled provider, it will return a default provider, whose lock() methods always fail. Once a feature has been identified, the manager will cache it for use thereafter. Modified the feature API to return lock objects and simplified the interface to remove the beforeXxx and afterXxx methods. Moved the unlock and refresh methods from the feature API into the lock class, renaming them to free and extend, respectively. Added a separate, feature-simple-locking project, which implements a simple version of the locking feature, over a single JVM. Extensively revised the distributed locking feature to fit in with the new API. Added support for persistence so that the various LockImpl classes can be serialized and still function correctly when they are deserialized back into new feature instances Added default implementations of free & extend to LockImpl. Modified API to take the ownerKey string, instead of the owner object. Removed Extractor as unneeded - may add via another review, if still useful. Updates per review comments: - Updated licenses in feature-simple-locking - Added beforeCreateLock & afterCreateLock to feature API - Moved SimpleLockingFeature into policy-management so that it's always available - Moved the executor service, "exsvc", into PolicyEngine - Moved Extrator into policy-utils - Changed Extractor logging level for exceptions - Fixed feature sequence numbers - Fixed mixing of seconds and milliseconds - Renamed exsvc - Modified to use property method with default value - Configured scheduled executor - Added suffix to Extractor.register() - Eliminated Feature Api and tied lock manager into engine - Added non-null checks to LockImpl parameters - Added non-null checks to createLock() parameters - Checked that lockManager is initialized Change-Id: Iddba38157ddc5f7277656979c0e679e5489eb7b1 Issue-ID: POLICY-2113 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-09-04Split Engine start method into "start" and "open"jhh1-8/+63
"open" meaning to open external configuration interfaces to external provisioning systems. Issue-ID: POLICY-2055 Signed-off-by: jhh <jorge.hernandez-herrero@att.com> Change-Id: Ic984f0ebccd088503b6b13620c3b80ed8e640899 Signed-off-by: jhh <jorge.hernandez-herrero@att.com>
2019-08-15Fix more sonar issues in drools-pdpJim Hahn6-11/+33
Addressed issues of cyclomatic complexity and deep nesting by refactoring code into separate methods. In some cases, had to refactor the code into nested classes to avoid passing too many parameters to the newly extracted methods. Addressed issue "too many conditionals" by breaking conditionals apart. Addressed issue "Remove usage of generic wildcard type" by eliminating "? extends" from return values. Addressed issue "Remove this use of 'Thread.sleep()'" in junit tests by introducing latches or using Awaitility. Note: this won't build until ApiUtils has been merged. Change-Id: I0d5596b4cb918a36bc22f426f426bd238195b458 Issue-ID: POLICY-1968 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-08-13Fix sonar issues in drools-pdpJim Hahn9-154/+163
Address sonar issue, "Move constants to a class or enum", by moving them from interfaces to classes: ActiveStandbyFeatureApi StateManagementFeatureApi PolicyResourceLockFeatureApi PolicySessionFeatureApi DroolsController DroolsControllerFeatureApi PolicyControllerFeatureApi PolicyEngineFeatureApi HealthCheck SystemPersistence EventProtocolCoder PolicyController PolicyEngine TestTransaction MdcTransaction Address sonar issue, "Move constants to a class or enum", by change the interface to a class: DroolsProperties Address sonar issue, "Override the "equals" method in this class", by adding equals & hashCode to: DroolsPdpEntity DroolsPdpImpl Use lombok for a number of getters & setters. Address sonar issue, "Define a constant instead of duplicating this literal" in: DroolsPdpsElectionHandler JpaDroolsPdpsConnector MavenDroolsController GenericEventProtocolCoder GsonProtocolCoderToolset RestManager Address sonar issue, "Remove the parentheses around the parameter" in: MavenDroolsController Address sonar issue, "Replace this lambda with a method reference" in: LifecycleFsm Address sonar issue, "Move this constructor to comply with Java Code Conventions" in: LifecycleStateRunning Address sonar issue, "Replace this 'switch' statement by 'if' statements to increase readability", as specified in: PolicyEngineManager Address sonar issue, "Rename field to prevent any misunderstanding/clash with field" in: MdcTransactionImpl Address sonar issue, "Either log or rethrow this exception", in: RestManager Address sonar issue, "Rename this constant name to" uppercase, by replacing enums with static lists in: RestManager Addressed review comments: Fixed license dates. Renamed getSiteName/setSiteName methods to getSite/setSite in the interface to match the field names in the implementation classes. Renamed *Instance classes to *Constants. Next round of review comments. Change-Id: I1c26af9f194833dd773f2b25dc5f60cde163201c Issue-ID: POLICY-1968 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-08-07Bump version of drools-pdpJim Hahn1-2/+3
Updated the remaining *.pom files. Updated java test file that uses the version. Changed versions in *.pom files to all be 1.0.0. Change-Id: Ia75cdfa5704b1e16b3c78e0257e619cd41220f93 Issue-ID: POLICY-1965 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-07-31Fix junit broken by new addTopic(List) methodJim Hahn2-5/+5
Addition of new TopicEndpoint.addTopic() method resulted in errors like the following in drools-pdp: [ERROR] ... reference to addTopicSources is ambiguous both method addTopicSources(Properties) and method addTopicSources(List<TopicParameters>) match Fixed the junits to disambiguate the method invocation. Change-Id: Ibd648412f22290099c1213e9a1b45ab34bcbb859 Issue-ID: POLICY-1953 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-07-26Sonar ignored testJim Hahn1-2/+2
Renaming test file in an attempt to get sonar to include it. Change-Id: I72ecc4255e45dabeec0ce86f8be5ce7daa8cb999 Issue-ID: POLICY-1772 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-07-25Add coverage to MavenDroolsControllerJim Hahn1-0/+1163
Change-Id: I7234c0146ef77f685a9766bb03168e385090fd1b Issue-ID: POLICY-1772 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-07-11Fix checkstyle issues in policy-managementJim Hahn5-63/+63
Also deleted the checkstyle suppression file. Moved classes into their own source files per checkstyle. Change-Id: I586223aac0e5b7623cfd7b0acfceca4742ecc013 Issue-ID: POLICY-1908-mgmt-style Signed-off-by: Jim Hahn <jrh3@att.com>
2019-07-08Fix drools-pdp due to sonar changes in commonJim Hahn4-24/+22
Fixed breakages due to changes made in policy/common to satisfy sonar. Change-Id: I26a38340707b2903e089350c31c5dfdb5c019ee0 Issue-ID: POLICY-1791 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-06-17Change getCanonicalName() to getName() in drools-pdpJim Hahn4-17/+17
Per javadocs, getName() should generally be used instead of Class.getCanonicalName(). This change only applies to classes; it does not apply to File objects. Change-Id: I28df56b3dfd0382239960d7f0f6e1131d702b2ab Issue-ID: POLICY-1646 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-05-31Bump drools-pdp to version 1.5.0Jim Hahn1-1/+1
Change-Id: I6eb1f0e7dc2c0ac9b4f1594497c321aa57db8ecd Issue-ID: POLICY-1747 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-05-16Step snapshot version of drools-pdpliamfallon1-1/+1
Issue-ID: POLICY-1630 Change-Id: Ia77856077ae89f839aa930101c2002ac25f79595 Signed-off-by: liamfallon <liam.fallon@est.tech>
2019-04-30Enable noop source support in controllerjhh1-51/+105
Additional telemetry apis for testing. Change-Id: I60a61ffbbe86bbb0474777905de922434deabbe2 Issue-ID: POLICY-1716 Signed-off-by: jhh <jorge.hernandez-herrero@att.com>
2019-04-24Add telemetry API interface for Lifecyclejhh1-6/+21
Some cleanup consolidating code in cire telemetry apis. Issue-ID: POLICY-1687 Signed-off-by: jhh <jorge.hernandez-herrero@att.com> Change-Id: Ic5241d45eba06796192cca1e82cba5ae53dc5aaf Signed-off-by: jhh <jorge.hernandez-herrero@att.com>
2019-04-08Initial support for deployjhh2-4/+5
This is a first pass, some functionality is missing (undeploy). Compile error fix from changes in policy/models repo. Change-Id: If448492ab665c135bace99d4d684d403e2a6be03 Issue-ID: POLICY-1624 Signed-off-by: jhh <jorge.hernandez-herrero@att.com>
2019-03-21Support topic properties files.Jorge Hernandez1-8/+58
They will be loaded automatically at startup. Remove POLICY-PAP-PDP topic as is moved to a feature. Remove PDPD-CONFIGURATION topic as it is not used. Change-Id: I55629f885d61ce1cc4e3f24bcae5279e65a96f22 Issue-ID: POLICY-1610 Signed-off-by: Jorge Hernandez <jorge.hernandez-herrero@att.com>
2019-03-01move all hard install config to environment varsJorge Hernandez3-46/+67
+ support multiple system properties files with variable interpolation loaded at initialization + support of configurable JVM options (-X, etc ..). + rearrange aaf configuration to avoid {{}} installation variables and use dynamic enviroment variables. + miscellaneous clean up in areas touched and checkstyle. Change-Id: I71ad839778e17eb57c098a2c5cc2bf96e468669a Issue-ID: POLICY-1524 Signed-off-by: Jorge Hernandez <jorge.hernandez-herrero@att.com>
2019-02-21Add Nested JSON FilteringDaniel Cruz2-221/+141
The refactoring of the JsonProtocolFilter allows for complex filter queries for JSON events coming in on network topics. The underlying library used is json-path, which supports path based searching and ruby regex filtering at any level of the JSON document. The JsonProtocolFilter no longer requires a FilterRule class as one json-path filter can contain multiple constraints using "&&" or "||". This eliminates the need to identify the field name as a key with a regex associated with it in the controller properties file (see the original FilterRule implementation). It also simplifies the parsing needed in the DroolsControllerFactory when extracting the filter property and creating the JsonProtocolFilter. JUnit coverage is 100% and all sonar flags were addressed related to the JsonProtocolFilter class. Tested and verified working with the telemetry API in a locally deployed PDP-D. Change-Id: I8bd63db4e497c1ba0b5044b5449ccb7a9e4dbdbc Issue-ID: POLICY-1489 Signed-off-by: Daniel Cruz <dc443y@att.com>
2019-02-15Test gson in policy-managementJim Hahn20-46/+465
Added jackson-like Gson annotations to policy-management classes. Also added tests to verify that the classes serialize the same with gson as with jackson. Removed some trailing spaces. Replaced tabs and adjusted spacing in json files. Removed trailing newlines. Updated license data per review comment. Fixed merge conflict. Added files that were inadvertently deleted. Change-Id: Ib546e70f9d9d83187a6a93ff5c634000c4d53da5 Issue-ID: POLICY-1431 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-02-14Remove jackson from policy codersJim Hahn3-32/+3
Coders came in pairs, one for GSON and one for Jackson. Replaced the pairs with a single coder for GSON. Simplified list copy. Removed multipleToolsetRetries flag. Removed additional jackson code. It had been removed, but the changes were somehow lost. Simplified another list copy. Updated license dates. Note: the date in PolicyEngineTest will be updated via a different review (mgmt-gson). Change-Id: Id3c7688c2389d194f66afcefa14303cf403ada16 Issue-ID: POLICY-1431 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-02-11Replace PolicyAssert with assertjJim Hahn3-101/+111
PolicyAssert has a sonar issue and is no longer needed, as the same functionality (and more) is provided by assertj. Modified drools-pdp test code to replace PolicyAssert with assertj. Updated license dates. Removed trailing spaces. Remove assertj version from poms, as it's now included in parent pom. Change-Id: Ica82a959613e082dc6ed6fc9e103a198c2f17537 Issue-ID: POLICY-1393 Signed-off-by: Jim Hahn <jrh3@att.com>
2019-02-04Report KieBase names in rules artifacts.Jorge Hernandez3-10/+18
The rule writer at design time can embed the domain base model(s) supported at design time. This information can be extracted at runtime to match a controller with the domain/model functionality that it can support. Change-Id: I7f7f1320d7d601d50949d0cd09bc48982c222333 Issue-ID: POLICY-1500 Signed-off-by: Jorge Hernandez <jorge.hernandez-herrero@att.com>
2019-01-15Change Junit to check for error code 406Jorge Hernandez1-1/+1
This is to support some clean up changes done in policy/common under commit 55f5c4dc9e130e48a25b048e1f3091b10c17e365. Change-Id: I2961d7ba719d22f144af972dc3964c3ac402e75c Issue-ID: POLICY-1397 Signed-off-by: Jorge Hernandez <jorge.hernandez-herrero@att.com>
2018-12-04Fix sonar issue in droolspdfKrishnakumar Jinka1-6/+17
Modify protocol coder to fix sonar issue about method params too many. Using existing builder. Address review comments, replace modified with modification Issue-ID: POLICY-1251 Change-Id: I67bd753f346108865404b733e7cf6008c2012766 Signed-off-by: krisjinka <kris.jinka@samsung.com>