QA Step By Step Instructions For External API Sandbox Deployment ---------------------------------------------------------------- Download the latest alpha, beta, or release builds for the story to be tested. The following artifacts are necessary on first time setup of the environment. Take one of each using the build numbers given to you in the ticket. If no build numbers are given when the story is marked ready for test, reach out to a developer to confirm before testing: An aml-data-tool build A SAPI standalone-no-db-init.war An aml-oauth-provider build An aml-external-api build for each service to be tested Create the necessary databases on the environment's MySQL server, at least the following schemas are necessary on top of the base TSA schemas(warehouse_1, mms_common, tsacommon, biz_func_location), use the schema.sql from the aml-data-tool repo in src/main/resources/db/{schema} to create these: oauth smb sapi_auth Run the aml-data-tool initializing and migrating each of these to the latest version. java -jar aml-data-tool.jar init -s -iv 0.0.1 java -jar aml-data-tool.jar migrate -s -t 10 Copy the necessary war files(sapi, oauth, any external api services) to the webapps directory renaming each to remove the version information from the war file name. Create the folders that contain properties files: mkdir -p /usr/local/tsa/oauth/conf mkdir -p /usr/local/tsa/merchantapi/conf Create the property files in these folders with the following contents after filling in the appropriate details for any replacement tokens (surrounded by curly braces): /usr/local/tsa/oauth/conf/aml-oauth-provider-ds.properties : clientDetailsDs.driverClassName=com.mysql.jdbc.Driver clientDetailsDs.url=jdbc:mysql://localhost:3306/oauth?useUnicode=true&characterEncoding=utf8 clientDetailsDs.username={mysql username} clientDetailsDs.password={mysql password} clientDetailsDs.minIdle=10 clientDetailsDs.maxIdle=25 clientDetailsDs.defaultAutoCommit=true clientDetailsDs.validationQuery=select now(); sapiAuthDs.driverClassName=com.mysql.jdbc.Driver sapiAuthDs.url=jdbc:mysql://localhost:3306/sapi_auth?useUnicode=true&characterEncoding=utf8 sapiAuthDs.username={mysql username} sapiAuthDs.password={mysql password} sapiAuthDs.minIdle=10 sapiAuthDs.maxIdle=25 sapiAuthDs.defaultAutoCommit=true sapiAuthDs.validationQuery=select now(); /usr/local/tsa/merchantapi/conf/sapi-service-overrides.properties : sapi-username=tenant+tsa@thesearchagency.com sapi-password=tsa sapi-auth-url=http://localhost.com:8080/sapi/rest/security/tokens sapi-base-url=http://localhost.com:8080/sapi/rest sapi-realm-resolver-class=com.admaxlocal.sapi.security.client.SapiRealmResolver sapi-auth-datasource-driver=com.mysql.jdbc.Driver sapi-auth-datasource-url=jdbc:mysql://localhost:3306/sapi_auth?useUnicode=true&characterEncoding=utf8 sapi-auth-datasource-user={mysql username} sapi-auth-datasource-pass={mysql password} sapi-auth-datasource-min-pool-size=10 sapi-auth-datasource-max-pool-size=25 sapi-auth-datasource-test-query=select now(); sapi-auth-datasource-autocommit=true Start the Tomcat server. Go to the following url with your browser after replacing the test server name or ip: http://{test server name or ip address}:8080/aml-oauth-provider/password.jsp?userId=1 Enter the following exactly into the "Key" field: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa Enter a password twice into the "Password" and "Confirm Password" fields. The password must contain at least one lowercase, at least one capital, at least one number and at least one symbol character and must be at least 12 characters long. This password allows someone to manage users, it must be secure in production. All passwords for the OAuth Provider must be this secure as they either allow users to be created or allow users to act on behalf of a reseller. You should now be ready to test the basic functionality and integration between the OAuth Provider, SAPI, and the External API.