Ejemplo n.º 1
0
  public void testAddUpdateRemoveAuthorities() {
    GTSAuthorityManager am = new GTSAuthorityManager(GTS_URI, getAuthoritySyncTime(), db);
    int count = 5;
    AuthorityGTS[] a = new AuthorityGTS[count];

    try {
      am.clearDatabase();
      for (int i = 0; i < count; i++) {
        a[i] = getAuthority("GTS " + i, 1);
        assertFalse(am.doesAuthorityExist(a[i].getServiceURI()));
        assertEquals(i, am.getAuthorityCount());
        am.addAuthority(a[i]);
        assertTrue(am.doesAuthorityExist(a[i].getServiceURI()));
        assertEquals((i + 1), am.getAuthorityCount());
        assertEquals(a[i], am.getAuthority(a[i].getServiceURI()));
        for (int j = 0; j < i; j++) {
          a[j].setPriority(a[j].getPriority() + 1);
          assertEquals(a[j], am.getAuthority(a[j].getServiceURI()));
        }
      }

      for (int i = 0; i < count; i++) {
        updateAuthority(a[i]);
        am.updateAuthority(a[i]);
        assertTrue(am.doesAuthorityExist(a[i].getServiceURI()));
        assertEquals(count, am.getAuthorityCount());
        assertEquals(a[i], am.getAuthority(a[i].getServiceURI()));
      }
      int priority = 1;
      AuthorityPrioritySpecification[] specs = new AuthorityPrioritySpecification[count];
      for (int i = 0; i < count; i++) {
        a[i].setPriority(priority);
        specs[i] = new AuthorityPrioritySpecification();
        specs[i].setServiceURI(a[i].getServiceURI());
        specs[i].setPriority(a[i].getPriority());
        priority = priority + 1;
      }
      AuthorityPriorityUpdate update = new AuthorityPriorityUpdate();
      update.setAuthorityPrioritySpecification(specs);
      am.updateAuthorityPriorities(update);

      for (int i = 0; i < count; i++) {
        assertTrue(am.doesAuthorityExist(a[i].getServiceURI()));
        assertEquals(count, am.getAuthorityCount());
        assertEquals(a[i], am.getAuthority(a[i].getServiceURI()));
      }
      AuthorityGTS[] auths = am.getAuthorities();
      for (int i = 0; i < count; i++) {
        assertEquals(a[i], auths[i]);
      }
      int num = count;
      for (int i = 0; i < count; i++) {
        am.removeAuthority(a[i].getServiceURI());
        num = num - 1;
        assertFalse(am.doesAuthorityExist(a[i].getServiceURI()));
        assertEquals(num, am.getAuthorityCount());
        for (int j = (i + 1); j <= i; j++) {
          a[j].setPriority(a[j].getPriority() - 1);
          assertEquals(a[j], am.getAuthority(a[j].getServiceURI()));
        }
      }

    } catch (Exception e) {
      FaultUtil.printFault(e);
      assertTrue(false);
    } finally {
      try {
        am.clearDatabase();
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
  }
Ejemplo n.º 2
0
  public void testUpdateInvalidAuthority() {
    GTSAuthorityManager am = new GTSAuthorityManager(GTS_URI, getAuthoritySyncTime(), db);
    try {
      am.clearDatabase();
      TimeToLive ttl = new TimeToLive();
      ttl.setHours(10);
      ttl.setMinutes(10);
      ttl.setSeconds(10);

      AuthorityGTS a = getAuthority("GTS", 1);
      am.addAuthority(a);
      assertTrue(am.doesAuthorityExist(a.getServiceURI()));
      assertEquals(1, am.getAuthorityCount());
      assertEquals(a, am.getAuthority(a.getServiceURI()));

      // First make sure update works

      a.setTimeToLive(ttl);
      am.updateAuthority(a);

      assertTrue(am.doesAuthorityExist(a.getServiceURI()));
      assertEquals(1, am.getAuthorityCount());
      assertEquals(a, am.getAuthority(a.getServiceURI()));

      // Add Authority no serviceURI
      AuthorityGTS a1 = getAuthority("GTS", 1);
      a1.setServiceURI(null);
      try {
        am.updateAuthority(a1);
        fail("Should not be able to update authority!!!");
      } catch (IllegalAuthorityFault f) {

      }

      // Add Authority no ttl
      AuthorityGTS a2 = getAuthority("GTS", 1);
      a2.setTimeToLive(null);
      try {
        am.addAuthority(a2);
        fail("Should not be able to update authority!!!");
      } catch (IllegalAuthorityFault f) {

      }

      // Add Authority no service identity
      AuthorityGTS a3 = getAuthority("GTS", 1);
      a3.setServiceIdentity(null);
      try {
        am.addAuthority(a3);
        fail("Should not be able to update authority!!!");
      } catch (IllegalAuthorityFault f) {

      }

      a3.setServiceIdentity("");
      try {
        am.addAuthority(a3);
        fail("Should not be able to update authority!!!");
      } catch (IllegalAuthorityFault f) {

      }

      a3.setServiceIdentity("   ");
      try {
        am.addAuthority(a3);
        fail("Should not be able to update authority!!!");
      } catch (IllegalAuthorityFault f) {

      }

      // Invalid Priority
      AuthorityGTS a4 = getAuthority("GTS", 1);
      a4.setPriority(2);
      try {
        am.addAuthority(a4);
        fail("Should not be able to update authority!!!");
      } catch (IllegalAuthorityFault f) {

      }

      // Adding Self
      AuthorityGTS a5 = getAuthority(GTS_URI, 1);
      a5.setPriority(2);
      try {
        am.addAuthority(a5);
        fail("Should not be able to update authority!!!");
      } catch (IllegalAuthorityFault f) {

      }

    } catch (Exception e) {
      FaultUtil.printFault(e);
      assertTrue(false);
    } finally {
      try {
        am.clearDatabase();
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
  }