Executing NRF Test Cases using ATS

To execute NRF Test Cases, you need to ensure that following prerequisites are fulfilled.

Prerequisites

  • Deploy NRF 1.5.0 with default helm configurations using helm charts.
  • Deploy ATS using helm charts.
  • Deploy Stub using helm charts.
  • Deploy Stub in the same namespace as of OCNRF.
  • Ensure Prometheus service is up and running.

Logging into ATS

Before logging into ATS, you need to ensure that it is deployed successfully using HELM charts. A sample screen is given below:

Figure 4-1 Sample Screen: Verifying ATS Deployment



There are two ways to login to ATS Jenkins GUI.

  • When an external load balancer is available and an external IP is provided to the ATS service, user can login to ATS GUI using <External-IP>:8080.
  • When an external IP is not provided to the ATS service, user can open the browser and provide the external IP of the worker node and nodeport of the ATS service to login to ATS GUI.

    <Worker-Node-IP>:<Node-Port-of-ATS>

    Note:

    In the Verifying ATS Deployment screen, the External IP Address allocated by load balancer to ATS service is '10.75.236.72' so, ATS can be accessed using '10.75.236.72:8080'. Alternatively, a user can use worker node IP address and the nodeport of ATS service. For example - <worker_node-IP>:31019. For more details on ATS deployment, refer to NRF ATS Installation Procedure.
The steps to execute ATS are as follows:
  1. Enter the username as "Oracle" and password as "Welcome@123". Click Sign in. A sample screen is shown below:

    Figure 4-2 Sample Screen: Logging into ATS GUI



  2. Following screen shows three different pre-configured pipelines.
    • Documentation
    • New-Features
    • Regression

    Figure 4-3 Jenkins Logged-in First Screen



Jenkins ATS Pre-configured Pipelines

There are three pre-configured pipelines available to you when you login successfully to Jenkins ATS. They are explained below:

Documentation Pipeline

This pre-configured pipeline has the HTML report of all the feature files that are getting tested as part of NRF ATS.

The steps to view details of any specific feature file are as follows:
  1. Click Documentation to select the pipeline and get its content as below:

    Figure 4-4 Documentation Pipeline



  2. Click HTML Report. The following screen appears.

    Figure 4-5 HTML Report



  3. To view details of any specific feature file, click the link of that feature file. The following screen appears.

    Figure 4-6 Feature File Detail



New Features Pipeline

This is a pre-configured pipeline where all the NRF test cases are executed.

The steps to execute NRF test cases are as follows:
  1. Click the icon present in extreme right column corresponding to New-Features row as shown below:

    Figure 4-7 New-Features Pipeline Icon



  2. The following screen appears.

    Figure 4-8 Pipeline New-Features



  3. Select NRF from the NF list. The EnvVars parameters appear on the screen. Enter values for these parameters as per below recommendations:
    • FT Endpoint: (ocnrf-ingressgateway.ocnrf.svc.cluster.local:80) This value is as per the helm deployment. This value is a combination of endpoint and endpointPort parameter in the helm deployment values.yaml file. If the user is changing the default endpoint or endpointPort value while deploying NRF, this needs to be set as per the new value.
    • NRF Namespace: Namespace in which NRF is deployed.
    • Master IP: Provides the service name of NRF ingressgateway. For example - ocnrf-ingreessgateway.ocnrf
    • Master Port: Provides the port of NRF ingressgateway service. For example - 80
    • Config IP: Provides the service name of NRF configuration microservice. For example - ocnrf-nrfconfiguration.ocnrf
    • Config Port: Provides the port of NRF configuration microservice. For example - 8080.
    • NRF InstanceID: Provides the NRF Instance ID, which is used in helm charts for NRF deployment. For example - 6faf1bbc-6e4a-4454-a507-a14ef8e1bc5c
    • Stub IP: Provides the service name of the HTTP stub simulator. For example - notify-stub-service.ocnrf
    • Stub Port: Provides the port of the HTTP simulator. For example - 8080
    • Prom IP: Provides the Prometheus service name. For example - occne-prometheus-server.occne-infra
    • Prom Port: Provides the port of Prometheus service. For example - 80

      Note:

      All the parameters are mandatory.
  4. From the Re_Run list, select an appropriate value. This value indicates the number of times user wants Jenkins to re-execute the failed cases when any test case fails in 1st attempt.

    Note:

    The Re_Run field helps to remove any possibility of network glitch before marking any test as failed.

    Figure 4-9 Pipeline New-Features with Values

  5. Click Build to begin the test execution process.

Regression

This pre-configured pipeline is created as per customer requirement. It is a future enhancement.