public void SecretValueEmptyOnConstruction() { var mockList = new SecretsListBuilder().Build(); var objectList = mockList.Select(x => x.Object).ToList(); var sut = new EnumerateSecretShare("TargetKey", objectList); Assert.Empty(sut.SecretValue); }
public void SuccessfulFalseOnConstruction() { var mockList = new SecretsListBuilder().Build(); var objectList = mockList.Select(x => x.Object).ToList(); var sut = new EnumerateSecretShare("TargetKey", objectList); Assert.False(sut.Successful); }
public void ExceptionDuringSecretList() { var mockList = new SecretsListBuilder() .AddException() .Build(); var objectList = mockList.Select(x => x.Object).ToList(); var sut = new EnumerateSecretShare("TargetKey", objectList); sut.Exploit(); Assert.False(sut.Successful); Assert.Empty(sut.SecretValue); }
public void FailedExploit() { var mockList = new SecretsListBuilder() .AddInvalid() .Build(); var objectList = mockList.Select(x => x.Object).ToList(); var sut = new EnumerateSecretShare("TargetKey", objectList); sut.Exploit(); mockList.ForEach(x => x.VerifyAll()); Assert.False(sut.Successful); Assert.Empty(sut.SecretValue); }
public void SuccessfulExploit() { var mockList = new SecretsListBuilder() .AddValid() .Build(); var objectList = mockList.Select(x => x.Object).ToList(); var sut = new EnumerateSecretShare("TargetKey", objectList); sut.Exploit(); mockList.ForEach(x => x.VerifyAll()); Assert.True(sut.Successful); Assert.Equal("Secret1234", sut.SecretValue); }
private IExploitRunner GetEnumerateSecretShare(int id, int seed, int threads) { var sharedHttpClient = _serviceProvider.GetRequiredService <IHttpClientProxy>(); var sharesList = new List <ISecretsList>(); for (int i = 0; i < threads; i++) { sharesList.Add(new SecretShare(sharedHttpClient, seed + i)); } var exploit = new EnumerateSecretShare(_targetKey, sharesList); return(new ExploitRunner(id, exploit)); }