/** * Copyright (c) 2011, SOCIETIES Consortium (WATERFORD INSTITUTE OF TECHNOLOGY (TSSG), HERIOT-WATT UNIVERSITY (HWU), SOLUTA.NET * (SN), GERMAN AEROSPACE CENTRE (Deutsches Zentrum fuer Luft- und Raumfahrt e.V.) (DLR), Zavod za varnostne tehnologije * informacijske družbe in elektronsko poslovanje (SETCCE), INSTITUTE OF COMMUNICATION AND COMPUTER SYSTEMS (ICCS), LAKE * COMMUNICATIONS (LAKE), INTEL PERFORMANCE LEARNING SOLUTIONS LTD (INTEL), PORTUGAL TELECOM INOVAÇÃO, SA (PTIN), IBM Corp., * INSTITUT TELECOM (ITSUD), AMITEC DIACHYTI EFYIA PLIROFORIKI KAI EPIKINONIES ETERIA PERIORISMENIS EFTHINIS (AMITEC), TELECOM * ITALIA S.p.a.(TI), TRIALOG (TRIALOG), Stiftelsen SINTEF (SINTEF), NEC EUROPE LTD (NEC)) * All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following * conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following * disclaimer in the documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT * SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ package org.societies.privacytrust.trust.test; import static org.junit.Assert.*; import static org.mockito.Mockito.*; import java.util.Collection; import java.util.HashSet; import java.util.Set; import java.util.concurrent.ExecutionException; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.societies.api.identity.Requestor; import org.societies.api.privacytrust.trust.ITrustBroker; import org.societies.api.privacytrust.trust.TrustException; import org.societies.api.privacytrust.trust.model.TrustRelationship; import org.societies.api.privacytrust.trust.model.TrustValueType; import org.societies.api.privacytrust.trust.model.TrustedEntityId; import org.societies.api.privacytrust.trust.model.TrustedEntityType; import org.societies.privacytrust.trust.api.ITrustNodeMgr; import org.societies.privacytrust.trust.api.model.ITrustedCis; import org.societies.privacytrust.trust.api.model.ITrustedCss; import org.societies.privacytrust.trust.api.model.ITrustedService; import org.societies.privacytrust.trust.api.repo.ITrustRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; /** * Test cases for the InternalTrustBroker * * @author <a href="mailto:nicolas.liampotis@cn.ntua.gr">Nicolas Liampotis</a> (ICCS) * @since 1.0 */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath:META-INF/spring/TrustBrokerTest-context.xml"}) public class TrustBrokerTest extends AbstractTransactionalJUnit4SpringContextTests { private static final String BASE_ID = "tbt"; private static final String TRUSTOR_CSS_ID = BASE_ID + "TrustorCssIIdentity"; private static final String TRUSTED_CSS_ID = BASE_ID + "TrusteeCssIIdentity"; private static final String TRUSTED_CIS_ID = BASE_ID + "TrusteeCisIIdentity"; private static final String TRUSTED_SERVICE_ID = BASE_ID + "TrusteeServiceResourceIdentifier"; //private static final String TRUSTED_SERVICE_TYPE = BASE_ID + "ServiceType"; private static TrustedEntityId trustorCssTeid; private static TrustedEntityId trusteeCssTeid; private static TrustedEntityId trusteeCisTeid; private static TrustedEntityId trusteeServiceTeid; private static Requestor requestor; @Autowired private ITrustBroker trustBroker; @Autowired @InjectMocks private org.societies.api.internal.privacytrust.trust.ITrustBroker internalTrustBroker; @Autowired private ITrustRepository trustRepo; @Mock private ITrustNodeMgr mockTrustNodeMgr; /** * @throws java.lang.Exception */ @BeforeClass public static void setUpBeforeClass() throws Exception { trustorCssTeid = new TrustedEntityId(TrustedEntityType.CSS, TRUSTOR_CSS_ID); trusteeCssTeid = new TrustedEntityId(TrustedEntityType.CSS, TRUSTED_CSS_ID); trusteeCisTeid = new TrustedEntityId(TrustedEntityType.CIS, TRUSTED_CIS_ID); trusteeServiceTeid = new TrustedEntityId(TrustedEntityType.SVC, TRUSTED_SERVICE_ID); requestor = mock(Requestor.class); } /** * @throws java.lang.Exception */ @AfterClass public static void tearDownAfterClass() throws Exception { trustorCssTeid = null; trusteeCssTeid = null; trusteeCisTeid = null; trusteeServiceTeid = null; } /** * @throws java.lang.Exception */ @Before public void setUp() throws Exception { MockitoAnnotations.initMocks(this); final Collection<TrustedEntityId> myIds = new HashSet<TrustedEntityId>(); myIds.add(trustorCssTeid); when(mockTrustNodeMgr.getMyIds()).thenReturn(myIds); when(mockTrustNodeMgr.isMaster()).thenReturn(true); } /** * @throws java.lang.Exception */ @After public void tearDown() throws Exception { // remove created entities this.trustRepo.removeEntities(null, null, null); } /** * Test method for {@link org.societies.api.internal.privacytrust.trust.ITrustBroker#retrieveTrustRelationships(Requestor, TrustedEntityId)}. * @throws TrustException * @throws ExecutionException * @throws InterruptedException */ @Test public void testRetrieveAllTrustRelationships() throws Exception { // test params final double cssDirectTrustValue1 = 0.1d; final double cssIndirectTrustValue1 = 0.2d; final double cssUserPerceivedTrustValue1 = 0.3d; final double cisDirectTrustValue1 = 0.3d; final double cisIndirectTrustValue1 = 0.5d; final double cisUserPerceivedTrustValue1 = 0.6d; final double serviceDirectTrustValue1 = 0.7d; final double serviceIndirectTrustValue1 = 0.8d; final double serviceUserPerceivedTrustValue1 = 0.9d; Set<TrustRelationship> retrievedTrustRelationships; retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustorCssTeid).get(); assertNotNull(retrievedTrustRelationships); assertTrue(retrievedTrustRelationships.isEmpty()); // add trusted CSS with direct trust value ITrustedCss trustedCss = (ITrustedCss) this.trustRepo.createEntity( trustorCssTeid, trusteeCssTeid); trustedCss.getDirectTrust().setValue(cssDirectTrustValue1); this.trustRepo.updateEntity(trustedCss); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId()).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(1, retrievedTrustRelationships.size()); TrustRelationship retrievedTrustRelationship = retrievedTrustRelationships.iterator().next(); assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedCss.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedCss.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.DIRECT, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(cssDirectTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); // update trusted CSS with indirect trust value trustedCss = (ITrustedCss) this.trustRepo.retrieveEntity( trustedCss.getTrustorId(), trustedCss.getTrusteeId()); trustedCss.getIndirectTrust().setValue(cssIndirectTrustValue1); this.trustRepo.updateEntity(trustedCss); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId()).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(2, retrievedTrustRelationships.size()); retrievedTrustRelationship = null; for (final TrustRelationship tr : retrievedTrustRelationships) { if (TrustValueType.INDIRECT == tr.getTrustValueType()) { retrievedTrustRelationship = tr; break; } } assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedCss.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedCss.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.INDIRECT, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(cssIndirectTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); // update trusted CSS with user perceived trust value trustedCss = (ITrustedCss) this.trustRepo.retrieveEntity( trustedCss.getTrustorId(), trustedCss.getTrusteeId()); trustedCss.getUserPerceivedTrust().setValue(cssUserPerceivedTrustValue1); this.trustRepo.updateEntity(trustedCss); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId()).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(3, retrievedTrustRelationships.size()); retrievedTrustRelationship = null; for (final TrustRelationship tr : retrievedTrustRelationships) { if (TrustValueType.USER_PERCEIVED == tr.getTrustValueType()) { retrievedTrustRelationship = tr; break; } } assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedCss.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedCss.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.USER_PERCEIVED, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(cssUserPerceivedTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); // add trusted CIS with trust values ITrustedCis trustedCis = (ITrustedCis) this.trustRepo.createEntity( trustorCssTeid, trusteeCisTeid); trustedCis.getDirectTrust().setValue(cisDirectTrustValue1); trustedCis.getIndirectTrust().setValue(cisIndirectTrustValue1); trustedCis.getUserPerceivedTrust().setValue(cisUserPerceivedTrustValue1); this.trustRepo.updateEntity(trustedCis); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId()).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(6, retrievedTrustRelationships.size()); // verify (trustor, trustedCis, direct) retrievedTrustRelationship = null; for (final TrustRelationship tr : retrievedTrustRelationships) { if (trustorCssTeid.equals(tr.getTrustorId()) && trusteeCisTeid.equals(tr.getTrusteeId()) && TrustValueType.DIRECT == tr.getTrustValueType()) { retrievedTrustRelationship = tr; break; } } assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(cisDirectTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); // verify (trustor, trustedCis, indirect) retrievedTrustRelationship = null; for (final TrustRelationship tr : retrievedTrustRelationships) { if (trustorCssTeid.equals(tr.getTrustorId()) && trusteeCisTeid.equals(tr.getTrusteeId()) && TrustValueType.INDIRECT == tr.getTrustValueType()) { retrievedTrustRelationship = tr; break; } } assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(cisIndirectTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); // verify (trustor, trustedCis, user perceived) retrievedTrustRelationship = null; for (final TrustRelationship tr : retrievedTrustRelationships) { if (trustorCssTeid.equals(tr.getTrustorId()) && trusteeCisTeid.equals(tr.getTrusteeId()) && TrustValueType.USER_PERCEIVED == tr.getTrustValueType()) { retrievedTrustRelationship = tr; break; } } assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(cisUserPerceivedTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); // add trusted Service with trust values ITrustedService trustedService = (ITrustedService) this.trustRepo.createEntity( trustorCssTeid, trusteeServiceTeid); trustedService.getDirectTrust().setValue(serviceDirectTrustValue1); trustedService.getIndirectTrust().setValue(serviceIndirectTrustValue1); trustedService.getUserPerceivedTrust().setValue(serviceUserPerceivedTrustValue1); this.trustRepo.updateEntity(trustedService); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId()).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(9, retrievedTrustRelationships.size()); // verify (trustor, trustedService, direct) retrievedTrustRelationship = null; for (final TrustRelationship tr : retrievedTrustRelationships) { if (trustorCssTeid.equals(tr.getTrustorId()) && trusteeServiceTeid.equals(tr.getTrusteeId()) && TrustValueType.DIRECT == tr.getTrustValueType()) { retrievedTrustRelationship = tr; break; } } assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(serviceDirectTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); // verify (trustor, trustedService, indirect) retrievedTrustRelationship = null; for (final TrustRelationship tr : retrievedTrustRelationships) { if (trustorCssTeid.equals(tr.getTrustorId()) && trusteeServiceTeid.equals(tr.getTrusteeId()) && TrustValueType.INDIRECT == tr.getTrustValueType()) { retrievedTrustRelationship = tr; break; } } assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(serviceIndirectTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); // verify (trustor, trustedService, user perceived) retrievedTrustRelationship = null; for (final TrustRelationship tr : retrievedTrustRelationships) { if (trustorCssTeid.equals(tr.getTrustorId()) && trusteeServiceTeid.equals(tr.getTrusteeId()) && TrustValueType.USER_PERCEIVED == tr.getTrustValueType()) { retrievedTrustRelationship = tr; break; } } assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(serviceUserPerceivedTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); } /** * Test method for {@link org.societies.api.privacytrust.trust.ITrustBroker#retrieveTrustRelationships(Requestor, TrustedEntityId, TrustedEntityId)}. * @throws TrustException * @throws ExecutionException * @throws InterruptedException */ @Test public void testRetrieveCssTrustRelationships() throws Exception { // test params final double directTrustValue1 = 0.1d; final double indirectTrustValue1 = 0.3d; final double userPerceivedTrustValue1 = 0.5d; Set<TrustRelationship> retrievedTrustRelationships; retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustorCssTeid, trusteeCssTeid).get(); assertNotNull(retrievedTrustRelationships); assertTrue(retrievedTrustRelationships.isEmpty()); // add trusted CSS with direct trust value ITrustedCss trustedCss = (ITrustedCss) this.trustRepo.createEntity( trustorCssTeid, trusteeCssTeid); trustedCss.getDirectTrust().setValue(directTrustValue1); this.trustRepo.updateEntity(trustedCss); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId(), trustedCss.getTrusteeId()).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(1, retrievedTrustRelationships.size()); TrustRelationship retrievedTrustRelationship = retrievedTrustRelationships.iterator().next(); assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedCss.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedCss.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.DIRECT, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(directTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); // update trusted CSS with indirect trust value trustedCss = (ITrustedCss) this.trustRepo.retrieveEntity( trustedCss.getTrustorId(), trustedCss.getTrusteeId()); trustedCss.getIndirectTrust().setValue(indirectTrustValue1); this.trustRepo.updateEntity(trustedCss); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId(), trustedCss.getTrusteeId()).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(2, retrievedTrustRelationships.size()); retrievedTrustRelationship = null; for (final TrustRelationship tr : retrievedTrustRelationships) { if (TrustValueType.INDIRECT == tr.getTrustValueType()) { retrievedTrustRelationship = tr; break; } } assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedCss.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedCss.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.INDIRECT, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(indirectTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); // update trusted CSS with user perceived trust value trustedCss = (ITrustedCss) this.trustRepo.retrieveEntity( trustedCss.getTrustorId(), trustedCss.getTrusteeId()); trustedCss.getUserPerceivedTrust().setValue(userPerceivedTrustValue1); this.trustRepo.updateEntity(trustedCss); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId(), trustedCss.getTrusteeId()).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(3, retrievedTrustRelationships.size()); retrievedTrustRelationship = null; for (final TrustRelationship tr : retrievedTrustRelationships) { if (TrustValueType.USER_PERCEIVED == tr.getTrustValueType()) { retrievedTrustRelationship = tr; break; } } assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedCss.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedCss.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.USER_PERCEIVED, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(userPerceivedTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); } /** * Test method for {@link org.societies.api.privacytrust.trust.ITrustBroker#retrieveTrustRelationships(Requestor, TrustedEntityId, TrustedEntityId)}. * @throws TrustException * @throws ExecutionException * @throws InterruptedException */ @Test public void testRetrieveCisTrustRelationships() throws Exception { // test params final double directTrustValue1 = 0.1d; final double indirectTrustValue1 = 0.3d; final double userPerceivedTrustValue1 = 0.5d; Set<TrustRelationship> retrievedTrustRelationships; retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustorCssTeid, trusteeCisTeid).get(); assertNotNull(retrievedTrustRelationships); assertTrue(retrievedTrustRelationships.isEmpty()); // add trusted CIS with direct trust value ITrustedCis trustedCis = (ITrustedCis) this.trustRepo.createEntity( trustorCssTeid, trusteeCisTeid); trustedCis.getDirectTrust().setValue(directTrustValue1); this.trustRepo.updateEntity(trustedCis); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCis.getTrustorId(), trustedCis.getTrusteeId()).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(1, retrievedTrustRelationships.size()); TrustRelationship retrievedTrustRelationship = retrievedTrustRelationships.iterator().next(); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedCis.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedCis.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.DIRECT, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(directTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); // update trusted CIS with indirect trust value trustedCis = (ITrustedCis) this.trustRepo.retrieveEntity( trustedCis.getTrustorId(), trustedCis.getTrusteeId()); trustedCis.getIndirectTrust().setValue(indirectTrustValue1); this.trustRepo.updateEntity(trustedCis); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCis.getTrustorId(), trustedCis.getTrusteeId()).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(2, retrievedTrustRelationships.size()); retrievedTrustRelationship = null; for (final TrustRelationship tr : retrievedTrustRelationships) { if (TrustValueType.INDIRECT == tr.getTrustValueType()) { retrievedTrustRelationship = tr; break; } } assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedCis.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedCis.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.INDIRECT, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(indirectTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); // update trusted CIS with user perceived trust value trustedCis = (ITrustedCis) this.trustRepo.retrieveEntity( trustedCis.getTrustorId(), trustedCis.getTrusteeId()); trustedCis.getUserPerceivedTrust().setValue(userPerceivedTrustValue1); this.trustRepo.updateEntity(trustedCis); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCis.getTrustorId(), trustedCis.getTrusteeId()).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(3, retrievedTrustRelationships.size()); retrievedTrustRelationship = null; for (final TrustRelationship tr : retrievedTrustRelationships) { if (TrustValueType.USER_PERCEIVED == tr.getTrustValueType()) { retrievedTrustRelationship = tr; break; } } assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedCis.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedCis.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.USER_PERCEIVED, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(userPerceivedTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); } /** * Test method for {@link org.societies.api.privacytrust.trust.ITrustBroker#retrieveTrustRelationships(Requestor, TrustedEntityId, TrustedEntityId)}. * @throws TrustException * @throws ExecutionException * @throws InterruptedException */ @Test public void testRetrieveServiceTrustRelationships() throws Exception { // test params final double directTrustValue1 = 0.1d; final double indirectTrustValue1 = 0.3d; final double userPerceivedTrustValue1 = 0.5d; Set<TrustRelationship> retrievedTrustRelationships; retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustorCssTeid, trusteeServiceTeid).get(); assertNotNull(retrievedTrustRelationships); assertTrue(retrievedTrustRelationships.isEmpty()); // add trusted CIS with direct trust value ITrustedService trustedService = (ITrustedService) this.trustRepo.createEntity( trustorCssTeid, trusteeServiceTeid); trustedService.getDirectTrust().setValue(directTrustValue1); this.trustRepo.updateEntity(trustedService); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedService.getTrustorId(), trustedService.getTrusteeId()).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(1, retrievedTrustRelationships.size()); TrustRelationship retrievedTrustRelationship = retrievedTrustRelationships.iterator().next(); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedService.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedService.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.DIRECT, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(directTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); // update trusted Service with indirect trust value trustedService = (ITrustedService) this.trustRepo.retrieveEntity( trustedService.getTrustorId(), trustedService.getTrusteeId()); trustedService.getIndirectTrust().setValue(indirectTrustValue1); this.trustRepo.updateEntity(trustedService); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedService.getTrustorId(), trustedService.getTrusteeId()).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(2, retrievedTrustRelationships.size()); retrievedTrustRelationship = null; for (final TrustRelationship tr : retrievedTrustRelationships) { if (TrustValueType.INDIRECT == tr.getTrustValueType()) { retrievedTrustRelationship = tr; break; } } assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedService.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedService.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.INDIRECT, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(indirectTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); // update trusted Service with user perceived trust value trustedService = (ITrustedService) this.trustRepo.retrieveEntity( trustedService.getTrustorId(), trustedService.getTrusteeId()); trustedService.getUserPerceivedTrust().setValue(userPerceivedTrustValue1); this.trustRepo.updateEntity(trustedService); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedService.getTrustorId(), trustedService.getTrusteeId()).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(3, retrievedTrustRelationships.size()); retrievedTrustRelationship = null; for (final TrustRelationship tr : retrievedTrustRelationships) { if (TrustValueType.USER_PERCEIVED == tr.getTrustValueType()) { retrievedTrustRelationship = tr; break; } } assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedService.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedService.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.USER_PERCEIVED, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(userPerceivedTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); } /** * Test method for {@link org.societies.api.privacytrust.trust.ITrustBroker#retrieveTrustRelationship(TrustedEntityId, TrustedEntityId, TrustValueType)}. * @throws TrustException * @throws ExecutionException * @throws InterruptedException */ @Test public void testRetrieveCssTrustRelationship() throws Exception { // test params final double directTrustValue1 = 0.1d; final double directTrustValue2 = 0.2d; final double indirectTrustValue1 = 0.3d; final double indirectTrustValue2 = 0.4d; final double userPerceivedTrustValue1 = 0.5d; final double userPerceivedTrustValue2 = 0.6d; TrustRelationship retrievedTrustRelationship; retrievedTrustRelationship = this.trustBroker.retrieveTrustRelationship( requestor, trustorCssTeid, trusteeCssTeid, TrustValueType.DIRECT).get(); assertNull(retrievedTrustRelationship); retrievedTrustRelationship = this.trustBroker.retrieveTrustRelationship( requestor, trustorCssTeid, trusteeCssTeid, TrustValueType.INDIRECT).get(); assertNull(retrievedTrustRelationship); retrievedTrustRelationship = this.trustBroker.retrieveTrustRelationship( requestor, trustorCssTeid, trusteeCssTeid, TrustValueType.USER_PERCEIVED).get(); assertNull(retrievedTrustRelationship); // add trusted CSS with trust values ITrustedCss trustedCss = (ITrustedCss) this.trustRepo.createEntity( trustorCssTeid, trusteeCssTeid); trustedCss.getDirectTrust().setValue(directTrustValue1); trustedCss.getIndirectTrust().setValue(indirectTrustValue1); trustedCss.getUserPerceivedTrust().setValue(userPerceivedTrustValue1); this.trustRepo.updateEntity(trustedCss); // verify retrievedTrustRelationship = this.trustBroker.retrieveTrustRelationship( requestor, trustedCss.getTrustorId(), trustedCss.getTrusteeId(), TrustValueType.DIRECT).get(); assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedCss.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedCss.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.DIRECT, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(directTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); retrievedTrustRelationship = this.trustBroker.retrieveTrustRelationship( requestor, trustedCss.getTrustorId(), trustedCss.getTrusteeId(), TrustValueType.INDIRECT).get(); assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedCss.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedCss.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.INDIRECT, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(indirectTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); retrievedTrustRelationship = this.trustBroker.retrieveTrustRelationship( requestor, trustedCss.getTrustorId(), trustedCss.getTrusteeId(), TrustValueType.USER_PERCEIVED).get(); assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedCss.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedCss.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.USER_PERCEIVED, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(userPerceivedTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); // update trusted CSS with user perceived value set to trustValue2 trustedCss = (ITrustedCss) this.trustRepo.retrieveEntity( trustedCss.getTrustorId(), trustedCss.getTrusteeId()); trustedCss.getDirectTrust().setValue(directTrustValue2); trustedCss.getIndirectTrust().setValue(indirectTrustValue2); trustedCss.getUserPerceivedTrust().setValue(userPerceivedTrustValue2); this.trustRepo.updateEntity(trustedCss); // verify retrievedTrustRelationship = this.trustBroker.retrieveTrustRelationship( requestor, trustedCss.getTrustorId(), trustedCss.getTrusteeId(), TrustValueType.DIRECT).get(); assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedCss.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedCss.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.DIRECT, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(directTrustValue2), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); retrievedTrustRelationship = this.trustBroker.retrieveTrustRelationship( requestor, trustedCss.getTrustorId(), trustedCss.getTrusteeId(), TrustValueType.INDIRECT).get(); assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedCss.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedCss.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.INDIRECT, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(indirectTrustValue2), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); retrievedTrustRelationship = this.trustBroker.retrieveTrustRelationship( requestor, trustedCss.getTrustorId(), trustedCss.getTrusteeId(), TrustValueType.USER_PERCEIVED).get(); assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedCss.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedCss.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.USER_PERCEIVED, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(userPerceivedTrustValue2), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); } /** * Test method for {@link org.societies.api.privacytrust.trust.ITrustBroker#retrieveTrustRelationship(TrustedEntityId, TrustedEntityId, TrustValueType)}. * @throws TrustException * @throws ExecutionException * @throws InterruptedException */ @Test public void testRetrieveCisTrustRelationship() throws Exception { // test params final double directTrustValue1 = 0.1d; final double directTrustValue2 = 0.2d; final double indirectTrustValue1 = 0.3d; final double indirectTrustValue2 = 0.4d; final double userPerceivedTrustValue1 = 0.5d; final double userPerceivedTrustValue2 = 0.6d; TrustRelationship retrievedTrustRelationship; retrievedTrustRelationship = this.trustBroker.retrieveTrustRelationship( requestor, trustorCssTeid, trusteeCisTeid, TrustValueType.DIRECT).get(); assertNull(retrievedTrustRelationship); retrievedTrustRelationship = this.trustBroker.retrieveTrustRelationship( requestor, trustorCssTeid, trusteeCisTeid, TrustValueType.INDIRECT).get(); assertNull(retrievedTrustRelationship); retrievedTrustRelationship = this.trustBroker.retrieveTrustRelationship( requestor, trustorCssTeid, trusteeCisTeid, TrustValueType.USER_PERCEIVED).get(); assertNull(retrievedTrustRelationship); // add trusted CSS with trust values ITrustedCis trustedCis = (ITrustedCis) this.trustRepo.createEntity( trustorCssTeid, trusteeCisTeid); trustedCis.getDirectTrust().setValue(directTrustValue1); trustedCis.getIndirectTrust().setValue(indirectTrustValue1); trustedCis.getUserPerceivedTrust().setValue(userPerceivedTrustValue1); this.trustRepo.updateEntity(trustedCis); // verify retrievedTrustRelationship = this.trustBroker.retrieveTrustRelationship( requestor, trustedCis.getTrustorId(), trustedCis.getTrusteeId(), TrustValueType.DIRECT).get(); assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedCis.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedCis.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.DIRECT, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(directTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); retrievedTrustRelationship = this.trustBroker.retrieveTrustRelationship( requestor, trustedCis.getTrustorId(), trustedCis.getTrusteeId(), TrustValueType.INDIRECT).get(); assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedCis.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedCis.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.INDIRECT, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(indirectTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); retrievedTrustRelationship = this.trustBroker.retrieveTrustRelationship( requestor, trustedCis.getTrustorId(), trustedCis.getTrusteeId(), TrustValueType.USER_PERCEIVED).get(); assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedCis.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedCis.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.USER_PERCEIVED, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(userPerceivedTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); // update trusted CSS with user perceived value set to trustValue2 trustedCis = (ITrustedCis) this.trustRepo.retrieveEntity( trustedCis.getTrustorId(), trustedCis.getTrusteeId()); trustedCis.getDirectTrust().setValue(directTrustValue2); trustedCis.getIndirectTrust().setValue(indirectTrustValue2); trustedCis.getUserPerceivedTrust().setValue(userPerceivedTrustValue2); this.trustRepo.updateEntity(trustedCis); // verify retrievedTrustRelationship = this.trustBroker.retrieveTrustRelationship( requestor, trustedCis.getTrustorId(), trustedCis.getTrusteeId(), TrustValueType.DIRECT).get(); assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedCis.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedCis.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.DIRECT, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(directTrustValue2), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); retrievedTrustRelationship = this.trustBroker.retrieveTrustRelationship( requestor, trustedCis.getTrustorId(), trustedCis.getTrusteeId(), TrustValueType.INDIRECT).get(); assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedCis.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedCis.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.INDIRECT, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(indirectTrustValue2), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); retrievedTrustRelationship = this.trustBroker.retrieveTrustRelationship( requestor, trustedCis.getTrustorId(), trustedCis.getTrusteeId(), TrustValueType.USER_PERCEIVED).get(); assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedCis.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedCis.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.USER_PERCEIVED, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(userPerceivedTrustValue2), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); } /** * Test method for {@link org.societies.api.privacytrust.trust.ITrustBroker#retrieveTrustRelationship(TrustedEntityId, TrustedEntityId, TrustValueType)}. * @throws TrustException * @throws ExecutionException * @throws InterruptedException */ @Test public void testRetrieveServiceTrustRelationship() throws Exception { // test params final double directTrustValue1 = 0.1d; final double directTrustValue2 = 0.2d; final double indirectTrustValue1 = 0.3d; final double indirectTrustValue2 = 0.4d; final double userPerceivedTrustValue1 = 0.5d; final double userPerceivedTrustValue2 = 0.6d; TrustRelationship retrievedTrustRelationship; retrievedTrustRelationship = this.trustBroker.retrieveTrustRelationship( requestor, trustorCssTeid, trusteeServiceTeid, TrustValueType.DIRECT).get(); assertNull(retrievedTrustRelationship); retrievedTrustRelationship = this.trustBroker.retrieveTrustRelationship( requestor, trustorCssTeid, trusteeServiceTeid, TrustValueType.INDIRECT).get(); assertNull(retrievedTrustRelationship); retrievedTrustRelationship = this.trustBroker.retrieveTrustRelationship( requestor, trustorCssTeid, trusteeServiceTeid, TrustValueType.USER_PERCEIVED).get(); assertNull(retrievedTrustRelationship); // add trusted CSS with trust values ITrustedService trustedService = (ITrustedService) this.trustRepo.createEntity( trustorCssTeid, trusteeServiceTeid); trustedService.getDirectTrust().setValue(directTrustValue1); trustedService.getIndirectTrust().setValue(indirectTrustValue1); trustedService.getUserPerceivedTrust().setValue(userPerceivedTrustValue1); this.trustRepo.updateEntity(trustedService); // verify retrievedTrustRelationship = this.trustBroker.retrieveTrustRelationship( requestor, trustedService.getTrustorId(), trustedService.getTrusteeId(), TrustValueType.DIRECT).get(); assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedService.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedService.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.DIRECT, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(directTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); retrievedTrustRelationship = this.trustBroker.retrieveTrustRelationship( requestor, trustedService.getTrustorId(), trustedService.getTrusteeId(), TrustValueType.INDIRECT).get(); assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedService.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedService.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.INDIRECT, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(indirectTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); retrievedTrustRelationship = this.trustBroker.retrieveTrustRelationship( requestor, trustedService.getTrustorId(), trustedService.getTrusteeId(), TrustValueType.USER_PERCEIVED).get(); assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedService.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedService.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.USER_PERCEIVED, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(userPerceivedTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); // update trusted CSS with user perceived value set to trustValue2 trustedService = (ITrustedService) this.trustRepo.retrieveEntity( trustedService.getTrustorId(), trustedService.getTrusteeId()); trustedService.getDirectTrust().setValue(directTrustValue2); trustedService.getIndirectTrust().setValue(indirectTrustValue2); trustedService.getUserPerceivedTrust().setValue(userPerceivedTrustValue2); this.trustRepo.updateEntity(trustedService); // verify retrievedTrustRelationship = this.trustBroker.retrieveTrustRelationship( requestor, trustedService.getTrustorId(), trustedService.getTrusteeId(), TrustValueType.DIRECT).get(); assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedService.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedService.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.DIRECT, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(directTrustValue2), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); retrievedTrustRelationship = this.trustBroker.retrieveTrustRelationship( requestor, trustedService.getTrustorId(), trustedService.getTrusteeId(), TrustValueType.INDIRECT).get(); assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedService.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedService.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.INDIRECT, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(indirectTrustValue2), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); retrievedTrustRelationship = this.trustBroker.retrieveTrustRelationship( requestor, trustedService.getTrustorId(), trustedService.getTrusteeId(), TrustValueType.USER_PERCEIVED).get(); assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedService.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedService.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.USER_PERCEIVED, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(userPerceivedTrustValue2), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); } /** * Test method for {@link org.societies.api.privacytrust.trust.ITrustBroker#retrieveTrustValue(TrustedEntityId, TrustedEntityId, org.societies.api.privacytrust.trust.model.TrustValueType)}. * @throws TrustException * @throws ExecutionException * @throws InterruptedException */ @Test public void testRetrieveCssTrustValue() throws Exception { // test params final double directTrustValue1 = 0.1d; final double directTrustValue2 = 0.2d; final double indirectTrustValue1 = 0.3d; final double indirectTrustValue2 = 0.4d; final double userPerceivedTrustValue1 = 0.5d; final double userPerceivedTrustValue2 = 0.6d; Double retrievedTrustValue; retrievedTrustValue = this.trustBroker.retrieveTrustValue( requestor, trustorCssTeid, trusteeCssTeid, TrustValueType.DIRECT).get(); assertNull(retrievedTrustValue); retrievedTrustValue = this.trustBroker.retrieveTrustValue( requestor, trustorCssTeid, trusteeCssTeid, TrustValueType.INDIRECT).get(); assertNull(retrievedTrustValue); retrievedTrustValue = this.trustBroker.retrieveTrustValue( requestor, trustorCssTeid, trusteeCssTeid, TrustValueType.USER_PERCEIVED).get(); assertNull(retrievedTrustValue); // add trusted CSS with trust values ITrustedCss trustedCss = (ITrustedCss) this.trustRepo.createEntity( trustorCssTeid, trusteeCssTeid); trustedCss.getDirectTrust().setValue(directTrustValue1); trustedCss.getIndirectTrust().setValue(indirectTrustValue1); trustedCss.getUserPerceivedTrust().setValue(userPerceivedTrustValue1); this.trustRepo.updateEntity(trustedCss); // verify retrievedTrustValue = this.trustBroker.retrieveTrustValue( requestor, trustedCss.getTrustorId(), trustedCss.getTrusteeId(), TrustValueType.DIRECT).get(); assertNotNull(retrievedTrustValue); assertEquals(new Double(directTrustValue1), retrievedTrustValue); retrievedTrustValue = this.trustBroker.retrieveTrustValue( requestor, trustedCss.getTrustorId(), trustedCss.getTrusteeId(), TrustValueType.INDIRECT).get(); assertNotNull(retrievedTrustValue); assertEquals(new Double(indirectTrustValue1), retrievedTrustValue); retrievedTrustValue = this.trustBroker.retrieveTrustValue( requestor, trustedCss.getTrustorId(), trustedCss.getTrusteeId(), TrustValueType.USER_PERCEIVED).get(); assertNotNull(retrievedTrustValue); assertEquals(new Double(userPerceivedTrustValue1), retrievedTrustValue); // update trusted CSS with user perceived value set to trustValue2 trustedCss = (ITrustedCss) this.trustRepo.retrieveEntity( trustedCss.getTrustorId(), trustedCss.getTrusteeId()); trustedCss.getDirectTrust().setValue(directTrustValue2); trustedCss.getIndirectTrust().setValue(indirectTrustValue2); trustedCss.getUserPerceivedTrust().setValue(userPerceivedTrustValue2); this.trustRepo.updateEntity(trustedCss); // verify retrievedTrustValue = this.trustBroker.retrieveTrustValue( requestor, trustedCss.getTrustorId(), trustedCss.getTrusteeId(), TrustValueType.DIRECT).get(); assertNotNull(retrievedTrustValue); assertEquals(new Double(directTrustValue2), retrievedTrustValue); retrievedTrustValue = this.trustBroker.retrieveTrustValue( requestor, trustedCss.getTrustorId(), trustedCss.getTrusteeId(), TrustValueType.INDIRECT).get(); assertNotNull(retrievedTrustValue); assertEquals(new Double(indirectTrustValue2), retrievedTrustValue); retrievedTrustValue = this.trustBroker.retrieveTrustValue( requestor, trustedCss.getTrustorId(), trustedCss.getTrusteeId(), TrustValueType.USER_PERCEIVED).get(); assertNotNull(retrievedTrustValue); assertEquals(new Double(userPerceivedTrustValue2), retrievedTrustValue); } /** * Test method for {@link org.societies.api.privacytrust.trust.ITrustBroker#retrieveTrustValue(TrustedEntityId, TrustedEntityId, org.societies.api.privacytrust.trust.model.TrustValueType)}. * @throws TrustException * @throws ExecutionException * @throws InterruptedException */ @Test public void testRetrieveCisTrustValue() throws Exception { // test params final double directTrustValue1 = 0.1d; final double directTrustValue2 = 0.2d; final double indirectTrustValue1 = 0.3d; final double indirectTrustValue2 = 0.4d; final double userPerceivedTrustValue1 = 0.5d; final double userPerceivedTrustValue2 = 0.6d; Double retrievedTrustValue; retrievedTrustValue = this.trustBroker.retrieveTrustValue( requestor, trustorCssTeid, trusteeCisTeid, TrustValueType.DIRECT).get(); assertNull(retrievedTrustValue); retrievedTrustValue = this.trustBroker.retrieveTrustValue( requestor, trustorCssTeid, trusteeCisTeid, TrustValueType.INDIRECT).get(); assertNull(retrievedTrustValue); retrievedTrustValue = this.trustBroker.retrieveTrustValue( requestor, trustorCssTeid, trusteeCisTeid, TrustValueType.USER_PERCEIVED).get(); assertNull(retrievedTrustValue); // add trusted CIS with trust values ITrustedCis trustedCis = (ITrustedCis) this.trustRepo.createEntity( trustorCssTeid, trusteeCisTeid); trustedCis.getDirectTrust().setValue(directTrustValue1); trustedCis.getIndirectTrust().setValue(indirectTrustValue1); trustedCis.getUserPerceivedTrust().setValue(userPerceivedTrustValue1); this.trustRepo.updateEntity(trustedCis); // verify retrievedTrustValue = this.trustBroker.retrieveTrustValue( requestor, trustedCis.getTrustorId(), trustedCis.getTrusteeId(), TrustValueType.DIRECT).get(); assertNotNull(retrievedTrustValue); assertEquals(new Double(directTrustValue1), retrievedTrustValue); retrievedTrustValue = this.trustBroker.retrieveTrustValue( requestor, trustedCis.getTrustorId(), trustedCis.getTrusteeId(), TrustValueType.INDIRECT).get(); assertNotNull(retrievedTrustValue); assertEquals(new Double(indirectTrustValue1), retrievedTrustValue); retrievedTrustValue = this.trustBroker.retrieveTrustValue( requestor, trustedCis.getTrustorId(), trustedCis.getTrusteeId(), TrustValueType.USER_PERCEIVED).get(); assertNotNull(retrievedTrustValue); assertEquals(new Double(userPerceivedTrustValue1), retrievedTrustValue); // update trusted Cis with user perceived value set to trustValue2 trustedCis = (ITrustedCis) this.trustRepo.retrieveEntity( trustedCis.getTrustorId(), trustedCis.getTrusteeId()); trustedCis.getDirectTrust().setValue(directTrustValue2); trustedCis.getIndirectTrust().setValue(indirectTrustValue2); trustedCis.getUserPerceivedTrust().setValue(userPerceivedTrustValue2); this.trustRepo.updateEntity(trustedCis); // verify retrievedTrustValue = this.trustBroker.retrieveTrustValue( requestor, trustedCis.getTrustorId(), trustedCis.getTrusteeId(), TrustValueType.DIRECT).get(); assertNotNull(retrievedTrustValue); assertEquals(new Double(directTrustValue2), retrievedTrustValue); retrievedTrustValue = this.trustBroker.retrieveTrustValue( requestor, trustedCis.getTrustorId(), trustedCis.getTrusteeId(), TrustValueType.INDIRECT).get(); assertNotNull(retrievedTrustValue); assertEquals(new Double(indirectTrustValue2), retrievedTrustValue); retrievedTrustValue = this.trustBroker.retrieveTrustValue( requestor, trustedCis.getTrustorId(), trustedCis.getTrusteeId(), TrustValueType.USER_PERCEIVED).get(); assertNotNull(retrievedTrustValue); assertEquals(new Double(userPerceivedTrustValue2), retrievedTrustValue); } /** * Test method for {@link org.societies.api.privacytrust.trust.ITrustBroker#retrieveTrustValue(TrustedEntityId, TrustedEntityId, org.societies.api.privacytrust.trust.model.TrustValueType)}. * @throws TrustException * @throws ExecutionException * @throws InterruptedException */ @Test public void testRetrieveServiceTrustValue() throws Exception { // test params final double directTrustValue1 = 0.1d; final double directTrustValue2 = 0.2d; final double indirectTrustValue1 = 0.3d; final double indirectTrustValue2 = 0.4d; final double userPerceivedTrustValue1 = 0.5d; final double userPerceivedTrustValue2 = 0.6d; Double retrievedTrustValue; retrievedTrustValue = this.trustBroker.retrieveTrustValue( requestor, trustorCssTeid, trusteeServiceTeid, TrustValueType.DIRECT).get(); assertNull(retrievedTrustValue); retrievedTrustValue = this.trustBroker.retrieveTrustValue( requestor, trustorCssTeid, trusteeServiceTeid, TrustValueType.INDIRECT).get(); assertNull(retrievedTrustValue); retrievedTrustValue = this.trustBroker.retrieveTrustValue( requestor, trustorCssTeid, trusteeServiceTeid, TrustValueType.USER_PERCEIVED).get(); assertNull(retrievedTrustValue); // add trusted CIS with trust values ITrustedService trustedService = (ITrustedService) this.trustRepo.createEntity( trustorCssTeid, trusteeServiceTeid); trustedService.getDirectTrust().setValue(directTrustValue1); trustedService.getIndirectTrust().setValue(indirectTrustValue1); trustedService.getUserPerceivedTrust().setValue(userPerceivedTrustValue1); this.trustRepo.updateEntity(trustedService); // verify retrievedTrustValue = this.trustBroker.retrieveTrustValue( requestor, trustedService.getTrustorId(), trustedService.getTrusteeId(), TrustValueType.DIRECT).get(); assertNotNull(retrievedTrustValue); assertEquals(new Double(directTrustValue1), retrievedTrustValue); retrievedTrustValue = this.trustBroker.retrieveTrustValue( requestor, trustedService.getTrustorId(), trustedService.getTrusteeId(), TrustValueType.INDIRECT).get(); assertNotNull(retrievedTrustValue); assertEquals(new Double(indirectTrustValue1), retrievedTrustValue); retrievedTrustValue = this.trustBroker.retrieveTrustValue( requestor, trustedService.getTrustorId(), trustedService.getTrusteeId(), TrustValueType.USER_PERCEIVED).get(); assertNotNull(retrievedTrustValue); assertEquals(new Double(userPerceivedTrustValue1), retrievedTrustValue); // update trusted Service with user perceived value set to trustValue2 trustedService = (ITrustedService) this.trustRepo.retrieveEntity( trustedService.getTrustorId(), trustedService.getTrusteeId()); trustedService.getDirectTrust().setValue(directTrustValue2); trustedService.getIndirectTrust().setValue(indirectTrustValue2); trustedService.getUserPerceivedTrust().setValue(userPerceivedTrustValue2); this.trustRepo.updateEntity(trustedService); // verify retrievedTrustValue = this.trustBroker.retrieveTrustValue( requestor, trustedService.getTrustorId(), trustedService.getTrusteeId(), TrustValueType.DIRECT).get(); assertNotNull(retrievedTrustValue); assertEquals(new Double(directTrustValue2), retrievedTrustValue); retrievedTrustValue = this.trustBroker.retrieveTrustValue( requestor, trustedService.getTrustorId(), trustedService.getTrusteeId(), TrustValueType.INDIRECT).get(); assertNotNull(retrievedTrustValue); assertEquals(new Double(indirectTrustValue2), retrievedTrustValue); retrievedTrustValue = this.trustBroker.retrieveTrustValue( requestor, trustedService.getTrustorId(), trustedService.getTrusteeId(), TrustValueType.USER_PERCEIVED).get(); assertNotNull(retrievedTrustValue); assertEquals(new Double(userPerceivedTrustValue2), retrievedTrustValue); } /** * Test method for {@link org.societies.api.privacytrust.trust.ITrustBroker#retrieveTrustRelationships(Requestor, TrustedEntityId, TrustedEntityType)}. * @throws TrustException * @throws ExecutionException * @throws InterruptedException */ @Test public void testRetrieveAllCssTrustRelationships() throws Exception { // test params final double cssDirectTrustValue1 = 0.1d; final double cssIndirectTrustValue1 = 0.2d; final double cssUserPerceivedTrustValue1 = 0.3d; final double cisDirectTrustValue1 = 0.3d; final double cisIndirectTrustValue1 = 0.5d; final double cisUserPerceivedTrustValue1 = 0.6d; final double serviceDirectTrustValue1 = 0.7d; final double serviceIndirectTrustValue1 = 0.8d; final double serviceUserPerceivedTrustValue1 = 0.9d; Set<TrustRelationship> retrievedTrustRelationships; retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustorCssTeid, TrustedEntityType.CSS).get(); assertNotNull(retrievedTrustRelationships); assertTrue(retrievedTrustRelationships.isEmpty()); // add trusted CSS with direct trust value ITrustedCss trustedCss = (ITrustedCss) this.trustRepo.createEntity( trustorCssTeid, trusteeCssTeid); trustedCss.getDirectTrust().setValue(cssDirectTrustValue1); this.trustRepo.updateEntity(trustedCss); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId(), TrustedEntityType.CSS).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(1, retrievedTrustRelationships.size()); TrustRelationship retrievedTrustRelationship = retrievedTrustRelationships.iterator().next(); assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedCss.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedCss.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.DIRECT, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(cssDirectTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); // update trusted CSS with indirect trust value trustedCss = (ITrustedCss) this.trustRepo.retrieveEntity( trustedCss.getTrustorId(), trustedCss.getTrusteeId()); trustedCss.getIndirectTrust().setValue(cssIndirectTrustValue1); this.trustRepo.updateEntity(trustedCss); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId(), TrustedEntityType.CSS).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(2, retrievedTrustRelationships.size()); retrievedTrustRelationship = null; for (final TrustRelationship tr : retrievedTrustRelationships) { if (TrustValueType.INDIRECT == tr.getTrustValueType()) { retrievedTrustRelationship = tr; break; } } assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedCss.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedCss.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.INDIRECT, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(cssIndirectTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); // update trusted CSS with user perceived trust value trustedCss = (ITrustedCss) this.trustRepo.retrieveEntity( trustedCss.getTrustorId(), trustedCss.getTrusteeId()); trustedCss.getUserPerceivedTrust().setValue(cssUserPerceivedTrustValue1); this.trustRepo.updateEntity(trustedCss); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId(), TrustedEntityType.CSS).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(3, retrievedTrustRelationships.size()); retrievedTrustRelationship = null; for (final TrustRelationship tr : retrievedTrustRelationships) { if (TrustValueType.USER_PERCEIVED == tr.getTrustValueType()) { retrievedTrustRelationship = tr; break; } } assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedCss.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedCss.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.USER_PERCEIVED, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(cssUserPerceivedTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); // add trusted CIS with trust values ITrustedCis trustedCis = (ITrustedCis) this.trustRepo.createEntity( trustorCssTeid, trusteeCisTeid); trustedCis.getDirectTrust().setValue(cisDirectTrustValue1); trustedCis.getIndirectTrust().setValue(cisIndirectTrustValue1); trustedCis.getUserPerceivedTrust().setValue(cisUserPerceivedTrustValue1); this.trustRepo.updateEntity(trustedCis); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId(), TrustedEntityType.CSS).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(3, retrievedTrustRelationships.size()); // add trusted Service with trust values ITrustedService trustedService = (ITrustedService) this.trustRepo.createEntity( trustorCssTeid, trusteeServiceTeid); trustedService.getDirectTrust().setValue(serviceDirectTrustValue1); trustedService.getIndirectTrust().setValue(serviceIndirectTrustValue1); trustedService.getUserPerceivedTrust().setValue(serviceUserPerceivedTrustValue1); this.trustRepo.updateEntity(trustedService); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId(), TrustedEntityType.CSS).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(3, retrievedTrustRelationships.size()); } /** * Test method for {@link org.societies.api.privacytrust.trust.ITrustBroker#retrieveTrustRelationships(Requestor, TrustedEntityId, TrustedEntityType)}. * @throws TrustException * @throws ExecutionException * @throws InterruptedException */ @Test public void testRetrieveAllCisTrustRelationships() throws Exception { // test params final double cssDirectTrustValue1 = 0.1d; final double cssIndirectTrustValue1 = 0.2d; final double cssUserPerceivedTrustValue1 = 0.3d; final double cisDirectTrustValue1 = 0.3d; final double cisIndirectTrustValue1 = 0.5d; final double cisUserPerceivedTrustValue1 = 0.6d; final double serviceDirectTrustValue1 = 0.7d; final double serviceIndirectTrustValue1 = 0.8d; final double serviceUserPerceivedTrustValue1 = 0.9d; Set<TrustRelationship> retrievedTrustRelationships; retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustorCssTeid, TrustedEntityType.CIS).get(); assertNotNull(retrievedTrustRelationships); assertTrue(retrievedTrustRelationships.isEmpty()); // add trusted CSS with direct trust value ITrustedCss trustedCss = (ITrustedCss) this.trustRepo.createEntity( trustorCssTeid, trusteeCssTeid); trustedCss.getDirectTrust().setValue(cssDirectTrustValue1); this.trustRepo.updateEntity(trustedCss); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId(), TrustedEntityType.CIS).get(); assertNotNull(retrievedTrustRelationships); assertTrue(retrievedTrustRelationships.isEmpty()); // update trusted CSS with indirect trust value trustedCss = (ITrustedCss) this.trustRepo.retrieveEntity( trustedCss.getTrustorId(), trustedCss.getTrusteeId()); trustedCss.getIndirectTrust().setValue(cssIndirectTrustValue1); this.trustRepo.updateEntity(trustedCss); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId(), TrustedEntityType.CIS).get(); assertNotNull(retrievedTrustRelationships); assertTrue(retrievedTrustRelationships.isEmpty()); // update trusted CSS with user perceived trust value trustedCss = (ITrustedCss) this.trustRepo.retrieveEntity( trustedCss.getTrustorId(), trustedCss.getTrusteeId()); trustedCss.getUserPerceivedTrust().setValue(cssUserPerceivedTrustValue1); this.trustRepo.updateEntity(trustedCss); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId(), TrustedEntityType.CIS).get(); assertNotNull(retrievedTrustRelationships); assertTrue(retrievedTrustRelationships.isEmpty()); // add trusted CIS with trust values ITrustedCis trustedCis = (ITrustedCis) this.trustRepo.createEntity( trustorCssTeid, trusteeCisTeid); trustedCis.getDirectTrust().setValue(cisDirectTrustValue1); trustedCis.getIndirectTrust().setValue(cisIndirectTrustValue1); trustedCis.getUserPerceivedTrust().setValue(cisUserPerceivedTrustValue1); this.trustRepo.updateEntity(trustedCis); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId(), TrustedEntityType.CIS).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(3, retrievedTrustRelationships.size()); // verify (trustor, trustedCis, direct) TrustRelationship retrievedTrustRelationship = null; for (final TrustRelationship tr : retrievedTrustRelationships) { if (trustorCssTeid.equals(tr.getTrustorId()) && trusteeCisTeid.equals(tr.getTrusteeId()) && TrustValueType.DIRECT == tr.getTrustValueType()) { retrievedTrustRelationship = tr; break; } } assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(cisDirectTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); // verify (trustor, trustedCis, indirect) retrievedTrustRelationship = null; for (final TrustRelationship tr : retrievedTrustRelationships) { if (trustorCssTeid.equals(tr.getTrustorId()) && trusteeCisTeid.equals(tr.getTrusteeId()) && TrustValueType.INDIRECT == tr.getTrustValueType()) { retrievedTrustRelationship = tr; break; } } assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(cisIndirectTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); // verify (trustor, trustedCis, user perceived) retrievedTrustRelationship = null; for (final TrustRelationship tr : retrievedTrustRelationships) { if (trustorCssTeid.equals(tr.getTrustorId()) && trusteeCisTeid.equals(tr.getTrusteeId()) && TrustValueType.USER_PERCEIVED == tr.getTrustValueType()) { retrievedTrustRelationship = tr; break; } } assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(cisUserPerceivedTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); // add trusted Service with trust values ITrustedService trustedService = (ITrustedService) this.trustRepo.createEntity( trustorCssTeid, trusteeServiceTeid); trustedService.getDirectTrust().setValue(serviceDirectTrustValue1); trustedService.getIndirectTrust().setValue(serviceIndirectTrustValue1); trustedService.getUserPerceivedTrust().setValue(serviceUserPerceivedTrustValue1); this.trustRepo.updateEntity(trustedService); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId(), TrustedEntityType.CIS).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(3, retrievedTrustRelationships.size()); } /** * Test method for {@link org.societies.api.privacytrust.trust.ITrustBroker#retrieveTrustRelationships(Requestor, TrustedEntityId, TrustedEntityType)}. * @throws TrustException * @throws ExecutionException * @throws InterruptedException */ @Test public void testRetrieveAllServiceTrustRelationships() throws Exception { // test params final double cssDirectTrustValue1 = 0.1d; final double cssIndirectTrustValue1 = 0.2d; final double cssUserPerceivedTrustValue1 = 0.3d; final double cisDirectTrustValue1 = 0.3d; final double cisIndirectTrustValue1 = 0.5d; final double cisUserPerceivedTrustValue1 = 0.6d; final double serviceDirectTrustValue1 = 0.7d; final double serviceIndirectTrustValue1 = 0.8d; final double serviceUserPerceivedTrustValue1 = 0.9d; Set<TrustRelationship> retrievedTrustRelationships; retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustorCssTeid, TrustedEntityType.SVC).get(); assertNotNull(retrievedTrustRelationships); assertTrue(retrievedTrustRelationships.isEmpty()); // add trusted CSS with direct trust value ITrustedCss trustedCss = (ITrustedCss) this.trustRepo.createEntity( trustorCssTeid, trusteeCssTeid); trustedCss.getDirectTrust().setValue(cssDirectTrustValue1); this.trustRepo.updateEntity(trustedCss); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId(), TrustedEntityType.SVC).get(); assertNotNull(retrievedTrustRelationships); assertTrue(retrievedTrustRelationships.isEmpty()); // update trusted CSS with indirect trust value trustedCss = (ITrustedCss) this.trustRepo.retrieveEntity( trustedCss.getTrustorId(), trustedCss.getTrusteeId()); trustedCss.getIndirectTrust().setValue(cssIndirectTrustValue1); this.trustRepo.updateEntity(trustedCss); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId(), TrustedEntityType.SVC).get(); assertNotNull(retrievedTrustRelationships); assertTrue(retrievedTrustRelationships.isEmpty()); // update trusted CSS with user perceived trust value trustedCss = (ITrustedCss) this.trustRepo.retrieveEntity( trustedCss.getTrustorId(), trustedCss.getTrusteeId()); trustedCss.getUserPerceivedTrust().setValue(cssUserPerceivedTrustValue1); this.trustRepo.updateEntity(trustedCss); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId(), TrustedEntityType.SVC).get(); assertNotNull(retrievedTrustRelationships); assertTrue(retrievedTrustRelationships.isEmpty()); // add trusted CIS with trust values ITrustedCis trustedCis = (ITrustedCis) this.trustRepo.createEntity( trustorCssTeid, trusteeCisTeid); trustedCis.getDirectTrust().setValue(cisDirectTrustValue1); trustedCis.getIndirectTrust().setValue(cisIndirectTrustValue1); trustedCis.getUserPerceivedTrust().setValue(cisUserPerceivedTrustValue1); this.trustRepo.updateEntity(trustedCis); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId(), TrustedEntityType.SVC).get(); assertNotNull(retrievedTrustRelationships); assertTrue(retrievedTrustRelationships.isEmpty()); // add trusted Service with trust values ITrustedService trustedService = (ITrustedService) this.trustRepo.createEntity( trustorCssTeid, trusteeServiceTeid); trustedService.getDirectTrust().setValue(serviceDirectTrustValue1); trustedService.getIndirectTrust().setValue(serviceIndirectTrustValue1); trustedService.getUserPerceivedTrust().setValue(serviceUserPerceivedTrustValue1); this.trustRepo.updateEntity(trustedService); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId(), TrustedEntityType.SVC).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(3, retrievedTrustRelationships.size()); // verify (trustor, trustedService, direct) TrustRelationship retrievedTrustRelationship = null; for (final TrustRelationship tr : retrievedTrustRelationships) { if (trustorCssTeid.equals(tr.getTrustorId()) && trusteeServiceTeid.equals(tr.getTrusteeId()) && TrustValueType.DIRECT == tr.getTrustValueType()) { retrievedTrustRelationship = tr; break; } } assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(serviceDirectTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); // verify (trustor, trustedService, indirect) retrievedTrustRelationship = null; for (final TrustRelationship tr : retrievedTrustRelationships) { if (trustorCssTeid.equals(tr.getTrustorId()) && trusteeServiceTeid.equals(tr.getTrusteeId()) && TrustValueType.INDIRECT == tr.getTrustValueType()) { retrievedTrustRelationship = tr; break; } } assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(serviceIndirectTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); // verify (trustor, trustedService, user perceived) retrievedTrustRelationship = null; for (final TrustRelationship tr : retrievedTrustRelationships) { if (trustorCssTeid.equals(tr.getTrustorId()) && trusteeServiceTeid.equals(tr.getTrusteeId()) && TrustValueType.USER_PERCEIVED == tr.getTrustValueType()) { retrievedTrustRelationship = tr; break; } } assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(serviceUserPerceivedTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); } /** * Test method for {@link org.societies.api.privacytrust.trust.ITrustBroker#retrieveTrustRelationships(Requestor, TrustedEntityId, TrustValueType)}. * @throws TrustException * @throws ExecutionException * @throws InterruptedException */ @Test public void testRetrieveAllDirectTrustRelationships() throws Exception { // test params final double cssDirectTrustValue1 = 0.1d; final double cssIndirectTrustValue1 = 0.2d; final double cssUserPerceivedTrustValue1 = 0.3d; final double cisDirectTrustValue1 = 0.3d; final double cisIndirectTrustValue1 = 0.5d; final double cisUserPerceivedTrustValue1 = 0.6d; final double serviceDirectTrustValue1 = 0.7d; final double serviceIndirectTrustValue1 = 0.8d; final double serviceUserPerceivedTrustValue1 = 0.9d; Set<TrustRelationship> retrievedTrustRelationships; retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustorCssTeid, TrustValueType.DIRECT).get(); assertNotNull(retrievedTrustRelationships); assertTrue(retrievedTrustRelationships.isEmpty()); // add trusted CSS with direct trust value ITrustedCss trustedCss = (ITrustedCss) this.trustRepo.createEntity( trustorCssTeid, trusteeCssTeid); trustedCss.getDirectTrust().setValue(cssDirectTrustValue1); this.trustRepo.updateEntity(trustedCss); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId(), TrustValueType.DIRECT).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(1, retrievedTrustRelationships.size()); TrustRelationship retrievedTrustRelationship = retrievedTrustRelationships.iterator().next(); assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedCss.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedCss.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.DIRECT, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(cssDirectTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); // update trusted CSS with indirect trust value trustedCss = (ITrustedCss) this.trustRepo.retrieveEntity( trustedCss.getTrustorId(), trustedCss.getTrusteeId()); trustedCss.getIndirectTrust().setValue(cssIndirectTrustValue1); this.trustRepo.updateEntity(trustedCss); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId(), TrustValueType.DIRECT).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(1, retrievedTrustRelationships.size()); // update trusted CSS with user perceived trust value trustedCss = (ITrustedCss) this.trustRepo.retrieveEntity( trustedCss.getTrustorId(), trustedCss.getTrusteeId()); trustedCss.getUserPerceivedTrust().setValue(cssUserPerceivedTrustValue1); this.trustRepo.updateEntity(trustedCss); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId(), TrustValueType.DIRECT).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(1, retrievedTrustRelationships.size()); // add trusted CIS with trust values ITrustedCis trustedCis = (ITrustedCis) this.trustRepo.createEntity( trustorCssTeid, trusteeCisTeid); trustedCis.getDirectTrust().setValue(cisDirectTrustValue1); trustedCis.getIndirectTrust().setValue(cisIndirectTrustValue1); trustedCis.getUserPerceivedTrust().setValue(cisUserPerceivedTrustValue1); this.trustRepo.updateEntity(trustedCis); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId(), TrustValueType.DIRECT).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(2, retrievedTrustRelationships.size()); // verify (trustor, trustedCis, direct) retrievedTrustRelationship = null; for (final TrustRelationship tr : retrievedTrustRelationships) { if (trustorCssTeid.equals(tr.getTrustorId()) && trusteeCisTeid.equals(tr.getTrusteeId()) && TrustValueType.DIRECT == tr.getTrustValueType()) { retrievedTrustRelationship = tr; break; } } assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(cisDirectTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); // add trusted Service with trust values ITrustedService trustedService = (ITrustedService) this.trustRepo.createEntity( trustorCssTeid, trusteeServiceTeid); trustedService.getDirectTrust().setValue(serviceDirectTrustValue1); trustedService.getIndirectTrust().setValue(serviceIndirectTrustValue1); trustedService.getUserPerceivedTrust().setValue(serviceUserPerceivedTrustValue1); this.trustRepo.updateEntity(trustedService); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId(), TrustValueType.DIRECT).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(3, retrievedTrustRelationships.size()); // verify (trustor, trustedService, direct) retrievedTrustRelationship = null; for (final TrustRelationship tr : retrievedTrustRelationships) { if (trustorCssTeid.equals(tr.getTrustorId()) && trusteeServiceTeid.equals(tr.getTrusteeId()) && TrustValueType.DIRECT == tr.getTrustValueType()) { retrievedTrustRelationship = tr; break; } } assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(serviceDirectTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); } /** * Test method for {@link org.societies.api.privacytrust.trust.ITrustBroker#retrieveTrustRelationships(Requestor, TrustedEntityId, TrustValueType)}. * @throws TrustException * @throws ExecutionException * @throws InterruptedException */ @Test public void testRetrieveAllIndirectTrustRelationships() throws Exception { // test params final double cssDirectTrustValue1 = 0.1d; final double cssIndirectTrustValue1 = 0.2d; final double cssUserPerceivedTrustValue1 = 0.3d; final double cisDirectTrustValue1 = 0.3d; final double cisIndirectTrustValue1 = 0.5d; final double cisUserPerceivedTrustValue1 = 0.6d; final double serviceDirectTrustValue1 = 0.7d; final double serviceIndirectTrustValue1 = 0.8d; final double serviceUserPerceivedTrustValue1 = 0.9d; Set<TrustRelationship> retrievedTrustRelationships; retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustorCssTeid, TrustValueType.INDIRECT).get(); assertNotNull(retrievedTrustRelationships); assertTrue(retrievedTrustRelationships.isEmpty()); // add trusted CSS with direct trust value ITrustedCss trustedCss = (ITrustedCss) this.trustRepo.createEntity( trustorCssTeid, trusteeCssTeid); trustedCss.getDirectTrust().setValue(cssDirectTrustValue1); this.trustRepo.updateEntity(trustedCss); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId(), TrustValueType.INDIRECT).get(); assertNotNull(retrievedTrustRelationships); assertTrue(retrievedTrustRelationships.isEmpty()); // update trusted CSS with indirect trust value trustedCss = (ITrustedCss) this.trustRepo.retrieveEntity( trustedCss.getTrustorId(), trustedCss.getTrusteeId()); trustedCss.getIndirectTrust().setValue(cssIndirectTrustValue1); this.trustRepo.updateEntity(trustedCss); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId(), TrustValueType.INDIRECT).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(1, retrievedTrustRelationships.size()); TrustRelationship retrievedTrustRelationship = retrievedTrustRelationships.iterator().next(); assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedCss.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedCss.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.INDIRECT, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(cssIndirectTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); // update trusted CSS with user perceived trust value trustedCss = (ITrustedCss) this.trustRepo.retrieveEntity( trustedCss.getTrustorId(), trustedCss.getTrusteeId()); trustedCss.getUserPerceivedTrust().setValue(cssUserPerceivedTrustValue1); this.trustRepo.updateEntity(trustedCss); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId(), TrustValueType.INDIRECT).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(1, retrievedTrustRelationships.size()); // add trusted CIS with trust values ITrustedCis trustedCis = (ITrustedCis) this.trustRepo.createEntity( trustorCssTeid, trusteeCisTeid); trustedCis.getDirectTrust().setValue(cisDirectTrustValue1); trustedCis.getIndirectTrust().setValue(cisIndirectTrustValue1); trustedCis.getUserPerceivedTrust().setValue(cisUserPerceivedTrustValue1); this.trustRepo.updateEntity(trustedCis); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId(), TrustValueType.INDIRECT).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(2, retrievedTrustRelationships.size()); // verify (trustor, trustedCis, indirect) retrievedTrustRelationship = null; for (final TrustRelationship tr : retrievedTrustRelationships) { if (trustorCssTeid.equals(tr.getTrustorId()) && trusteeCisTeid.equals(tr.getTrusteeId()) && TrustValueType.INDIRECT == tr.getTrustValueType()) { retrievedTrustRelationship = tr; break; } } assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(cisIndirectTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); // add trusted Service with trust values ITrustedService trustedService = (ITrustedService) this.trustRepo.createEntity( trustorCssTeid, trusteeServiceTeid); trustedService.getDirectTrust().setValue(serviceDirectTrustValue1); trustedService.getIndirectTrust().setValue(serviceIndirectTrustValue1); trustedService.getUserPerceivedTrust().setValue(serviceUserPerceivedTrustValue1); this.trustRepo.updateEntity(trustedService); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId(), TrustValueType.INDIRECT).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(3, retrievedTrustRelationships.size()); // verify (trustor, trustedService, indirect) retrievedTrustRelationship = null; for (final TrustRelationship tr : retrievedTrustRelationships) { if (trustorCssTeid.equals(tr.getTrustorId()) && trusteeServiceTeid.equals(tr.getTrusteeId()) && TrustValueType.INDIRECT == tr.getTrustValueType()) { retrievedTrustRelationship = tr; break; } } assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(serviceIndirectTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); } /** * Test method for {@link org.societies.api.privacytrust.trust.ITrustBroker#retrieveTrustRelationships(Requestor, TrustedEntityId, TrustValueType)}. * @throws TrustException * @throws ExecutionException * @throws InterruptedException */ @Test public void testRetrieveAllUserPerceivedTrustRelationships() throws Exception { // test params final double cssDirectTrustValue1 = 0.1d; final double cssIndirectTrustValue1 = 0.2d; final double cssUserPerceivedTrustValue1 = 0.3d; final double cisDirectTrustValue1 = 0.3d; final double cisIndirectTrustValue1 = 0.5d; final double cisUserPerceivedTrustValue1 = 0.6d; final double serviceDirectTrustValue1 = 0.7d; final double serviceIndirectTrustValue1 = 0.8d; final double serviceUserPerceivedTrustValue1 = 0.9d; Set<TrustRelationship> retrievedTrustRelationships; retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustorCssTeid, TrustValueType.USER_PERCEIVED).get(); assertNotNull(retrievedTrustRelationships); assertTrue(retrievedTrustRelationships.isEmpty()); // add trusted CSS with direct trust value ITrustedCss trustedCss = (ITrustedCss) this.trustRepo.createEntity( trustorCssTeid, trusteeCssTeid); trustedCss.getDirectTrust().setValue(cssDirectTrustValue1); this.trustRepo.updateEntity(trustedCss); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId(), TrustValueType.USER_PERCEIVED).get(); assertNotNull(retrievedTrustRelationships); assertTrue(retrievedTrustRelationships.isEmpty()); // update trusted CSS with indirect trust value trustedCss = (ITrustedCss) this.trustRepo.retrieveEntity( trustedCss.getTrustorId(), trustedCss.getTrusteeId()); trustedCss.getIndirectTrust().setValue(cssIndirectTrustValue1); this.trustRepo.updateEntity(trustedCss); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId(), TrustValueType.USER_PERCEIVED).get(); assertNotNull(retrievedTrustRelationships); assertTrue(retrievedTrustRelationships.isEmpty()); // update trusted CSS with user perceived trust value trustedCss = (ITrustedCss) this.trustRepo.retrieveEntity( trustedCss.getTrustorId(), trustedCss.getTrusteeId()); trustedCss.getUserPerceivedTrust().setValue(cssUserPerceivedTrustValue1); this.trustRepo.updateEntity(trustedCss); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId(), TrustValueType.USER_PERCEIVED).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(1, retrievedTrustRelationships.size()); TrustRelationship retrievedTrustRelationship = retrievedTrustRelationships.iterator().next(); assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedCss.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedCss.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.USER_PERCEIVED, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(cssUserPerceivedTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); // add trusted CIS with trust values ITrustedCis trustedCis = (ITrustedCis) this.trustRepo.createEntity( trustorCssTeid, trusteeCisTeid); trustedCis.getDirectTrust().setValue(cisDirectTrustValue1); trustedCis.getIndirectTrust().setValue(cisIndirectTrustValue1); trustedCis.getUserPerceivedTrust().setValue(cisUserPerceivedTrustValue1); this.trustRepo.updateEntity(trustedCis); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId(), TrustValueType.USER_PERCEIVED).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(2, retrievedTrustRelationships.size()); // verify (trustor, trustedCis, user perceived) retrievedTrustRelationship = null; for (final TrustRelationship tr : retrievedTrustRelationships) { if (trustorCssTeid.equals(tr.getTrustorId()) && trusteeCisTeid.equals(tr.getTrusteeId()) && TrustValueType.USER_PERCEIVED == tr.getTrustValueType()) { retrievedTrustRelationship = tr; break; } } assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(cisUserPerceivedTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); // add trusted Service with trust values ITrustedService trustedService = (ITrustedService) this.trustRepo.createEntity( trustorCssTeid, trusteeServiceTeid); trustedService.getDirectTrust().setValue(serviceDirectTrustValue1); trustedService.getIndirectTrust().setValue(serviceIndirectTrustValue1); trustedService.getUserPerceivedTrust().setValue(serviceUserPerceivedTrustValue1); this.trustRepo.updateEntity(trustedService); // verify retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustedCss.getTrustorId(), TrustValueType.USER_PERCEIVED).get(); assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(3, retrievedTrustRelationships.size()); // verify (trustor, trustedService, user perceived) retrievedTrustRelationship = null; for (final TrustRelationship tr : retrievedTrustRelationships) { if (trustorCssTeid.equals(tr.getTrustorId()) && trusteeServiceTeid.equals(tr.getTrusteeId()) && TrustValueType.USER_PERCEIVED == tr.getTrustValueType()) { retrievedTrustRelationship = tr; break; } } assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(serviceUserPerceivedTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); } /** * Test method for {@link org.societies.api.privacytrust.trust.ITrustBroker#retrieveTrustRelationships(Requestor, TrustedEntityId, TrustedEntityType, TrustValueType)}. * @throws TrustException * @throws ExecutionException * @throws InterruptedException */ @Test public void testRetrieveTrustRelationshipsByType() throws Exception { // test params final double cssDirectTrustValue1 = 0.1d; final double cssIndirectTrustValue1 = 0.2d; final double cssUserPerceivedTrustValue1 = 0.3d; final double cisDirectTrustValue1 = 0.3d; final double cisIndirectTrustValue1 = 0.5d; final double cisUserPerceivedTrustValue1 = 0.6d; final double serviceDirectTrustValue1 = 0.7d; final double serviceIndirectTrustValue1 = 0.8d; final double serviceUserPerceivedTrustValue1 = 0.9d; Set<TrustRelationship> retrievedTrustRelationships; for (final TrustedEntityType entityType : TrustedEntityType.values()) { for (final TrustValueType valueType : TrustValueType.values()) { if (TrustedEntityType.LGC == entityType) continue; retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustorCssTeid, entityType, valueType).get(); assertNotNull(retrievedTrustRelationships); assertTrue(retrievedTrustRelationships.isEmpty()); } } // add trusted CSS with direct trust value ITrustedCss trustedCss = (ITrustedCss) this.trustRepo.createEntity( trustorCssTeid, trusteeCssTeid); trustedCss.getDirectTrust().setValue(cssDirectTrustValue1); this.trustRepo.updateEntity(trustedCss); // verify for (final TrustedEntityType entityType : TrustedEntityType.values()) { for (final TrustValueType valueType : TrustValueType.values()) { if (TrustedEntityType.LGC == entityType) continue; retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustorCssTeid, entityType, valueType).get(); if (TrustedEntityType.CSS == entityType && TrustValueType.DIRECT == valueType) { assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(1, retrievedTrustRelationships.size()); TrustRelationship retrievedTrustRelationship = retrievedTrustRelationships.iterator().next(); assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedCss.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedCss.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.DIRECT, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(cssDirectTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); } else { assertNotNull(retrievedTrustRelationships); assertTrue(retrievedTrustRelationships.isEmpty()); } } } // update trusted CSS with indirect trust value trustedCss = (ITrustedCss) this.trustRepo.retrieveEntity( trustedCss.getTrustorId(), trustedCss.getTrusteeId()); trustedCss.getIndirectTrust().setValue(cssIndirectTrustValue1); this.trustRepo.updateEntity(trustedCss); // verify for (final TrustedEntityType entityType : TrustedEntityType.values()) { for (final TrustValueType valueType : TrustValueType.values()) { if (TrustedEntityType.LGC == entityType) continue; retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustorCssTeid, entityType, valueType).get(); if (TrustedEntityType.CSS == entityType && TrustValueType.INDIRECT == valueType) { assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(1, retrievedTrustRelationships.size()); TrustRelationship retrievedTrustRelationship = retrievedTrustRelationships.iterator().next(); assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedCss.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedCss.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.INDIRECT, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(cssIndirectTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); } else if (TrustedEntityType.CSS == entityType && TrustValueType.DIRECT == valueType) { assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(1, retrievedTrustRelationships.size()); } else { assertNotNull(retrievedTrustRelationships); assertTrue(retrievedTrustRelationships.isEmpty()); } } } // update trusted CSS with user perceived trust value trustedCss = (ITrustedCss) this.trustRepo.retrieveEntity( trustedCss.getTrustorId(), trustedCss.getTrusteeId()); trustedCss.getUserPerceivedTrust().setValue(cssUserPerceivedTrustValue1); this.trustRepo.updateEntity(trustedCss); // verify for (final TrustedEntityType entityType : TrustedEntityType.values()) { for (final TrustValueType valueType : TrustValueType.values()) { if (TrustedEntityType.LGC == entityType) continue; retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustorCssTeid, entityType, valueType).get(); if (TrustedEntityType.CSS == entityType && TrustValueType.USER_PERCEIVED == valueType) { assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(1, retrievedTrustRelationships.size()); TrustRelationship retrievedTrustRelationship = retrievedTrustRelationships.iterator().next(); assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedCss.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedCss.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.USER_PERCEIVED, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(cssUserPerceivedTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); } else if (TrustedEntityType.CSS == entityType && (TrustValueType.DIRECT == valueType || TrustValueType.INDIRECT == valueType)) { assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(1, retrievedTrustRelationships.size()); } else { assertNotNull(retrievedTrustRelationships); assertTrue(retrievedTrustRelationships.isEmpty()); } } } // add trusted CIS with trust values ITrustedCis trustedCis = (ITrustedCis) this.trustRepo.createEntity( trustorCssTeid, trusteeCisTeid); trustedCis.getDirectTrust().setValue(cisDirectTrustValue1); trustedCis.getIndirectTrust().setValue(cisIndirectTrustValue1); trustedCis.getUserPerceivedTrust().setValue(cisUserPerceivedTrustValue1); this.trustRepo.updateEntity(trustedCis); // verify for (final TrustedEntityType entityType : TrustedEntityType.values()) { for (final TrustValueType valueType : TrustValueType.values()) { if (TrustedEntityType.LGC == entityType) continue; retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustorCssTeid, entityType, valueType).get(); if (TrustedEntityType.CIS == entityType && TrustValueType.DIRECT == valueType) { assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(1, retrievedTrustRelationships.size()); TrustRelationship retrievedTrustRelationship = retrievedTrustRelationships.iterator().next(); assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedCis.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedCis.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.DIRECT, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(cisDirectTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); } else if (TrustedEntityType.CIS == entityType && TrustValueType.INDIRECT == valueType) { assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(1, retrievedTrustRelationships.size()); TrustRelationship retrievedTrustRelationship = retrievedTrustRelationships.iterator().next(); assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedCis.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedCis.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.INDIRECT, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(cisIndirectTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); } else if (TrustedEntityType.CIS == entityType && TrustValueType.USER_PERCEIVED == valueType) { assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(1, retrievedTrustRelationships.size()); TrustRelationship retrievedTrustRelationship = retrievedTrustRelationships.iterator().next(); assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedCis.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedCis.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.USER_PERCEIVED, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(cisUserPerceivedTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); } else if (TrustedEntityType.CSS == entityType) { assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(1, retrievedTrustRelationships.size()); } else { assertNotNull(retrievedTrustRelationships); assertTrue(retrievedTrustRelationships.isEmpty()); } } } // add trusted Service with trust values ITrustedService trustedService = (ITrustedService) this.trustRepo.createEntity( trustorCssTeid, trusteeServiceTeid); trustedService.getDirectTrust().setValue(serviceDirectTrustValue1); trustedService.getIndirectTrust().setValue(serviceIndirectTrustValue1); trustedService.getUserPerceivedTrust().setValue(serviceUserPerceivedTrustValue1); this.trustRepo.updateEntity(trustedService); // verify for (final TrustedEntityType entityType : TrustedEntityType.values()) { for (final TrustValueType valueType : TrustValueType.values()) { if (TrustedEntityType.LGC == entityType) continue; retrievedTrustRelationships = this.trustBroker.retrieveTrustRelationships( requestor, trustorCssTeid, entityType, valueType).get(); if (TrustedEntityType.SVC == entityType && TrustValueType.DIRECT == valueType) { assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(1, retrievedTrustRelationships.size()); TrustRelationship retrievedTrustRelationship = retrievedTrustRelationships.iterator().next(); assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedService.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedService.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.DIRECT, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(serviceDirectTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); } else if (TrustedEntityType.SVC == entityType && TrustValueType.INDIRECT == valueType) { assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(1, retrievedTrustRelationships.size()); TrustRelationship retrievedTrustRelationship = retrievedTrustRelationships.iterator().next(); assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedService.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedService.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.INDIRECT, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(serviceIndirectTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); } else if (TrustedEntityType.SVC == entityType && TrustValueType.USER_PERCEIVED == valueType) { assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(1, retrievedTrustRelationships.size()); TrustRelationship retrievedTrustRelationship = retrievedTrustRelationships.iterator().next(); assertNotNull(retrievedTrustRelationship); assertNotNull(retrievedTrustRelationship.getTrustorId()); assertEquals(trustedService.getTrustorId(), retrievedTrustRelationship.getTrustorId()); assertNotNull(retrievedTrustRelationship.getTrusteeId()); assertEquals(trustedService.getTrusteeId(), retrievedTrustRelationship.getTrusteeId()); assertNotNull(retrievedTrustRelationship.getTrustValueType()); assertEquals(TrustValueType.USER_PERCEIVED, retrievedTrustRelationship.getTrustValueType()); assertNotNull(retrievedTrustRelationship.getTrustValue()); assertEquals(new Double(serviceUserPerceivedTrustValue1), retrievedTrustRelationship.getTrustValue()); assertNotNull(retrievedTrustRelationship.getTimestamp()); } else { assertNotNull(retrievedTrustRelationships); assertFalse(retrievedTrustRelationships.isEmpty()); assertEquals(1, retrievedTrustRelationships.size()); } } } } }