Admin-Distribution-Standard

Admin-Distribution-Standard Test Details:

Overview:

Admin-Distribution-Standard project is used to test Admin Distribution (AD) service functionality coded based on the Administrative Distribution Spec. It is accomplished by processing AD request message with EDXLDistribution metadata element.  Admin Distribution service tested with or without content object element and by doing a policy check using mock policy engine service.

Testing will be done in standard mode. 

NOTE: As per Admin Distribution specifications, EDXL-Distribution Element does not define a response. Hence a successful response will be a standard HTTP 200 for all below test cases . Meaning, the actual response will depend on the request method used. In a GET request, the response will contain an entity corresponding to the requested resource. In a POST request, the response will contain an entity describing or containing the result of the action.

Important note regarding UDDIConnectionInfo.xml and internalConnectionInfo.xml

As of CONNECT 5.1, both files have been replaced with the more versatile exchangeInfo.xml and internalExchangeInfo.xml files. For users of CONNECT 5.0 and earlier versions, substitute references to these new files with the original uddiConnectionInfo.xml and internalConnectionInfo.xml files

Test Case Details:

  • EntityRequest with a Binary doc: 

    This test case is used to test Admin Distribution service by passing a non-patient centric data binary document in content object element. When this test case is executed, the script will first clear auditrepo.auditrepository table and generate UserId. Generated UserId will be passed in Admin Distribution request message (Assertion-UserInfo-UserName element).  Audit will happen during request, response process and audit entries will be logged into auditrepo.auditrepository table. Script will verify audit entries to make sure expected audit entries are logged in auditrepo.auditrepository table. 

  • EntityRequest with XML data: 

    This test case is used to test Admin Distribution service by passing a non-patient centric xml data in content object element. When this test case is executed, the script will first clear auditrepo.auditrepository table and generate UserId. Generated UserId will be passed in Admin Distribution request message (Assertion-UserInfo-UserName element).  Audit will happen during request, response process and audit entries will be logged into auditrepo.auditrepository table. Script will verify audit entries to make sure expected audit entries are logged in auditrepo.auditrepository table.

  • EntityRequest with multiple documents (XML and Binary): 

    This test case is used to test Admin Distribution service by passing different data formats in a content object element. When this test case is executed, the script will first clear auditrepo.auditrepository table and generate UserId. Generated UserId will be passed in Admin Distribution request message (Assertion-UserInfo-UserName element). Once request sent out and response comes in, auditing will happen and audit entries will be logged into auditrepo.auditrepository table. Script will verify audit entries to make sure expected audit entries are logged in auditrepo.auditrepository table.

  • EntityRequest with multiple documents (multiple contentObjects): 

    This test case is used to test Admin Distribution service using multiple content object elements with different data formats. When this test case is executed, the script will first clear auditrepo.auditrepository table and generate UserId. Generated UserId will be passed in Admin Distribution request message (Assertion-UserInfo-UserName element).  Audit will happen during request, response process and audit entries will be logged into auditrepo.auditrepository table. Script will verify audit entries to make sure expected audit entries are logged in auditrepo.auditrepository table.

  • EntityRequest without a ContentObject tag: 

    This test case is used to test Admin Distribution service without passing a content object element in Admin Distribution request message. When this test case is executed, the script will first clear auditrepo.auditrepository table and generate UserId. Generated UserId will be passed in Admin Distribution request message (Assertion-UserInfo-UserName element).  Audit will happen during request, response process and audit entries will be logged into auditrepo.auditrepository table. Script will verify audit entries to make sure expected audit entries are logged in auditrepo.auditrepository table.

  • EntityRequest with an empty ContentObject: 

    This test case is used to test Admin Distribution service by passing an empty content object element in Admin Distribution request message. When this test case is executed, the script will first clear auditrepo.auditrepository table and generate UserId. Generated UserId will be passed in Admin Distribution request message (Assertion-UserInfo-UserName element).  Audit will happen during request, response process and audit entries will be logged into auditrepo.auditrepository table. Script will verify audit entries to make sure expected audit entries are logged in auditrepo.auditrepository table.

  • EntityRequest sent to multiple targets: 

    This test case is used to test Admin Distribution service by sending request message to multiple target communities. When this test case is executed, the script will first copy project level exchangeInfo.xml (which got multiple target community entries) contents into application server exchangeInfo.xml file and clear auditrepo.auditrepository table. Script will also generate UserId and it will be passed in Admin Distribution request message (Assertion-UserInfo-UserName element).  Audit will happen during request, response process and audit entries will be logged into auditrepo.auditrepository table. Script will verify audit entries to make sure expected audit entries are logged in auditrepo.auditrepository table.

  • EntityRequest - Policy engine deny: 

    This test case is used to test Admin Distribution service by failing policy check. When this test case is executed, the script will first clear auditrepo.auditrepository table and add a mock policy engine service endpoint for given HCID in InternalconnectionInfo.xml file. Once request sent out mock policy engine service will be invoked to do a policy check.  Audit will happen during request, response process and audit entries will be logged into auditrepo.auditrepository table. Script will verify audit entries to make sure expected audit entries are logged in auditrepo.auditrepository table.

  • EntityRequest - 404 or 500 error: 

    This test case is used to test Admin Distribution service by sending request message to an invalid endpoint. When this test case is executed, the script will first clear auditrepo.auditrepository table and update Admin Distribution service endpoint to an invalid endpoint in exchangeInfo.xml file.  Audit will happen during request only (as it will error out before response is processed) and audit entries will be logged into auditrepo.auditrepository table. Script will verify audit entries to make sure expected audit entries are logged in auditrepo.auditrepository table.



Preparation & Execution:

  1. Make sure to copy CONNECT common properties from \\CONNECT\Product\Production\Common\Properties\src\main\resources to application server properties folder. (If using WildFly 8.2.1 , copy into \\wildfly-8.2.1.Final\modules\system\layers\base\org\connectopensource\configuration\main).
  2. In AuditRepositoryProxyConfig.xml make sure to have securedImplementation or javaImplementation.
  3. Make sure to enable Standard mode for AD service in gateway.properties. Note: By default all services will be in Standard mode in gateway.properties as of CONNECT-4.6 release.
  4. Restart application server.
  5. Deploy CONNECT ear (mvn clean install -P AD,PD,DQ,DR,DS)
  6. In SoapUI, make sure to have GatewayPropDir value set either by using global SOAPUI properties or by setting custom SOAPUI property at the project level.
  7. In SoapUI, load Admin-Distribution-Standard project and execute.
  8. Make sure all test cases are passed and green.