/* * Copyright (C) 2008 Universidade Federal de Campina Grande * * This file is part of OurGrid. * * OurGrid is free software: you can redistribute it and/or modify it under the * terms of the GNU Lesser General Public License as published by the Free * Software Foundation, either version 3 of the License, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License * for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ package org.ourgrid.peer.dao; import java.io.File; import java.util.ArrayList; import java.util.Collections; import java.util.LinkedList; import java.util.List; import junit.framework.TestCase; import org.ourgrid.common.interfaces.to.TrustyCommunity; import org.ourgrid.common.internal.IResponseTO; import org.ourgrid.peer.dao.trust.TrustCommunitiesFileManipulator; /** * since 23/08/2007 */ public class TrustCommunitiesFileManipulatorTest extends TestCase { private static final String COMM_FILE_PATH = "test"+File.separator+"acceptance"+File.separator+"req_110"; @Override protected void setUp() throws Exception { super.setUp(); } public final void testGetCommunities(){ TrustyCommunity community1 = new TrustyCommunity.Builder("educationalInstitutions", 1) .addEntity("peerE", "keyxptopeerE") .addEntity("peerF", "keyxptopeerF") .build(); TrustyCommunity community2 = new TrustyCommunity.Builder("lesssecure", 2) .addEntity("peerA", "keyxptopeerA") .addEntity("peerB", "keyxptopeerB") .build(); List<TrustyCommunity> expectedComm = new LinkedList<TrustyCommunity>(); expectedComm.add(community1); expectedComm.add(community2); TrustCommunitiesFileManipulator fileManip = new TrustCommunitiesFileManipulator(); List<TrustyCommunity> resultComm = fileManip.getCommunities(new ArrayList<IResponseTO>(), new File(COMM_FILE_PATH+File.separator+"110-4.xml")); assertEquals(2, resultComm.size()); assertTrue(resultComm.contains(community1)); assertTrue(resultComm.contains(community2)); assertEquals(expectedComm, resultComm); } public final void testGetCommunitiesSort(){ //same priority case TrustyCommunity community1 = new TrustyCommunity.Builder("A", 1) .addEntity("peerA", "keyxptopeerA") .build(); TrustyCommunity community2 = new TrustyCommunity.Builder("B", 1) .addEntity("peerB", "keyxptopeerB") .build(); List<TrustyCommunity> expectedComm = new LinkedList<TrustyCommunity>(); expectedComm.add(community2); expectedComm.add(community1); TrustCommunitiesFileManipulator fileManip = new TrustCommunitiesFileManipulator(); List<TrustyCommunity> resultComm = fileManip.getCommunities(new ArrayList<IResponseTO>(), new File(COMM_FILE_PATH+File.separator+"110-5.xml")); assertEquals(2, resultComm.size()); assertTrue(resultComm.contains(community1)); assertTrue(resultComm.contains(community2)); //sort expected list. The comparison rules are: first priority and after name Collections.sort(expectedComm); assertEquals(expectedComm, resultComm); } public final void testFormatError(){ List<TrustyCommunity> expectedComm = new LinkedList<TrustyCommunity>(); TrustCommunitiesFileManipulator fileManip = new TrustCommunitiesFileManipulator(); List<TrustyCommunity> resultComm = fileManip.getCommunities(new ArrayList<IResponseTO>(), new File(COMM_FILE_PATH+File.separator+"110-2.xml")); assertEquals(0, resultComm.size()); assertEquals(expectedComm, resultComm); } }