RESTClient tool

RESTClient is a Java application to test RESTful webservices. RESTClient2.4 can be downloaded from http://code.google.com/p/rest-client/downloads/detail?name=restclient-ui-2.4-jar-with-dependencies.jar

 

1. Before testng REST interface of OpenEMPI, get a session key from REST interface of OpenEMPI by following method and configured the session key in the HTTP Headers in each test cases for authentication.

(1). Get session key through authenticate method

URL:  http://localhost:8080/openempi-admin/openempi-ws-rest/security-resource/authenticate

HTTP Method: PUT

Content-type: application/xml

Body:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><authenticationRequest><password>admin</password><username>admin</username></authenticationRequest>

Response:
70394B59A140CCA6A9B32998BAC85086

(2). Add session key to the HTTP header in each test cases for authentication.

 

2. Test cases.

(1) person-query-resource/loadPerson

URL: http://localhost:8080/openempi-admin/openempi-ws-rest/person-query-resource/loadPerson?personId=44800

HTTP Method: GET

Content-type: application/xml

 

(2) person-query-resource/findPersonById

URL: http://localhost:8080/openempi-admin/openempi-ws-rest/person-query-resource/findPersonById

HTTP Method: POST

Content-type: application/xml

Body:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

    <personIdentifier>

        <identifier>865e7370-a045-11e1-a160-005056c00008</identifier>

        <identifierDomain>

            <namespaceIdentifier>2.16.840.1.113883.4.357</namespaceIdentifier>

            <universalIdentifier>2.16.840.1.113883.4.357</universalIdentifier>

            <universalIdentifierTypeCode>hl7</universalIdentifierTypeCode>

        </identifierDomain>

    </personIdentifier>

 

(3) person-query-resource/getIdentifierDomains

URL: http://localhost:8080/openempi-admin/openempi-ws-rest/person-query-resource/getIdentifierDomains

HTTP Method: GET

Content-type: application/xml

 

(4) person-query-resource/getIdentifierDomainAttributes

URL: http://localhost:8080/openempi-admin/openempi-ws-rest/person-query-resource/getIdentifierDomainAttributes

HTTP Method: POST

Content-type: application/xml

Body:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<identifierDomain>

    <dateCreated>2009-06-17T11:45:54-04:00</dateCreated>

    <identifierDomainDescription>2.16.840.1.113883.4.2</identifierDomainDescription>

    <identifierDomainId>11</identifierDomainId>

    <identifierDomainName>2.16.840.1.113883.4.2</identifierDomainName>

    <namespaceIdentifier>2.16.840.1.113883.4.2</namespaceIdentifier>

    <universalIdentifier>2.16.840.1.113883.4.2</universalIdentifier>

    <universalIdentifierTypeCode>TIN</universalIdentifierTypeCode>

</identifierDomain>

 

(5) person-query-resource/getGlobalIdentifierById

URL:http://localhost:8080/openempi-admin/openempi-ws-rest/person-query-resource/getGlobalIdentifierById

HTTP Method: POST

Content-type: application/xml

Body:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

    <personIdentifier>

        <identifier>865e7370-a045-11e1-a160-005056c00008</identifier>

        <identifierDomain>

            <namespaceIdentifier>2.16.840.1.113883.4.357</namespaceIdentifier>

            <universalIdentifier>2.16.840.1.113883.4.357</universalIdentifier>

            <universalIdentifierTypeCode>hl7</universalIdentifierTypeCode>

        </identifierDomain>

    </personIdentifier>

 

(6) person-query-resource/findPersonsByAttributes

URL: http://localhost:8080/openempi-admin/openempi-ws-rest/person-query-resource/findPersonsByAttributes

HTTP Method: POST

Content-type: application/xml

Body:

<person>

    <familyName>White</familyName><givenName>Campbell</givenName>

    <dateOfBirth>1982-05-29T00:00:00-04:00</dateOfBirth>

</person>

 

(6) person-query-resource/getPersonLinks

URL:http://localhost:8080/openempi-admin/openempi-ws-rest/person-query-resource/getPersonLinks

HTTP Method: POST

Content-type: application/xml

Body:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<person>

    <familyName>White</familyName><givenName>Campbell</givenName>

    <dateOfBirth>1982-05-29T00:00:00-04:00</dateOfBirth>

    <personId>45099</personId>

</person>

 

(7) person-query-resource/loadReviewRecordPair

URL:http://localhost:8080/openempi-admin/openempi-ws-rest/person-query-resource/loadReviewRecordPair?personLinkReviewId=23450

HTTP Method: GET

Content-type: application/xml

 

(8) person-manager-resource/updatePersonById

Before calling updatePersonById, make sure the <dateChanged>2012-06-07T09:33:19.796-04:00</dateChanged> should be greater than that of record in the database.

URL:http://localhost:8080/openempi-admin/openempi-ws-rest/person-manager-resource/updatePersonById

HTTP Method: PUT

Content-type: application/xml

Body:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<person>
    <address1>15 Barrett Street</address1>
    <address2>Aleon</address2>
    <city>Westland</city>
    <custom1>JFRS</custom1><custom2>SML</custom2><custom3>Jeff</custom3><custom4>10.1974</custom4>
    <dateChanged>2012-06-07T09:33:19.796-04:00</dateChanged>
    <dateCreated>2012-05-17T13:27:06.165-04:00</dateCreated>
    <dateOfBirth>1974-10-18T00:00:00-04:00</dateOfBirth>
    <familyName>Jeffries</familyName><givenName>Samuel</givenName>
    <personId>44800</personId>
    <personIdentifiers>
        <dateCreated>2012-05-17T13:27:06.535-04:00</dateCreated>
        <identifier>865e7370-a045-11e1-a160-005056c00008</identifier>
        <identifierDomain>
            <dateCreated>2012-02-10T13:44:24.755-05:00</dateCreated>
            <identifierDomainDescription>OpenEMPI Domain</identifierDomainDescription>
            <identifierDomainId>56</identifierDomainId>
            <identifierDomainName>OpenEMPI Domain</identifierDomainName>
            <namespaceIdentifier>2.16.840.1.113883.4.357</namespaceIdentifier>
            <universalIdentifier>2.16.840.1.113883.4.357</universalIdentifier>
            <universalIdentifierTypeCode>hl7</universalIdentifierTypeCode>
            <userCreatedBy>
                <accountExpired>false</accountExpired>
                <accountLocked>false</accountLocked>
                <address><address>2930 Oak Shadow Drive</address>
                <city>Herndon</city><country>US</country><postalCode>20171</postalCode><province>VA</province>
                </address>
                <credentialsExpired>false</credentialsExpired>
                <email>odysseas@sysnetint.com</email>
                <enabled>true</enabled>
                <firstName>Odysseas</firstName>
                <id>1</id>
                <lastName>Pentakalos</lastName>
                <password>d033e22ae348aeb5660fc2140aec35850c4da997</password>
                <passwordHint>A male kitty.</passwordHint>
                <username>testuser</username>
                <website>http://www.sysnetint.com</website>
            </userCreatedBy>
        </identifierDomain>
        <personIdentifierId>29411</personIdentifierId>
            <userCreatedBy>
                <accountExpired>false</accountExpired>
                <accountLocked>false</accountLocked>
                <address><address></address>
                <city>Reston</city><country>US</country><postalCode>20191</postalCode><province>VA</province>
                </address>
                <credentialsExpired>false</credentialsExpired>
                <email>admin@sysnetint.com</email>
                <enabled>true</enabled>
                <firstName>Open</firstName>
                <id>-1</id>
                <lastName>Empi</lastName>
                <password>d033e22ae348aeb5660fc2140aec35850c4da997</password>
                <passwordHint>A male kitty.</passwordHint>
                <phoneNumber></phoneNumber>
                <username>admin</username>
                <website>http://www.sysnetint.com</website>
            </userCreatedBy>
    </personIdentifiers>
    <phoneAreaCode>665</phoneAreaCode>
    <phoneNumber>2012291</phoneNumber
    ><postalCode>47630</postalCode>
    <ssn>189718658</ssn>
    <state>TX</state>
    <userChangedBy>
        <accountExpired>false</accountExpired>
        <accountLocked>false</accountLocked>
        <address><address></address>
        <city>Reston</city>
        <country>US</country>
        <postalCode>20191</postalCode>
        <province>VA</province>
        </address>
        <credentialsExpired>false</credentialsExpired>
        <email>admin@sysnetint.com</email>
        <enabled>true</enabled>
        <firstName>Open</firstName><id>-1</id>
        <lastName>Empi</lastName>
        <password>d033e22ae348aeb5660fc2140aec35850c4da997</password>
        <passwordHint>A male kitty.</passwordHint>
        <phoneNumber></phoneNumber>
        <username>admin</username>
        <website>http://www.sysnetint.com</website>
    </userChangedBy>
    <userCreatedBy>
        <accountExpired>false</accountExpired>
        <accountLocked>false</accountLocked>
        <address><address></address>
        <city>Reston</city>
        <country>US</country>
        <postalCode>20191</postalCode>
        <province>VA</province>
        </address>
        <credentialsExpired>false</credentialsExpired>
        <email>admin@sysnetint.com</email>
        <enabled>true</enabled>
        <firstName>Open</firstName>
        <id>-1</id>
        <lastName>Empi</lastName>
        <password>d033e22ae348aeb5660fc2140aec35850c4da997</password>
        <passwordHint>A male kitty.</passwordHint>
        <phoneNumber></phoneNumber>
        <username>admin</username>
        <website>http://www.sysnetint.com</website></userCreatedBy>
</person>

Â