@@ -0,0 +1,1406 @@
+/*%0A*  Copyright (c) 2005-2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.%0A*%0A*  WSO2 Inc. licenses this file to you under the Apache License,%0A*  Version 2.0 (the %22License%22); you may not use this file except%0A*  in compliance with the License.%0A*  You may obtain a copy of the License at%0A*%0A*    http://www.apache.org/licenses/LICENSE-2.0%0A*%0A* Unless required by applicable law or agreed to in writing,%0A* software distributed under the License is distributed on an%0A* %22AS IS%22 BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY%0A* KIND, either express or implied.  See the License for the%0A* specific language governing permissions and limitations%0A* under the License.%0A*/%0A%0Apackage org.wso2.carbon.apimgt.impl;%0A%0Aimport org.junit.Test;%0Aimport org.wso2.carbon.apimgt.api.APIManagementException;%0Aimport org.wso2.carbon.apimgt.api.model.AccessTokenRequest;%0A%0Apublic class AbstractKeyManagerTest %7B%0A%0A    @Test%0A    public void buildAccessTokenRequestFromJSONTest() throws APIManagementException %7B%0A        String jsonPayload = %22%7B %5C%22callbackUrl%5C%22: %5C%22www.google.lk%5C%22, %5C%22clientName%5C%22: %5C%22rest_api_publisher%5C%22, %22 +%0A                %22%5C%22tokenScope%5C%22: %5C%22Production%5C%22, %5C%22owner%5C%22: %5C%22admin%5C%22, %5C%22grantType%5C%22: %5C%22password refresh_token%5C%22, %5C%22saasApp%5C%22: true %7D%22;%0A%0A        AbstractKeyManager keyManager = new AMDefaultKeyManagerImpl();%0A        keyManager.buildAccessTokenRequestFromJSON(jsonPayload, new AccessTokenRequest());%0A%0A%0A    %7D%0A%0A%7D%0A

Add AbstractKeyManager unit tests