X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=docs%2Fdevelopment%2Fdevtools%2Fdevtools.rst;h=fae3d17c362db74a90b6bc43d2eca038637845ca;hb=661eb8d3a2d181a7e76094771d1f03b1e9f31be7;hp=1e2fd49f8d05dd81501172ad6ef27c75f380bd68;hpb=a88593f3b92142f4743db4c9f4b5f3a40b55a400;p=policy%2Fparent.git diff --git a/docs/development/devtools/devtools.rst b/docs/development/devtools/devtools.rst index 1e2fd49f..fae3d17c 100644 --- a/docs/development/devtools/devtools.rst +++ b/docs/development/devtools/devtools.rst @@ -58,7 +58,7 @@ ONAP Policy Framework has dependencies to the ONAP Parent *oparent* module, the policy/xacml-pdp \ policy/distribution \ policy/gui \ - policy/engine " + policy/clamp " ## ## Help screen and exit condition (i.e. too few arguments) @@ -152,7 +152,7 @@ Execution of the script above results in the following directory hierarchy in yo * ~/git/onap/policy/docker * ~/git/onap/policy/drools-applications * ~/git/onap/policy/drools-pdp - * ~/git/onap/policy/engine + * ~/git/onap/policy/clamp * ~/git/onap/policy/apex-pdp * ~/git/onap/policy/xacml-pdp * ~/git/onap/policy/distribution @@ -198,10 +198,7 @@ Building ONAP Policy Framework Components drools-applications distribution gui - - engine + clamp @@ -233,7 +230,7 @@ Developing and Debugging each Policy Component Running a MariaDb Instance ++++++++++++++++++++++++++ -The Policy Framework requires a MariaDb instance running. The easiest way to do this is to run a docker image locally. +The Policy Framework requires a MariaDb instance running. The easiest way to do this is to run a docker image locally. One example on how to do this is to use the scripts used by the policy/api S3P tests. @@ -267,6 +264,41 @@ An example of running the api using a docker compose script is located in the Po `Policy CSIT API Docker Compose `_ +Running the Smoke Tests +*********************** + +The following links contain instructions on how to run the smoke tests. These may be helpful to developers to become +familiar with the Policy Framework components and test any local changes. + +.. toctree:: + :maxdepth: 1 + + policy-gui-controlloop-smoke.rst + db-migrator-smoke.rst + cl-participants-smoke.rst + clamp-smoke.rst + clamp-cl-participant-protocol-smoke.rst + policy-participant-smoke.rst + +.. + api-smoke.rst + +.. + pap-smoke.rst + +.. + apex-smoke.rst + +.. + drools-smoke.rst + +.. + xacml-smoke.rst + +.. + distribution-smoke.rst + + Running the Stability/Performance Tests *************************************** @@ -282,4 +314,132 @@ familiar with the Policy Framework components and test any local changes. drools-s3p.rst xacml-s3p.rst distribution-s3p.rst + clamp-s3p.rst + +Running the Pairwise Tests +************************** + +The following links contain instructions on how to run the pairwise tests. These may be helpful to developers check that +the Policy Framework works in a full ONAP deployment. + +.. toctree:: + :maxdepth: 1 + + clamp-policy.rst + + clamp-dcae.rst + + policy-cds.rst + +.. + api-pairwise.rst + +.. + pap-pairwise.rst + +.. + apex-pairwise.rst + +.. + drools-pairwise.rst + +.. + xacml-pairwise.rst + +.. + distribution-pairwise.rst + + +Generating Swagger Documentation +******************************** +The `Policy Parent Integration POM `_ contains a *generateSwaggerDocs* profile. This +profile can be activated on any module that has a Swagger endopint. When active, this profile creates a tarball in Nexus with the name +*-swagger-docs.tar.gz*. The tarball contains the fillowing files: + +.. code-block:: bash + + swagger/swagger.html + swagger/swagger.json + swagger/swagger.pdf + +The profile is activated when: + +1. The following property is defined at the top of the *pom.xml* file for a module + + .. code-block:: bash + + + post-integration-test + + See the `CLAMP runtime POM `_ for an example of the usage of this property. + +2. Unit tests are being executed in the build, in other wirds when the *skipTests* flag is *false*. + +You **must** create a unit test in your module that generates the following file: + +.. code-block:: bash + + src/test/resources/swagger/swagger.json + +Typically, you do this by starting your REST endpoint in a unit test, issuing a REST call to get the Swagger API documentation. The test case below is an example +of such a test case. + +.. code-block:: java + + @Test + public void testSwaggerJson() throws Exception { + ResponseEntity httpsEntity = getRestTemplate() + .getForEntity("https://localhost:" + this.httpsPort + "/restservices/clds/api-doc", String.class); + assertThat(httpsEntity.getStatusCode()).isEqualTo(HttpStatus.OK); + assertThat(httpsEntity.getBody()).contains("swagger"); + FileUtils.writeStringToFile(new File("target/swagger/swagger.json"), httpsEntity.getBody(), + Charset.defaultCharset()); + } + +See `this unit test case `_ +for the full example. + +Running the DMaaP Simulator during Development +********************************************** +It is sometimes convenient to run the DMaaP simulator during development. You can run it from the command line using Maven or from within your IDE. + +Running on the Command Line ++++++++++++++++++++++++++++ +1. Check out the policy models repository +2. Go to the *models-sim/policy-models-simulators* subdirectory in the policy-models repo +3. Run the following Maven command: + + .. code-block:: bash + + mvn exec:java -Dexec.mainClass=org.onap.policy.models.simulators.Main -Dexec.args="src/test/resources/simParameters.json" + +Running in Eclipse +++++++++++++++++++ +1. Check out the policy models repository +2. Go to the *models-sim/policy-models-simulators* module in the policy-models repo +3. Specify a run configuration using the class *org.onap.policy.models.simulators.Main* as the main class +4. Specify an argument of *src/test/resources/simParameters.json* to the run configuration +5. Run the configuration + +Specifying a local configuration file ++++++++++++++++++++++++++++++++++++++ +You may specify a local configuration file instead of *src/test/resources/simParameters.json* on the command line or as an arument in the run configuration in eclipse: + +.. code-block:: json + + { + "dmaapProvider": { + "name": "DMaaP simulator", + "topicSweepSec": 900 + }, + "restServers": [ + { + "name": "DMaaP simulator", + "providerClass": "org.onap.policy.models.sim.dmaap.rest.DmaapSimRestControllerV1", + "host": "localhost", + "port": 3904, + "https": false + } + ] + }