public void GetAuthenticatedEncryptorByKeyId_DefersInstantiation_AndReturnsRevocationInfo() { // Arrange var expectedEncryptorInstance1 = new Mock <IAuthenticatedEncryptor>().Object; var expectedEncryptorInstance2 = new Mock <IAuthenticatedEncryptor>().Object; var key1 = new MyKey(expectedEncryptorInstance: expectedEncryptorInstance1, isRevoked: true); var key2 = new MyKey(expectedEncryptorInstance: expectedEncryptorInstance2); // Act var keyRing = new KeyRing(key2, new[] { key1, key2 }); // Assert Assert.Equal(0, key1.NumTimesCreateEncryptorInstanceCalled); Assert.Same(expectedEncryptorInstance1, keyRing.GetAuthenticatedEncryptorByKeyId(key1.KeyId, out var isRevoked)); Assert.True(isRevoked); Assert.Equal(1, key1.NumTimesCreateEncryptorInstanceCalled); Assert.Same(expectedEncryptorInstance1, keyRing.GetAuthenticatedEncryptorByKeyId(key1.KeyId, out isRevoked)); Assert.True(isRevoked); Assert.Equal(1, key1.NumTimesCreateEncryptorInstanceCalled); Assert.Equal(0, key2.NumTimesCreateEncryptorInstanceCalled); Assert.Same(expectedEncryptorInstance2, keyRing.GetAuthenticatedEncryptorByKeyId(key2.KeyId, out isRevoked)); Assert.False(isRevoked); Assert.Equal(1, key2.NumTimesCreateEncryptorInstanceCalled); Assert.Same(expectedEncryptorInstance2, keyRing.GetAuthenticatedEncryptorByKeyId(key2.KeyId, out isRevoked)); Assert.False(isRevoked); Assert.Equal(1, key2.NumTimesCreateEncryptorInstanceCalled); Assert.Same(expectedEncryptorInstance2, keyRing.DefaultAuthenticatedEncryptor); Assert.Equal(1, key2.NumTimesCreateEncryptorInstanceCalled); }
public void DefaultKeyIdAndEncryptor_IfDefaultKeyNotPresentInAllKeys() { // Arrange var key1 = new MyKey(); var key2 = new MyKey(); var key3 = new MyKey(expectedEncryptorInstance: new Mock <IAuthenticatedEncryptor>().Object); // Act var keyRing = new KeyRing(key3, new[] { key1, key2 }); // Assert Assert.Equal(key3.KeyId, keyRing.DefaultKeyId); Assert.Equal(key3.CreateEncryptor(), keyRing.GetAuthenticatedEncryptorByKeyId(key3.KeyId, out var _)); }
public void DefaultKeyIdAndEncryptor_IfDefaultKeyNotPresentInAllKeys() { // Arrange var key1 = new MyKey(); var key2 = new MyKey(); var key3 = new MyKey(expectedEncryptorInstance: new Mock<IAuthenticatedEncryptor>().Object); // Act var keyRing = new KeyRing(key3, new[] { key1, key2 }); // Assert bool unused; Assert.Equal(key3.KeyId, keyRing.DefaultKeyId); Assert.Equal(key3.CreateEncryptorInstance(), keyRing.GetAuthenticatedEncryptorByKeyId(key3.KeyId, out unused)); }
public void GetAuthenticatedEncryptorByKeyId_DefersInstantiation_AndReturnsRevocationInfo() { // Arrange var expectedEncryptorInstance1 = new Mock<IAuthenticatedEncryptor>().Object; var expectedEncryptorInstance2 = new Mock<IAuthenticatedEncryptor>().Object; var key1 = new MyKey(expectedEncryptorInstance: expectedEncryptorInstance1, isRevoked: true); var key2 = new MyKey(expectedEncryptorInstance: expectedEncryptorInstance2); // Act var keyRing = new KeyRing(key2, new[] { key1, key2 }); // Assert bool isRevoked; Assert.Equal(0, key1.NumTimesCreateEncryptorInstanceCalled); Assert.Same(expectedEncryptorInstance1, keyRing.GetAuthenticatedEncryptorByKeyId(key1.KeyId, out isRevoked)); Assert.True(isRevoked); Assert.Equal(1, key1.NumTimesCreateEncryptorInstanceCalled); Assert.Same(expectedEncryptorInstance1, keyRing.GetAuthenticatedEncryptorByKeyId(key1.KeyId, out isRevoked)); Assert.True(isRevoked); Assert.Equal(1, key1.NumTimesCreateEncryptorInstanceCalled); Assert.Equal(0, key2.NumTimesCreateEncryptorInstanceCalled); Assert.Same(expectedEncryptorInstance2, keyRing.GetAuthenticatedEncryptorByKeyId(key2.KeyId, out isRevoked)); Assert.False(isRevoked); Assert.Equal(1, key2.NumTimesCreateEncryptorInstanceCalled); Assert.Same(expectedEncryptorInstance2, keyRing.GetAuthenticatedEncryptorByKeyId(key2.KeyId, out isRevoked)); Assert.False(isRevoked); Assert.Equal(1, key2.NumTimesCreateEncryptorInstanceCalled); Assert.Same(expectedEncryptorInstance2, keyRing.DefaultAuthenticatedEncryptor); Assert.Equal(1, key2.NumTimesCreateEncryptorInstanceCalled); }