LookupDiscovery Tests

 

Test Name & Motivation

Description

Categorization

Specification Requirements

LookupDiscoverServiceEqualityTest (LDSET)

  1. Start LUS1 and LUS2
  2. Start LDS1 and LDS2 that join both LUS1 & 2
  3. Get reference to LDS1 (LDS1R1) from LUS1
  4. Get reference to LDS1 (LDS1R2) from LUS2
  5. Verify that LDS1R1.equals(LDS1R1) returns true [LDS 1]
  6. Verify that LDS1R2.equals(LDS1R2) returns true
  7. Verify that LDS1R1.equals(LDS1R2) returns true
  8. Verify that LDS1R2.equals(LDS1R1) returns true
  9. Get reference to LDS2 (LDS2R1) from LUS1
  10. Get reference to LDS2 (LDS2R2) from LUS2
  11. Verify that LDS2R1.equals(LDS2R1) returns true
  12. Verify that LDS2R2.equals(LDS2R2) returns true
  13. Verify that LDS2R1.equals(LDS2R2) returns true
  14. Verify that LDS2R2.equals(LDS2R1) returns true
  15. Verify that LDS1R1.equals(LDS2R1) returns false
  16. Verify that LDS1R1.equals(LDS2R2) returns false
  17. Verify that LDS1R2.equals(LDS2R1) returns false
  18. Verify that LDS1R2.equals(LDS2R2) returns false
  19. Verify that LDS2R1.equals(LDS1R1) returns false
  20. Verify that LDS2R1.equals(LDS1R2) returns false
  21. Verify that LDS2R2.equals(LDS1R1) returns false
  22. Verify that LDS2R2.equals(LDS1R2) returns false

 

 

LookupDiscoverServiceInterfaceTest (LDSIFT)

  1. Start LUS
  2. Start LDS that joins LUS
  3. Obtain reference to LDS
  4. Pass LDS lease to a LeaseRenewalManager (LRM)
  5. Call LDS.register(null, null, REL, null, Lease.FOREVER) [LDS 2, 5, 8, 10, 12, 13, 15, 16]
  6. Verify that a LookupDiscoveryServiceRegistration (LDR) object is returned [LDSR 19]
  7. Call LDS.register(ARRAY, null, REL, null, Lease.FOREVER) where ARRAY contains null entries [LDS 6]
  8. Verify that an IllegalArgumentException is thrown [1]
  9. Call LDS.register(ARRAY, null, REL, null, Lease.FOREVER) where ARRAY contains duplicate entries [LDS 11]
  10. Verify that an LDSR object is returned
  11. Call LDS.register(null, ARRAY, REL, null, Lease.FOREVER) where ARRAY contains null entries [LDS 10]
  12. Verify that an IllegalArgumentException is thrown [1]
  13. Call LDS.register( null, ARRAY, REL, null, Lease.FOREVER) where ARRAY contains duplicate entries
  14. Verify that an LDSR object is returned
  15. Call LDS.register( null, null, null, null, Lease.FOREVER)
  16. Verify that a NullPointerException is thrown [LDS 14]
  17. Call LDS.register( null, null, REL, null, -123)
  18. Verify that a IllegalArgumentException is thrown [LDS 18]
  19. Call LDS.register( null, null, REL, null, Lease.ANY)
  20. Verify that an LDSR object is returned

 

 

Notes:

[1] Not specified behavior

LookupDiscoverRegistrationEqualityTest (LDSRET)

  1. Start LUS
  2. Start LDS1 and LDS2 to join LUS
  3. Get reference to LDS1 (LDS1R1) and LDS2 (LDS2R1)
  4. Call LDS1.register(null, null, REL, null, Lease.ANY) (LDSR1)
  5. Verify that LDSR1.equals(LDSR1) returns true [LDS 29]
  6. Call LDS1.register(null, null, REL, null, Lease.ANY) (LDSR2)
  7. Verify that LDSR1.equals(LDSR2) returns false
  8. Verify that LDSR2.equals(LDSR1) returns false
  9. Verify that LDSR2.equals(LDSR2) returns true
  10. Call LDS2.register(null, null, REL, null, Lease.ANY) (LDSR3)
  11. Verify that LDSR3.equals(LDSR3) returns true
  12. Verify that LDSR3.equals(LDSR1) returns false
  13. Verify that LDSR3.equals(LDSR2) returns false
  14. Verify that LDSR1.equals(LDSR3) returns false
  15. Verify that LDSR2.equals(LDSR3) returns false

 

 

LookupDiscoverRegistrationLocalInterfaceTest (LDSRLIFT)

  1. Start LUS
  2. Start LDS that joins LUS
  3. Get a reference to LDS
  4. Call LDS.register(null, null, REL, null, Lease.FOREVER) (LDSR) where REL is a no-op
  5. Verify that LDSR.getEventRegistration returns an EventRegistration (ER) object [LDS 31]
  6. Verify that LDSR.getLease() returns a Lease object [LDS 32]
  7. Verify that lease objects from LDSR.getLease() and ER.getLease() reference the same object [LDS 33]

 

 

LookupDiscoverRegistrationGroupInterfaceTest (LDSRGIFT)

  1. Start LUS
  2. Start LDS that joins LUS
  3. Get reference to LDS
  4. Call LDS.register([], [], REL, null, Lease.FOREVER) (LDSR) where REL is a no-op and [] denotes an empty array
  5. Verify that LDSR.getRegistrars returns the empty set [LDS 34]
  6. Verify that LDS.getGroups returns the empty set [LDS 35, 36]
  7. Call setGroups(LD.NO_GROUPS) [LDS 41, 42]
  8. Verify that getGroups returns the empty set
  9. Call addGroups(LIST) where LIST contains duplicate entries [LDS 44, 45, 48]
  10. Verify that an UnsupportedOperationException is thrown
  11. Call addGroups(null)
  12. Verify that a NullPointerException is thrown [LDS 49]
  13. Call setGroups(LIST)
  14. Verify that getGroups returns a set without duplicate entries from LIST [LDS 46]
  15. Call addGroups(LIST2) where LIST2 contains duplicate entries and entries from LIST
  16. Verify that getGroups returns the proper set without duplicates
  17. Call addGroups([empty]) [LDS 50]
  18. Verify that getGroups returns an unmodified set
  19. Call setGroups(LIST)
  20. Verify that getGroups returns the appropriate set w/o duplicates [LDS 51]
  21. Call setGroups(null) [LDS 43, 53]
  22. Verify that getGroups returns null [LDS 37]
  23. Call setGroups(LIST2)
  24. Verify that getGroups returns the appropriate set w/o duplicates
  25. Call removeGroups(LIST) [LDS 55]
  26. Verify that the appropriate subset is returned
  27. Call removeGroups([empty])
  28. Verify that getGroups returns an unmodified set [LDS 58]
  29. Call removeGroups(null) [LDS 57]
  30. Verify that a NullPointerException is thrown
  31. Call removeGroups(LIST2)
  32. Verify that getGroups returns the empty set
  33. Call removeGroups(LIST2)
  34. Verify that an UnsupportedOperationException is thrown [LDS 56]