aliyun-openapi-java-sdk
aliyun-openapi-java-sdk copied to clipboard
How to write Unit Test for these APIs like KMS
- 产品和接口:
- KMS
- DecryptRequest
- 平台:
- 最小代码: KMS APS like below:
IClientProfile profile = DefaultProfile.getProfile(xxx, xxx, xxx);
DefaultAcsClient client = new DefaultAcsClient(profile)
DecryptRequest request = new DecryptRequest();
DecryptResponse response = client.getAcsResponse(request);
How can I write UT and no need to access Aliyun service?
import static org.mockito.Mockito.*;
@RunWith(MockitoJUnitRunner.class)
public class MyKMSClassTest {
@Mock
DefaultAcsClient mockClient;
@Mock
DecryptResponse mockResponse;
@InjectMocks
MyKMSClass myKMSInstance;
@Test
public void testDecryptValue() throws Exception {
when(mockClient.getAcsResponse(any(DecryptRequest.class))).thenReturn(mockResponse);
when(mockResponse.getDecryptedValue()).thenReturn("DecryptedValue");
String decryptedValue = myKMSInstance.decryptValue();
assertEquals("DecryptedValue", decryptedValue);
verify(mockClient, times(1)).getAcsResponse(any(DecryptRequest.class));
verify(mockResponse, times(1)).getDecryptedValue();
}
}