Search in sources :

Example 1 with PrivacyListManager

use of org.jivesoftware.smack.PrivacyListManager in project Smack by igniterealtime.

the class PrivacyTest method testDenyDefaultList.

/**
     * Check when a client denies the use of a default list.
     */
public void testDenyDefaultList() {
    try {
        PrivacyListManager privacyManager = PrivacyListManager.getInstanceFor(getConnection(0));
        PrivacyClient client = new PrivacyClient(privacyManager);
        privacyManager.addListener(client);
        privacyManager.declineDefaultList();
        Thread.sleep(500);
        try {
            // The list should not exist and an error will be raised
            privacyManager.getDefaultList();
        } catch (XMPPException xmppException) {
            assertEquals(404, xmppException.getXMPPError().getCode());
        }
        assertEquals(null, null);
    } catch (Exception e) {
        e.printStackTrace();
        fail(e.getMessage());
    }
}
Also used : XMPPException(org.jivesoftware.smack.XMPPException) PrivacyListManager(org.jivesoftware.smack.PrivacyListManager) XMPPException(org.jivesoftware.smack.XMPPException)

Example 2 with PrivacyListManager

use of org.jivesoftware.smack.PrivacyListManager in project Smack by igniterealtime.

the class PrivacyTest method testCreateActiveList.

/**
     * Check when a client set a new active list.
     */
public void testCreateActiveList() {
    try {
        String listName = "testCreateActiveList";
        PrivacyListManager privacyManager = PrivacyListManager.getInstanceFor(getConnection(0));
        PrivacyClient client = new PrivacyClient(privacyManager);
        privacyManager.addListener(client);
        // Add the list that will be set as the active
        ArrayList<PrivacyItem> items = new ArrayList<PrivacyItem>();
        PrivacyItem item = new PrivacyItem(PrivacyItem.Type.jid.name(), true, 1);
        item.setValue(getConnection(0).getUser());
        items.add(item);
        privacyManager.createPrivacyList(listName, items);
        Thread.sleep(500);
        // Set the active list
        privacyManager.setActiveListName(listName);
        Thread.sleep(500);
        // Assert the list composition.
        assertEquals(listName, privacyManager.getActiveList().toString());
        List<PrivacyItem> privacyItems = privacyManager.getPrivacyList(listName).getItems();
        assertEquals(1, privacyItems.size());
        // Assert the privacy item composition
        PrivacyItem receivedItem = privacyItems.get(0);
        assertEquals(1, receivedItem.getOrder());
        assertEquals(PrivacyItem.Type.jid, receivedItem.getType());
        assertEquals(true, receivedItem.isAllow());
        privacyManager.deletePrivacyList(listName);
    } catch (Exception e) {
        e.printStackTrace();
        fail(e.getMessage());
    }
}
Also used : ArrayList(java.util.ArrayList) PrivacyListManager(org.jivesoftware.smack.PrivacyListManager) XMPPException(org.jivesoftware.smack.XMPPException)

Example 3 with PrivacyListManager

use of org.jivesoftware.smack.PrivacyListManager in project Smack by igniterealtime.

the class PrivacyTest method testCreateTwoLists.

/**
     * Check when a client set more than one list.
     */
public void testCreateTwoLists() {
    try {
        String listName1 = "1testCreateTwoLists";
        String listName2 = "2testCreateTwoLists";
        String groupName = "testCreateTwoListsGroup";
        PrivacyListManager privacyManager = PrivacyListManager.getInstanceFor(getConnection(0));
        PrivacyClient client = new PrivacyClient(privacyManager);
        privacyManager.addListener(client);
        // Add a list
        ArrayList<PrivacyItem> items = new ArrayList<PrivacyItem>();
        PrivacyItem item = new PrivacyItem(PrivacyItem.Type.jid.name(), true, 1);
        item.setValue(getConnection(0).getUser());
        items.add(item);
        privacyManager.createPrivacyList(listName1, items);
        Thread.sleep(500);
        // Add the another list
        ArrayList<PrivacyItem> itemsList2 = new ArrayList<PrivacyItem>();
        item = new PrivacyItem(PrivacyItem.Type.group.name(), false, 2);
        item.setValue(groupName);
        item.setFilterMessage(true);
        itemsList2.add(item);
        privacyManager.createPrivacyList(listName2, itemsList2);
        Thread.sleep(500);
        // Assert the list composition.
        PrivacyList[] privacyLists = privacyManager.getPrivacyLists();
        PrivacyList receivedList1 = null;
        PrivacyList receivedList2 = null;
        for (PrivacyList privacyList : privacyLists) {
            if (listName1.equals(privacyList.toString())) {
                receivedList1 = privacyList;
            }
            if (listName2.equals(privacyList.toString())) {
                receivedList2 = privacyList;
            }
        }
        PrivacyItem receivedItem;
        // Assert on the list 1
        assertNotNull(receivedList1);
        assertEquals(1, receivedList1.getItems().size());
        receivedItem = receivedList1.getItems().get(0);
        assertEquals(1, receivedItem.getOrder());
        assertEquals(PrivacyItem.Type.jid, receivedItem.getType());
        assertEquals(true, receivedItem.isAllow());
        assertEquals(getConnection(0).getUser(), receivedItem.getValue());
        // Assert on the list 2
        assertNotNull(receivedList2);
        assertEquals(1, receivedList2.getItems().size());
        receivedItem = receivedList2.getItems().get(0);
        assertEquals(2, receivedItem.getOrder());
        assertEquals(PrivacyItem.Type.group, receivedItem.getType());
        assertEquals(groupName, receivedItem.getValue());
        assertEquals(false, receivedItem.isAllow());
        assertEquals(groupName, receivedItem.getValue());
        assertEquals(false, receivedItem.isFilterEverything());
        assertEquals(true, receivedItem.isFilterMessage());
        assertEquals(false, receivedItem.isFilterPresence_in());
        assertEquals(false, receivedItem.isFilterPresence_out());
        privacyManager.deletePrivacyList(listName1);
        privacyManager.deletePrivacyList(listName2);
    } catch (Exception e) {
        e.printStackTrace();
        fail(e.getMessage());
    }
}
Also used : PrivacyList(org.jivesoftware.smack.PrivacyList) ArrayList(java.util.ArrayList) PrivacyListManager(org.jivesoftware.smack.PrivacyListManager) XMPPException(org.jivesoftware.smack.XMPPException)

Example 4 with PrivacyListManager

use of org.jivesoftware.smack.PrivacyListManager in project Smack by igniterealtime.

the class PrivacyTest method testCreateDefaultList.

/**
     * Check when a client set a new default list.
     */
public void testCreateDefaultList() {
    try {
        String listName = "testCreateDefaultList";
        PrivacyListManager privacyManager = PrivacyListManager.getInstanceFor(getConnection(0));
        PrivacyClient client = new PrivacyClient(privacyManager);
        privacyManager.addListener(client);
        // Add the list that will be set as the Default
        ArrayList<PrivacyItem> items = new ArrayList<PrivacyItem>();
        PrivacyItem item = new PrivacyItem(PrivacyItem.Type.jid.name(), true, 1);
        item.setValue(getConnection(0).getUser());
        items.add(item);
        privacyManager.createPrivacyList(listName, items);
        Thread.sleep(500);
        // Set the Default list
        privacyManager.setDefaultListName(listName);
        Thread.sleep(500);
        // Assert the list composition.
        assertEquals(listName, privacyManager.getDefaultList().toString());
        List<PrivacyItem> privacyItems = privacyManager.getPrivacyList(listName).getItems();
        assertEquals(1, privacyItems.size());
        // Assert the privacy item composition
        PrivacyItem receivedItem = privacyItems.get(0);
        assertEquals(1, receivedItem.getOrder());
        assertEquals(PrivacyItem.Type.jid, receivedItem.getType());
        assertEquals(true, receivedItem.isAllow());
        privacyManager.deletePrivacyList(listName);
    } catch (Exception e) {
        e.printStackTrace();
        fail(e.getMessage());
    }
}
Also used : ArrayList(java.util.ArrayList) PrivacyListManager(org.jivesoftware.smack.PrivacyListManager) XMPPException(org.jivesoftware.smack.XMPPException)

Example 5 with PrivacyListManager

use of org.jivesoftware.smack.PrivacyListManager in project Smack by igniterealtime.

the class PrivacyTest method testPrivacyItems.

/**
     * Check different types of privacy items.
     */
public void testPrivacyItems() {
    try {
        String listName = "testPrivacyItems";
        String user = "tybalt@example.com";
        String groupName = "enemies";
        PrivacyListManager privacyManager = PrivacyListManager.getInstanceFor(getConnection(0));
        PrivacyClient client = new PrivacyClient(privacyManager);
        privacyManager.addListener(client);
        PrivacyItem[] originalPrivacyItems = new PrivacyItem[12];
        int i = 0;
        // Items to test JID
        PrivacyItem item = new PrivacyItem(PrivacyItem.Type.jid.name(), true, i);
        item.setValue(i + "_" + user);
        originalPrivacyItems[i] = item;
        i = i + 1;
        item = new PrivacyItem(PrivacyItem.Type.jid.name(), false, i);
        item.setValue(i + "_" + user);
        originalPrivacyItems[i] = item;
        i = i + 1;
        // Items to test suscription
        item = new PrivacyItem(PrivacyItem.Type.subscription.name(), true, i);
        item.setValue(PrivacyRule.SUBSCRIPTION_BOTH);
        originalPrivacyItems[i] = item;
        i = i + 1;
        item = new PrivacyItem(PrivacyItem.Type.subscription.name(), false, i);
        item.setValue(PrivacyRule.SUBSCRIPTION_FROM);
        originalPrivacyItems[i] = item;
        i = i + 1;
        item = new PrivacyItem(PrivacyItem.Type.subscription.name(), true, i);
        item.setValue(PrivacyRule.SUBSCRIPTION_TO);
        originalPrivacyItems[i] = item;
        i = i + 1;
        item = new PrivacyItem(PrivacyItem.Type.subscription.name(), false, i);
        item.setValue(PrivacyRule.SUBSCRIPTION_NONE);
        originalPrivacyItems[i] = item;
        i = i + 1;
        // Items to test Group
        item = new PrivacyItem(PrivacyItem.Type.group.name(), false, i);
        item.setValue(groupName);
        originalPrivacyItems[i] = item;
        i = i + 1;
        // Items to test messages
        item = new PrivacyItem(PrivacyItem.Type.group.name(), false, i);
        item.setValue(groupName);
        item.setFilterMessage(true);
        originalPrivacyItems[i] = item;
        i = i + 1;
        // Items to test presence notifications
        item = new PrivacyItem(PrivacyItem.Type.group.name(), false, i);
        item.setValue(groupName);
        item.setFilterMessage(true);
        originalPrivacyItems[i] = item;
        i = i + 1;
        item = new PrivacyItem(null, false, i);
        item.setFilterPresence_in(true);
        originalPrivacyItems[i] = item;
        i = i + 1;
        item = new PrivacyItem(PrivacyItem.Type.subscription.name(), false, i);
        item.setValue(PrivacyRule.SUBSCRIPTION_TO);
        item.setFilterPresence_out(true);
        originalPrivacyItems[i] = item;
        i = i + 1;
        item = new PrivacyItem(PrivacyItem.Type.jid.name(), false, i);
        item.setValue(i + "_" + user);
        item.setFilterPresence_out(true);
        item.setFilterPresence_in(true);
        item.setFilterMessage(true);
        originalPrivacyItems[i] = item;
        // Set the new privacy list
        privacyManager.createPrivacyList(listName, Arrays.asList(originalPrivacyItems));
        Thread.sleep(500);
        // Assert the server list composition.
        List<PrivacyItem> privacyItems = privacyManager.getPrivacyList(listName).getItems();
        assertEquals(originalPrivacyItems.length, privacyItems.size());
        // Assert the local and server privacy item composition
        PrivacyItem originalItem;
        PrivacyItem receivedItem;
        int index;
        for (int j = 0; j < originalPrivacyItems.length; j++) {
            // Look for the same server and original items
            receivedItem = privacyItems.get(j);
            index = 0;
            while ((index < originalPrivacyItems.length) && (originalPrivacyItems[index].getOrder() != receivedItem.getOrder())) {
                index++;
            }
            originalItem = originalPrivacyItems[index];
            // Assert the items
            assertEquals(originalItem.getOrder(), receivedItem.getOrder());
            assertEquals(originalItem.getType(), receivedItem.getType());
            assertEquals(originalItem.isAllow(), receivedItem.isAllow());
            assertEquals(originalItem.getValue(), receivedItem.getValue());
            assertEquals(originalItem.isFilterEverything(), receivedItem.isFilterEverything());
            assertEquals(originalItem.isFilterIQ(), receivedItem.isFilterIQ());
            assertEquals(originalItem.isFilterMessage(), receivedItem.isFilterMessage());
            assertEquals(originalItem.isFilterPresence_in(), receivedItem.isFilterPresence_in());
            assertEquals(originalItem.isFilterPresence_out(), receivedItem.isFilterPresence_out());
        }
        privacyManager.deletePrivacyList(listName);
    } catch (Exception e) {
        e.printStackTrace();
        fail(e.getMessage());
    }
}
Also used : PrivacyListManager(org.jivesoftware.smack.PrivacyListManager) XMPPException(org.jivesoftware.smack.XMPPException)

Aggregations

PrivacyListManager (org.jivesoftware.smack.PrivacyListManager)8 XMPPException (org.jivesoftware.smack.XMPPException)8 ArrayList (java.util.ArrayList)5 PrivacyList (org.jivesoftware.smack.PrivacyList)2