AccessKeyPair getAccessKeyPair(Invocation invocation, URL url) {
        AccessKeyStorage accessKeyStorage = applicationModel
                .getExtensionLoader(AccessKeyStorage.class)
                .getExtension(url.getParameter(Constants.ACCESS_KEY_STORAGE_KEY, Constants.DEFAULT_ACCESS_KEY_STORAGE));

        AccessKeyPair accessKeyPair;
        try {
            accessKeyPair = accessKeyStorage.getAccessKey(url, invocation);
            if (accessKeyPair == null
                    || StringUtils.isAnyEmpty(accessKeyPair.getAccessKey(), accessKeyPair.getSecretKey())) {
                throw new AccessKeyNotFoundException("AccessKeyId or secretAccessKey not found");
            }
        } catch (Exception e) {
            throw new RuntimeException("Can't load the AccessKeyPair from accessKeyStorage", e);
        }
        return accessKeyPair;
    }
@Test
    void testGetAccessKeyPairFailed() {
        URL url = URL.valueOf("dubbo://10.10.10.10:2181").addParameter(Constants.ACCESS_KEY_ID_KEY, "ak");
        AccessKeyAuthenticator helper = new AccessKeyAuthenticator(ApplicationModel.defaultModel());
        Invocation invocation = mock(Invocation.class);
        assertThrows(RuntimeException.class, () -> helper.getAccessKeyPair(invocation, url));
    }