public void testDefaultsManagement() { /* foreach */ foreach (PibDataFixture2 fixture in pibImpls) { PibImpl pib = fixture.pib; pib.addIdentity(fixture.id1); Assert.AssertEquals(fixture.id1, pib.getDefaultIdentity()); pib.addIdentity(fixture.id2); Assert.AssertEquals(fixture.id1, pib.getDefaultIdentity()); pib.removeIdentity(fixture.id1); try { pib.getDefaultIdentity(); Assert.Fail("Did not throw the expected exception"); } catch (Pib.Error ex) { } catch (Exception ex_0) { Assert.Fail("Did not throw the expected exception"); } pib.addKey(fixture.id2, fixture.id2Key1Name, fixture.id2Key1.buf()); Assert.AssertEquals(fixture.id2, pib.getDefaultIdentity()); Assert.AssertEquals(fixture.id2Key1Name, pib.getDefaultKeyOfIdentity(fixture.id2)); pib.addKey(fixture.id2, fixture.id2Key2Name, fixture.id2Key2.buf()); Assert.AssertEquals(fixture.id2Key1Name, pib.getDefaultKeyOfIdentity(fixture.id2)); pib.removeKey(fixture.id2Key1Name); try { pib.getDefaultKeyOfIdentity(fixture.id2); Assert.Fail("Did not throw the expected exception"); } catch (Pib.Error ex_1) { } catch (Exception ex_2) { Assert.Fail("Did not throw the expected exception"); } pib.addCertificate(fixture.id2Key2Cert1); Assert.AssertEquals(fixture.id2Key2Name, pib.getDefaultKeyOfIdentity(fixture.id2)); Assert.AssertEquals(fixture.id2Key2Cert1.getName(), pib .getDefaultCertificateOfKey(fixture.id2Key2Name).getName()); pib.addCertificate(fixture.id2Key2Cert2); Assert.AssertEquals(fixture.id2Key2Cert1.getName(), pib .getDefaultCertificateOfKey(fixture.id2Key2Name).getName()); pib.removeCertificate(fixture.id2Key2Cert2.getName()); Assert.AssertEquals(fixture.id2Key2Cert1.getName(), pib .getDefaultCertificateOfKey(fixture.id2Key2Name).getName()); } }
public void testKeyManagement() { /* foreach */ foreach (PibDataFixture2 fixture in pibImpls) { PibImpl pib = fixture.pib; // There is no default setting. This should throw an Error. Assert.AssertEquals(false, pib.hasIdentity(fixture.id2)); try { pib.getDefaultKeyOfIdentity(fixture.id1); Assert.Fail("Did not throw the expected exception"); } catch (Pib.Error ex) { } catch (Exception ex_0) { Assert.Fail("Did not throw the expected exception"); } // Check for id1Key1, which should not exist. Neither should id1. Assert.AssertEquals(false, pib.hasKey(fixture.id1Key1Name)); Assert.AssertEquals(false, pib.hasIdentity(fixture.id1)); // Add id1Key1, which should be the default. id1 should be added implicitly. pib.addKey(fixture.id1, fixture.id1Key1Name, fixture.id1Key1.buf()); Assert.AssertEquals(true, pib.hasKey(fixture.id1Key1Name)); Assert.AssertEquals(true, pib.hasIdentity(fixture.id1)); Blob keyBits = pib.getKeyBits(fixture.id1Key1Name); Assert.AssertTrue(keyBits.equals(fixture.id1Key1)); try { pib.getDefaultKeyOfIdentity(fixture.id1); } catch (Exception ex_1) { Assert.Fail("Unexpected exception: " + ex_1.Message); } Assert.AssertEquals(fixture.id1Key1Name, pib.getDefaultKeyOfIdentity(fixture.id1)); // Add id1Key2, which should not be the default. pib.addKey(fixture.id1, fixture.id1Key2Name, fixture.id1Key2.buf()); Assert.AssertEquals(true, pib.hasKey(fixture.id1Key2Name)); Assert.AssertEquals(fixture.id1Key1Name, pib.getDefaultKeyOfIdentity(fixture.id1)); // Explicitly Set id1Key2 as the default. pib.setDefaultKeyOfIdentity(fixture.id1, fixture.id1Key2Name); Assert.AssertEquals(fixture.id1Key2Name, pib.getDefaultKeyOfIdentity(fixture.id1)); // Set a non-existing key as the default. This should throw an Error. try { pib.setDefaultKeyOfIdentity(fixture.id1, new Name( "/non-existing")); Assert.Fail("Did not throw the expected exception"); } catch (Pib.Error ex_2) { } catch (Exception ex_3) { Assert.Fail("Did not throw the expected exception"); } // Remove id1Key2. The PIB should not have a default key. pib.removeKey(fixture.id1Key2Name); Assert.AssertEquals(false, pib.hasKey(fixture.id1Key2Name)); try { pib.getKeyBits(fixture.id1Key2Name); Assert.Fail("Did not throw the expected exception"); } catch (Pib.Error ex_4) { } catch (Exception ex_5) { Assert.Fail("Did not throw the expected exception"); } try { pib.getDefaultKeyOfIdentity(fixture.id1); Assert.Fail("Did not throw the expected exception"); } catch (Pib.Error ex_6) { } catch (Exception ex_7) { Assert.Fail("Did not throw the expected exception"); } // Add id1Key2 back, which should be the default. pib.addKey(fixture.id1, fixture.id1Key2Name, fixture.id1Key2.buf()); try { pib.getKeyBits(fixture.id1Key2Name); } catch (Exception ex_8) { Assert.Fail("Unexpected exception: " + ex_8.Message); } Assert.AssertEquals(fixture.id1Key2Name, pib.getDefaultKeyOfIdentity(fixture.id1)); // Get all the keys, which should have id1Key1 and id1Key2. HashedSet <Name> keyNames = pib.getKeysOfIdentity(fixture.id1); Assert.AssertEquals(2, keyNames.Count); Assert.AssertTrue(ILOG.J2CsMapping.Collections.Collections.Contains(fixture.id1Key1Name, keyNames)); Assert.AssertTrue(ILOG.J2CsMapping.Collections.Collections.Contains(fixture.id1Key2Name, keyNames)); // Remove id1, which should remove all the keys. pib.removeIdentity(fixture.id1); keyNames = pib.getKeysOfIdentity(fixture.id1); Assert.AssertEquals(0, keyNames.Count); } }