private static Optional<SoftwareVersion> getSoftwareVersion(XmppClient client) { try { return Optional.ofNullable(client.getManager(SoftwareVersionManager.class).getSoftwareVersion(client.getDomain()).getResult()); } catch (Exception e) { return Optional.empty(); } }
@Override public boolean run() { ServiceDiscoveryManager manager = client.getManager(ServiceDiscoveryManager.class); try { return manager.discoverServices(getNamespace()).getResult().size() > 0; } catch (XmppException e) { LOGGER.debug(e.getMessage()); return false; } }
@Override public boolean run() { final ServiceDiscoveryManager serviceDiscoveryManager = client.getManager(ServiceDiscoveryManager.class); final MultiUserChatManager multiUserChatManager = client.getManager(MultiUserChatManager.class); try { List<ChatService> chatServices = multiUserChatManager.discoverChatServices().getResult(); if (chatServices.size() < 1) { LOGGER.debug("Unable to find a MUC service"); return false; } final ChatService chatService = chatServices.get(0); final ChatRoom room = chatService.createRoom(generateConversationsLikePronounceableName()); room.enter("test").getResult(); final Set<String> features = serviceDiscoveryManager.discoverInformation(room.getAddress()).getResult().getFeatures(); room.destroy().getResult(); return features.contains(VCard.NAMESPACE); } catch (XmppException e) { LOGGER.debug(e.getMessage()); } return false; } }
protected void printServerVersion() { final SoftwareVersionManager softwareVersionManager = mXmppClient.getManager(SoftwareVersionManager.class); try { SoftwareVersion softwareVersion = softwareVersionManager.getSoftwareVersion(mXmppClient.getDomain()).getResult(); System.out.println("Server is "+softwareVersion.getName()+" "+softwareVersion.getVersion()); } catch (XmppException e) { //ignored } }
@Override public Result run() { ServiceDiscoveryManager manager = client.getManager(ServiceDiscoveryManager.class); //manually iterating over items. ignoring the faulty ones AsyncResult<ItemNode> itemNode = manager.discoverItems(client.getDomain()); try { List<Jid> items = new ArrayList<>(); itemNode.getResult().getItems().stream().map(Item::getJid).forEach(items::add); items.add(client.getDomain()); for(Jid jid : items) { try { for(String feature : manager.discoverInformation(jid).getResult().getFeatures()) { if (getNamespace().equals(feature)) { return Result.PASSED; } } } catch (Exception e) { //ignored } } } catch (Exception e) { return Result.FAILED; } return Result.FAILED; }
@Override public boolean run() { ServiceDiscoveryManager manager = client.getManager(ServiceDiscoveryManager.class); try { final List<Item> items = manager.discoverServices(Upload.NAMESPACE).getResult(); if (items.size() == 0) { LOGGER.debug("No HTTP upload service found"); return false; } IQ slotRequest = new IQ(IQ.Type.GET, DUMMY_SLOT_REQUEST); slotRequest.setTo(items.get(0).getJid()); IQ response = client.query(slotRequest).getResult(); Slot slot = response.getExtension(Slot.class); URL put = slot.getPut().getUrl(); return checkCorsHeaders(put); } catch (Exception e) { LOGGER.debug(e.getMessage()); return false; } }
@Override public Result run() { ServiceDiscoveryManager manager = client.getManager(ServiceDiscoveryManager.class); AsyncResult<InfoNode> result = manager.discoverInformation(client.getConnectedResource().asBareJid()); try { Set<Identity> identies = result.getResult(10, TimeUnit.SECONDS).getIdentities(); for(Identity identity : identies) { if ("pep".equalsIgnoreCase(identity.getType()) && "pubsub".equalsIgnoreCase(identity.getCategory())) { return Result.PASSED; } } return Result.FAILED; } catch (Exception e) { e.printStackTrace(); return Result.FAILED; } }
@Override public boolean run() { ServiceDiscoveryManager manager = client.getManager(ServiceDiscoveryManager.class); AsyncResult<InfoNode> result = manager.discoverInformation(client.getConnectedResource().asBareJid()); try { Set<Identity> identities = result.getResult(10, TimeUnit.SECONDS).getIdentities(); for (Identity identity : identities) { if ("pep".equalsIgnoreCase(identity.getType()) && "pubsub".equalsIgnoreCase(identity.getCategory())) { return true; } } return false; } catch (Exception e) { e.printStackTrace(); return false; } } }
@Override public Result run() { final ServiceDiscoveryManager serviceDiscoveryManager = client.getManager(ServiceDiscoveryManager.class); final MultiUserChatManager multiUserChatManager = client.getManager(MultiUserChatManager.class); try { List<ChatService> chatServices = multiUserChatManager.discoverChatServices().getResult(); if (chatServices.size() < 1) { return Result.FAILED; } final ChatService chatService = chatServices.get(0); final ChatRoom room = chatService.createRoom(UUID.randomUUID().toString()); room.enter("test"); try { final DataForm.Field mam = room.getConfigurationForm().get().findField("mam"); if (mam != null) { return Result.PASSED; } } catch (ExecutionException | InterruptedException e) { //ignore } final Set<String> features = serviceDiscoveryManager.discoverInformation(room.getAddress()).getResult().getFeatures(); final boolean mam = TestUtils.hasAnyone(MAM.NAMESPACES,features); room.destroy().getResult(); return mam ? Result.PASSED : Result.FAILED; } catch (XmppException e) { return Result.FAILED; } }
final MultiUserChatManager multiUserChatManager = client.getManager(MultiUserChatManager.class); try { List<ChatService> chatServices = multiUserChatManager.discoverChatServices().getResult(); if (chatServices.size() < 1) { LOGGER.debug("Unable to find a MUC service"); room.enter("test").getResult(); boolean hasFormField = false; try { final Set<String> features = serviceDiscoveryManager.discoverInformation(room.getAddress()).getResult().getFeatures(); final boolean hasFeature = TestUtils.hasAnyone(MAM.NAMESPACES, features); room.destroy().getResult(); return (hasFeature || hasFormField); } catch (XmppException e) {
static String register(Jid jid) throws RegistrationFailed, RegistrationNotSupported { XmppClient client = XmppClient.create(jid.getDomain()); try { client.connect(jid); } catch (XmppException e) { throw new RegistrationFailed("unable to connect to server"); } try { RegistrationManager registrationManager = client.getManager(RegistrationManager.class); if (registrationManager.isRegistrationSupported().getResult()) { String password = new BigInteger(64, new SecureRandom()).toString(36); Registration registration = Registration.builder() .username(jid.getLocal()) .password(password) .build(); registrationManager.register(registration).getResult(); return password; } else { throw new RegistrationNotSupported(); } } catch (XmppException e) { throw new RegistrationFailed(e.getMessage()); } }
static String register(Jid jid) throws RegistrationFailed, RegistrationNotSupported { XmppClient client = XmppClient.create(jid.getDomain()); try { client.connect(jid); } catch(XmppException e) { throw new RegistrationFailed("unable to connect to server"); } try { RegistrationManager registrationManager = client.getManager(RegistrationManager.class); if (registrationManager.isRegistrationSupported().getResult()) { String password = new BigInteger(64, new SecureRandom()).toString(36); Registration registration = Registration.builder() .username(jid.getLocal()) .password(password) .build(); registrationManager.register(registration).getResult(); return password; } else { throw new RegistrationNotSupported(); } } catch (XmppException e) { throw new RegistrationFailed(e.getMessage()); } }
@Override public boolean run() { Jid target = Jid.of(client.getConnectedResource().getDomain()); final ServiceDiscoveryManager serviceDiscoveryManager = client.getManager(ServiceDiscoveryManager.class); try { List<DataForm> extensions = serviceDiscoveryManager.discoverInformation(target).getResult().getExtensions(); for (DataForm extension : extensions) { final DataForm.Field addr = extension.findField("abuse-addresses"); if (addr != null && addr.getValues().size() > 0) { return true; } } return false; } catch (XmppException e) { return false; } } }
result = query(IQ.set(new Bind(this.resource))).getResult(configuration.getDefaultResponseTimeout().toMillis(), TimeUnit.MILLISECONDS); } catch (TimeoutException e) { throw new NoResponseException("Could not bind resource due to timeout.");
@Override public Result run() { Jid target = Jid.of(client.getConnectedResource().getDomain()); final ServiceDiscoveryManager serviceDiscoveryManager = client.getManager(ServiceDiscoveryManager.class); try { List<DataForm> extensions = serviceDiscoveryManager.discoverInformation(target).getResult().getExtensions(); for(DataForm extension: extensions) { final DataForm.Field addr = extension.findField("abuse-addresses"); if(addr != null && addr.getValues() != null && addr.getValues().size() > 0) { return Result.PASSED; } } return Result.FAILED; } catch (XmppException e) { return Result.FAILED; } } @Override
@Override public Result run() { final String domain = client.getConnectedResource().getDomain(); final XmppClient testClient = XmppClient.create(domain); try { testClient.connect(); RegistrationManager registrationManager = testClient.getManager(RegistrationManager.class); if(registrationManager.isRegistrationSupported().getResult()) { registrationManager.getRegistration().get(); return Result.PASSED; } return Result.FAILED; } catch (Exception e) { return Result.FAILED; } }
@Override public boolean run() { final String domain = client.getConnectedResource().getDomain(); final XmppClient testClient = XmppClient.create(domain); try { testClient.connect(); RegistrationManager registrationManager = testClient.getManager(RegistrationManager.class); if (registrationManager.isRegistrationSupported().getResult()) { registrationManager.getRegistration().get(); return true; } return false; } catch (Exception e) { return false; } } }
@Override public boolean run() { Jid target = checkOnServer() ? Jid.of(client.getConnectedResource().getDomain()) : client.getConnectedResource().asBareJid(); final ServiceDiscoveryManager serviceDiscoveryManager = client.getManager(ServiceDiscoveryManager.class); try { Set<String> features = serviceDiscoveryManager.discoverInformation(target).getResult().getFeatures(); return TestUtils.hasAnyone(getNamespaces(), features); } catch (XmppException e) { return false; } } }
@Override public Result run() { Jid target = checkOnServer() ? Jid.of(client.getConnectedResource().getDomain()) : client.getConnectedResource().asBareJid(); final ServiceDiscoveryManager serviceDiscoveryManager = client.getManager(ServiceDiscoveryManager.class); try { Set<String> features = serviceDiscoveryManager.discoverInformation(target).getResult().getFeatures(); return TestUtils.hasAnyone(getNamespaces(),features) ? Result.PASSED : Result.FAILED; } catch (XmppException e) { return Result.FAILED; } } }
private static boolean updateServer(XmppClient xmppClient, Server server, Credential credential) { final SoftwareVersionManager softwareVersionManager = xmppClient.getManager(SoftwareVersionManager.class); try { SoftwareVersion softwareVersion = softwareVersionManager.getSoftwareVersion(xmppClient.getDomain()).getResult(); if (softwareVersion == null) { DBOperations.addServer(server); return true; } Server newServer = new Server( credential.getDomain(), softwareVersion.getName(), softwareVersion.getVersion(), server.isListed() ); DBOperations.updateServer(newServer); return true; } catch (XmppException e) { e.printStackTrace(); //No software version found } return false; } }